Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I need help figuring this out. This assignment is supposed to gain some hands-on experience using the Keras library. learn how to modify neural network

I need help figuring this out. This assignment is supposed to gain some hands-on experience using the Keras library. learn how to modify neural network parameters in Keras and how to understand the results. THE CODE IS BELOW.

  1. Run the code in your Jupyter Notebook. Follow the examples in the book to establish an accuracy rate for the training, validation, and test data sets with two hidden layers.
  2. The remainder of the chapter provides examples of how to modify different parameters within the code (number of hidden layers, hidden neurons, BATCH_SIZE, number of epochs, and so on). Pick one parameter and run two or three different experiments, modifying the parameter values to establish accuracy scores with different parameter values. Make sure that the experiments result in significant changes in accuracy rates. Be sure to place each experiment in a different code block so that your instructor can view all of your changes.

Note: You may have to do some research beyond the information provided in the book to implement these changes.

Create a Markdown cell in your Jupyter Notebook after your code and its outputs. In this cell, explain the changes in accuracy rates by comparing and contrasting your results from Steps 3 and 4. What happens to the accuracy rates for the training, validation, and test data sets as you change the parameters? Why?

Here is the code below

from __future__ import print_function

import numpy as np

from keras.datasets import mnist

from keras.models import Sequential

from keras.layers.core import Dense, Activation

from keras.optimizers import SGD

from keras.utils import np_utils

np.random.seed(1671) # for reproducibility

# network and training

NB_EPOCH = 20

BATCH_SIZE = 128

VERBOSE = 1

NB_CLASSES = 10 # number of outputs = number of digits

OPTIMIZER = SGD() # optimizer, explained later in this chapter

N_HIDDEN = 128

VALIDATION_SPLIT=0.2 # how much TRAIN is reserved for VALIDATION

# data: shuffled and split between train and test sets

(X_train, y_train), (X_test, y_test) = mnist.load_data()

#X_train is 60000 rows of 28x28 values --> reshaped in 60000 x 784

RESHAPED = 784

#

X_train = X_train.reshape(60000, RESHAPED)

X_test = X_test.reshape(10000, RESHAPED)

X_train = X_train.astype('float32')

X_test = X_test.astype('float32')

# normalize

X_train /= 255

X_test /= 255

print(X_train.shape[0], 'train samples')

print(X_test.shape[0], 'test samples')

# convert class vectors to binary class matrices

Y_train = np_utils.to_categorical(y_train, NB_CLASSES)

Y_test = np_utils.to_categorical(y_test, NB_CLASSES)

# M_HIDDEN hidden layers

# 10 outputs

# final stage is softmax

model = Sequential()

model.add(Dense(N_HIDDEN, input_shape=(RESHAPED,)))

model.add(Activation('relu'))

model.add(Dense(N_HIDDEN))

model.add(Activation('relu'))

model.add(Dense(NB_CLASSES))

model.add(Activation('softmax'))

model.summary()

model.compile(loss='categorical_crossentropy',

optimizer=OPTIMIZER,

metrics=['accuracy'])

history = model.fit(X_train, Y_train,

batch_size=BATCH_SIZE, epochs=NB_EPOCH,

verbose=VERBOSE, validation_split=VALIDATION_SPLIT)

score = model.evaluate(X_test, Y_test, verbose=VERBOSE)

print("Test score:", score[0])

print('Test accuracy:', score[1])

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Systems Design Implementation And Management

Authors: Carlos Coronel, Steven Morris

14th Edition

978-0357673034

More Books

Students also viewed these Databases questions

Question

LO3 Discuss the steps of a typical selection process.

Answered: 1 week ago