Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Derivacion Matricial PDF
Derivacion Matricial PDF
Fernando Lara
Fundación Universitaria Konrad Lorenz
11 de junio de 2007
Resumen
En este trabajo se hace una presentación de algunos aspectos teóricos
y prácticos acerca de la derivación matricial. Este tema es especialmente
importante, ya que las matrices no solo proveen una notación muy com-
pacta para algunos desarrollos matemáticos, sino que además permiten
una mayor generalización. Después de la presentación teórica, se expone
un caso de aplicación a las redes neuronales, y se exponen algunas lineas
de código en Matlab para la resolución de problemas que involucren la
derivación matricial.
This work develops a presentation of some theorical and practical top-
ics about matrix derivation. This area is specially important because ma-
trix theory not only provides a compact notation for some mathematical
developments, it also provides a greater generalization. After the theoric
presentation, this paper exposes an application to neural networks, and
some code in Matlab to help in the solutions of problems involving matrix
derivation.
1
Índice
Introducción 3
1. Preliminares 5
1.1. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Conceptos Básicos . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1. Operaciones con Matrices . . . . . . . . . . . . . . . . . . 10
1.3.2. Matrices Especiales. . . . . . . . . . . . . . . . . . . . . . 14
2. Derivación. 23
2.0.3. Interpretación de la derivada como la pendiente de una
tangente. . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.0.4. Reglas de Derivacion. . . . . . . . . . . . . . . . . . . . . 25
2.0.5. Derivación Parcial . . . . . . . . . . . . . . . . . . . . . . 33
3. Derivación Matricial 35
3.1. Funciones Matriciales . . . . . . . . . . . . . . . . . . . . . . . . 35
3.1.1. Funciones de Variable Escalar . . . . . . . . . . . . . . . . 35
3.1.2. Funciones de Variable Vectorial . . . . . . . . . . . . . . . 36
3.1.3. Funciones de Variable Matricial . . . . . . . . . . . . . . . 37
3.2. Otras Matrices Especiales . . . . . . . . . . . . . . . . . . . . . . 37
3.3. Producto de Kronecker . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4. Fórmulas de Derivación Matricial. . . . . . . . . . . . . . . . . . 49
3.5. Reglas de Derivación. . . . . . . . . . . . . . . . . . . . . . . . . 60
3.6. Propiedades de Derivación de Funciones Matriciales. . . . . . . . 70
4. Aplicaciónes 87
4.1. Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.1.1. Características del Algoritmo . . . . . . . . . . . . . . . . 87
4.1.2. Propagación hacia adelante. . . . . . . . . . . . . . . 88
4.1.3. Propagación hacia atrás. . . . . . . . . . . . . . . . . . . . 89
4.1.4. Resumen (Algoritmo) . . . . . . . . . . . . . . . . . . . . 96
4.1.5. Propagación hacia adelante. . . . . . . . . . . . . . . . . . 97
4.1.6. Propagación hacia atrás. . . . . . . . . . . . . . . . . . . . 97
4.1.7. Propagación hacia atrás. . . . . . . . . . . . . . . . . . . . 100
4.2. Derivadas Matriciales en Matlab. . . . . . . . . . . . . . . . . . . 101
5. Conclusiones 106
2
Introducción
El Álgebra matricial se ha convertido en los últimos años en una parte esen-
cial de los conocimientos de matemáticas, necesarios en campos tan diversos
como la ingeniería, la física, la pedagogía, la química, la sociología y en el cam-
po científico, así como la estadística y la matemática pura. Este requerimiento
refleja la importancia y la amplitud de sus aplicaciones.
Muchos de los temas tratados en los campos mencionados comparten méto-
dos comunes para resolver algunos de los problemas específicos. Los programas
de las materias de matemáticas han ido evolucionando para facilitar que el pro-
fesional domine las técnicas empleadas en el tratamiento de los problemas. Sin
embargo, por razones obvias, la mayoría de los textos de matemáticas se han
centrado en lo que es el núcleo básico de los programas de cálculo y álgebra. Por
otra parte, asignaturas de corte matemático dirigidos a dotar de conocimientos
adecuados para abordar problemas, con un nivel más riguroso, tienen carác-
ter optativo. Con respecto a esas asignaturas, no es fácil encontrar manuales
adecuados a sus contenidos específicos, lo que significa que un estudiante ha
de confiar en las referencias bibliográficas recomendadas, que en múltiples oca-
siones no se ajustan a sus necesidades de rigor de planteamiento, o bien, apuntes
tomados en clase, con los conocidos inconvenientes que esta práctica conlleva.
Como ejemplos, pensemos en temas como derivadas de vectores y matrices y
derivadas de funciones matriciales.
Basado en la importancia que ha adquirido el cálculo matricial, el compendio
que se ha proyectado, se presentará como suplemento a los textos sobre cálculo
matricial, que entre otros, son bastante exiguos en nuestro medio.
El objetivo fundamental es fijar un criterio de derivación, indicar su relación
con las aproximaciones vectoriales a la derivada y, a partir de ello, obtener
resultados que permitan enfrentarse formalmente y con mayor comodidad al
estudio de variables matriciales.
Antes de abordar el proceso de derivación matricial, se presenta un compen-
dio con los elementos básicos del álgebra lineal, específicamente sobre matri-
ces, y un compendio que incluye las propiedades básicas del cálculo diferencial,
necesarios para comprender la manera como se aborda el estudio sobre cálculo
matricial.
De la misma forma, dada la complejidad del problema, se hizo preciso incluir
algunas nuevas operaciones entre matrices que completan el cálculo matricial
tradicional; para estas nuevas operaciones, se incluyen conceptos y propiedades
sobre producto de Kronecker, vectorización de matrices y se definen las matrices
de permutación que se utilizan en algunos desarrollos.
En el presente trabajo se ha utilizado extensivamente la presentación de
[Bar98]; este excelente libro es uno de los pocos escritos en español que tratan
el tema de la derivación matricial. En particular, se ha utilizado mucho en la
sección 3, donde se expone la presentación teórica y de las propiedades. Otros
escritos que se han podido disponer tienen una presentación algo diferente; en
particular, muchos de ellos utilizan el concepto de diferencial al trabajar con
derivadas matriciales, lo que implica entre otros aspectos, cambios en la no-
3
tación.
En el capítulo 4, se presenta el desarrollo de un problema de redes neuronales
que en su forma original es un aporte del Ing. Pervys Rengifo, profesor de la
F.U.K.L., a quien se le agradece su amable colaboración. En este ejemplo se
observa la aplicación de la derivación matricial en la solución de un problema
de este tipo. Finalmente, se exponen algunas líneas de código en Matlab para
ayudar en la resolución de problemas de derivación matricial o vectorial.
4
1. Preliminares
En este capítulo se exponen los conceptos y reglas más importantes que
sirven de base a la comprensión de la diferenciación matricial, así como de los
conceptos y procesos asociados. Por ello, se explican en primera instancia las
definiciones y los conceptos básicos de matrices, así como las operaciones a las
que se pueden someter estos objetos. Luego se presentan los tipos de matrices
más importantes y las propiedades que éstos poseen.
1.1. Matrices
Aquí se introducirá el concepto de matriz y se presentarán ciertas operacio-
nes algebráicas definidas sobre ellas. Las nociones expuestas serán la base para
comprender los conceptos relativos al cálculo vectorial y matricial en general.
De la manera más general posible, se puede definir una matriz como una
tabla o arreglo rectangular de objetos matemáticos que pueden someterse a las
operaciones de suma y producto. Esto requiere por una parte, detallar cuales
son esos objetos o elementos de la matriz que son de interés primordial para el
matemático, y por otra parte especificar algunas de las propiedades asociadas
con las operaciones sobre dichos elementos: éstos, junto con las operaciones de
suma y producto, deben formar un cuerpo k [Her86].
Los elementos de una matriz pueden ser o bien los números reales (k = R) o
bien los números complejos (k = C); en estos caso, los elementos se llaman es-
calares. Pero los elementos de una matriz también pueden ser funciones definidas
en los números reales o los complejos. En el presente trabajo se tratarán las ma-
trices definidas sobre los reales, se definirá posteriormente la matriz de funciones.
El otro caso en que se considerarán las matrices y vectores es en la propia
definición de las funciones. Para el presente trabajo el interés no radica en
funciones de variable real por ejemplo, sino que la función puede ser de variable
vectorial, o matricial y por otra parte su salida puede ser a su vez un valor
escalar, vectorial o matricial.
5
Definición 1.2 (Espacio Vectorial) Un espacio vectorial definido sobre un
cuerpo k, es un conjunto V de objetos llamados vectores, junto con las opera-
ciones cerradas de suma y producto por escalar, que cumplen ocho propiedades
[San94]:
Si u, v, w ∈ V y α, β son escalares cualesquiera, entonces
1. (u + v) + w = u + (v + w)
2. u + v = v + u
3. Existe 0 ∈ V tal que v + 0 = 0 + v = v
4. Para cada v existe un vector −v tal que v + (−v) = (−v) + v = 0
5. α(u + v) = αu + αv
6. (α + β)u = αu + βu
7. (αβ)u = α(βu)
8. 1 · v = v
6
Un concepto muy importante relacionado con estos vectores es el de depen-
dencia o independencia lineal.
α1 u1 + α2 u2 + ... + αr ur = 0
Definición 1.8 (Dimensión) Sea V un espacio vectorial con una base B con
n elementos. Entonces, se define a n como la dimensión del espacio vectorial V,
y se expresa como dim(V ) = n.
7
Definición 1.10 (Transformación Lineal) Sea U un espacio vectorial
n-dimensional y sea V un espacio vectorial m-dimensional, ambos sobre el mis-
mo cuerpo k. Sea BU una base de U y BV una base de V. Una transformación
lineal es una función T : U → V tal que, para escalares arbitrarios a, b ∈ k y
vectores x1 , x2 ∈ U :
1.3. Matrices
En esta sección se establecerán las condiciones para definir adecuadamente
el concepto de matriz, sus diferentes tipos y examinar luego algunas de sus
propiedades.
En el presente trabajo, las matrices se establecerán con referencia al espacio
vectorial definido por Mmn , el conjunto de todas las matrices de tamaño m × n,
así:
Definición 1.11 (Matriz) Sea k un cuerpo, y sea Mmn el espacio vectorial
de todas las matrices de tamaño m × n definidas sobre k. Se define una matriz
A ∈ Mmn con elementos en k, y se expresa diciendo que A es una matriz
sobre k, a un arreglo de mn elementos aij ∈ k, ordenados de manera rectangular
con m filas y n columnas encerrados entre corchetes, donde 1 ≤ i ≤ m y
1≤j≤n:
a11 a12 ... a1n
a21 ... ... a2n
... ... ... ...
am1 am2 ... amn
Las líneas horizontales en una matriz se denominan filas y las líneas verti-
cales se denominan columnas. El primero de los coeficientes indica la fila y el
segundo la columna en que está ubicado el elemento. A una matriz con m filas
y n columnas se le denomina matriz m-por-n (escrito m × n), siendo los valores
m y n sus dimensiones. La matriz anterior se denota también por (aij ).
Bajo esta definición, entonces sobre las matrices se pueden definir dos ope-
raciones: suma y producto por escalar, que deben cumplir con las propiedades
mencionadas en la definición 1.2.
Definición 1.12 (Matriz como Transformación Lineal) Sean V, W espa-
cios vectoriales de dimensión finita. Si se han determinado las bases BV del
espacio V con dimensión n, y BW del espacio W con dimensión m, entonces
cada transformación lineal T : V → W puede ser representada por una matriz
A.
8
Ejemplo 1.1 Sean V, W espacios vectoriales. Sea {v1 , v2 , ...vn } una base de V
y {w1 , w2 , ...wm } una base de W. Cada vector v ∈ V puede ser representado de
manera única mediante los escalares α1 , α, ...αn ∈ k. mediante la combinación
lineal α1 v1 + α2 v2 + ... + αr vn
Si f : V → W es una aplicación lineal, entonces
Las dimensiones de una matriz siempre se dan con el número de filas primero
y el número de columnas después. La entrada de una matriz A que se encuentra
en la fila i-ésima y la columna j-ésima se le llama entrada i, j o entrada (i, j)-
ésima de A. Esto se escribe como Ai,j o A[i, j]. Entonces, el primero de los
subíndices indica la fila y el segundo la columna a las que pertenece dicho
elemento. Las filas de la matriz son las m n-plas horizontales:
a11 a12 ··· a1n , a21 a22 ··· a2n , · · · , am1 am2 ··· amn
Nótese que el elemento aij llamado entrada ij, aparece en la fila i-ésima y en
la columna j-ésima. Una matriz con m filas y n columnas se denomina matriz m
por n, o matriz m × n; el par de números (m, n) se llama su tamaño o forma.
Las matrices se denotan usualmente por letras mayúsculas A, B, . . . y los
elementos del cuerpo k por minúsculas, a, b, . . . con sus respectivos subíndices.
Una matriz con una sola columna o una sola fila se denomina a menudo
vector, y se interpreta como un elemento del espacio euclídeo [Her86].
9
Definición 1.13 (Vector) Un vector es una matriz que posee una sola fila o
una sola columna. Una matriz 1× n (una fila y n columnas) se denomina vector
fila, y una matriz m× 1 (una columna y m filas) se denomina vector columna.
En general, dada una matriz A, al vector (ai1 , ai2 , ...ain ) que forma la i-ésima
fila de A se le llama un vector fila, mientras que al vector (a1j , a2j , ...amj ) que
forma la j-ésima columna de A se le llama vector columna. Nótese que en
particular, un elemento del cuerpo k puede verse como una matriz o vector de
tamaño 1 × 1.
1 −3 4
Ejemplo 1.2 Se tiene la matriz A2×3 :
0 5 −2
x+y 2z + w 3 5
Ejemplo 1.3 La aserción = es equivalente al sigui-
x−y z−w 1 4
En otras palabras, dos matrices son iguales solo cuando una es copia de la
otra.
10
Definición 1.15 (Suma de Matrices) Sean A = (aij ) y B = (bij ) dos ma-
trices del espacio vectorial Mmn , ambas de igual tamaño m × n. La suma (o
diferencia) de ellas, denotada como A ± B, es otra matriz C = (cij ) de orden
m × n, en la cual cada elemento de C es la suma (o diferencia) de los elementos
correspondientes de A y B. Esto es, (cij ) = (aij + bij )
a11 a12 ··· a1n b11 b12 ··· b1n
a21 a22 ··· a2n b21 b22 ··· b2n
A= . .. .. .. ; B = .. .. .. ..
.. . . . . . . .
am1
am2 · · · amn bm1 bm2 ··· bmn
a11 + b11 a21 + b21 ··· a1n + b1n
a21 + b21 a22 + b22 ··· a2n + b2n
C =A+B = .. .. .. ..
. . . .
am1 + bm1 am2 + bm2 ··· amn + bmn
11
Proposición 1.1 (Propiedades de la Suma y el Producto por Escalar)
Sea V el conjunto de todas las matrices m × n sobre un campo k. En tal caso,
para matrices arbitrarias A, B, C, 0 ∈ V y escalares cualesquiera k1 , k2 ∈ k y los
valores 0, 1 ∈ k se cumple:
1. (A + B) + C = A + (B + C)
2. A + 0 = A
3. A + (−A) = 0
4. A + B = B + A
5. k1 (A + B) = k1 A + k1 B
6. (k1 + k2 )A = k1 A + k2 A
7. (k1 k2 )A = k1 (k2 A)
8. 1 · A = A y 0 · A = 0
u = a1 a2 ··· an v = b1 b2 ··· bn
u + v = a1 + b1 a2 + b2 ··· an + bn ku = ka1 ka2 ··· kan
b1
b2 n
a1 a2 ··· an . = a1 b1 + a2 b2 + · · · + an bn = ak bk = c
..
k=1
bn
12
Nótese que para este caso, el producto de vectores se puede ver como un
escalar c ∈ k. El producto A × B no está definido si los vectores A y B tienen
diferente cantidad de elementos.
3
Ejemplo 1.5 8 −4 5 2 = 8 · 3 + (−4) · 2 + 5 · (−1) = 24 − 8 − 5 = 11
−1
p
Donde cij = ai1 b1j + ai2 b2j + · · · + aip bpj = aik bkj para todo i, j en C.
k=1
Se observa que en general, el producto de matrices no es conmutativo.
Dos matrices en las cuales el número de columnas de A es igual al número
de filas de B se llaman matrices conformes respecto de la multiplicación.
Se debe tener en cuenta el hecho de que el producto AB sólo está definido para
matrices conformes. Esto es, no está definido si A es una matriz m × p y B una
matriz q × n con p
= q.
r s a1 a2 a3 ra1 + sb1 ra2 + sb2 ra3 + sb3
Ejemplo 1.6 =
t u b1 b2 b3 ta1 + ub1 ta2 + ub2 ta3 + ub3
1 2 1 1 1 × 1 + 2x0 1 × 1 + 2 × 2 1 5
= =
3 4 0 2 3×1+4×0 3×1+4×2 3 11
1 1 1 2 1×1+1×3 1×2+1×4 4 6
= =
0 2 3 4 0×1+2×3 0×2+2×4 6 8
13
Lo anterior muestra que el producto de matrices no es conmutativo, es decir
los productos AB y BA de matrices no son necesariamente iguales.
1. (AB)C = A(BC)
2. A(B + C) = AB + AC
3. (B + C)A = BA + CA
4. k(AB) = (kA)B = A(kB)
5. 0A = 0 y B0 = 0 donde 0 es la matriz nula conforme
1. (A) = A
14
2. (kA) = kA
3. (A + B) = A + B
4. (A × B) = B × A
4 −3 6 7 8 9
Ejemplo 1.9 A = −2 5 −1 , B = 3 2 1
1 0 3 −5 6 −4
11 5 15 11 1 −4
A + B = 1 7 0 , (A + B) = 5 7 6
−4 6 −1 15 0 −1
4 −2 1 7 3 −5 11 1 −4
A = −3 5 0 , B = 8 2 6 , A + B = 5 7 6
6 −1 3 9 1 −4 15 0 −1
11 1 −4 11 1 −4
Por tanto (A + B) = 5 7 6 = A + B = 5 7 6
15 0 −1 15 0 −1
15
Definición 1.22 (Traza de una Matriz Cuadrada) Sea A una matriz
cuadrada de orden n. La diagonal principal es la línea formada por los elementos
a11 , a22 , ..., ann . La suma de los elementos de la diagonal principal de una
nmatriz
cuadrada A, se llama traza de la misma, y se denota como tr(A) = aii .
i=1
1 2 3 2 −5 1
Ejemplo 1.10 Sean A = −4 −4 −4 B = 0 3 −2
5 6 7 1 2 −4
a11 0 0 ··· 0
a21 a22 0 ··· 0
a31 a32 a33 ··· 0
es una matriz triangular inferior.
.. .. .. .. ..
. . . . .
an1 an2 an3 ··· ann
16
a11 0 ··· 0 b11 b12 ··· b1n
0 a22 ··· 0 b21 b22 ··· b2n
.. .. .. .. .. .. .. ..
. . . . . . . .
0 0 ··· ann bn1 bn2 ··· b3n
a11 b11 a11 b12 ··· a11 b1n
a22 b21 a22 b22 ··· a22 b2n
= .. .. .. ..
. . . .
amm bm1 amm bm2 ··· amm bmn
17
Definición 1.27 (Matriz Idempotente) Una matriz A de manera que
Ak+1 = A, se llama matriz idempotente de grado k la matriz A. Al grado
k también se le llama periodo.
2 −2 −4
Ejemplo 1.13 A = −1 3 4 Verificar si la matriz A es idempotente:
1 −2 −3
2 −2 −4 2 −2 −4 2 −2 −4
A2 = −1 3 4 × −1 3 4 = −1 3 4 =A
1 −2 −3 1 −2 −3 1 −2 −3
18
1 2 3
Ejemplo 1.15 A = 2 4 −5 es simétrica y también kA para cualquier
3 −5 6
k∈k
Si A
es una matriz cuadrada
de orden n,
la matriz A + A es simétrica.
1 2 3 1 2 3
A = 2 4 −5 , A = 2 4 −5 entonces
3 −5 6 3 −5 6
2 4 6
A + A = 4 8 −10
6 −10 12
La anterior es una matriz hemisimétrica, así como kA, cualquiera que sea el
escalar k ∈ k.
Proposición 1.5 Toda matriz cuadrada A se puede descomponer en la
suma de una matriz simétrica B = 12 (A + A) y otra matriz antisimétrica
C = 12 (A − A).
La inversa de una matriz juega un papél muy importante en el desarrollo
de diferentes procedimientos algebraicos y de cálculo matricial. Así como en R ,
para todo a ∈ R con a
= 0, existe un b ∈ R que es el inverso multiplicativo, para
el caso de una matriz A análogamente se plantea la posibilidad de que exista
una matriz B conformable, tal que AB = I.
Definición 1.32 (Matriz Inversa) Sean A y B dos matrices cuadradas del
mismo orden, para las cuales se cumple que AB = BA = I. A la matriz B se
llama inversa de A y se escribe B = A−1 (B igual a inversa de A), Recíproca-
mente, la matriz A es la inversa de B, y se puede escribir A = B −1 .
1 2 3 6 −2 −3 1 0 0
Ejemplo 1.17 Como 1 3 3 × −1 1 0 = 0 1 0 = I
1 2 4 −1 0 1 0 0 1
19
No todas las matrices poseen inversa. Se puede demostrar, sin embargo, que
si A posee matriz inversa, ésta es única.
Definición 1.33 (Matriz Ortogonal) Se dice que una matriz A definida so-
bre un cuerpo k, es ortogonal si AAT = AT A = I. Una matriz ortogonal A es
necesariamente cuadrada e invertible, con una inversa A−1 = AT
a1 a2 a3
Sea A = b1 b2 b3
c1 c2 c3
o en otras palabras:
u1 • u1 = 1 u1 • u2 = 0 u1 • u3 = 0
u2 • u1 = 0 u2 • u2 = 1 u2 • u3 = 0
u3 • u1 = 0 u3 • u2 = 0 u3 • u3 = 1
20
donde u1 = (a1 , a2 , a3 ) , u2 = (b1 , b2 , b3 ) , u3 = (c1 , c2 , c3 ) son las filas de A.
Así las filas u1 , u2 y u3 son ortogonales entre sí y tienen longitudes unidad o,
dicho de otro modo, forman un conjunto ortonormal de vectores
Definición 1.34 (Matriz Escalonada) Sean A 1 A 2 · · · A S matri-
ces cuadradas de órdenes m1 m2 · · · mS , respectivamente.
A1 0 ··· 0
0 A2 ··· 0
La generalización A = . .. .. .. = diag A1 A2 ··· AS
.. . . .
0 0 ··· AS
21
|a11 | = a11
a11 a12
= a11 a22 − a12 a21
a21 a22
a11 a12 a13
a21 a22 a23 = a11 a22 a33 + a12 a23 a31 + a21 a32 a13
a31 a32 a33
22
2. Derivación.
En esta sección se exponen los conceptos fundamentales de la derivación de
funciones reales, y algunas de las reglas principales. Se consideran principal-
mente las funciones algebraicas, y al final de la sección se exponen las fórmulas
de algunas funciones trigonométricas y logarítmicas que podrán ser utilizadas
posteriormente.
f (a − h) − f (a)
m = lı́mh→0
h
De hecho, los límites con esta forma surgen siempre al calcular una rapidez de
cambio en cualquier ciencia o rama de la ingeniería, como la rapidez de reacción
en química o un costo marginal en economía. Dado que este tipo de límite se
presenta con suma frecuencia, se le da un nombre y una notación especial.
f (a + h) − f (a)
f (a) = lı́mh→0 dado el caso de que el límite exista.
h
Si se escribe x = a + h, entonces h = x − a y h → 0 si y solo si x →
a; por consiguiente de acuerdo con la determinación de las tangentes, un modo
equivalente de enunciar la definición de derivada, es
f (x) − f (a)
f (a) = lı́mx→a
x−a
f (a + h) − f (a)
f (a) lı́mh→0
h
[(a+h)2 −8(a+h)+9]−[a2 −8a+9]
f (a) lı́mh→0 h
2 2 2
f (a) lı́mh→0 a +2ah+h −8a−8h+9−a
h
+8a−9
2ah+h2 −8h
f (a) lı́mh→0 h = lı́mh→0 (2a + h − 8)
f (a) = 2a − 8
23
Figura 1:
24
f (a + h) − f (a) f (x) − f (a)
f (a) = lı́mh→0 , b) f (a) = lı́mx→a
h x−a
= pendiente de tangente en P, =pendiente de tangente en P
y − f (a) = f (a) (x − a)
f (x + h) − f (x) c−c
f (x) = lı́mh→0 = lı́mh→0 = lı́mh→0 0 = 0
h h
d
En notación de Leibniz, se escribe: c=0
dx
25
Demostración. La fórmula
f (x) − f (a) xn − an
f (a) = lı́mx→a = lı́mx→a
x−a x−a
f (x + h) − f (x) (x + h)n − xn
f (x) = lı́mh→0 = lı́mh→0
h h
f (x) = nxn−1
Por cuanto todos los términos excepto el primero, tienen a h como factor;
por consiguiente, tienden a 0.
dy
Si y = t5 entonces dt = 5t4
Du (um ) = mum−1
d
6
dr r = 6r5
26
1
d √
x 2 = 12 x( 2 )−1 =
1
d 1
dx x = √
dx 2 x
1
Sea y = √
3 2
x
dy d −2 2 2 5
x 3 = − x−( 3 )−1 = − x− 3
2
Entonces =
dx dx 3 3
√
Derivar la función f (t) = t (1 − t) .
√ 1
f (t) = t (−1) + (1 − t) 21 t− 2
√ 1−t 1−3t
f (t) = − t + √
2 t
= √
2 t
1 1
f (t) = 12 t− 2 − 32 t 2 que equivale a la respuesta en la solución anterior
Para definir las siguientes reglas, se supone que c es una constante y que
tanto f (x) como g (x) existen.
Regla 2.3 Si g (x) = cf (x), entonces f (x) existe y g (x) = cf (x)
d df
También se escribe: (cf ) = c
dx dx
27
f (x + h) − f (x)
Demostración. g (x) = lı́mh→0
h
cf (x + h) − cf (x)
= lı́mh→0
h
f (x + h) − f (x)
g (x) = lı́mh→0 c
h
f (x + h) − f (x)
g (x) = c lı́mh→0
h
g (x) = cf (x)
f (x + h) − f (x) g (x + h) − g (x)
H (x) = lı́mh→0 ± lı́mh→0
h h
Ejemplo 2.4 dx d
x + 12x5 − 4x4 + 10x3 − 6x + 5
d
8
d
5
d
4
d
3
d d
= dx x + 12 dx x − 4 dx x + 10 dx x − 6 dx (x) + dx (5)
28
Ejemplo 2.5 Si f (x) = x4 − x3 + x2 − x + 1, deducir la ecuación de la tangente
a la gráfica de f en el punto (1, 1).
La pendiente de f (1) que se calculara como sigue:
f (1) = 4 − 3 + 2 − 1 = 2
Regla 2.5 (Regla del Producto) Si H (x) = f (x) g (x) y tanto f (x) como
g (x) existen a la vez, entonces
d dg df
También se puede expresar como: (f g) = f +g
dx dx dx
H (x + h) − H (x)
Demostración. H (x) = lı́mh→0
h
f (x + h) g (x + h) − f (x) g (x)
H (x) = lı́mh→0
h
Para evaluar este límite, se van a separar las funciones f y g sumando y
restando el término f (x + h) g (x) en el numerador
H (x) =
f (x + h) g (x + h) − f (x + h) g (x) + f (x + h) g (x) − f (x) g (x)
= lı́mh→0
h
g (x + h) − g (x) f (x + h) − f (x)
= lı́mh→0 f (x + h) + g (x)
h h
29
g (x + h) − g (x)
= lı́mh→0 f (x + h) lı́mh→0 +
h
f (x + h) − f (x)
+ lı́mh→0 g (x) lı́mh→0
h
F (x) = 6x3
dx 7x
+
7x
dx
6x
F (x) = 6x3 28x3 + 7x4 18x2
F (x) = 168x6 + 126x6 = 294x6
(x)
Regla 2.6 (Regla del Cociente) Si F (x) = fg(x) y existen f (x) y g (x) a
g (x) f (x) − f (x) g (x)
la vez, entonces existe F (x) y F (x) =
[g (x)]2
d d
d f (x) g (x) dx f (x) − f (x) dx g (x)
En la notación de Leibniz: =
dx g (x) [g (x)]2
f gf − fg
y de manera abreviada: =
g g2
f (x+h) f (x)
F (x + h) F (x) g(x+h) − g(x)
Demostración. F (x) lı́mh→0 = lı́mh→0
h h
f (x + h) g (x) − f (x) g (x + h)
F (x) lı́mh→0
hg (x + h) g (x)
30
g (x) f (x+h)−f(x)
h − f (x) g(x+h)−g(x)
h
F (x) lı́mh→0
g (x + h) g (x)
Demostración. f (x) = dx d d
(x−n ) = dx xn
xn D(1)−1D(xn )
f (x) = (xn )2
−nxn−1
f (x) = x2n = −nxn−1−2n = nx−n−1
1
Ejemplo 2.8 Si y = x
dy
−1
Entonces, dx = d
dx x = −x−2 = − x12
6
−3
Ejemplo 2.9 d
dt t3
d
= 6 dt t = 6 (−3) t−4 = − 18
t4
31
√
Ejemplo 2.10 Derivar la función f (t) = t (1 − t) Aplicando la regla del pro-
ducto se tiene:
√ d d
√
f (t) = t dt (1 − t) + (1 − t) dt t
√ 1
f (t) = t (−1) + (1 − t) 12 t− 2
√ 1−t 1−3t
f (t) = − t + √
2 t
= √
2 t
dy d
−1
12
dx = 12 dy x = 12 −x−2 = x2
dy dy du
=
dx du dx
32
dy ∆y
1. dx = lı́m∆x−→0 ∆x
por tanto
dy ∆y ∆u
dx = lı́m∆x−→0 ∆u ∆x
dy ∆y ∆u
dx = lı́m∆x−→0 ∆u • lı́m∆x−→0 ∆x ∆u −→ 0 cuando ∆x −→ 0
porque g es contínua
dy ∆y ∆u
dx = lı́m∆u−→0 ∆u • lı́m∆x−→0 ∆x
dy dy du
dx = du dx
2. du
dx =0
Aquí ∆u = 0 para algunos casos de ∆x, y ∆u
= 0 para otros valores
de ∆x. Si se tiene ∆x −→ 0 pasando por valores tales que ∆u
= 0 ,
podemos escribir
∆y ∆y ∆u dy du dy
∆x = ∆u • ∆x −→ du • dx = du •0=0
∆y
y así ∆x =0
∆y
En ambos casos ∆x −→ 0,
dy dy du
y entonces dx =0= du dx
33
Definición 2.3 Sea z = f (x, y) una función de dos variables independientes
x, y. Entonces, las derivadas parciales de z son las funciones fx y fy que se
definen como:
f (x + h, y) − f (x, y)
fx (x, y) = lı́m
h→0 h
f (x, y + h) − f (x, y)
fy (x, y) = lı́m
h→0 h
Donde fx se denomina la primera derivada parcial de f(x, y) con respecto a
x, y fy se denomina la primera derivada parcial de f(x, y) con respecto a y.
Notación 2.2 Sea z = f(x, y). Entonces, las derivadas parciales de esta fun-
ción con respecto a x y con respecto a y son:
∂f ∂ ∂z
fx (x, y) = fx = = f (x, y) = = f1 = D1 f = Dx f
∂x ∂x ∂x
∂f ∂ ∂z
fy (x, y) = fy = = f(x, y) = = f2 = D2 f = Dy f
∂y ∂y ∂y
34
3. Derivación Matricial
El cálculo matricial es en gran manera una ampliación de la notación tradi-
cional del cálculo univariado, que permite una notación más compacta a la hora
de realizar cálculo multivariado, en el cual las funciones pueden ser de un tipo
más amplio, ya que la variable puede ser vectorial o matricial. En general, el
cálculo matricial trabaja sobre espacios de matrices M (m, n) de tamaño m × n
definidas sobre k = R.
Antes de abordar el proceso de la derivación matricial dada la complejidad
técnica del problema, es preciso incorporar algunas nuevas operaciones entre
matrices que completan el cálculo matricial tradicional. Por ello, se definen las
matrices de permutación y los conceptos de producto Kronecker y vectorización
junto con sus propiedades.
Primero se exponen nuevos tipos de matrices que son de especial interés para
desarrollos del cálculo matricial.
Nota 3.1 Es importante resaltar en todo caso, que en este escrito se identifi-
carán explícitamente los espacios de matrices Mpn con Rpn y Mmq con Rmq ,
respectivamente.
Caso 3.1 f : R → R
f (x) = y
35
Caso 3.2 f : R → M1n
f (x) = A
f (x) = Y
1 x
Ejemplo 3.3 f (x) =
x + 1 x2
f (A) = y
f (A) = B
f (A) = Y
36
3.1.3. Funciones de Variable Matricial
Sea Mmn el espacio vectorial de las matrices de tamaño m × n, y X, Y
matrices de Mmn . Sea M1n el espacio vectorial de los vectores fila de tamaño n,
y sean A, B vectores de M1n . Sean x, y ∈ k escalares reales. Entonces se pueden
dar los siguientes casos:
f (X) = y
f (X) = B
f (X) = Y
37
Donde a las submatrices o bloques se les ha denominado B, C, D, E y corres-
ponden a:
a a12 a13 a
B = 11 , C = 14 , D = a31 a32 a33 , E = a34
a21 a22 a23 a24
Esta definición muestra que tanto el primer elemento como el último ele-
mento de una matriz de permutación por bloques es 1.
38
Proposición 3.1 (Propiedades Matrices de Permutación por Bloques)
Las matrices de permutación en bloques cumplen las siguientes propiedades:
1. Pm,1 = P1,m = Im
2. Pm,n
= Pn,m
3. Pm,n Pn,m = Inm
4. La matriz Pm,n es ortogonal
Demostración. Se va a demostrar la propiedad 4; la demostración de las
demás propiedades se hacen de manera análoga. Las demostraciones se pueden
consultar en [Bar98].
Pm,n = Pn,m entonces de (3)., resulta
Pm,n Pn,m = Pn,m Pm,n = In,m
de donde se deduce que Pm,n es ortogonal ya que Pm,n
−1
= Pm,n
39
Se llama producto de Kronecker, denotado con ⊗, a una operación sobre
dos matrices de tamaño arbitrario que da como resultado una matriz bloque. El
producto de Kronecker no debe confundirse con el producto de matrices habi-
tual, que es una operación totalmente diferente. Debe su nombre al matemático
alemán Leopold Kronecker.
a11 a12
b b12 b13
Ejemplo 3.6 a21 a22 ⊗ 11 =
b21 b22 b23
a31 a32
a11 b11 a11 b12 a11 b13 a12 b11 a12 b12 a12 b13
a11 b21 a11 b22 a11 b23 a12 b21 a12 b22 a12 b23
a21 b11 a21 b12 a21 b13 a22 b11 a22 b12 a22 b13
a21 b21 a21 b22 a21 b23 a22 b21 a22 b22 a22 b23
a31 b11 a31 b12 a31 b13 a32 b11 a32 b12 a32 b13
a31 b21 a31 b22 a31 b23 a32 b21 a32 b22 a32 b23
1 2 5 6
Ejemplo 3.7 ⊗ =
3 4 7 8
1,5 1,6 2,5 2,6 5 6 10 12
1,7 1,8 2,7 2,8 16
= 7 8 14
3,5 3,6 4,5 4,6 15 18 20 24
3,7 3,8 4,7 4,8 21 24 28 32
5 6 1 2
Ejemplo 3.8 ⊗ =
7 8 3 4
5,1 5,2 6,1 6,2 5 10 6 12
5,3 5,4 6,3 6,4 15 20 18 24
=
7,1 7,2 8,1 8,2 7 14 8 16
7,3 7,4 8,3 8,4 21 28 24 32
40
1. (A1 ⊗ B1 ) + (A2 ⊗ B1 ) = (A1 + A2 ) ⊗ B1
C1 C2 = (A1 ⊗ B1 ) (A2 ⊗ B2 ) = A1 A2 ⊗ B1 B2 .
41
11. Si A es una matriz m × n particionada en cuatro bloques Aij , i, j = 1, 2
de dimensiones mi × nj , i, j = 1, 2 con m1 + m2 = m y n1 + n2 = n y B
es una matriz de orden p × q, entonces
A11 ⊗ B A12 ⊗ B
A⊗B =
A21 ⊗ B A22 ⊗ B
A1 ⊗ B1 = a1ij B1 ij ,
A2 ⊗ B1 = a2ij B1 ij
resulta que
1
por definición
de matriz traspuesta y producto
de Kronecker resulta que
a11 B a21 B · · · am1 B
(A ⊗ B) = ... .. .. ,
. .
a1n B a2n B · · · amn B
42
Ejemplo 3.9 Las matrices:
−1 1 1
1 −1
A= B = 1 0 −1
2 1
0 2 4
tr (A ⊗ B) = tr (A) tr (B) = 6
rg (A ⊗ B) = rg (A) · rgB = 6
(A ⊗ B)−1 = A−1 ⊗ B −1
se tiene que:
1 1 1 1
−6 6 12 − 61 1
6 12
1 1
0 1 1
0
3 3 3 3
1 1
− 6 − 16 1
− 61 − 16
(A ⊗ B)−1 =
1
12 12
1
3 − 13 − 61 − 16 1
6 12
2
− 3 − 23 0 1
3
1
3 0
1 1
3 3 − 61 − 16 − 16 1
12
43
Un ámbito en el que puede resultar útil expresar una matriz como un vector
columna es el de la derivación de matrices o expresiones matriciales. Por ello, a
continuación se define lo que se entiende por vectorización de una matriz y se
analizan algunas de sus propiedades.
44
4. Dadas las matrices Am×n , Bn×p y Cp×q , se verifica que:
vec (ABC) = (C ⊗ A) vec (B) = (Iq ⊗ AB) vec (C) = (CB ⊗ Im ) vec (A)
[Im ⊗ (vec (A)) ] [vec (Im ) ⊗ In ] = A. [Im ⊗ (vec (In )) ] [vec (A) ⊗ In ] =
A
vec [(A + B) (C + D)] = [(Ip ⊗ A) + (Ip ⊗ B)] [vec (C) + vec (D)]
En particular si n = m y B = In :
45
vec (AB) = (Ip ⊗ A) · vec (B)
n
Por otra parte, la j-ésima columna de AB es a•i bij
i=1
Por tanto:
n
a•i bi1
i=1
n B 0pXn ··· 0 a•1
a•i bi2 0 B ··· 0 a•2
vec (AB) = i=1 = . .. .. ..
.. .
. . . .
. 0 0 ··· B a•n
n
a•i bip
i=1
46
y, teniendo en cuenta la proposición 3.3, 3, se obtiene finalmente
Es obvio y fácil de verificar que vec (A) = vec (A) . Por tanto, pueden enun-
ciarse las propiedades de vec (A) . Por ejemplo:
47
tr (AB) = (vec (A)) vec (B) = (vec (A)) vec (B)
a11
a12
a22
a13
a23
a33
(A) = .
vec
..
a1n
a2n
..
.
ann
En vec
(A) se incluyen los elementos situados por encima de la diagonal
principal de cada una de las columnas de A. Por otra parte, la relación entre
esta vectorización y la indicada en la definción 3.7 se establece por la igualdad
(A) = Qvec (A) , (donde Q es la matriz diagonal por bloques de orden r×n):
vec
Q1
Q2
Q= ..
.
Qn
1 0 ··· 0 ··· 0
0 1 · · · 0 ··· 0
Qi = . . .... ....
.. .. .. ..
0 0 ··· 1 ··· 0
i-ésima columna
48
Nota 3.3 La vectorización se utiliza en conjunto con el producto Kronecker
para expresar la multiplicación de matrices como una transformación lineal sobre
las matrices. Por ejemplo, si A, B, X son matrices conformes:
vec(AXB) = (B T ⊗ A)vec(X)
∂y ∂y ∂y
Si y = y (x1 , ..., xn ) su derivada es = ... , que es el caso de
∂x ∂x1 ∂xn
las funciones escalares de variable vectorial.
∂y1 (x)
y1 (x) ∂x
∂y .
Si y = y (x) = ... su derivada es
= .. , . que es el caso
∂x
yn (x) ∂ym (x)
∂x
de las funciones vectoriales de variable escalar.
∂y1 ∂y1
y1 (x1 , ..., xn ) ∂x ··· ∂xn
. ∂y . 1 .. ,
Si y = y (x) = .. su derivada es = .. .
∂x ∂ym ∂ym
yn (x1 , ..., xn ) ∂x1 ··· ∂xn
que es el caso de las funciones matriciales de variable vectorial
49
Definición 3.10 Sea y = y (x) una función real de variable vectorial, es decir,
y es una función definida de Rn en R. La derivada de y respecto de x es el
∂y (x) ∂y (x) ∂y (x)
vector fila = , ...,
∂x ∂x1 ∂xn
Se adopta esta notación ya que se está derivando un escalar y (x) con respecto
∂y (x)
a un vector fila x = (x1 , ..., xn ). Obsérvese que es el vector gradiente de
∂x
la función y (x) .
Si se precisa que el vector de variables x respecto a las que se efectúa la
derivada de y se toma como columna, entonces se denotará por
∂y (x) ∂y (x)
=
∂x ∂x
yn (x)
ym (x)
∂y1 (x) ∂y
1 (x) ∂y1 (x)
∂x ∂x1 ··· ∂xn
.. .. ..
=
∂y(x)
∂x = . . .
∂ym (x) ∂ym (x) ∂ym (x)
∂x ∂x1 ··· ∂xn|
50
Obsérvese que esta matriz de orden m× n es el Jacobiano de la función y(x),
ya que cada una de sus filas es el gradiente de las funciones y1 (x) , ..., yn (x) ,
que son las componentes de y(x).
Definición 3.13 Sea y = y (X) una función real de variable matricial, es decir,
la función y está definida de Mpn en R. La derivada de y respecto de la matriz
X de orden p × n, es la matriz del mismo orden dada por
∂y(X) ∂y(X)
∂x11 ··· ∂x1n
∂y (X) .. .. ∂y (X)
=
. .
=
∂X ∂y(X) ∂y(X)
∂xij i=1,...,p
··· j=1,...,n
∂xp1 ∂xpn
51
donde, teniendo en cuenta la definición 3.10,
∂yij (x) ∂yij (x) ∂yij (x)
= , ...,
∂x ∂x1 ∂xn
52
1. En el presente trabajo, empleando el concepto de vectorización de una ma-
triz, pueden obtenerse las siguientes expresiones alternativas de las defini-
ciones 3.13, 3.14, 3.15, 3.16 y 3.17 en términos de vectorización:
∂y(X)
∂x
.11
..
∂y(X)
∂xp1
∂y (X) ∂y (X)
= ... = vec
•
∂vec(X) ∂(X)
∂y(X)
∂x1n
.
.
.
∂y(X)
∂xpn
∂y11 (x)
∂x11
.
..
∂y1m (x)
∂x
∂vecY (x) .. = vec ∂Y (x)
• =
.
∂x ∂y1q (x) ∂x
∂x
..
.
∂ymq (x)
∂x
∂y
1 (X)
∂vec(X)
∂y (X) ..
• = .
,
∂vec(X)
∂ym (X)
∂vec(X)
∂yi (X)
siendo para i = 1, ..., m lo indicado en la primera expresión alter-
∂vec(X)
nativa.
∂y (X)
El vector columna de orden mnp, teniendo en cuenta propiedades
∂vec(X)
del producto de Kronecker y de la vectorización, se puede expresar también
como
∂y (X) ∂y (X)
= ⊗ Ip (vecIp ) ,siendo
∂vec(X) ∂X
∂y (X) ∂y (X)
= .
∂X ∂X
53
∂y (X) ∂y (X)
Nótese que en este caso
= vec
∂vec(X) ∂X
∂y11 (x) ∂y
11 (x) ∂y11 (x)
∂x1 ··· ∂xn
∂x
. .. ..
.. . .
∂ym1 (x)
∂ym1 (x)
··· ∂ym1 (x)
∂x ∂x1 ∂xn
∂vecY (x) .. = . ..
• =
. .. .
∂x ∂y1q (x)
∂x ∂y1q (x)
··· ∂y1q (x)
∂x1 ∂xn
.. .. ..
. . .
∂ymq (x) ∂ymq (x) ∂ymq (x)
∂x ∂x1 ··· ∂xn
∂vec (Y (x))
Se observa que es una matriz de orden mq × n, mientras que
∂x
∂Y (x)
es de orden m × qn. Entre estas dos matrices puede establecerse la sigui-
∂x
ente relación:
∂vec (Y (x)) ∂Y (x)
= Iq ⊗ (vec (Iq ) ⊗ In )
∂x ∂x
∂y ∂y1q (X)
11 (X)
∂vec(X) ··· ∂vec(X)
∂Y (X) .. .. ∂Y (X)
• =
. .
=
⊗ Ip (Iq vec (Ip ))
∂vecX ∂X
∂ym1 (X) ∂ymq (X)
∂vec(X) ··· ∂vec(X)
54
∂vec (Y (X)) ∂Y (X) ∂Y (X)
• = vec = Iq ⊗ ⊗ Ip (vec (Iq ) ⊗ vec (Ip ))
∂vec(X) ∂vecX ∂X
la definición
∂Y (X) ∂ [Y (X))]
≡
∂X ∂ (vecX)
∂vec [Y (X))]
∂ (vecX)
55
Observese que el resultado anterior difiere de
2x1 2 0
∂ vec ∂y(x) ∂
∂x
= 2x22 = 0 2
∂x ∂x 3x2 0 6x2
2x1 2 0
1 0 ··· 0 0 1 ··· 0 ··· 0 0 ··· 1
0 0 ··· 0 0 0 ··· 0 ··· 0 0 ··· 0
= .. .. .. .. .. .. .. .. ..
. . . . . . . . .
0 0 ··· 0 0 0 ··· 0 ··· 0 0 ··· 0
1 0 0 ··· 0
0 0 0 ··· 0
.. .. .. ..
. . . .
0 0 0 ··· 0
0 1 0 ··· 0
0 0 0 ··· 0
∂vec (A) ∂A .. .. .. ..
= Iq ⊗ (vec (Iq ) ⊗ Iq ) =
. . . .
∂a1• ∂a1• 0 0 0 ··· 0
.. .. .. ..
. . . .
0 0 0 ··· 1
0 0 0 ··· 0
.. .. .. ..
. . . .
0 0 0 ··· 0
56
∂a11 ∂a1q
∂A ··· ∂A
∂A . .. = (vecI ) (vecI )
= .. . m q
∂A ∂amq
∂am1
∂A ··· ∂A
Ejemplo 3.13 Sea y = y(A) una función definida de M2×2 en R2 dada por
y1 (A) a211 + 2a12 − a222
y = y(A) = =
y2 (A) (a11 + a22 )2 − 2a12 a21
a11 a12
donde A =
a21 a22
57
∂y1 (A) ∂y1 (A)
∂a11 ∂a12
∂y(A) ∂y1 (A) ∂y1 (A) ∂y1 (A)
∂A ∂a21 ∂a22
= ∂y2 (A) =
∂A ∂y2 (A) ∂y2 (A)
∂A ∂a11 ∂a12
∂y2 (A) ∂y2 (A)
∂a21 ∂a22
2a11 2
0 −2a22
= ,
2a11 + 2a22 −2a21
−2a12 2a11 + 2a22
2a11 0 0 0
0 2a11 0 0
2 0 −2a22 0 1
0 2 0 −2a22
= 0
2a11 + 2a22 0 −2a12 0 0
0 2a11 + 2a22 0 −2a12 1
−2a21 0 2a11 + 2a22 0
0 −2a21 0 2a11 + 2a22
2a11 0
1
2 −2a22 1 0 0
= ⊗
2a11 + 2a22 −2a21 0 1 0
−2a21 2a11 + 2a22 1
∂y(A)
= ∂A ⊗ I2 vec (I2 )
58
Ejemplo 3.14 Sea
la función Y =
Y (X)definida de M2×2 en
M3×2 por
y11 (X) y12 (X) x11 + x12 2x12
Y = Y (X) = y21 (X) y22 (X) = x222 ex21 ,
y31 (X) y32 (X) x11 + x12 x21 x12
siendo
1 1 0 2
y11 (X) y12 (X) 0 0 0 0
y ∂X ∂X
0 0 0 0
X = 21 (X)
∂X
y22 (X)
∂X
=
.
0 2x22 ex21 0
y31 (X) y32 (X)
∂X ∂X x22 0 0 x21
0 x11 x12 0
59
3.5. Reglas de Derivación.
La derivada de un vector o de una matriz respecto de un escalar, vector o
matriz, no difiere sustancialmente de la derivación habitual de funciones. Sin
embargo esto no conlleva que sean válidas, en general las reglas usuales para
derivar, por ejemplo, las de suma, el producto o la composición de funciones.
Ahora bien, como se verá a continuación, si se hace uso del producto Kro-
necker en lugar del producto matricial estandar, en algunos casos es posible
obtener reglas de derivación análogas a las habituales para funciones.
1. Derivada del Producto por Escalar. Sea A una matriz de orden m×q cuyos
elementos dependen de los de la matriz C de orden p × n. Entonces, para
cualquier λ ∈ R, se verifica que
∂ (λA) ∂A
=λ·
∂C ∂C
∂ (A + B) ∂A ∂B
= + .
∂C ∂C ∂C
a) Si p = n = 1 ó m = q = 1
∂AB ∂A ∂B
= ·B+A·
∂C ∂C ∂C
∂AB ∂A ∂B
= (B ⊗ In ) + A ·
∂C ∂C ∂C
c) Si p = 1 y n = 1
∂AB ∂A ∂B
= (B ⊗ In ) + (A ⊗ Ip ) ·
∂C ∂C ∂C
60
4. Derivada del Producto de Kronecker. Sean A, B y C matrices de ordenes
m × q, t × r, p × n,respectivamente, tales que los elementos de A y B son
función de los elementos de la matriz C.Entonces se verifica que
∂A ⊗ B ∂B ∂ (A ⊗ Ir )
= A⊗ + (Im ⊗ B ⊗ Ip )
∂C ∂C ∂C
donde
∂ (A ⊗ Ir ) ∂A
= (Pr,m ⊗ Ip ) Ir ⊗ (Pq,r ⊗ In )
∂C ∂C
o también
∂y (A) ∂y (A) ∂A
= [(vec (It )) ⊗ Ip ] ⊗ (vec (Ir ) ⊗ In ) .
∂C ∂A ∂C
∂λA
Demostración. La derivada de acuerdo con la definición 3.17 es una
∂C
matriz de orden mp × nq dada por
∂λA ∂λaij
=
∂C ∂C i=1,...,m
j=1,...,q
∂λA ∂A
se obtiene que =λ .
∂C ∂C
∂ (A + B)
Demostración. La derivada según la definición 3.17, es la matriz
∂C
de orden mp × qn
61
∂ (A + B) ∂ (aij + bij )
=
∂C ∂C i=1,...,m
j=1,...,q
∂ (A + B) ∂A ∂B
= +
∂C ∂C ∂C
Demostración.
a) Si p = n = 1, entonces
∂AB ∂A ∂B
= B+A ,
∂C ∂C ∂C
ya que para cada i = 1, ...m ; j = 1, ..., r la derivada del elemento dij de la
matriz D = AB es
q
∂dij (C) ∂
= aik (C) bkj (C)
∂C ∂C
k=1
q q
∂dij (C) aik (C) bkj (C)
= bkj (C) + aik (C)
∂C ∂C ∂C
k=1 k=1
∂AB ∂AB
∂c11 ··· ∂c1n
∂AB . ..
= .. .
∂C ∂AB ∂AB
∂cp1 ··· ∂cpn
∂A ∂A ∂B ∂B
∂c11 ··· ∂c1n ∂c11 ··· ∂c1n
∂AB . .. . ..
= .. . B + A .. . ,
∂C ∂A ∂A ∂B ∂B
∂cp1 ··· ∂cpn ∂cp1 ··· ∂cpn
62
dado que para cada i = 1, ...p ; j = 1, ..., n
∂ (AB) ∂A ∂B
= B+A ,
∂cij ∂cij ∂cij
y por tanto,
∂ (AB) ∂A ∂B
= B+A
∂C ∂C ∂C
q q
∂dij (C) aik (C) bkj (C)
= bkj (C) + aik (C) ,
∂C ∂C ∂C
k=1 k=1
de donde
bij (C) In
b2j (C) In
∂dij (C) ∂ai1 ∂aiq
= ... bij (C) In ..
∂C ∂C ∂C .
bqj (C) In
∂b1j (C)
∂C
+ (ai1 (C) Ip ...ain (C) Ip ) ..
.
∂bqj (C)
∂C
∂D ∂ (AB) ∂A ∂B
= = (B ⊗ In ) + (A ⊗ Ip ) .
∂C ∂C ∂C ∂C
Si p = 1 como Ip = 1, la expresión anterior se transforma en
∂ (AB) ∂A ∂B
= (B ⊗ In ) + A
∂C ∂C ∂C
Demostración. Atendiendo a la definición de producto Kronecker
63
∂ (A ⊗ B) ∂aij B
= ,i=1,...,m ,
∂C ∂C j=1,...,q
∂aij B .. ..
= . .
∂C ∂a ∂aij
∂C
ij
bt1 + aij ∂b
∂C
t1
··· ∂C btr + aij ∂b
∂C
tr
o lo que es equivalente
∂aij B ∂aij
∂B
= B⊗ ∂C + ∂aij .
∂C ∂C
Por tanto,
∂a11 ∂B ∂a1q ∂B
B ⊗ ∂C + ∂a11 ∂C ··· B⊗
∂C
+ ∂a1q
∂C
∂ (A ⊗ B)
.. ..
= . .
∂C
∂am1 ∂B ∂amq ∂B
B⊗ + ∂am1 ··· B⊗ + ∂amq
∂C ∂C ∂C ∂C
∂a11 ∂a1q
B ⊗ ∂C ··· B⊗
∂C
∂ (A ⊗ B) ∂B .. ..
= A⊗ +
. .
∂C ∂C ∂am1 ∂amq
B⊗ ··· B⊗
∂C ∂C
∂ (A ⊗ B)
∂C
∂B ∂ (A ⊗ Ir )
Solución 3.1 = A ⊗ + (Im ⊗ B ⊗ Iq )
∂C ∂C
64
Ahora bien, a partir de la propiedad 5 del producto de Kronecker, se tiene
∂ (A ⊗ Ir ) ∂ (Ir ⊗ A)
= (Pr,m ⊗ Ip ) (Pq,r ⊗ In ) ,
∂C ∂C
lo que de acuerdo con la solución 3.1, tomando A = Ir y B = A conduce a
∂ (A ⊗ Ir ) ∂A
= (Pr,m ⊗ Ip ) Ir ⊗ (Pq,r ⊗ In ) .
∂C ∂C
∂y (A) ∂y (A)
= , i=1,...,p
∂C ∂cij j=1,...,n
Por tanto,
∂a
∂y ∂y kl (C) ∂akl (C)
∂a11 ··· ∂a1n t
r ∂c11 ··· ∂c1n
∂y (A) . .. ∂y (A) .. ..
..
=
∂C . = ∂akl . .
∂y ∂y k=1 t=1 ∂akl (C) ∂akl (C)
∂ap1 ··· ∂apn ∂cp1 ··· ∂cpn
de donde
t r
∂y (A) ∂y (A) ∂akl (C)
= ·
∂C t=1
∂akl ∂C
k=1
65
∂a11
∂C
..
.
∂at1
∂vec (A)
∂C
..
= .
∂C
∂a1r
∂C
.
..
∂atr
∂C
∂y (A) ∂y (A) ∂vec (A)
resulta = ⊗ Ip ·
∂C ∂vec (A) ∂C
∂y (A) ∂vec (A)
Solución 3.2 = ⊗ Ip ·
∂vec (A) ∂C
66
∂vec (A)
sustituyendo en y haciendo uso de nuevo de la propiedad 4 del
∂C
producto de Kronecker se tiene
∂vec (A) ∂y (A) ∂A
= ((vec (It )) ⊗ Ip ) ⊗ (vec (Ir ) ⊗ In )
∂C ∂A ∂C
2x 0 0 0 y 0
0 0 0 1 0 x
=
1
0 0 0 ex 0
0 0 0 3y 2 0 0
0 0 0 0 1 0
∂B 0 2 (y + 1) 0 2 0 1
y =
ex+y
∂C 0 0 0 0 0
0 ex+y 0 0 0 0
se tiene
2x 0 0 0 1+y 0
∂ (A + B) ∂A ∂B 0 2 (y + 1) 0 3 0 1 + x
= + =
∂C ∂C ∂C 1 + ex+y 0 0 0 ex 0
0 ex+y 0 3y 2 0 0
67
Ejemplo 3.16 Dadas las matrices A y C del ejemplo anterior y el vector
x+y
b = 2x
yz
∂Ab ∂A ∂b
teniendo en cuenta = (b ⊗ I2 ) + (A ⊗ I2 )
∂C ∂C ∂C
1 0
0 1
∂A ∂B 2 0
como ya se conoce y, =
∂C ∂C 0 0
0 y
0 z
68
Ejemplo 3.17 Dadas las matrices A, B y C definidas por
x+y 2z 2
x
2y z
A = xy x + z , B = , C = y
3 1 3z
ex y z
donde
1 0 0 0 0 0
0 0 0 1 0 0 1 0 0 0
0 1 0 0 0 0 0 0 1 0
P2,3 =
, P2,2 =
0
0 0 0 0 1 0 1 0 0
0 0 1 0 0 0 0 0 0 1
0 0 0 0 0 1
1 0
1 0
0 2
y 1
∂A
= x 0
∂C
0 1
ex 1
0 3y 2
0 0
Así pues
69
2y z2 0 0
2x + 4y z2 4z 0
0 2xz + 2yz 4y 6z 2
1 3z 0 0
1 3z 0 0
0 3x + 3y 2 12z
2y 2 yz 2 2y z2
4xy xz 2 2x + 2z 0
∂ (A ⊗ B) 0 2xyz 2y 2xz + 3z 2
=
∂C y 3yz 1 3z
x 3xz 0 0
0 3xy 1 3x + 6z
2yex z 2 ex 0 0
2ex 0 8y 3 3y 2 z 2
0 2zex 0 2y 3 z
ex 3zex 0 0
0 0 3y 2 9y 2 z
0 3ex 0 3y 3
x w
Ejemplo 3.18 Si y = y (A) = |A| = xy − zw donde A = y cada
z y
∂y (A)
= y −z −w x
2t 1 = y − 2tw + xu y − 2x − w + xt
u t
70
Proposición 3.5 Sea A una matriz m × n y sean x y z vectores de Rn y Rm ,
respectivamente. Entonces
∂y (x)
1. Si y (x) = Ax se verifica que = A.
∂x
∂y ∂y
= zA = xA.
∂x ∂z
∂y (x) ∂ 2 y (x)
= x (A + A) , = (A + A) ,
∂x ∂x∂x
∂y (x) ∂ 2 y (x)
= 2xA, = 2A.
∂x ∂x∂x
∂Y (X)
= Pn,p (AX ⊗ Ip ) + (vec (AX)) (vecIp ) .
∂X
71
∂
n
∂x a1j xj
j=1
n a11 a12 ··· a1n
∂
∂x a2j xj a21 a22 ··· a2n
∂y(x)
∂x =
j=1 = .
. .. .. = A
.. . . .
. a m1 am2 ··· amn
n
∂ a x
∂x mj j
j=1
∂y ∂ (zA) x
= = zA
∂x ∂x
∂y
= xA.
∂x
n
n
Demostración. Si y(x) = xAx dado que y = xi xj aij , entonces,
j=1 i=1
como para cada k = 1, ..., n, se tiene que
n
n
∂y
= akj xj + aik xi = xak• + xa•k
∂xk i=1
kj=1
72
Demostración. Si Y (X) = XAX = X (AX) aplicando la regla de deriva-
ción de un producto 3, se tiene
∂X (AX) ∂X
= Pn,p (AX ⊗ Ip ) + (X ⊗ In ) + (A ⊗ In )
∂X ∂X
∂X ∂A
ya que = Pn,p y es la matriz nula.
∂X ∂X
Finalmente a partir de las propiedades 4 del producto de Kronecker y la
propiedad 2 de la vectorización, se concluye
∂X (AX)
= Pn,p (AX ⊗ Ip ) + (X ⊗ In ) (vecIn ) (vecIp )
∂X
∂X (AX)
= Pn,p (AX ⊗ Ip ) + (vec(AX)) (vecIp ) ,
∂X
∂A−1
∂vec A−1
2. = − A−1 ⊗ A−1 .
∂ (vecA)
−1
∂A−1 (x) ∂A ∂ (vecA)
3. = (Im ⊗ (vecIm ) ) ⊗ Im ⊗
∂x ∂A ∂x
∂ (vecA)
∂vec A−1 (x)
4. = − (A)−1 ⊗ A−1
∂x ∂x
73
Demostración. Si A es una matriz regular, entonces existe A−1 verificando
AA−1 = Im ,
∂AA−1 ∂A −1
∂A−1
0m2 = = A ⊗ Im + (A ⊗ Im ) ,
∂A ∂A ∂A
de donde
∂A−1 −1
= − (A ⊗ Im )−1 ∂A
∂A A ⊗ Im .
∂A
Ahora bien como
∂A
= (vecIm ) (vecIm )
∂A
a partir de las propiedades 6, 7 del producto de Kronecker y la propiedad 3
de la vectorización se obtiene
∂A−1
∂A−1
= − A−1 ⊗ Im (vecIm ) A−1 ⊗ Im vecIm
∂A
∂A−1
= −vec A−1 vec A−1
∂A
∂ AA−1 ∂A −1 ∂A−1
= 0m = A +A
∂aij ∂aij ∂aij
y, por tanto,
∂A−1 ∂A −1
= −A−1 A .
∂aij ∂aij
Como
j
↓
74
0 0 ··· 0 ··· 0
.. .. .. ..
. . . .
∂A−1
=
0 0 · · · 1 ··· 0 ←− i
∂aij . . .. ..
.. .. . .
0 0 ··· 0 ··· 0
∂vec A−1
= vec (−a•i aj• ) = − (Im ⊗ a•i ) vecaj• = − (aj• ⊗ a•i )
∂aij
de donde
∂vec A−1 ∂vec A−1 ∂vec A−1 ∂vec A−1
= , , ...,
∂a•j ∂a1j ∂a2j ∂amj
y por tanto
∂vec A−1
= − a1• ⊗ A−1 , a2• ⊗ A−1 , ..., am• ⊗ A−1 =
∂vec
(A)
− A−1 ⊗ A−1
y por tanto
75
∂A−1 ∂A−1 ∂vec (A)
= ⊗ .
∂x ∂ (vecA) ∂x
y
−1
∂ A−1 ∂A
=
∂A ∂A
de donde
!
∂A−1 ∂A−1 ∂vec (A)
= ⊗ Im (Im ⊗ vec (Im )) ⊗ ,
∂x ∂A ∂x
o lo que es igual
−1
∂A−1 ∂A ∂vec (A)
= (Im ⊗ vec (Im ) ) ⊗ Im ⊗ .
∂x ∂A ∂x
se obtiene finalmente
−1
∂A−1 (x) ∂A ∂A
= (Im ⊗ (vecIm ) ) ⊗ Im ⊗ Im ⊗ (vec (Im ) ⊗ In ) .
∂x ∂A ∂x
76
así pues, de acuerdo con la proposición 3.6, 2 resulta
∂y (X)
y si además C es una matriz simetrica y A = I/m , entonces = 2CX
∂X
m
Demostración. Dado que tr (A) = i=1 aii , de acuerdo con la Definición
3.13, es trivial obtener
77
b.1
..
. = B
b.n
se concluye que
∂tr (AXCX)
= CXA + CXA
∂X
y, en caso de ser C simetrica y A = Im , es inmediato que
∂tr (XCX)
= 2CX
∂X
78
∂y (A) ∂ |A|
1. Si y (A) = |A| , se tiene que = = Adj (A)
∂A ∂A
∂y (X)
= 2AX Adj (XAX)
∂X
∂y (X) 2
= AX Adj (XAX) = 2AX (XAX)−1
∂X |XAX|
n
|A| = aik Aik
k=1
Entonces
n
∂ |A| ∂
= aik Aik = Aij
∂aij ∂aij
k=1
79
Demostración. Si se denota por bij i, j = 1, ..., p a los elementos de la matriz
B = XAX , aplicando la regla de la cadena, resulta para cada k = 1, ..., m,
7 = 1, ..., p
p p
∂y (X) ∂ |B| ∂bij
=
∂xk i=1 j=1
∂bij ∂xk
∂ |B|
Como para cada i, j = 1, ..., p es el cofactor correspondiente Bij , se
∂bij
tiene
p p
∂y (X) ∂ |XAX| ∂bij
= = Bij =
∂xk ∂xk i=1 j=1
∂xk
∂XAX
[vec (Adj (XAX))] vec
∂xk
∂XAX ∂X ∂X
= AX + XA donde
∂xk ∂xk ∂xk
∂X p ∂X
ek y
= em = em
k ek
∂xk ∂xk
p
además, emk y ek representan dos vectores columna de m y p elementos todos
ellos nulos salvo el k-ésimo y el 7-esimo, respectivamente, que son iguales a la
unidad. En virtud de esto y teniendo en cuenta las propiedades de la traza,
∂ |XAX| p m p
= tr Adj (XAX) em ek AX + XAek e
∂xk
p
m p
80
siendo b∗· y b∗· la 7-ésima columna y fila, respectivamente, de la matriz
Adj (B) = Adj (XAX) y a·k y ak· la k-ésima columna y fila, respectivamente,
de la matriz A
De acuerdo con la Definición 3.13,
∂x (X) ∂ |XAX|
= = AX Adj (XAX) + AX (Adj (XAX)) =
∂X ∂X
2AXAdj (XAX)
ya que tanto A como XAX y, por consiguiente, Adj (XAX) , son matrices
simétricas
1
= 2AXAdj (XAX)
|XAX|
= 2AX (XAX)−1
81
y según la regla de la cadena
∂ |A (x)| ∂ |A (x)| ∂vec (A (x)) ∂vec (A (x))
= = [vec (Adj (A (x)) )]
∂xi ∂vec (A (x)) ∂xi ∂xi
se tiene
∂In |A (x)| 1 ∂vec (A (x))
= vec Adj (A (x))
∂xi |A (x)| ∂xi
∂A (x)
= vec A−1 vec
∂xi
Por tanto
∂In |A (x)| −1
∂A (x) −1
∂A (x)
= tr A , ..., tr A
∂x ∂x1 ∂xn
∂y (x)
=0
∂x
es decir, de acuerdo con la Proposición 3.5, 3
∂y (x)
= 2xA = 0
∂x
Cuya solución es x∗ = 0 por ser A no singular.
∂ 2 y (x)
= 2A
∂x∂x
para todo x ∈ Rn se verificará que
x∗ = 0 es mínimo global si A es definida o semidefinida positiva
x∗ = 0 es máximo global si A es definida o semidefinida negativa
x∗ = 0 es punto de silla si A es indefinida
82
Ejemplo 3.20 Sea la matriz
a11 a12
A=
a21 a22
a11 = a22 = x1 + x3
a12 = x1 + x2
a21 = x1 − x2
De acuerdo con las proposiciones 3.6 y 3, se verifica que para todo x ∈ R3++
∂A−1
83
1 0 1
a22 0 −a21 0 −a12 0 a11 0 1 −1 0
⊗
0 a22 0 −a21 0 −a12 0 a11 1 1 0
1 0 1
∂In |A| 1
= Adj (A) = A−1
∂A |A|
∂In |A| 1
= Aji
∂aij |A|
a11 a12
Ejemplo 3.23 Dada A =
a21 a22
cuyos elementos dependen de x = (x1 , x2 ) de forma que aij = ix1 + jx2 con
x1 0 y x2 ≺ 0 , i , j = 1, 2, se verifica que
∂In |A (x)| ∂In (a11 (x) a22 (x) − a21 (x) a12 (x))
=
∂x ∂x
1 ∂ (a11 (x) a22 (x) − a21 (x) a12 (x)) ∂ (a11 (x) a22 (x) − a21 (x) a12 (x))
= ,
|A| ∂x1 ∂x2
84
1 1
= ,
x1 x2
entonces
1 −2 (x1 + x2 ) x1 + 2x2
A−1 =
x1 + x2 2x1 + x2 − (x1 + x2 )
y
∂A (x) 1 1 ∂A (x) 1 2
= , =
∂x1 2 2 ∂x2 1 2
y, por tanto
−1
∂A (x) 1 1
tr A = (2x2 − x2 ) =
∂x1 x1 x2 x1
−1
∂A (x) 1 1
tr A = (2x1 − x1 ) =
∂x2 x1 x2 x2
85
1 2
x2 x1
= 2a11 2a12 2a12 2a22 x2
x1
1 0
Hay una aparente contradicción, que se debe a que tras sustituir se ha consi-
derado y (A) como una función de tres variables a11 , a12 , a22 cuando en realidad
es una función de R4 −→ R, la cual está definida en puntos cuyas componentes
segunda y tercera son iguales. Al tener esto en cuenta, los calculos de la derivada
coinciden. Para manejar esta aparente disparidad en los resultados al calcular la
derivada respecto de una matriz simétrica A , usualmente se deriva únicamente
respecto de los elementos distintos de A, utilizando la vec
(A) cuya descripción
se encuentra en la definición 3.9.
86
APLICACIÓN A REDES NEURONALES
CAPA 0 CAPA 1 CAPA 2
1.0
b11
S11 y11
b21 ∑ f 1(S11 ) W112
W111 b22
b12 d1
b1 W121 2
3 W 21
W232
S31 y31
W 1 ∑ f 1(S31)
32
y20
Figura 2:
4. Aplicaciónes
4.1. Redes Neuronales
A continuación se expone el desarrollo completo de una aplicación típica de
la derivación de funciones vectoriales y matriciales, que es el caso de la solución
de problemas mediante las redes neuronales artificiales.Esta aplicación es un
trabajo realizado por [Per07]
Utilizando notación matricial, es fácil comprobar que una red multicapa
cuyas funciones de activación son lineales se pueden reducir a una red de una
capa lineal; por ello es preciso utilizar funciones de activación no lineales. El
algoritmo Backpropagation es un algoritmo iterativo que permite entrenarredes
multicapa. La figura ?? muestra una red neuronal típica, donde y son las en-
tradas, S las salidas, W los pesos, e el error y f (s) la salida deseada
87
4. Los pesos se modifican hacia la direcció descendente de la función error.
5. La red entrenada es capaz de generalizar, clasificando correctamente pa-
trones ruidosos o incompletos.
6. α indica cuánto cambian los pesos.
7. Si α es muy pequeño, la velocidad de aprendizaje es muy lenta. Si α es
muy grande aparecen efectos oscilatorios.
1 1
b1 2 y1
b e
b1 = b12 , b2 = 12 , y 1 = y21 ,e = 1
1 b2 nn(2)x1 1 e2
b3 nn(1)x1 y3 nn(1)x1
1
S1 2 2
S y
S 1 = S21 , S 2 = 12 , y 2 = 12
1 S2 nn(2)x1 y2 nn(2)x1
S3 nn(1)x1
1 1
2 2
W11 W12 W11 W12
W 1 = W211 1
W22 , W 2 = W212 2
W22
1 1 2 2
W31 W32 nn(1)×nn(0) W31 W32 nn(2)×nn(1)
nn (k) = número de neuronas de la capa k, nc = índice de la última capa
k
En general S nn(k)x1 , y k nn(k)x1 , bk nn(k)x1 , W k nn(k)xnn(k−1) ,
e nn(nc)x1
S11 = W11
1 0 1 0
y1 + W12 y2 + b11
S21 = W21
1 0 1 0
y1 + W22 y2 + b12
S31 = W31
1 0 1 0
y1 + W32 y2 + b13
1 1
W11 1
W12 0 b1
y
Matricialmente S 1 = W21
1 1
W22 1 1
0 + b2
1 1 y2
W31 W32 b13
Por lo tanto, 1 1 0
b 1, y en1 general,
1
S 1 = W1 y 1+
1
1
S k = W k yk−1 + bk
1 1
y1 = f1 S1 , y2 = f2 S2 , y3 = f3 S3
88
1 1 1
1 1
y1 f1 S1
f1 S1
yk = F k S k
e1 = d1 − y12 e2 = d2 − y22
2
e1 d y
= 1 − 12 −→ e = d − y 2 , en general e = d − y nc
e2 d2 y2
∂8 (n)
Wij2 (n + 1) = Wij2 (n) − α
∂Wij2 (n)
∂8 (n)
b2i (n + 1) = b2i (n) − α
∂b2i (n)
∂8 (n)
Es decir, W 2 (n + 1) = W 2 (n) − α
∂W 2 (n)
y escalarmente:
89
Matricialmente
∂8 ∂8 ∂S 2
=
∂W 2 ∂S 2 ∂W 2
∂8
= derivada de una función escalar con respecto a un vector
∂S 2
∂S 2
= derivada de una función vectorial de argumento matricial con res-
∂W 2
pecto a una matriz
Escalarmente
∂8 ∂8 ∂ei ∂yi2
2 =
∂Si ∂ei ∂yi2 ∂Si2
Matricialmente se debe tener en cuenta que si z es una función de p, la
cual es una función de y, que a su vez es una función del vector x, entonces
dz dy ∂p ∂z
=
dx dx ∂y ∂p
Teniendo en cuenta lo anterior
∂8 ∂y 2 ∂e ∂8 ∂8 ∂y2 ∂e ∂8 ∂S 2
= −→ = ∗
∂S 2 ∂S 2 ∂y2 ∂e ∂W 2 ∂S 2 ∂y 2 ∂e ∂W 2
Teniendo en cuenta que
dAx ∂S 2 ∂ 2 1
T
= xT −→ 2
= 2
W y + b2 = y1
dA ∂W ∂W
En general,
∂S k
T
= y k−1
∂W k
2
∂y1 ∂y22
∂y 2 ∂S12 ∂S12
∂yi2
= ∂y2 ∂y22
, ya que yi2 = fi2 Si2 , entonces, = 0, para
∂S 2 1
2
∂Sj2
∂S2 ∂S22
∂yi2
∀i
= j y = fi2 Si2
∂Sj2
2
∂y1
∂y 2 0
2
= ∂S12
2
, como yi2 = fi2 Si2 −→ ∂yi = fi2 Si2
∂S 2 ∂y 2
∂Si
0 ∂S 2
2
2
90
∂y2
y 2 = F 2 S 2 −→ se puede hacer F 2 S 2 =
∂S 2
∂e ∂e2
1
∂e ∂y12 ∂y12 ∂ei
= ∂e1 ∂e2 , ya que ei = di − yi2 , entonces = 0, para ∀i
= j
∂y 2 ∂y22 ∂y22 ∂yj2
∂ei
y = −1
∂yi2
∂e
∂e ∂y12
1
0 −1 0
= ∂e2 =
∂y 2 0 ∂y22
0 −1
∂ε ∂ T
e
= e e = 2e = 2 1
∂e ∂e e2
Acoplando todos estos resultados
2
∂y1 ∂e1
∂ε 0 0 e1
= ∂S12 ∂y12
∗2 ∗ y11 y21 y31
∂W 2 ∂y22 0 ∂e2 e2
0 ∂S22 ∂y22
∂y12
∂ε 0 −1 0 e1 1
=2 12
∂S y1 y21 y31
∂W 2 ∂y22 0 −1 e2
0 ∂S22
∂y12
∂ε − ∂S 2 0 e1 1
= 2
1 y1 y21 y31
∂W 2 ∂y 2 e2
0 − 22
∂S2
∂y12
∂ε − ∂S 2 e1 1
2
= 2 ∂y21 y1 y21 y31 =
∂W − ∂S 2 e2
2
2
2
∂y ∂y 2 ∂y 2
−2e1 ∂S12 y11 −2e1 ∂S12 y21 −2e1 ∂S12 y31
1 1 1
∂y2 ∂y 2 ∂y 2
−2e2 ∂S22 y11 −2e2 ∂S22 y21 −2e2 ∂S22 y31
2 2 2
Si se hace
∂y 2 ∂y12 2 2
2
∂ε − ∂S12 0 2 e
2
δ = − 2 = 2 1
2
e1 = ∂S212 1 = 2f12 S12
e1 = δ 12
∂S 0
∂y
− 22 e2 ∂y
2 22 e2 2f2 S2 e2 δ2
∂S2 ∂S2
Matricialmente
91
2 2
f S1 0
δ 2 = 2F 2 S 2 e −→ donde F 2 S 2 = 1
0 f22 S22
Entonces,
∂ε
T
2
= −δ 2 y1
∂W
recordando que
∂ε (n)
W 2 (n + 1) = W 2 (n)−α −→ donde n es el contador de iteraciones
∂W 2 (n)
T
W 2 (n + 1) = W 2 (n) + αδ 2 (n) y(n)
1
Ahora
∂ε (n)
b2 (n + 1) = b2 (n) − α
∂b2 (n)
∂ε ∂S 2 ∂ε ∂S 2
2
= 2 2
= − 2 δ2
∂b ∂b ∂S ∂b
2
∂ε 1 0 δ 21 δ1
= − = − = −δ 2
∂b2 0 1 δ 22 δ 22
Por lo tanto
b2 (n + 1) = b2 (n) + αδ 2
∂ε
T
nc
= −δ nc ync−1
∂W
T
W nc (n + 1) = W nc (n) + αδ 2 (n) y(n)
nc−1
92
∂ε
= −δ nc y bnc (n + 1) = bnc (n) + δ nc
(n) donde nc es el número de capas
∂bnc
de la red
∂ε (n)
W 1 (n + 1) = W 1 (n) − α
∂W 1 (n)
∂ε ∂ε ∂S 1 ∂ε ∂y1 ∂S 2 ∂y 2 ∂ε ∂ε ∂y 1 ∂S 2 ∂ε ∂S 2 ∂ε
= y = = =
∂W 1 ∂S 1 ∂W 1 ∂S 1 ∂S 1 ∂y 1 ∂S 2 ∂y 2 ∂e ∂S 1 ∂y 1 ∂S 2 ∂S 1 ∂S 2
∂y1 ∂y21 ∂y31
1
∂S11 ∂S11 ∂S11
∂y 1
∂y11 ∂y21 ∂y31
= ∂S21 ∂S21 ∂S21
∂S 1
∂y11 ∂y21 ∂y31
∂S31 ∂S31 ∂S31
∂yi1 ∂yi1
= 0 0 =
0 f21 S21 0
= F 1 S 1
∂S 1 ∂S21
∂y31 0 0 f31 S31
0 0 ∂S31
∂S 2 ∂
T
1
= 1 W 2 y 1 + b2 = W 2
∂y ∂y
Es decir
∂S 2 ∂S22
1
∂y11 ∂y11
∂S 2 ∂S12
∂S22
=
∂y21 ∂y21
recordando que
∂y 1
∂S12 ∂S22
∂y31 ∂y31
∂Si2
S12 = Wi1
2 1 2 1
y1 + Wi2 2 1
y2 + Wi3 y3 + b2i −→ = Wij2
∂yj1
2 2
W W21
∂S 2 11 2 2
T
= W12 W22 = W2
∂y 1 2
W13 2
W23
∂8
Recordando que = −δ 2
∂S 2
93
∂y1
1
0 0 2
2 2
∂8 ∂S11
∂y21
W11 W21
2 δ1
= −
0 0 2
W12 W22
∂S 1 ∂S21
2 2 δ 22
1
∂y3 W13 W23
0 0 ∂S31
∂ε
T
1
= −F 1 S 1 W 2 δ 2
∂S
T
haciendo δ 1 = F 1 S 1 W 2 δ 2
∂ε
= −δ 1
∂S 1
∂S 1 ∂ W 1 y 0 + b1
T
1
= 1
= y0
∂W ∂W
∂S k
T
en general = y k−1
∂W k
∂ε ∂ε ∂S 1
T
1
= 1 1
= −δ 1 y0
∂W ∂S ∂W
En general
∂ε ∂ε ∂S k
=
∂W k ∂S k ∂W k
∂ε ∂S k+1 ∂ε
=
∂S k ∂S k ∂S k+1
∂S k+1 ∂y k ∂S k+1 ∂y k
k
= k k
−→ k
= F k Sk
∂S ∂S ∂y ∂S
∂S k+1
T
= F k S k W k+1
∂y k
∂ε ∂ε
T
k+1
= −δ k+1 −→ k
= −F k S k W k+1 δ k+1
∂S ∂S
Si se generaliza
∂ε
T
δ k = − k −→ δ k = F k S k W k+1 δ k+1 −→ δ k =
k+1 ∂S
T k+1
W F k Sk δ ya que F k S k es simétrica
94
∂ε ∂ε ∂S k k
k−1
T
= = δ y
∂W k ∂S k ∂W k
T
W 1 (n + 1) = W 1 (n) + αδ 1(n) y(n)
0
y, en general
T
W k (n + 1) = W k (n) + αδ k(n) y(n)
k−1
∂ε (n)
b1 (n + 1) = b1 (n) − α
∂b1 (n)
∂ε ∂S 1 ∂ε
1
= ∂ε
∂S 1 = −δ 1
∂b ∂b1 ∂S 1
∂S 1 ∂S21 ∂S31
1
∂b11 ∂b11 ∂b11
1 0 0
∂S 1 11 ∂S21 ∂S31
1
= ∂S1 ∂b12 ∂b12 = 0 1 0 = I nn(1)
∂b ∂b2
∂S11 ∂S21 ∂S31 0 0 1
∂b13 ∂b13 ∂b13
En general,
∂S k
= I nn(k)
∂bk
1 0 0
∂ε
∂b1 = − 0 1 0 δ 1 = −δ 1
0 0 1
En general,
∂ε
k
= − I nn(k) δ k = −δ k
∂b
b1 (n + 1) = b1 (n) + αδ 1 (n)
bk (n + 1) = bk (n) + αδ k (n)
95
4.1.4. Resumen (Algoritmo)
Datos de Entrada
X nn(0)Xnp donde np = número de patrones.
d nn(c)Xnp donde nc = número de capas de la red (recuerde que la capa
Valor de la tolerancia: T OL
Inicializar:
1 2 nc
W(1) , W(1) , ..., W(1)
b1(1) , b2(1) , ..., bnc
(1)
k
bi nn(k) ∈ [−0,5, 0,5]
n = 0, ε=0
0
y(n) = X(n) , donde X(n) es un vector de entrada escogido aleatoriamente
96
4.1.5. Propagación hacia adelante.
Para k = 1 hasta nc
k k k−1
S(n) = W(n) • y(n) + bk(n)
k
y(n) = F k S(n)
k
Fin para k.
T
W nc (n + 1) = W nc (n) + αδ nc (n) y nc−1 (n)
Para k = nc − 1 hasta 1
T
δ k (n) = F k S k (n) W k+1 (n) δ k+1 (n)
T
W k (n + 1) = W k (n) + αδ k (n) y k−1 (n)
bk (n + 1) = bk (n) + αδ k (n)
Fin para k
97
APLICACIÓN A REDES NEURONALES
1 .0
S11 1 y 11
∑ − S11
1+ e
S12 y12
∑ tanh( S12 )
y 10
S 21 1 y12
∑ 1 + e − S2
1
y20
S22 y22
∑ tanh( S 22 )
S 31 1 y 31
∑ 1+ e − S31
Figura 3:
Ejemplo 4.1 Entrenar una red neuronal para aprender los siguientes patrones
n x1 x2 d1 d2
1 −1 −1 −1 −1
2 −1 1 −1 1
3 1 −1 −1 1
4 1 1 1 −1
Utilice una red 2-3-2 (2 entradas, 3 neuronas en la capa oculta y dos neuronas
en la capa de salida.
Utilice función logística como función de activación para todas las neuronas
de la capa oculta (capa 1) y tanh para todas las neuronas de la capa de salida
(capa 2).
Se va a trabajar con α = 0,5
La figura ?? muestra la red propuesta.
Primer Patrón n = 0
Inicialización:
0,7826 0,609
0,0636 −0,6596 −2,0639
W 1 (1) = −1,4372 −1,6513 , W 2 (1) =
0,582 −1,8127 2,2377
−2,713 −2,8013
0,437
−0,7279
b1 (1) = −1,298 , b2 (1) =
−1,9579
2,2137
98
x1 (1) −1
y 0 (1) = X(1) = =
x2 (1) −1
99
4.1.7.Propagación hacia atrás.
0 f 22 S22 (1)
2
1 − y12 (1) 0
=
2
0 1 − y22 (1)
2 1 − (−0,99748398) 0 −0,00251602
δ (1) = 2
0 1 − (−0,80507629) −0,19492371
−2,52896 X 10−5
δ 2 (1) =
−0,13716866
T
W 2 (2) = W 2 (1) + αδ 2 (1) · y1 (1)
0,0636 −0,6596 −2,0639
W 2 (2) = +
0,582 −1,8127 2,2377
−2,52896 X 10−5
0,5 ∗ 0,27796067 0,85698857 0,99955987
−0,13716866
0,0636 −0,6596 −2,0639
W 2 (2) = +
0,582 −1,8127 2,2377
−3,514775 X 10−6 −1,08364 X 10−5 −1,2639 X 10−5
−0,019063746 −0,0587755987 −0,06855414
0,063596485 −0,659610836 −2,063912639
W 2 (2) =
0,562936254 −1,871475987 2,169145856
100
0,0636 0,582 −5
−0,6596 −1,8127 −2,52896 X 10
−0,13716866
−2,0639 2,2377
−0,01602252
δ 1 (1) = 0,03047584
−0,00013501
T
W 1 (2) = W 1 (1) + αδ 1 (1) · y0 (1)
0,7826 0,609 −0,01602252
W 1 (2) = −1,4372 −1,6513 + 0,5 ∗ 0,03047584 −1 −1
−2,713 −2,8013 −0,00013501
0,7826 0,609 0,00801126 0,00801126
W 1 (2) = −1,4372 −1,6513 + −0,01523792 −0,01523792
−2,713 −2,8013 6,7506 X 10−5 6,7506 X 10−5
0,79061126 0,61701126
W 1 (2) = −1,45243792 −1,66653792
−2,71293249 −2,80123249
101
function [vec] = vec(mat)
%vectorizacion (columna)
%CAPTURA TAMAÑO
[m,n] = size(mat);
%LEE ELEMENTOS Y REUBICA
for I = 1:m,
for J = 1:n,
pos=n*(I-
pos=n*(I-1)+J;
vecf(pos) = mat(I,J);
end
end
%TRANSPONE
vec=vecf.';
end
end
% CREA VARIABLES
syms v
syms w
syms x
syms y
syms z
%CREA MATRICES IDENTICAS DE ORDEN 1 HASTA 5
I1=eye(1);
I2=eye(2);
I3=eye(3);
I4=eye(4);
I5=eye(5);
return
102
% CASO:
% DERIVACIÓN DE f(x,y,z,...) RESPECTO DE CADA VARIABLE INDEPENDIENTE
% BORRA VARIABLES DE LA MEMORIA
clear
% INICIALIZA VARIABLES Y CREA MATRICES UTILITARIAS
ini
figuras referenciadas muestran código de cada uno de ellos. Tanto las funciones
como los scripts pueden utilizar funciones de control de flujo para detallar la
forma como se desea ejecutar una secuencia de procesos. Por ejemplo, en Matlab
se dispone de los comandos: for, if, else, elseif, while, return, break, con un uso
bastante similar al de otros programas más conocidos, aunque con una sintaxis
ligeramente diferente.
De interés particular para este trabajo, se encuentran las funciones para la
generación, manipulación de matrices y operaciones con matrices. Algunas de
ellas son:
103
%BORRA VARIABLES DE LA MEMORIA
clear
%INICIALIZA VARIABLES Y CREA IDENTICAS
ini
δvec(X)
Figura 8: Desarrollo de utilizando las propiedades.
δX
104
En la figura 7, se expone el código necesario para derivar una función ma-
tricial de variable matricial, aunque se ha desarrollado como primer ejemplo el
caso particular en que tanto la función como la variable son vectoriales.
δvec(X)
En el ejemplo de la figura 8 se muestra como resolver el problema de .
δX
Para ello, después de observar las propiedades que cumple este desarrollo, se
ha planteado la solución como lo indica el código allí expuesto. Al utilizar las
propiedades de la derivación, el proceso se hace más simple y menos costoso
computacionalmente.
Los resultados de la ejecución de los ejercicios expuestos coinciden plena-
mente con los desarrollos mediante otros paquetes o técnicas,siempre y cuando
se definan correctamente los tipos de datos (entero, real, etc).
Mediante la aplicación iterativa de las fórmulas presentadas, se pueden ob-
tener las derivadas de orden superior o la aplicación de la regla de la cadena. En
primera instancia, hay una gran cantidad de opciones para desarrollar en este
caso, cada una de las cuales requiere que se definan correctamente las variables
dependientes e independientes, la relación funcional, y las matrices o vectores
que intervienen.
Matlab es un lenguaje de programación que facilita el trabajo con matri-
ces. Dado que la representación interna de Matlab es en forma matricial, los
programas finales son compactos y relativamente sencillos.
105
5. Conclusiones
Al finalizar el trabajo, es necesario presentar algunos puntos importantes,
considerados como vitales en la comprensión y realización del mismo.
Por último, espero que el trabajo haya respondido a las expectativas de las
directivas y docentes de la Fundación y que sirva como un aporte interesante no
solo para los matemáticos, sino para los profesionales que de una u otra forma
en sus aplicaciones requieren de la derivación matricial.
106
Referencias
[Her86] I. Herstein, Álgebra Abstracta. México: Grupo Editorial Iberoamericano
(1985).
[Bar98] R. Barbolla, P. Sans, Álgebra Lineal y Teoría de Matrices. Madrid:
Prentice-Hall (1998).
[San94] R. Sánchez, A. Velasco, Curso Básico de Algebra Lineal. Bogotá: Ed
Trillas (1994).
[Mey07] C. Meyer, Matrix Analysis and Applied Linear Algebra.
http://www.matrixanalysis.com/ (2007)
[Rad99] C. Radhakrishna, H. Toutenburg, Linear Models: Least Squares and
Alternatives. New York: Springer (1999).
[Per07] P Rengifo. Borradores de Trabajo y Notas de Clase Sistemas Basados
en el Conocimiento. FUKL. (2007)
[Mag06] J. Magnus, Matrix Calculus and Econometrics. Tilburg University
(2006)
107