Bsp.1: [1 0]

 
-->IN
 IN  =
 
    0.    0.  
    0.    1.  
    1.    0.  
 
-->TR
 TR  =
 
    0.    0.    1. 

W=[0 0]

Ein Lernprozess würde dann wie folgt ablaufen:

 
-->for i=1:3, v=IN1(i,:), w=W,[u]=vecprod(v,w),if(u < TR1(i)) then g=1, elseif (u > TR1(i)) then g=-1, else g=0,end, end
 v  =
 
    0.    0.  
 w  =
 
    0.    0.  
 u  =
 
    0.  
 g  =
 
    0.  
 v  =
 
    1.    0.  
 w  =
 
    0.    0.  
 u  =
 
    0.  
 g  =
 
    0.  
 v  =
 
    0.    1.  
 w  =
 
    0.    0.  
 u  =
 
    0.  
 g  =
 
    1.

Hier tritt eine erste Abweichung auf: g=1. Dies bedeutet, dass der Gewichtsvektor verändert werden soll, und zwar soll der Inputvektor $v=[0 1]$ hinzuaddiert werden, also

 
 -->W=W+v
 W  =
 
    0.    1.

Dann wird mit dem veränderten Gewichtsvektor W weiter gerechnet:

-->for i=1:3, v=IN1(i,:), w=W,[u]=vecprod(v,w),if(u < TR1(i)) then g=1, elseif (u > TR1(i)) then g=-1, else g=0,end, end
 v  =
 
    0.    0.  
 w  =
 
    0.    1.  
 u  =
 
    0.  
 g  =
 
    0.  
 v  =
 
    1.    0.  
 w  =
 
    0.    1.  
 u  =
 
    0.  
 g  =
 
    0.  
 v  =
 
    0.    1.  
 w  =
 
    0.    1.  
 u  =
 
    1.  
 g  =
 
    0.

Es tritt kein neuer Konflikt auf. Damit hat das System jetzt den Gewichtsvektor gelernt, bei dem $u=1$ ist und der Sollwert nichts anderes verlangt.



Gerd Doeben-Henisch 2013-01-17