métodos de descomposición multilineal de las...
TRANSCRIPT
3.Métodos de Descomposición Multilineal de las Observaciones
3.1. IntroducciónEn 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 (Non-negative Tensor Factorization, NTF) y la Descomposición Tucker No Negativa (Non-negative 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.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:
U
n!V
n n = 1,2,...,N.
Denotamos U
1
!U2
! ... !UN
el mapeo multilineal sobre V
1
x V2
x ... x VN
como:
(U
1
!U2
! ... !UN
)(X1
, X2
,..., XN
) = U1
X1
V1
U2X
2V
2
... UN
XN
VN ,
donde
Un
Xn
Vn
representa el producto escalar en Vn y Xn un vector
arbitrario de Vn.
El espacio generado por todos los elementos U
1
!U2
! ... !UN
se denomina espacio tensor de V1,V2,..., VN. Un elemento de este espacio tensor se denomina tensor de orden N (sobre
V
1
x V2
x ... x VN
).
De una forma más informal, un tensor Y de orden N es un array de datos formado
por elementos que se distribuyen en las direcciones I1,I
2,...,I
N. El valor que toma
cada una de las direcciones Ii determinará el tamaño del tensor en dicha dirección.
Los elementos que conforman el tensor se denota mediante y
i1,i2,...,iN, donde cada
índice toma los valores ij= 1,2,...I
j.
Figura 3.1 Tensor Y de orden (modo) 3, con dimensiones [5,4,3].
El modo 1 toma valores entre i1
= 1, 2, ..., 5 ; El modo 2 toma valores
entre i1
= 1, 2, 3, 4 ; El modo 3 toma valores entre i1
= 1,2,3 .
3. Métodos de Descomposición Multilineal de las Observaciones
26
(3.1)
(3.2)
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
Y
1,:,3. (c) Tubo o fibra de modo-3 obtenida como
Y
1,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.
3.2 Tensores
27
(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
1,:,:. (b) Slices Laterales. El primer
slice lateral se obtiene como Y
:,1,:. (c) Slices Frontales. El primera
slice frontal se obtiene como Y
:,:,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:
j = 1 + (ip!1)J
p, con J
p=
1, si p=1 o p=2 y n=1.
In, en otro caso.
m"n
p!1
#
$
%&
'&p"n
(
Por ejemplo, para un tensor de tercer orden Y de dimensiones [I1,I2,I3], el
elemento y
i1,i
2,i
3
se corresponde con el elemento de matriz (in,j) en el modo-n de la forma:
• modo-1: j = i
2+ (i
3!1)I
2
• modo-2: j = i
1+ (i
3!1)I
1
• modo-3: j = i
1+ (i
2!1)I
1
La siguiente figura muestra el desdoblado matricial en cada uno de los tres modos posibles de un tensor
A de dimensiones [3,4,2].
3. Métodos de Descomposición Multilineal de las Observaciones
28
(3.3)
(3.4)
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) = [Y
1
t, Y2
t,..., YT
t]t,
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:
3.2 Tensores
29
(3.5)
vec(A) = vec(A
(1)) = [vec(Y
:,:,1)t,vec(Y
:,:,2)t,...,vec(Y
:,:,I3
)t]t ,
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 x
nA ,
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:
Yj1,j
2,...,j
n!1,i
n,j
n+1,...j
N
= Gj1,j
2,...,J
N
Ain,j
njn=1
Jn
" .
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)
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 (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)
3. Métodos de Descomposición Multilineal de las Observaciones
30
(3.6)
(3.7)
(3.8)
(3.9)
(3.10)
(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 x
nA) x
mB = (G x
mB) x
nA = G x
nA x
mB .
En el caso en el que los modos de multiplicación son los mismos, la expresión
queda reducida a:
Y = (G x
nA) x
nB = G x
n(BA).
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 x
nA .
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:
3.2 Tensores
31
(3.11)
(3.12)
(3.13)
Yj1,j
2,...,j
n!1,j
n+1,...j
N
= Gj1,j
2,...,J
N
Ajn
jn=1
Jn
" .
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:
Y
(n)= At
G(n)
.
Además, si en lugar de desdoblar el tensor en matrices lo vectorizamos tenemos que:
vec(Y
(n)) = (I! At)vec(G
(n)) = G
t
(n)A .
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:
z = G x1 A x
2 B x
3 C = G
jrpA
jB
rC
pp=1
P
!r=1
R
!j=1
J
! .
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.
3. Métodos de Descomposición Multilineal de las Observaciones
32
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.
(3.14)
(3.15)
(3.16)
(3.17)
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 = ... Ai1,i
2,...,i
N
Bi1,i
2,...,i
NiN
IN
!i2
I2
!i1
I1
! .
Si el producto escalar se realiza sobre el mismo tensor estamos ante el cuadrado de
la norma Frobenius de alto orden del tensor:
AF
2
= A, A = ... A2
i1,i
2,...,i
NiN
IN
!i2
I2
!i1
I1
! .
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)
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:
G
i,j,k= G
i,k,j= G
j,i,k= G
j,k,i= G
k,i,j= G
k,j,i ! i,j,k=1,...,I.
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:
G
:,:,k= Gt
:,:,k ! k=1,...,I.
3.2 Tensores
33
(3.18)
(3.19)
(3.20)
(3.21)
(3.22)
! Un tensor A de orden N es diagonal si todos sus elementos son nulos
salvo los de su superdiagonal:
A
i1,i
2,...,i
N
! 0 si i1= i
2= ... = i
N.
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 TensoresLas 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]:
3. Métodos de Descomposición Multilineal de las Observaciones
34
(3.23)
Y = Aj!B
j!C
jj=1
J
! = A,B,C"#$
%&' ,
donde cada elemento que compone el tensor resultante se obtiene como:
Yi,t,q
= Ai,jB
t,jC
q,jj=1
J
! .
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,...,B
J]
C =[C1,...,C
J]
.
A partir de las matrices de carga se puede definir el tensor Y en sus formas
matriciales como:
Y(1)
= A(C!B)t
Y(2)
= B(C!A)t
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:
Y = !j A
j!B
j!C
jj=1
J
" = !,A,B,C"#$
%&' ,
donde !
j representa los factores de escala
! = [!
1,!
2,...,!
J].
3.3 Descomposición y Factorización de Tensores
35
(3.24)
(3.25)
(3.26)
(3.27)
(3.28)
Otra forma de representar el tensor Y puede ser a partir de las multiplicaciones
modo-n de las matrices de carga:
Y = ! x
1A x
2B x
3C ,
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 ! pasa a ser el tensor superidentidad ! [Cichocki02].
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 = !, G
j,j,j" 0 .
El modelo PARAFAC/CANDECOMP puede describirse también mediante sus slices frontales, laterales y horizontales de la forma:
Y:,:,q
= ADq(C
q,:)Bt
Y:,t,:
= ADt(B
t,:)Ct
Yi,:,:
= BDi(A
i,:)Ct
,
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:
Y
q= AD
qB
t, (q=1,2,...Q)
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.
3. Métodos de Descomposición Multilineal de las Observaciones
36
(3.29)
(3.30)
(3.31)
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 = ABt= A
r!B
r
r=1
R
! .
Si la SVD de dicha matriz X es U! Vt, podemos elegir A = U! y B = V
t. 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:
X = Ar!B
r!C
rr=1
R
! = A,B,C"#$
%&' .
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 !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:
D
FY A,B,C!"#
$%&( ) = Y - A,B,C!
"#$%&
F
2
+ !A
AF
2
+ !B
BF
2
+ !C
CF
2
,
donde !
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:
3.3 Descomposición y Factorización de Tensores
37
(3.32)
(3.33)
(3.34)
(3.35)
!AD
F= "Y
(1)(C!B) + A C
tC( ) # B
tB( ) + $
AI%
&'(
!BD
F= "Y
(2)(C!A) +B C
tC( ) # A
tA( ) + $
BI%
&'(
!CD
F= "Y
(3)(B!A) + C B
tB( ) # A
tA( ) + $
CI%
&'(
.
Igualando las componentes del gradiente a cero podemos despejar la matriz correspondiente y obtener así su actualización:
A ! Y(1)
(C!B) CtC( ) " B
tB( ) + #A
I$%
&'
(1$
%)
&
'*
B ! Y(2)
(C!A) CtC( ) " A
tA( ) + #B
I$%
&'
(1$
%)
&
'*
C ! Y(3)
(B!A) BtB( ) " A
tA( ) + #C
I$%
&'
(1$
%)
&
'*
.
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:
Y = Gj,r,p
(Aj!B
r!C
p)
p=1
P
!r=1
R
!j=1
J
! = G;A,B,C"#$
%&' ,
donde cada uno de los elementos que forman el tensor Y viene dado como:
Yi,t,q
= Gj,r,p
Ai,jB
t,rC
q,pp=1
P
!r=1
R
!j=1
J
! .
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].
3. Métodos de Descomposición Multilineal de las Observaciones
38
(3.36)
(3.37)
(3.38)
(3.39)
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 x
1A x
2B x
3C ,
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
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 x
1A x
2B = G ;A,B!"#
$%& ,
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 x
1A = G ;A!"#
$%& .
3.3 Descomposición y Factorización de Tensores
39
(3.40)
(3.41)
(3.42)
(3.43)
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. ConclusionesEn 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.
3. Métodos de Descomposición Multilineal de las Observaciones
40
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:
Z = A !B,
donde Z tiene dimensiones [I1,I2,...,IN,J1,J2,...,JM] y sus elementos vienen dados
de la forma:
Z
i1,i
2,...,i
N,j
1,j
2,...,j
M
= Ai1,i
2,...,i
N
Bj1,j
2,...,j
M
.
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
! 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 Z
i,j,k= A
iB
jC
k.
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,1
B A1,2
B ! A1,J
B
A2,1
B A2,2
B ! A2,J
B
" " # "
AI,1
B AI,2
B ! AI,J
B
"
#
$$$$$$
%
&
''''''
=
= A1!B
1A
1!B
2A
1!B
3! A
J!B
R(1A
J!B
R
"#$
%&'.
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.5 Apéndice: Multiplicaciones con Tensores
41
(3.44)
(3.45)
(3.46)
(3.47)
(3.48)
(3.49)
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:
Z = A !B =
A1,1
B1,1
A1,2
B1,2! A
1,JB
1,J
A2,1
B2,1
A2,2
B2,2! A
2,JB
2,J
" " # "
AI,1
BI,1
AI,2
BI,2! A
I,JB
I,J
"
#
$$$$$$
%
&
''''''
.
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= A
1!B
1A
2!B
2" A
J!B
J
"#$
%&',
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)= AtA !B
tB
3. Métodos de Descomposición Multilineal de las Observaciones
42
(3.50)
(3.51)
(3.52)