d'après le livre de Hervé Abdi
Soit A une matrice rectangulaire. On peut exprimer cette matrice comme :
A = P D QT
avec :
P : les vecteurs propres de la matrice A AT (PT P = I)
Q : les vecteurs propres de la matrice AT A (QT Q = I)
D : la matrice des valeurs singulières, D = L1/2 avec L étant la matrice diagonale des valeurs propres de la matrice A AT et de la matrice AT A.
On a :
A AT = P L PT
AT A = Q L QT
Exemple :
( 1.1547 -1.1547 ) A = ( -1.0774 0.0774 ) ( -0.0774 1.0774 ) ( 0.8165 0 ) P = (-0.4082 -0.7071 ) (-0.4082 0.7071 ) Q = ( 0.7071 -0.7071 ) ( 0.7071 0.7071 ) D = ( 2 0 ) ( 0 1 )
A+ = Q D-1 PT
= ( 0.2887 -0.6443 0.3557 ) ( -0.2887 -0.3557 0.6443 )
Sortie oj = c ( SiI xi wi,j) (III.1)
Avec :Règle de Hebb : wi,j = tj xi.
Règle de Widrow-Hoff :
wi,j(t+1) =
wi,j(t) + n (tj - oj)
xi
avec t = réponse théorique désirée, n =
constante positive.
La règle de Widrow-Hoff n'agit que sur les valeurs propres
de la matrice de connexions W.
X = P D
QT
En réécrivant (III.1) en notation matricielle, le problème est
de trouver W telle que O = WT X avec la contrainte :
min
= trace ((T-O)T (T-O))
On peut exprimer la méthode de Widrow-Hoff par :
W(t+1)T
= W(t)T + n (T - W(t)T X) XT
Lorsque n est convenablement choisi, l'apprentissage converge vers W(oo) = W~ = T X+
On a : W(t) = T Q (D-1 (I - (I - n L)t)) PT
W(t+1)T = W(t)T + n (T - W(t)T X)
XT= ...
= T Q ( F(t)
+ n L (D-1
- F(t))) PT
On montreF(t) = D-1
( n L Si=0t-1
(I - n L)i)
X = P D QT
(QT = transposée de Q)W = X XT = P D QT Q D PT = P D2 PT = P L PT
Avec constante d'apprentissage n :
n W = n P L PT = P n L PT
Apprentissage de Widrow-Hoff :
W(t) = P (I – (I – nL)t)PT
La procédure converge si limt->oo (I - n L)t = 0
W(oo) = W~ = P I PT = P PT
O = W~ X = P PT X = P PT P D QT = P D QT = X
Le rappel d'un stimulus après apprentissage avec la loi de Widrow-Hoff par la mémoire est équivalent à l'ACP, qui revient à définir la décomposition en valeurs et vecteurs propres de W. On cherche une matrice P (IxL) telle que F = PT X avec F FT = PT X XT P diagonale avec 1er élément (1ère valeur propre) maximal et PT P = I.
On définit le lagrangien L = F FT - L (PT P - I) = PT X XT P - L (PT P - I)
que l'on dérive : dL/dP = 2 X XT P - 2 L P = 0
donc X XT P = L P avec L diagonale : problème de valeurs et vecteurs propres
P est la matrice des vecteurs propres de X XT
= W et L est la matrice des valeurs
propres.
Le rappel de la mémoire s'écrit : O = W(t)T X = P F(t) PT X
avec F(t) = I - (I - n L)t
La matrice PT X est la matrice de projection de X sur les vecteurs propres P.
On a :
PT X = PT D QT = D QT = F
et
O = W(t) X = P F(t) F.
L'ACP revient à définir la décomposition en valeurs et vecteurs propres de W. On veut trouver P tel que F = PT X avec F FT diagonale et PT P = I.
Construire un réseau qui trouve les vecteurs propres de W : variante de la puissance itérée et de la déflation. La puissance itérée revient à implémenterla loi de Hebb de manière répétitive :
W(t+1) = Wt + D W = W(t) + n X O(t)T avec O(t) = W(t) X
On commence par initialiser la matrice W(0) = n X XT
= P (n L) PT
puis W(1) = W(0) + n X OT = W(0) + n X XT W(0) = P (n L (I + n L)) PT
puis W(t+1) = W(t) + n X OT= P (n L
(I + n L)t) PT
Normaliser la réponse pour éviter l'explosion : règle de Oja
:W(t+1) = 1/b W^(t).
Choisir b tel que ||W(t+1)|| = 1.
Pour trouver les vecteurs propres suivants utiliser la déflation :
W- = W - p1 p1T
aj = SiI xi wi,javec :
aj = activation de la jème cellule du réseau.
xi : valeur de sortie +1 ou -1 de la ième cellule du réseau.
wi,j : intensité de la connexion entre la ièmecellule et la jème cellule. La connexion entre une cellule et elle-même est toujours supposée égale à 0 : wi,i = 0.
oj = xj = sgn(aj - theta)
Energie E = -1/2 Si,j wi,j xi yj - Sj thetaj xj= -1/2 xT W x - xT theta
Minimiser la fonction d'erreur.
La fonction d'erreur pour la k-ième réponse est :
Ek = 1/2 (tk - ok)T(tk - ok)
(@ = dérivée partielle)
Correction pour la couche de sortie :
@Ek/@Z = @Ek/@ok @ok/@Zhk @Zhk/@Z
avec o = sorties, h = intermédiaires, Z = connexions
@Ek/@ok = - (tk - ok)T
@ok/@Zhk = okT (*)
(1-ok)T
@Zhk/@Z = hk
-@Ek/@Z = (tk - ok)T (*) okT (*) (1 - ok)T hk
Correction pour la couche cachée :
@Ek/@W = @Ek/@ok@ok/@Zhk@Zhk/@hk@hk/@Wxk@Wxk/@Wk
@Zhk/@hk = ZT
@hk/@Wxk
= hkT (*) (1 - hk)T
@Wxk/@Wk = xk
Apprentissage symbolique - Apprentissage à partir d'algorithmes génétiques par Kenneth de Jong
Rétropropagation
@E/@yj = Sk@E/@yk dyk/dxk dxk/dyj= Sk @E/@yk dyk/dxk wkj