Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

This is for my Machine Learning Class. We have to explain the below code in English words and give explanation for it. Please give an

This is for my Machine Learning Class. We have to explain the below code in English words and give explanation for it. Please give an explanation for the below code giving as much detail as possible as it relates to Machine Learning. This code is written in Python and the supporting question is below also.

The question I wrote the code from is as follows (supporting question):

https://colab.research.google.com (you can run the code here if you would like to test it out).

  1. Download one of the datasets below and use a linear perceptron and an MLP with one hidden layer for classification. Compare the classification accuracies (a linear perceptron code is also available on bboard).

Dataset 1: Brodatz texure Images 1.2.01 through 1.2.13 are histogram equalized versions of 1.1.01 through 1.1.13 and are marked with "H.E." in the list at the web address: http://sipi.usc.edu/database/database.php?volume=textures

You need to randomly pick 32x32 windows from these images (say 50 windows for training and 50 for test for each texture image)

Dataset 2: IMDB Movie reviews sentiment classification dataset at https://keras.io/datasets/

Code:

%reset import math import numpy as np import tensorflow as tf import tensorflow.keras as keras from tensorflow.keras.utils import to_categorical from tensorflow.keras import models from tensorflow.keras import layers from tensorflow.keras.datasets import imdb

(training_data, training_targets), (testing_data, testing_targets) = imdb.load_data(num_words=10000)

def vectorize(sequences, dimension = 10000): results = np.zeros((len(sequences), dimension)) for i, sequence in enumerate(sequences): results[i, sequence] = 1 return results

train_x = vectorize(training_data) train_x = np.insert(train_x, 0, 1, axis=1);

test_x = vectorize(testing_data) test_x = np.insert(test_x, 0, 1, axis=1);

train_y = training_targets

test_y = testing_targets

Once deleted, variables cannot be recovered. Proceed (y/[n])? y

print(train_y) def sigmoid(x): return 1 / (1 + math.exp(-x))

[1 0 0 ... 0 1 0]

N=25000 d=10000 eta=0.001 rng = np.random.RandomState(1) w = rng.randn(1, d+1)/100; dwold=np.zeros(w.shape)

for epoch in range(40): numcorr=0 dw=np.zeros(w.shape) for t in range(N): r=train_y[t] x=train_x[t,:] y=sigmoid(np.dot(x,w.T)) if (y>0.5 and r==1) or (y<=0.5 and r==0) : numcorr=numcorr+1 delta=r-y dw=x*delta # dw = 0.9*dwold + 0.1*dw # dwold=dw w=w*0.9999+eta*dw; print(numcorr/N) Output of numcorr:

0.80448 0.83164 0.832 0.832 0.832 0.832 0.832 0.832 0.832 0.832 0.832 0.832 0.832 0.832 0.832 0.832 0.832 0.832 0.832

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

More Books

Students also viewed these Databases questions

Question

List the advantages and disadvantages of the pay programs. page 505

Answered: 1 week ago