Newsgroups: comp.ai.neural-nets
From: Greg Heath <he...@alumni.brown.edu>
Date: Fri, 18 Apr 2008 23:32:49 -0700 (PDT)
Local: Sat, Apr 19 2008 2:32 am
Subject: Basic Backpropagation Learning Strategy (Tutorial)
BASIC BACKPROPAGATION LEARNING STRATEGY
INTRODUCTION The text below contains first draft notes for a lecture on the basic Comments and corrections are welcome. To limit the number of subscripts, only one output layer neuron, one Zero mean inputs and tanh sigmoid hidden node activation units are s(t) = 1 / ( 1 + exp(-t) ) The governing equations for the desired output y resulting from the 1. Net input to the jth hidden node uj = SUM( i = 0, I ){ w1ji *xi } 2. Output of the jth hidden node hj = s(uj) 3. Net input to the output node v = SUM( j = 0, H ){ w2j *hj } 4. Output of the output node z = s(v) 5. Output node error e = z - y 6. Output node squared error SE = e^2 The training strategy for changing weights to minimize the SE >= 0 ==> d(SE)/d(w1ji) <= 0, The following weight changes are sufficient for that purpose: Dw1ji = - eta1 *e *w2j *xi, (0 < eta1 < 1) where eta1 and eta2 are empirical learning rates. The term backpropagation is used to emphasize the fact that OUTPUT LAYER TRAINING Net input to the output layer neuron v = SUM( j = 0, H ){ w2j *hj } v Net input to the output neuron Change in v due to a change in w2j Dv = ( dv/dw2j ) *Dw2j = hj *Dw2j Output of the output neuron z = s(v) Change in output due to a change in v Dz = ( dz/dv ) *Dv Change in output due to a change in w2j Dz = ( dz/dw2j ) *Dw2j Output Error e = z - y Output error Change in SE due to a change in w2j DSE = ( dSE/dw2j ) *Dw2j = 2 *e *( dz/dw2j ) *Dw2j Error Minimization Strategy Dw2j = - eta2 *e *hj, (0 < eta2 < 1) DSE = -2 *eta2 *z*(1-z) *(e*hj)^2 <= 0 HIDDEN LAYER TRAINING Net input to the jth hidden layer neuron uj = SUM( i = 0, I ){ w1ji *xi } uj Net input to the jth hidden neuron Change in uj due to a change in w1ji Duj = ( du/dw1ji ) *Dw1ji = xi *Dw1ji Output of the jth hidden neuron hj = s(uj) Change in hj due to a change in uj Dhj = ( dhj/duj ) *Duj Change in hj due to a change in w1ji Dhj = ( dhj/dw1ji ) *Dw1ji Output of the output neuron z = s(v) v = SUM( j = 0, H ){ w2j *hj } Change in output due to a change in w1ji Dz = ( dz/dw1ji ) *Dw1ji Output error e = z - y Output error Change in SE due to a change in w1ji DSE = ( dSE/dw1ji ) * Dw1ji = 2 *e *(dz/w1ji) * Dw1ji = 2 *e *z*( 1 - z ) *w2j *hj *(1 - hj ) *xi *Dw1ji Error Minimization Strategy Dw1ji = - eta1 *e *w2j *xi , ( 0 < eta1 < 1) DSE = -2 *eta1 *z*( 1 - z ) *hj *(1 - hj ) ( e *w2j *xi )^2 <= 0 Hope this helps. Greg You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
| ||||||||||||||