Métodos de Descomposición Multilineal de las Observaciones

Anuncio
3.
Métodos de Descomposición
Multilineal de las Observaciones
3.1. Introducción
En multitud de aplicaciones el conjunto de datos observados contiene información
latente que puede ser de gran utilidad a la hora de alcanzar un resultado
satisfactorio. La manera en la que se representan dichos datos es fundamental para
poder extraer esta información subyacente y, en diversas disciplinas, ha surgido la
necesidad de manipular datos descritos en múltiples dimensiones denominados
tensores.
Los tensores pueden ser pensados como una generalización multilineal de matrices
(tensores de orden dos) y de vectores (tensores de orden uno), donde los datos se
organizan en tres o más direcciones.
El reemplazo de estos tensores por una aproximación de menor dimensión permite
observar estructuras que a priori no podían ser observadas. Así pues, la
factorización o descomposición desempeña un papel fundamental en la extracción
de las estructuras ocultas. Por otra parte, existen multitud de áreas de trabajo
donde los datos a analizar son no negativos (o parcialmente no negativos). Uniendo
estas dos características nace la Factorización No Negativa de Tensores (Nonnegative Tensor Factorization, NTF) y la Descomposición Tucker No Negativa (Nonnegative Tucker Decomposition, NTD).
Este capítulo está organizado de la siguiente forma: en la sección 3.2 se lleva a
cabo una definición formal de tensor dentro del contexto del álgebra multilineal, así
como su transformación en elementos planos (matrización y vectorización). Este
apartado también incluye las multiplicaciones modo-n de los tensores por matrices
y la definición de algunos tipos de tensores particulares. En la sección 3.3 se realiza
la definición de las diferentes variantes de descomposición tensorial, incluyéndose
un ejemplo de cada una de ellas. La sección 3.4 revisa los resultados obtenidos y
plantea algunas conclusiones. La sección 3.5 se corresponde con un anexo donde
se definen algunas de las multiplicaciones empleadas durante la descomposición
tensorial y que no están muy extendidas.
25
3. Métodos de Descomposición Multilineal de las Observaciones
3.2. Tensores
3.2.1. Definición
Como hemos introducido anteriormente, un tensor es un array o matriz
multidimensional. Se conoce como orden o modo de un tensor al número de
dimensiones que lo forman.
Formalmente, un tensor de orden N se define como el producto de N espacios
vectoriales. De Lathauwer [Lathauwer01] formula la siguiente definición:
!
Sea V1,V2,..., VN un conjunto de N espacios vectoriales euclídeos con
dimensiones finitas I1,I2,...,IN. Consideremos entonces un conjunto de N
vectores Un:
Un ! Vn n = 1, 2, ..., N.
Denotamos U1 ! U2 ! ... ! UN
como:
(3.1)
el mapeo multilineal sobre V1
(U1 ! U2 ! ... ! UN )(X 1 , X 2 , ..., X N ) = U1 X 1
V
U2 X 2
1
Un X n
donde
V
... UN X N
2
V
N
x V2 x ... x VN
,
(3.2)
representa el producto escalar en Vn y Xn un vector
V
n
arbitrario de Vn.
El espacio generado por todos los elementos U1 ! U2 ! ... ! UN se denomina
espacio tensor de V1,V2,..., VN. Un elemento de este espacio tensor se
denomina tensor de orden N (sobre V1 x V2 x ... x VN ).
Y de orden N es un array de datos formado
por elementos que se distribuyen en las direcciones I1 ,I2 ,...,IN . El valor que toma
cada una de las direcciones Ii determinará el tamaño del tensor en dicha dirección.
De una forma más informal, un tensor
Los elementos que conforman el tensor se denota mediante
índice toma los valores
ij = 1,2,...I j .
yi ,i
1 2 ,...,iN
, donde cada
Figura 3.1 Tensor Y de orden (modo) 3, con dimensiones [5,4,3].
El modo 1 toma valores entre i = 1, 2, ..., 5 ; El modo 2 toma valores
1
entre i = 1, 2, 3, 4 ; El modo 3 toma valores entre i = 1, 2, 3 .
1
26
1
3.2 Tensores
En términos tensoriales, un escalar se corresponde con un tensor de orden 0, un
vector es un tensor de primer orden y una matriz es un tensor de orden 2. Los
tensores de tercer o mayor orden se denominan tensores del alto orden.
3.2.2. Subarrays: Fibras y Caras
Un subtensor o subarray se forma al extraer parte de los elementos de un tensor,
dejando uno o varios de los índices fijos y recorriendo el resto de modos [Kolda].
La notación que seguiremos es la misma que emplea MATLAB para recorrer todos
los elementos de una de las direcciones. Por ejemplo, en una matriz A, la segunda
columna se representa mediante A:,2, mientras que la tercera fila sería A:,3.
Se define un tensor fibra como un tensor de primer orden obtenido al fijar todos
salvo uno de los índices de un tensor de orden mayor. La columna de una matriz es
una fibra de modo-1, la fila de una matriz se denomina fibra de modo-2. En un
tensor de tercer orden, la fibra que se obtiene al fijar los dos primeros índices y
recorrer el tercero se denomina fibra de modo-3 o tubo.
(a)
(b)
(c)
Figura 3.2 Fibras obtenidas a partir del tensor Y de orden (modo)
3, con dimensiones [5, 4, 3]. (a) Columna o fibra de modo-1
obtenida como Y
.
:,4,1
(b) Fila o fibra de modo-2 obtenida como
Y1,:,3. (c) Tubo o fibra de modo-3 obtenida como Y1,3,:.
La descripción de un tensor a partir de sus fibras es muy práctica pero no es la
única forma de expresar un tensor de una forma alternativa. Así pues, si en lugar
de dejar libre uno de los índices que recorren el tensor dejamos dos nos
encontramos ante un tensor de segundo orden, o lo que es lo mismo, una matriz. A
las matrices que se obtienen como subarrays de tensores se conocen como slices.
La forma de expresar los tensores en matrices o slices se conoce como desdoblado,
matrización o flattening.
De la misma forma que ocurre con la descomposición en fibras, un tensor se pude
desdoblar de diferentes formas. En un tensor Y de tercer orden, a las slices que se
forman al fijar el primer índice y dejar libres los otros dos se conocen como caras
horizontales. En caso de dejar libre la tercera y primera dirección, manteniendo
fijado únicamente el segundo índice, estamos antes slices Laterales. Si por el
contrario fijamos el tercer índice y dejamos los otros dos restantes estamos ante
una matrización en slices frontales.
27
3. Métodos de Descomposición Multilineal de las Observaciones
(a)
(b)
(c)
Figura 3.3 Slices obtenidas a partir del tensor Y de orden (modo)
3, con dimensiones [5, 4, 3]. (a) Slices horizontales. La primera
slice horizontal se obtiene como Y
slice lateral se obtiene como Y
slice frontal se obtiene como Y
. (b) Slices Laterales. El primer
1,:,:
. (c) Slices Frontales. El primera
:,1,:
:,:,1
.
3.2.3. Mecanismos de Desdoblado - Matrización
En la sección anterior hemos definido las diferentes formas de obtener un subtensor
de dos dimensiones o matriz a parir de un tensor. Pero la idea de formar slices
individuales y tratarlas de forma independiente no tiene gran interés ya que así se
pierde parte de la información que guarda toda la estructura tensorial.
El verdadero interés de la matrización del tensor es el de poder realizar operaciones
con la simplicidad que ofrece el cálculo en dos dimensiones. Pero, de la misma
forma que existen varias alternativas para la extracción de matrices de un tensor,
existen diferentes maneras o modos de ordenar estas matrices obtenidas.
El desdoblado de modo-n de un tensor Y de dimensiones [I1,I2,...,IN] se denota
como Y(n) y se obtiene de la ordenación de las fibras modo-n en columnas. Así
pues, un elemento del tensor con índices (i1,i2,...,iN) se mapea en un elemento de
matriz con índices (in,j), donde:
$1,
&
j = 1 + ( (ip ! 1)Jp , con Jp = % p!1
p"n
&# In ,
'm"n
si p=1 o p=2 y n=1.
en otro caso.
(3.3)
Por ejemplo, para un tensor de tercer orden Y
de dimensiones [I1,I2,I3], el
elemento yi ,i ,i se corresponde con el elemento de matriz (in,j) en el modo-n de la
1 2 3
forma:
• modo-1:
j = i2 + (i3 ! 1)I2
• modo-2:
j = i1 + (i3 ! 1)I1
• modo-3:
j = i1 + (i2 ! 1)I1
(3.4)
La siguiente figura muestra el desdoblado matricial en cada uno de los tres modos
posibles de un tensor A de dimensiones [3,4,2].
28
3.2 Tensores
Figura 3.4 Desdoblado del tensor A de orden 3, con dimensiones
[4,3,2]. El modo-1 tiene como resultado una matriz de dimensiones
[3,8], el modo-2 de [4,6] y el modo-3 de [2,12].
3.2.4. Mecanismos de Desdoblado - Vectorización
De la misma forma que se puede desdoblar un tensor en matrices, se puede
vectorizar un tensor.
La vectorización de una matriz Y=[Y1,...,YT] de dimensiones IxT se define como:
vec(Y) = [Y1t , Y2t ,..., YTt ]t ,
(3.5)
siendo vec(Y) un vector columna de tamaño IT. De la misma forma, se define la
vectorización de un tensor Y como la vectorización de la matriz Y(1) obtenida a
partir de la matrización modo-1 del tensor Y . Por ejemplo, un tensor de tercer
orden A de dimensiones [I1,I2,I3] se vectoriza de la forma:
29
3. Métodos de Descomposición Multilineal de las Observaciones
vec(A) = vec(A(1) ) = [vec(Y:,:,1)t , vec(Y:,:,2 )t ,..., vec(Y:,:,I )t ]t , (3.6)
3
siendo
vec(A) un vector columna de tamaño I1I2I3.
3.2.5. Multiplicación Modo-n de Tensores
Hemos visto en la sección anterior que existen diferentes modos de representar un
tensor en fibras. Para multiplicar un tensor por una matriz habrá que especificar el
modo en el que el tensor será multiplicador por las columnas (o filas de la matriz).
Se define el producto modo-n de un tensor por una matriz como:
Y = G xn A ,
(3.7)
siendo A una matriz de dimensiones [In,Jn], G
un tensor de dimensiones
[J1,J2,...,JN] e Y el tensor resultante de la multiplicación, de dimensiones
[J1,J2,...,Jn-1,Jn,Jn+1,...,JN], y formado por los elementos:
Yj ,j
1
2
,...,jn!1 ,in ,jn+1 ,...jN
Jn
=
"G
jn =1
j1 ,j2 ,...,JN
Ai
n
,jn
.
(3.8)
Si en vez de utilizar la notación tensorial desdoblamos el tensor Y en su modo-n,
Y(n), la multiplicación del tensor G por la matriz A se representa como:
Y(n) = AG(n)
(3.9)
Además, si en lugar de utilizar la notación tensorial utilizamos la vectorización del
tensor Y , vec(Y(n) ) , podemos representar la misma multiplicación como:
vec(Y(n) ) = (I ! A)vec(G(n) ) ,
siendo
(3.10)
(I ! A) el producto Kronecker entre la matriz identidad y la matriz A.
En la siguiente figura vemos un ejemplo de multiplicación en cada uno de los
modos posibles de un tensor de tercer orden G de dimensiones [2x4x3] y una
matriz.
(a)
30
3.2 Tensores
(b)
(c)
Figura 3.5 Multiplicación de un tensor G de orden (modo) 3, con
dimensiones [5,4,3] por una matriz. (a) Multiplicación modo-1. (b)
Multiplicación modo-2. (c) Multiplicación modo-3.
Una de las propiedades que cumple la multiplicación tensor-matriz es que puede
aplicarse sobre varios modos de forma conmutativa:
Y = (G xnA) xmB = (G xmB) xnA = G xnA xmB . (3.11)
En el caso en el que los modos de multiplicación son los mismos, la expresión
queda reducida a:
Y = (G xnA) xnB = G xn(BA).
(3.12)
De la misma forma que se puede multiplicar un tensor por una matriz, existe la
multiplicación tensor-vector. La multiplicación modo-n de un tensor de dimensiones
[J1,J2,...,JN] G por un vector A de tamaño Jn se denota como:
Y = G xn A .
(3.13)
El resultado es un tensor Y de orden N-1 con dimensiones [J1,J2,..,Jn-1,Jn+1,..,JN],
donde cada elemento se obtiene como:
31
3. Métodos de Descomposición Multilineal de las Observaciones
Yj ,j
1
2
,...,jn!1 ,jn+1 ,...jN
=
Jn
"G
jn =1
j1 ,j2 ,...,JN
Aj .
n
(3.14)
Si en vez de utilizar la notación tensorial desdoblamos el tensor en su modo-n,Y(n),
la multiplicación del tensor G por el vector A se representa como:
(3.15)
Y(n) = A t G(n) .
Además, si en lugar de desdoblar el tensor en matrices lo vectorizamos tenemos
que:
t
vec(Y(n) ) = (I ! A t )vec(G(n) ) = G(n)
A.
(3.16)
Como ocurre con la multiplicación tensor-matriz, es posible multiplicar un tensor
por un vector en más de un modo, con la característica que con cada multiplicación
el tensor se reduce en un orden.
Así por ejemplo, la multiplicación de un tensor G de orden tres de dimensiones
[ J, R, P] por un vector A de tamaño J tiene como resultado una matriz de
dimensiones [1, R, P] 2 . Si multiplicamos la matriz resultante por un vector B de
tamaño R obtenemos un vector de dimensiones [1,1, P] 3 . Y, por último, si
multiplicamos dicho vector por otro vector C de tamaño P derivamos en un escalar:
J
R
P
z = G x1 A x2 B x3 C = ! ! ! Gjrp A jBrCp .
(3.17)
j=1 r =1 p=1
Figura 3.6 Multiplicación de un tensor G de orden (modo) 3, con
dimensiones [5,4,3] en cada uno de sus modos por los vectores A,
B y C, de dimensiones [5,1], [4,1] y [3,1] respectivamente.
2
Una matriz puede considerarse como un tensor de orden tres en el que uno de sus modos
tiene tamaño unidad.
3
Un vector puede considerarse como un tensor de orden tres en el solo uno de sus índices
tiene un tamaño superior a la unidad.
32
3.2 Tensores
3.2.6. Producto Escalar de Tensores
El producto escalar de dos tensores A , B
de orden N y con dimensiones
[I1,I2,...,IN] se denota como A, B
y es el resultado de la suma del producto
elemento a elemento recorriendo todos los índices del tensor, es decir:
A, B =
I1
I2
IN
! ! ...! A
i1
i2
iN
i1 ,i2 ,...,iN
Bi ,i
1
,...,iN
2
.
(3.18)
Si el producto escalar se realiza sobre el mismo tensor estamos ante el cuadrado de
la norma Frobenius de alto orden del tensor:
A
2
F
= A, A =
I1
I2
IN
! ! ...! A
i1
i2
iN
2
i1 ,i2 ,...,iN
.
(3.19)
3.2.7. Casos Particulares de Tensores
!
Un tensor A de orden N se dice que es de rango unidad cuando puede
representarse como el producto externo de N vectores [Cichocki02]:
A = A(1) ! A(2) !... ! A(N)
(3.20)
Figura 3.7 Tensor G de tercer orden de rango unidad obtenido
como multiplicación de los vectores A, B y C: G = A ! B ! C .
!
Un tensor A de orden N se dice que es cúbico si cada uno de los modos
tiene el mismo tamaño I1=I2=IN=I. Un tensor cúbico se dice que es
supersimétrico si permanece constate ante cualquier permutación de
alguno de sus índices. Por ejemplo, un tensor G
de orden tres de
dimensiones [I,I,I] sería simétrico si:
Gi,j,k = Gi,k,j = Gj,i,k = Gj,k,i = Gk,i,j = Gk,j,i ! i,j,k=1,...,I.
(3.21)
Si la simetría no se cumple con todos sus índices, se dice que este tensor
es (parcialmente) simétrico. Por ejemplo, un tensor de orden tres es
simétrico en sus modos uno y dos si todas sus caras frontales son
simétricas:
t
G:,:,k = G:,:,k
! k=1,...,I.
(3.22)
33
3. Métodos de Descomposición Multilineal de las Observaciones
!
Un tensor A de orden N es diagonal si todos sus elementos son nulos
salvo los de su superdiagonal:
Ai ,i
1 2
,...,iN
! 0 si i1 = i2 = ... = iN .
(3.23)
Si además, estos elementos distintos de cero toman valor unidad, el
tensor se denomina tensor identidad, I .
Figura 3.8 Tensor identidad I
de tercer orden. Todos sus
elementos son nulos salvo los de la diagonal principal.
3.3. Descomposición y Factorización de Tensores
Las observaciones que se realizan sobre los sistemas actuales ofrecen un conjunto
de datos muy extenso en los que la representación natural es la tensorial.
La forma en la que se descomponen o factorizan estos tensores es fundamental a la
hora de extraer las componentes comunes que guardan los diferentes modos que
componen el tensor.
Las dos descomposiciones/factorizaciones más populares en los tensores de orden
N son Tucker y PARAFAC/CANDECOMP. Como resultado de estas descomposiciones,
las estructuras inherentes en los tensores se hacen visibles y pueden ser
explotadas. Así, por ejemplo, se puede eliminar información redundante, extraer
patrones o aislar componentes que en un principio eran inseparables.
3.3.1. PARAFAC/CANDECOMP
La descomposición y factorización de tensores es muy empleada en la actualidad
aunque su estudio viene desde muy lejos. Hitchcock, en 1927, introdujo la idea de
expresar un tensor como la suma de un número finito de tensores de rango unidad.
El concepto tomó popularidad en 1970 a partir de la Descomposición Canónica
(CANDECOMP) propuesta por Carroll y Chang, modelo similar al Análisis de Factores
Paralelos (PARAFAC) establecido por Harshman de forma independiente. En 1988,
Möks redescubrió la CP (CANDECOMP/PARAFAC) nombrándola Modelo de
Componentes Topográficas.
La descomposición CP factoriza un tensor en una suma de tensores de rango
unidad. Para poder ver este mecanismo de forma gráfica utilizaremos un ejemplo
de tensor de tercer orden. Así pues, dado un tensor de dimensiones [I,T,Q] y los
vectores A, B y C, de dimensiones [I,1], [T,1] y [Q,1] respectivamente, se define
la CP como [Rasmus]:
34
3.3 Descomposición y Factorización de Tensores
J
Y = ! A j ! B j ! C j = "$# A,B, C %'& ,
(3.24)
j=1
donde cada elemento que compone el tensor resultante se obtiene como:
Yi,t,q =
J
!A
j=1
Bt,jCq,j .
i,j
(3.25)
Figura 3.9 Descomposición PARAFAC/CANDECOMP. Un tensor de
tercer orden se obtiene como resultado de la suma de tensores de
rango unidad.
Se denominan factores o matrices de carga a las matrices formadas por la
combinación de los vectores de rango unidad que descomponen el tensor:
A = [A1 ,..., A J ]
B = [B1 ,...,BJ ] .
(3.26)
C = [C1 ,...,C J ]
A partir de las matrices de carga se puede definir el tensor
matriciales como:
Y(1) = A(C ! B)t
Y(2) = B(C ! A)t ,
Y en sus formas
(3.27)
Y(3) = C(B ! A)t
siendo
! el producto Khatri-Rao.
En muchos casos es conveniente suponer que todos los vectores Aj, Bj, y Cj
(j=1,2,...,J) están normalizados, en cuyo caso el modelo CP se conoce como el
modelo PARAFAC de [Harshman], viene dado por:
J
Y = " ! j A j ! B j ! C j = "$# !, A,B, C %'& ,
(3.28)
j=1
donde
! j representa los factores de escala ! = [!1 , !2 ,..., !J ].
35
3. Métodos de Descomposición Multilineal de las Observaciones
Otra forma de representar el tensor
modo-n de las matrices de carga:
Y puede ser a partir de las multiplicaciones
(3.29)
Y = ! x1A x2B x3C ,
siendo !
un tensor cúbico de tercer orden con dimensiones [J,J,J], cuyos
elementos son todos nulos salvo los pertenecientes a la superdiagonal principal,
obtenida a partir de los factores de escala ! j . Si en vez de estar ante el modelo de
Harshman estamos en el modelo CP básico el tensor !
superidentidad ! [Cichocki02].
pasa a ser el tensor
Figura 3.10 Modelo PARAFAC de Harshman de un tensor de tercer
orden. El tensor Y se obtiene como resultado de la multiplicación de
la multiplicación de las matrices de carga por un tensor núcleo.
Como veremos en próximos apartados, el modelo PARAFAC puede considerarse
como un caso particular del modelo Tucker3, donde el tensor núcleo es un tensor
cúbico superdiagonal o superidentidad G = !, Gj,j,j " 0 .
El modelo PARAFAC/CANDECOMP puede describirse también mediante sus slices
frontales, laterales y horizontales de la forma:
Y:,:,q = ADq (Cq,:)B t
Y:,t,: = ADt (Bt,:)C t ,
(3.30)
Yi,:,: = BDi(Ai,:)C t
donde Di(Ai,:), Dt(Bt,:) y Dq(Cq,:) son matrices diagonales formadas a partir de las
filas i-ésima, t-ésima y q-ésima de las matrices A, B y C, respectivamente,
colocando los elementos de la fila en la diagonal principal. En particular, es
conveniente representar el modelo CP en términos de las slices frontales:
Yq = ADqB t , (q=1,2,...Q)
(3.31)
donde Dq= Dq(Cq,:) e Yq=Y:,:,q. Este modo de representación del modelo CP
puede interpretarse como un problema de Separación Ciega de Fuentes, donde la
matriz A representa la matriz de mezcla, la matriz X=Bt representa las fuentes
desconocidas y la matriz C representa la matriz de escalado.
36
3.3 Descomposición y Factorización de Tensores
El modelo PARAFAC/CANDECOMP presenta un menor número de grados de libertad
que otros modelos como veremos en próximos apartados. Además, este modelo
puede conducir a estimaciones inestables o erróneas.
3.3.2. Unicidad
Una propiedad de los tensores de alto orden es que su descomposición es única,
mientras que la descomposición de matrices no lo es.
Si consideramos la matriz X de dimensiones IxJ de rango R, su descomposición
vendría dada por:
X = AB t =
R
!A
r =1
r
! Br .
(3.32)
t
t
Si la SVD de dicha matriz X es U ! V , podemos elegir A = U ! y B = V . Pero
también podríamos elegir la matriz A como A = U ! W y la matriz B = VW,
siendo W una matriz ortogonal de dimensiones [RxR] . Es decir, podemos construir
diferentes conjuntos de matrices de rango unidad que den como resultado la matriz
original.
La SVD de una matriz es única debido a la restricción de ortogonalidad. Por otro
lado, la descomposición CANDECOMP/PARAFAC es única sin presentar esta
condición de ortogonalidad [Cichocki02]. Si consideramos ahora el tensor de orden
tres y dimensiones [I,J,K] y rango R, su descomposición vendría dada por:
R
X = ! Ar ! Br ! Cr = "$# A,B, C %'& .
(3.33)
r =1
La unicidad de esta descomposición establece que es la única combinación de
tensores de rango unidad que sumados dan como resultado el tensor X, a
excepción de escalados y permutaciones de las mismas:
X = !#" A,B, C $%& = !"# A!,B!, C! $%& ,
donde
(3.34)
! es una matriz permutación de dimensiones RxR.
3.3.3. Obtención de la Descomposición CP
Para determinar cómo de buena ha sido la descomposición de un tensor definimos
la función de coste:
(
)
2
2
2
2
DF Y !#" A,B, C $&% = Y - !#" A,B, C $&% + ! A A + !B B + ! C C ,
F
F
F
F
donde
(3.35)
! A , !B y ! C son parámetros no negativos de regulación.
Existen diferentes formas de atacar el problema de optimización de esta función de
coste, aunque la más utilizada es la técnica ALS (Alternating Least Squares) debido
principalmente a su simplicidad y a su rápida convergencia. Este mecanismo
computa el gradiente de la función de coste con respecto cada una de las matrices
individuales que componen la descomposición:
37
3. Métodos de Descomposición Multilineal de las Observaciones
( ) ( )
( ) ( )
( ) ( )
! ADF = "Y(1) (C ! B) + A % C t C # B tB + $ AI '
&
(
t
t
!BDF = "Y(2) (C ! A) + B % C C # A A + $BI ' .
&
(
t
t
!CDF = "Y(3) (B ! A) + C % B B # A A + $ CI '
&
(
(3.36)
Igualando las componentes del gradiente a cero podemos despejar la matriz
correspondiente y obtener así su actualización:
( ) ( )
( ) ( )
(B ! A) $(B B ) " ( A A ) + # I &
%
'
(1 &
$
A ! ) Y(1) (C ! B) $ C t C " B tB + # AI & *
%
' '
%
(1 &
$
B ! ) Y(2) (C ! A) $ C t C " A t A + #BI & * .
%
' '
%
$
C ! ) Y(3)
%
t
t
C
(1
(3.37)
&
*
'
3.3.4. Descomposición Tucker
La descomposición Tucker, también conocida como Tucker3, fue introducida en
[Tucker] y puede verse como una Descomposición SVD de Alto Orden (Higher-order
SVD, HOSVD).
Dado un tensor de tercer Y orden de dimensiones [I,T,Q] y tres índices positivos
{J,R,P}<<{I,T,Q}, buscamos un tensor núcleo G ![J, R, P]
y tres matrices,
A = [I, J], B = [T, R] y C = [Q, P] , denominadas factores o matrices de carga, de
forma que:
J
R
P
Y = ! ! ! Gj,r,p (A j ! Br ! Cp ) = "$#G; A,B, C %'& ,
(3.38)
j=1 r =1 p=1
donde cada uno de los elementos que forman el tensor
Yi,t,q =
J
R
P
!!!G
j=1 r =1 p=1
j,r,p
Y viene dado como:
Ai,jBt,rCq,p .
(3.39)
El tensor G puede verse como una versión comprimida del tensor origen Y . Si
éste es un tensor cuadrado superdiagonal de dimensiones [J, J, J] estamos ante el
modelo de descomposición PARAFAC de Harshman.
Figura 3.11 Modelo Tucker3. Descomposición del tensor Y. Esta
descomposición coincide con el modelo PARAFAC de Harshman
cuando el tensor G es un tensor superdiagonal cuadrado de
dimensiones [JxJxJ].
38
3.3 Descomposición y Factorización de Tensores
Si imponemos restricción de no negatividad a las matrices y al tensor núcleo
transforma esta descomposición en la Descomposición No Negativa de Tucker
(Nonnegative Tucker Decomposition, NTD).
Al igual que ocurre con la descomposición CP, la descomposición Tucker3 permite
múltiples descripciones matemáticas. Así, por ejemplo, su expresión a partir de los
modos-n de multiplicación viene dada como:
Y = G x1A x2B x3C ,
(3.40)
mientras que la expresión Tucker3 de forma matricial viene dada a partir de
productos Kronecker:
Y(1) = AG(1) (C ! B)t
Y(2) = BG(2) (C ! A)t .
(3.41)
Y(3) = CG(3) (B ! A)t
3.3.5. Descomposición Tucker2
La descomposición Tucker introducida en el apartado anterior se conoce como
Tucker3 debido a que el tensor de tercer orden se descompone en tres factores (A,
B y C) y un tensor núcleo. Si una de estas matrices de carga es la matriz identidad
o se agrega al tensor núcleo estamos ante la descomposición Tucker2:
Y = G x1A x2B = !#"G ; A,B $&% ,
(3.42)
Figura 3.12 Descomposición del tensor Y mediante el modelo
Tucker2. Inclusión de la matriz de carga C en el tensor núcleo.
3.3.6. Descomposición Tucker1
De la misma manera que ocurre con la descomposición Tucker2, si en el modelo
Tucker3 dos de las matrices de carga son la matriz identidad o se agregan al tensor
núcleo, el modelo pasa a denominarse Tucker1, siguiendo la expresión:
Y = G x1A = !#"G ; A $&% .
(3.43)
39
3. Métodos de Descomposición Multilineal de las Observaciones
Figura 3.13 Descomposición del tensor Y mediante el modelo
Tucker1. Inclusión de la matriz de carga B en el tensor núcleo.
Si expresamos de forma matricial el tensor resultante Y nos encontramos ante el
Análisis de Componentes Principales (PCA) Y(1)=AG(1).
3.4. Conclusiones
En este capítulo se abordaron algunos de los conceptos y operaciones básicas del
álgebra multilineal que son necesarios para el desarrollo del algoritmo ThinICA de
apartados posteriores. Al comienzo del capítulo se presentó una definición del
concepto de tensor de orden superior propia del álgebra multilineal.
Posteriormente, se presentaron diferentes formas de representar matricialmente un
tensor de orden superior, con el fin de aprovechar las ventajas que ofrecen las
herramientas matriciales existentes. Para un tensor de orden N, la representación
matricial se obtiene al desplegar de N formas distintas las matrices que lo forman.
Para la ordenación de dichas matrices se sigue la ordenación adoptada en
[Cichocki02]. Esta forma de ordenar las matrices es similar a la establecida en
[Kolda] pero diferente al ordenamiento adoptado por en [Lathauwer01]. Las
diferentes versiones a la hora de desdoblar un tensor, ya sea matricial o vectorial,
repercute en la no unicidad en su descomposición.
Tras el desdoblado del tensor se definieron las diferentes multiplicaciones modo-n
disponibles a la hora de realizar operaciones entre tensores y matrices. En este
mismo apartado se definieron tensores especiales como el tensor cúbico, de rango
unidad o el tensor identidad.
En la siguiente sección se definieron las descomposiciones CANDECOMP/PARAFAC
así como las Tucker 1, 2 y 3. Descubrimos que la descomposición tensorial viene
desde relativamente lejos y que son varios los autores los que han llegado de forma
independiente al mismo resultado.
La descomposición CANDECOMP/PARAFAC es única sin necesidad de presentar una
condición de ortogonalidad como exige la SVD.
La descomposición Tucker (o Tucker3) coincidiría con la PARAFAC en caso de que el
tensor núcleo fuese cuadrado. Por otro lado, la descomposición Tucker1 desdoblada
en su forma matricial coincide con el PCA.
40
3.5 Apéndice: Multiplicaciones con Tensores
3.5. Apéndice: Multiplicaciones con Tensores
A lo largo de la factorización y descomposición de tensores se han utilizado una
serie de productos sobre matrices no muy conocidos pero que son de gran utilizad.
En este apéndice vamos a definir brevemente cada uno de ellos y veremos algunas
de sus propiedades.
3.5.1. Producto Externo
Se define el producto externo entre los tensores A y B , de dimensiones
[I1,I2,...,IN] y [J1,J2,...,JM] respectivamente, como:
(3.44)
Z = A ! B,
donde Z tiene dimensiones [I1,I2,...,IN,J1,J2,...,JM] y sus elementos vienen dados
de la forma:
Zi ,i
1 2
,...,iN ,j1 ,j2 ,...,jM
= Ai ,i
1 2
,...,iN
B j ,j
1
2
,...,jM
.
(3.45)
Como puede observarse, el tensor resultante Z
contiene todas las posibles
combinaciones entre los elementos que componen los tensores A y B .
!
El producto externo de dos vectores A y B obtiene como resultado una
matriz de rango uno:
Z = A ! B = ABt
!
(3.46)
El producto externo de tres vectores A, B y C obtiene como resultado un
tensor de tercer orden de rango unidad:
Z = A ! B ! C,
donde
(3.47)
Zi,j,k = AiB jCk .
3.5.2. Producto Kronecker
El producto Kronecker [Graham] de dos matrices A y B, de dimensiones [I,J] y
[T,R] respectivamente, tiene como resultado una matriz Z de dimensiones [IT,JR],
obtenida como:
"
$
$
Z= A !B= $
$
$
$#
= "$
#
A1,2B ! A1,JB %
'
A2,1B A2,2B ! A2,JB '
'=
'
"
"
#
"
'
AI,1B AI,2B ! AI,JB '
&
A1,1B
A1 ! B1
A1 ! B2
A1 ! B3 ! A J ! BR (1
(3.48)
A J ! BR %' .
&
Mientas que el producto externo de tres vectores A, B y C obtiene como resultado
un tensor de tercer orden Z , el producto Kronecker de estos mismo vectores da
como resultado el mismo tensor de forma vectorizada:
vec(Z) = A ! B ! C .
(3.49)
41
3. Métodos de Descomposición Multilineal de las Observaciones
3.5.3. Producto Hadamard
El producto Hadamard de dos matrices de igual tamaño da como resultado una
matriz de las mismas dimensiones, obtenida como la multiplicación elemento a
elemento:
" A B
$ 1,1 1,1
$ A B
Z = A ! B = $ 2,1 2,1
$
"
$
$# AI,1BI,1
A1,2B1,2 ! A1,JB1,J %
'
A2,2B2,2 ! A2,JB2,J '
'.
'
"
#
"
'
AI,2BI,2 ! AI,JBI,J '
&
(3.50)
3.5.4. Producto Khatri-Rao
Se define el producto Khatri-Rao de dos matrices A y B, de dimensiones [I,J] y
[K,J] respectivamente, como:
Z = A ! B= "$ A1 ! B1
#
A2 ! B2 " A J ! BJ %' , (3.51)
&
siendo Z una matriz de tamaño [IK,J].
3.5.5. Propiedades
A continuación se presentan alguna de las propiedades de este conjunto de
productos y sus relaciones:
(A ! B)(C ! D) = AC ! BD
(A ! B)t = A t ! B t
A ! (B + C) = (A ! B) + (A ! C)
(A + B) ! (C + D) = (AC) ! (BD)
A ! B ! C = (A ! B) ! C = A ! (B ! C)
(A + B) ! C = A ! C + B ! C
(A ! B)t (A ! B) = A t A ! B tB
42
(3.52)
Descargar