métodos de descomposición multilineal de las...

18
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 (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

Upload: truonglien

Post on 25-Sep-2018

276 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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

Page 2: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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)

Page 3: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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

Page 4: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

(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)

Page 5: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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)

Page 6: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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)

Page 7: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

(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)

Page 8: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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)

Page 9: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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)

Page 10: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

! 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)

Page 11: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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)

Page 12: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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)

Page 13: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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)

Page 14: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

!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)

Page 15: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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)

Page 16: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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

Page 17: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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)

Page 18: Métodos de Descomposición Multilineal de las …bibing.us.es/proyectos/abreproy/11924/fichero/Capítulo+3... · 3. Métodos de Descomposición Multilineal de las Observaciones 3.1

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)