En el curso de aprendizaje automático de Andrew Ng, usa esta fórmula:
y él hace una prueba rápida que se muestra a continuación:
La prueba parece muy densa sin ningún comentario y estoy teniendo problemas para entenderla. ¿Qué pasó exactamente de la segunda a la tercera igualdad?
machine-learning
matrix
derivative
MoneyBall
fuente
fuente
Respuestas:
Hay un abuso sutil pero fuerte de la notación que hace que muchos de los pasos sean confusos. Abordemos este problema volviendo a las definiciones de multiplicación de matriz, transposición, trazas y derivadas. Para aquellos que deseen omitir las explicaciones, salten a la última sección "Poner todo junto" para ver cuán breve y simple puede ser una demostración rigurosa.
Notación y conceptos
Dimensiones
Para que la expresión tenga sentido cuando A es una matriz m × n , B debe ser una matriz (cuadrada) n × n y C debe ser una matriz m × p , de donde el producto es una matriz m × p . Para tomar la traza (que es la suma de elementos diagonales, Tr ( X ) = ∑ i X i i ), luego p = m , haciendo CA B A′C UNA m × n si n × n C m × p m × p Tr( X) = ∑yoXyo i p = m C Una matriz cuadrada.
Derivados
La notación " " parece referirse a la derivada de una expresión con respecto a A . Ordinariamente, la diferenciación es una operación realizada sobre las funciones f : R N → R M . La derivada en un punto x ∈ R N es una transformación lineal D f ( x ) : R N → R M . Al elegir las bases para estos espacios vectoriales, dicha transformación se puede representar como una matriz M × N. ¡Ese no es el caso aquí!∇UNA UNA F: Rnorte→RMETRO x ∈Rnorte Df( x ) :RN→RMETRO M× N
Matrices como vectores
En cambio, se considera como un elemento de R m n : sus coeficientes se desenrollan (generalmente fila por fila o columna por columna) en un vector de longitud N = m n . La función f ( A ) = Tr ( A B A ′ C ) tiene valores reales, de donde M = 1 . En consecuencia, D f ( x ) debe ser una matriz 1 × m n : es un vector de fila que representa una forma lineal enUNA Rm n N= m n f( A ) =Tr( A B A′C) METRO= 1 ref(x) 1×mn . Sin embargo, los cálculos en la pregunta usan unaformadiferentede representar formas lineales: sus coeficientes se vuelven a enrollar enmatricesm×n.Rmn m×n
La traza como forma lineal
Sea una matriz constante m × n . Luego, por definición de la traza y de la multiplicación de matricesω m × n
Esto expresa la combinación lineal más general posible de los coeficientes de : ω es una matriz de la misma forma que A y su coeficiente en la fila i y la columna j es el coeficiente de A i j en la combinación lineal. Como ω i j A i j = A i j ω i j , los roles de ω y A pueden cambiar, dando la expresión equivalenteA ω A i j Aij ωijAij=Aijωij ω A
Mediante la identificación de una matriz constante con cualquiera de las funciones A → Tr ( A ω ' ) o A → Tr ( ω A ' ) , que puede representar formas lineales en el espacio de m × n matrices como m × n matrices. (¡No los confunda con derivadas de funciones de R n a R m !)ω A→Tr(Aω′) A→Tr(ωA′) m×n m×n Rn Rm
Calcular un derivado
La definición
Los derivados de muchas de las funciones matriciales que se encuentran en las estadísticas se calculan de manera más fácil y confiable a partir de la definición: realmente no es necesario recurrir a reglas complicadas de diferenciación matricial. Esta definición dice que es diferenciable en x si y solo si hay una transformación lineal L tal quef x L
para arbitrariamente pequeños desplazamientos . Los medios de notación pequeñas-oh que el error cometido en la aproximación de la diferencia f ( x + h ) - f ( x ) por L h es arbitrariamente pequeño que el tamaño de h para suficientemente pequeño h . En particular, siempre podemos ignorar los errores que son proporcionales a | h | 2 .h∈RN f(x+h)−f(x) Lh h h |h|2
El cálculo
Apliquemos la definición a la función en cuestión. Multiplicar, expandir e ignorar el término con un producto de dos en él,h
Para identificar la derivada , debemos obtener esto en la forma ( 1 ) . El primer término de la derecha es ya en esta forma, con ω = B A ' C . El otro término de la derecha tiene la forma Tr ( X h ' C ) para X = A B . Escribamos esto:L = D f( A ) ( 1 ) ω = B A′C Tr( Xh′C) X= A B
Recordando , ( 2 ) puede reescribirseX= A B ( 2 )
Es en este sentido que podemos considerar que la derivada de en A es D f ( A ) = ( B A ′ C ) ′ + C A B = C ′ A B ′ + C A B , porque estas matrices juegan el roles de ω en las fórmulas de rastreo ( 1 ) .F UNA
Poniendolo todo junto
Aquí, entonces, hay una solución completa.
Debido a que esto toma solo aproximadamente la mitad del trabajo e involucra solo las manipulaciones más básicas de matrices y trazas (multiplicación y transposición), debe considerarse una demostración más simple, y posiblemente más perspicaz, del resultado. Si realmente desea comprender los pasos individuales en la demostración original, puede resultarle fructífero compararlos con los cálculos que se muestran aquí.
fuente