{ "cells": [ { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy\n", "import pandas as pd\n", "from keras.models import Sequential\n", "from keras.layers import Dense\n", "from mnist import MNIST\n", "from sklearn.model_selection import GridSearchCV\n", "from keras.layers import Dropout\n", "from keras.wrappers.scikit_learn import KerasClassifier\n", "from keras.constraints import maxnorm\n", "from keras.models import Model \n", "from keras.layers import * \n", "from keras import optimizers\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Цель вычислительного эксперимента:\n", "Решить задачу: выбора алгоритма оптимизации (SGD, Nesterov Momentum, Adam) с использованием нейронных сетей простой структуры, со структурными параметрами: структура сети\n" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "model = Sequential()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "model.add(Dense(units=785, activation='relu', input_dim=100))\n", "model.add(Dense(units=10, activation='softmax'))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "model.compile(loss='categorical_crossentropy',\n", " optimizer='sgd',\n", " metrics=['accuracy'])" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "train = pd.read_csv(\"/home/jeny/mnist_train.csv\")\n", "test = pd.read_csv(\"/home/jeny/mnist_test.csv\")\n", "train = train.iloc[:40000, :]\n", "test = train.iloc[:40000, :]" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(40000, 785)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train.shape" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | 5 | \n", "0 | \n", "0.1 | \n", "0.2 | \n", "0.3 | \n", "0.4 | \n", "0.5 | \n", "0.6 | \n", "0.7 | \n", "0.8 | \n", "... | \n", "0.608 | \n", "0.609 | \n", "0.610 | \n", "0.611 | \n", "0.612 | \n", "0.613 | \n", "0.614 | \n", "0.615 | \n", "0.616 | \n", "0.617 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "
1 | \n", "4 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "
2 | \n", "1 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "
3 | \n", "9 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "
4 | \n", "2 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "
5 rows × 785 columns
\n", "