Neural Network

Download Report

Transcript Neural Network

Applications of Neural
Networks
Patrick Stalcup
Overview
•
•
•
•
•
•
Background
Vocabulary
The Math
Data Structure Design
Black Boxing
Example Applications
Vocabulary
• Neuron - A node in our Neural Network; Has Direction
• Neural Network - A collection of Nodes that has a top and a
bottom, with connections between the nodes
• Sigmoid Function - A function that normalizes the values of
the neurons
• Feed-forward evaluation - Evaluating the network from top
to bottom, 'feeding' the values from the first nodes to the last
• Error Back Propagation - Passing the error from the output
back up the network; the opposite of feed-forward
Background
• Based on Organic Structures
• First experiment on in the 1960's
• Rapid development in the 1980's as more powerful
computers came in to use
• Used to 'teach' computers about complex situations that
have a limited set of choices
The Math
• Sigmoid(x) = 1.0/(1.0+e^(-x))
• dSigmoid/dx = (1.0+Sigmoid(x))*Sigmoid(x)
• Error = Σ(1/2)*(Actual-Theoretical)^2
• dError/dOutput = Σ(Actual - Theoretical)
• dWeight/dError = PreviousError*Σ(Inputs)
• dWeight/dOutput = dError/dOutput
Abstract Data Type
• Based on graph theory
• Called a 'directed graph'
• Nodes that have connections to other nodes with weights on
those connections
Black Boxing
• Neural Networks are very hard to code reliably
• My Neural network Library (nnlib.h) offers an easy way for
programmers to utilize Neural Networks in C
#include "nnlib.h"
...
int layers[3] = {2,3,1};
int test_in[4][2] = {{0,0},{1,1},{0,1},{1,0}};
int test_out[4] = {0,0,1,1};
int main(int argv,char **args)
{
network n;
init_network(n,layers,3);
train_network(n,test_in,test_out,4,10000);
print_output(n);
}
Example Applications
• Board Game Heuristics
• Optical Character Recognition
• Music Genre Identification
• Mathematical Modelling