Question
MATLAB homework: Make a one-layer unsupervised learning network that discovers the features in the inputs. clear set learning rate Input patterns 1 1 1 0
MATLAB homework:
Make a one-layer unsupervised learning network that discovers the features in the inputs.
clear
set learning rate
Input patterns
1 1 1 0 0 0 0 0 0
0 0 1 1 1 0 0 0 0
0 0 0 0 1 1 1 0 0
0 0 0 0 0 0 1 1 1
make one random weight matrix: a 9X4 (input to output)
Use an all-positive initial random weight range, cuz here you're gonna normalize these
weights, such that each output node has a net incoming weight of 1.0.
start a for loop that goes from 1 to a couple hundred epochs
start a for loop where n goes from 1 to 4 (cuz you got 4 input patterns)
set "in" to the nth row of your "Inputs" matrix
compute the output layer's net activation (in*W)
compute winner-take-all function on output nodes
compute changes in all weights
connected to winning output node
(as per Rumelhart & Zipser's competitive learning algorithm)
end for loop
end for loop
Make sure each output node's incoming weights still sum to 1.0
Test the model's performance on all four input patterns--see if each output node has devoted itself to a particular input pattern.
If not, run it again until it does.
ONCE YOU HAVE A NETWORK THAT DEVOTES EACH OUTPUT NODE TO AN
INDIVIDUAL INPUT PATTERN, EXAMINE ITS WEIGHT MATRICES AND
DESCRIBE EACH NODE'S FUNCTION.
WHEN THE MODEL FAILS TO DEVOTE EACH OUTPUT NODE TO AN
INDIVIDUAL INPUT PATTERN, WHAT IS IT DOING INSTEAD?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started