Dans le cours d'apprentissage automatique d'Andrew Ng, il utilise cette formule:
et il fait une preuve rapide qui est montrée ci-dessous:
La preuve semble très dense sans aucun commentaire et j'ai du mal à la comprendre. Que s'est-il passé exactement de la deuxième à la troisième égalité?
machine-learning
matrix
derivative
MoneyBall
la source
la source
Réponses:
Il y a un abus subtil mais lourd de la notation qui rend la plupart des étapes déroutantes. Abordons ce problème en revenant aux définitions de la multiplication matricielle, de la transposition, des traces et des dérivés. Pour ceux qui souhaitent omettre les explications, passez simplement à la dernière section "Tout mettre ensemble" pour voir à quel point une démonstration rigoureuse peut être courte et simple.
Notation et concepts
Dimensions
Pour que l'expression un sens lorsque est une matrice , doit être une matrice (carrée) et doit être une matrice , d'où le produit est un matrice . Pour prendre la trace (qui est la somme des éléments diagonaux, ), puis , faisant de une matrice carrée.A m × n B n × n C m × p m × p TrABA′C A m×n B n×n C m×p m×p p = m CTr(X)=∑iXii p=m C
Dérivés
La notation « » semble se référer à la dérivée d'une expression par rapport à . D' ordinaire, la différenciation est une opération effectuée sur les fonctions . Le dérivé en un point est une transformation linéaire . En choisissant des bases pour ces espaces vectoriels, une telle transformation peut être représentée comme une matrice Ce n'est pas le cas ici! A f : R N → R M x ∈ R N∇A A f:RN→RM x∈RN M × NDf(x):RN→RM M×N
Les matrices comme vecteurs
A la place, est considéré comme un élément de : ses coefficients sont déroulés (généralement ligne par ligne ou colonne par colonne) dans un vecteur de longueur . La fonction a des valeurs réelles, d'où . Par conséquent, doit être une matrice : c'est un vecteur ligne représentant une forme linéaire sur . Cependant, les calculs de la question utilisent une manière différente de représenter les formes linéaires: leurs coefficients sont recomposés en matrices.R m n N = m n f ( A ) = Tr ( A B A ′ C ) M = 1 D f ( x ) 1 × m n R m n m × nA Rmn N=mn f(A)=Tr(ABA′C) M=1 Df(x) 1×mn Rmn m×n
La trace comme forme linéaire
Soit une matrice constante . Ensuite, par définition de la trace et de la multiplication matricielle,m × nω m×n
Cela exprime la combinaison linéaire la plus générale possible des coefficients de : est une matrice de la même forme que et son coefficient dans la ligne et la colonne est le coefficient de dans la combinaison linéaire. Parce que , les rôles de et peuvent changer, donnant l'expression équivalenteω A i j A i j ω i jA ω A i j Aij ω AωijAij=Aijωij ω A
En identifiant une matrice constante avec l'une des fonctions ou , nous pouvons représenter linéaire se forme sur l'espace de matrices comme matrices. (Ne les confondez pas avec des dérivées de fonctions de à !)A → Tr ( A ω ′ ) A → Tr ( ω A ′ ) m ×ω A→Tr(Aω′) A→Tr(ωA′) m × n m×n m×n R mRn Rm
Calcul d'un dérivé
La définition
Les dérivés de nombreuses fonctions matricielles rencontrées dans les statistiques sont calculés le plus facilement et de manière fiable à partir de la définition: vous n'avez pas vraiment besoin de recourir à des règles compliquées de différenciation matricielle. Cette définition dit que est différentiable en si et seulement s'il y a une transformation linéaire telle quex Lf x L
pour les déplacements arbitrairement petites . La notation petit-oh signifie que l'erreur commise dans l'approximation de la différence par est arbitrairement plus petite que la taille de pour un suffisamment petit . En particulier, nous pouvons toujours ignorer les erreurs proportionnelles à . f ( x + h ) - f ( x )h∈RN f(x+h)−f(x) h h | h | 2Lh h h |h|2
Le calcul
Appliquons la définition à la fonction en question. Multipliant, développant et ignorant le terme avec un produit de deux ,h
Pour identifier la dérivée , nous devons la mettre dans le formulaire . Le premier terme à droite est déjà sous cette forme, avec . L'autre terme à droite a la forme pour . Écrivons ceci:( 1 ) ω = B A ′ C Tr ( X h ′ C ) X = A BL=Df(A) (1) ω=BA′C Tr(Xh′C) X=AB
Rappelant , peut être réécrit( 2 )X=AB (2)
C'est en ce sens que l'on peut considérer que la dérivée de en est car ces matrices jouent les rôles de dans les formules de trace .A D f ( A ) = ( B A ′ C ) ′ + C A B = C ′ A B ′ + C A Bf A ω ( 1 )
Mettre tous ensemble
Voici donc une solution complète.
Parce que cela ne prend qu'environ la moitié du travail et n'implique que les manipulations les plus élémentaires des matrices et des traces (multiplication et transposition), cela doit être considéré comme une démonstration plus simple - et sans doute plus visible - du résultat. Si vous voulez vraiment comprendre les différentes étapes de la démonstration originale, vous trouverez peut-être utile de les comparer aux calculs présentés ici.
la source