You are on page 1of 66

Extracción de Características

Reconocimiento de Patrones – 2013


Extracción de carácterísticas

 Encontrar una transformación de las p medidas,


típicamente, a un espacio de menor dimensión
A: conjunto de transformaciones posibles
x=[x1, x2,…xp]
J(A*)= máx. J(A(x))
AЄA
 Optimizo sobre las transformaciones posibles

 Nuevas características y= A*(x)


Razones extracción de características

1. Proveer conjunto relevante de características al


clasificador –mejora de desempeño particularmente
en clasificadores simples.
2. Reducir redundancia.
3. Recuperar características latentes significativas
4. Generar mayor comprensión proceso generación de
los datos.
5. Visualización de los datos.
Extracción de características

x2 x2

x´=f(x1,x2)

x1 x1
Extracción de características
 Análisis de Componentes Principales (PCA): lineal,
no supervisado, basado en vectores propios
 Análisis de discriminantes lineales (LDA): lineal,
supervisado, basado en vectores propios.
 Análisis de componentes independientes (ICA):
lineal, iterativo, asume independencia fuerte.
 Kernel PCA: no lineal, basado en vectores propios,
kernel como producto interno
 Escalado Multidimensional (MDS): no lineal,
iterativo
PCA – ANALISIS DE
COMPONENTES PRINCIPALES
ANALISIS DE COMPONENTES
PRINCIPALES –PCA

 Encontrar sub-espacio
prinicipal:
 proyección de los datos
maximice la varianza de los
puntos proyectados
 o minimice error cuadrático
Bishop
entre las proyecciones y las
medidas
 Ambas condiciones llevan al
mismo resultado. Transformada de Karhunen- Loève
Aplicaciones PCA

Bishop

 Reducción de dimensionalidad
 Extracción de características
 Explicitar la estructura de los datos
 Filtrar ruido
 Compresión de datos con pérdidas
 Visualización de datos.
Análisis de Componentes Principales (PCA)
x2

 Objetivo: derivar un nuevo grupo de variables:


 combinación lineal de las originales

 no correlacionadas

x1

 Geométricamente: rotación de ejes a un nuevo sistema de


coordenadas
 Ordenar variables según importancia: cantidad de varianza que
concentran.
 Desventajas: las nuevas características pueden ser difíciles de
interpretar
Deducción del método

 
x  x1,x2 ,.........x p caracteris ticas originales
T

y  y ,y ,.........y  combinació n lineal


T
1 2 p
p
yi   aij x j y  AT x A matriz de coef.
j 1

Asumimos datos centrados en el origen


Deducción del método
 Diferentes formas de resolver PCA:
1. Maximizar señal explicada: Buscar una transformación
ortogonal A que produzca nuevas variables yi con
valores de varianza máximos.
2. Minimizar redundancia: Buscar una transformación
ortogonal A que devuelva variables yi no
correlacionadas.
3. Minimizar distancias: Considerar el problema
geométricamente, encontrar recta para la cual la suma al
cuadrado de las distancias es mínima, luego el plano que
mejor ajuste y así sucesivamente.
PCA- Formulación de máxima
varianza
 N puntos xn con dimensión p
 objetivo: proyección datos en un espacio reducido
d<p al maximizar la varianza de los datos
proyectados.
 Por ahora supondremos d dado. Veremos como
determinarlo desde los datos.
1. Inicio: Proyección sobre una dimensión d=1.
 Se a1 dirección proyección, sin pérdida de
 1
T 2
generalidad asumiremos 1 1
a a a 1
PCA- Formulación de máxima
varianza p

 Consideremos la variable: y1   a1 j x j
j 1

Elegimos a1  a11, a12 ,.....a1 p  que maximice la varianza de


T

y1 sujeto a la restricción a1Ta1  a1 2  1


 Asumimos media de x=0,

var  y1   E[ y12 ]  E[ y1 ]2  E[a1T xxTa1 ]  E[a1T x]E[x Ta1 ]


 
var  y1   a1T E[xxT ]  E[x]E[x T ] a1  a1T Σa1

 Encontrar la solución a max( a1T Σa1 ), sujeto a1  1


Primer componente principal

 Aplicando multiplicadores de Lagrange,


d T
f (a1 )  a Σa1   (a a  1)
T
1
T
1 1 (x Ax )  2Ax (A simétrica)
dx

 Diferenciando con respecto a cada componente de a1


e igualando a 0

Σa1  a1  0 (Σ  I)a 1  0


 Solución no trivial (vector nulo) a1 debe ser vector
propio de Σ con valor propio λ.
Primer componente principal

 λ1, λ2… λp valores propios de Σ (no necesariamente todos ≠


y no nulos, λ1 ≥λ2 ≥ … ≥ λp ≥0, Σ semidefinida positiva.
Como:

var( y1 )  a1T Σa1  a1T a1  


 Elegimos λ= λ1 mayor valor propio de modo de
maximizar la varianza y1: vector propio correspondiente.
y1: primer componente principal, mayor varianza de
todas las combinaciones lineales posibles de las variables
originales.
Segundo componente principal

 Podemos definir PCA en forma incremental eligiendo cada


dirección como la de mayor varianza proyectada entre todas
las posibles ortogonales a las ya consideradas.
 El segundo componente principal se elige:

y2  a x max var y 2  sujeto a 2  1 a 2 a1  0


T T
2

 y 2 no correlacio nado y1 : E[ y1 y 2 ]  E[ y1 ]E[ y 2 ]  0


a T2 Σa1  0, a 1 v.p. de Σ  a T2 a 1  0 
PCA

 Usando nuevamente multiplicadores de Lagrange:

a T2 Σa 2   (a T2 a 2  1)  a T2 a 1  0
diferencia ndo respecto a a 2 j
2Σa 2  2a 2  a 1  0
a T
1 2a Σa 2    0    0
T
1

 Σa 2  a 2 a 2 es v.p.de Σ
PCA

 Como queremos maximizar: aT2 Σa2  aT2a 2  

 a 2 :vector propio correspondiente al siguiente mayor valor


propio μ= λ2 .
 Podemos continuar hasta determinar el k-ésimo vector propio.
 Si λi =λj , la solución no es única. Siempre es posible encontrar
un conjunto ortonormal de vectores propios para una matriz
real simétrica con valores propios no negativos.
 En notación matricial: y  A T
x A  [a 1 , a 2 ...., a p ]
Columnas de A vectores propios de Σ
Formulación de mínimo error
Basada en la minimizaci ón del error de proyección.
Se considera una base ortonormal a iT a j   ij completa

   
p d
xn   xn   x n a i a i
x n a i a i si aproximamo s ~
T T

i 1 i 1
p 2
1 N
J   x n  xn   a iT Σa i
~
N n 1 i  d 1

La minimizaci ón de J para un p y d arbitario


es la determinad a por los vectores propios de Σ.
p
J 
i  d 1
i J es mínimo eligiendo los i más grande para

determinar el subespacio.
Si p  d no hay reducción de dimensiona lidad - rotación de ejes.
Reducción de dimensión con PCA
 ¿Cómo determino d?
 Para que la distorsión J esté por debajo de un cierto
valor : p p

 var( yi )   i
i 1 i 1
d p d 1


i 1
i    i   i
i 1 i 1

y   y1 , y 2 .... y d  y  A Td x Ad : p  d
T

 El valor de α depende del problema (α: 70%-90%)


Reducción de dimensión con PCA

Bishop
Reducción de dimensión con PCA

Bishop

 Analizar espectro de los valores propios: buscar corte abrupto.


 Distorsión J cuando elijo d-dimensión. Grafico paras distintos valores de d.
 Asumimos Σ conocido. En la practica tenemos una estimación a partir de
un conjunto de muestras.
 PCA es dependiente de la escala usada para medir las variables originales,
es necesario estandarizar (media nula, varianza unidad)
PCA- Minimizar correlación
 Transformada A que devuelva variables no correlacionadas.

y  A T x Σ  yy T  A T x(AT x)T  A T (xxT )A


Σ x  BDBT D : diagonal B : matriz v.p.
A  B Σ y  A T Σ x A  A T ADA T A  D
 Suposiciones:
 Linealidad: busco cambio de base.

 Extensión: transformación no lineal

 Componentes principales ortogonales.

 Media y varianza describen enteramente la distribución (ej:

gaus)
PCA con dimensión de datos muy alta
 Costo computacional calculo vectores propios de una matriz dxd es
O(d3), existen algoritmos más eficientes.
 X: pxn , XXT:pxp, puede ocurrir que n<p, n puntos definen un
subespacio de dimensión a lo sumo n-1. Al aplicar PCA p-n+1
valores propios son 0. Costo O(p3).
1 1
Σ XX T
XX Tu  u
n 1 n 1
1 1
X X( X u )   ( X u ) 
T T T
X T Xv  v
n 1 n 1
1
Σ( X v )   ( X v ) u 
T T
X T
v
(n - 1) 1/ 2

 Calculo los valores y vectores propios de XXT y luego determino


los vectores propios u en el espacio original de datos normalizando.
LDA- ANÁLISIS
DISCRIMINANTES LINEALES
Funciones discriminantes
y(x)  w x  w 0
T

w : vector de pesos
w 0 : bias o threshold
asigno x a c1 si y(x)  0 y c 2 en otro caso.

La superficie de decisión corresponde a un hiperplano de


dimensión d - 1 si el espacio de entrada es de dimensión d.
LDA- Análisis Discriminante Lineal
Discriminante Lineal de Fisher
 Objetivo: Seleccionar una proyección que maximice
separabilidad entre clases. Método supervisado.
 Ejemplo- 2 clases: c1 y c2 con N1 y N2 patrones.
 Medias:

nc1
x n  x
nc2
n

m1  m2 
N1 N2
 Si consideramos la proyección sobre una dimensión, una
medida de separabilidad es la separación de las medias luego
de proyectar:

y  wTx m2  m1  w T (m2  m1 )
 Restringiendo a los w con módulo 1 y usando multiplicadores
de Lagrange: w proporcional (m2 –m1).

 Si las matrices de covarianza fuertemene no lineal, no son


diagonales puede existir solapamiento considerable luego de
proyectar y a pesar de ser linealmente separables.
 Discriminante de Fisher busca maximizar separación de
medias proyectadas, pequeña varianza dentro de cada clase,
minimizar solapamiento entre clases.
Varianza intra- clase: sk2   ( yn  mk ) 2 yn  w T x n
nck

(m2  m1 ) 2 Varianza entre clases


Criterio de Fisher: J (w ) 
s1  s2
2 2
Varianza intra clases

wT S B w
J (w )  T con S B  (m 2  m1 )(m 2  m1 ) T
w S ww
S w   (x n  m1 )(x n  m1 )   (x n  m 2 )(x n  m 2 )
T T

nc1 nc2

Diferenciando respecto a w: J(w) máximo si:

(w T S B w)S w w  (w T S w w)S B w S B w  S w w
 Sw: simétrica y semidefinida positiva, usualmente no singular
si n>p.

S S B w  w
1
w

 En este caso particular no es necesario resolver el problema de


vectores y valores propios ya que :

S B w  (m 2  m1 )(m 2  m1 )T w  (m 2  m1 )
w  S w1 (m 2  m1 )
 No importa la magnitud de w. Determino una dirección para la
proyección de los datos proyectados.
Análisis de Discriminantes Lineales
Múltiples
 La generalización a un problema de C clases involucra
c-1 funciones discriminantes. Se proyecta de un espacio de
dimensión p a un espacio de dimensión c-1, asumiendo p≥c.
 Generalización de Σw es directa:
c
1
S w   Si S i   ( x n  m i )( x n  m i ) m i 
T
 xn
i 1 nci N i nci
 SB : consideramos media y covarianza global de los datos

1 1 c
m
N
j x j  N 
i 1
Nimi S T   (x j  m)(x j  m) T
j
LDA Múltiples Generalización

c
S T    ( x  m i  m i  m )( x  m i  m i  m ) T
i 1 xci

c c
   (x  m i )(x  m i )T    (m i  m)(m i  m)T
i 1 xci i 1 xci

c
ST  S w   N i (m i  m)(m i  m)T  S w  S B
i 1
LDA Múltiples Generalizado
W  [w1 , w 2 .....w c 1 ] W : c  1 p y  WT x

c
1 1
Def : μ i 
Ni
y
ncn
n μ
N
N μ
i 1
i i

c c
~ ~
S W    (y  μ i )(y  μ i )T S B   N i (μ i  μ)(μ i  μ)T
i 1 ncn i 1

~ ~
S B  WT S B W S W  WT S W W
 Necesitamos un medida de la razón entre la varianza entre
clases y la varianza intra-clases. Una medida escalar simple es
el determinante de la matriz otra la traza de las matrices.
~
det(S B ) det(WT S B W)
J (w )  ~ 
det(S W ) det(WT S W W)
S B w i  i S W w i
 Problema de vectores propios generalizado, las columnas de
W son los vectores propios generalizados correspondientes a
los valores propios mayores de:
 Si Sw no es singular:
S S B w i  i w i
1
W
LDA Múltiples Generalizados

 Nota: SB es la suma de c matrices que son el producto


de dos vectores por ende de rango 1, solo (c-1) son
independientes. Por lo tanto SB es a lo sumo de rango
c-1 y consecuentemente tengo a lo sumo c-1 vectores
propios no nulos.
 Obs: Las clases no tienen porqué ser linealmente
separables. Alternativa SVM: mapeo no lineal y
discriminantes lineales.
Resumen PCA

 Elección de un conjunto de direcciones principales que


permitan encontrar variables no correlacionadas que
maximizan J.
 No necesariamente son las más útiles para clasificar.
 Adecuadas para problemas de clustering, encontrar
agrupamientos.
 Ej: 3, reducción del vector de características 748 a 100 .
 Mapeo lineal puede no lograr reducción o separabilidad
de agrupamientos.
Ejemplo 1 – Datos Gaussianos

 1 .8 2
Σ  μ 
.8 1  4.5

Componentes Principales
Ejemplo 2
KERNEL PCA
La magia de la alta dimensión

La teoría de VC (Vapnik-Chervonenkis) dice que a menudo un mapeo a un


espacio de mayor dimensión tiene mayor poder de discriminación que el
espacio de entrada
Kernel Trick
 Un mapeo de alta dimensión puede incrementar el
tiempo computacional en forma seria.
¿Podemos evitar ese costo y tener el beneficio de la alta
dimensión ?

Usar algoritmos que solo requieran producto


escalar entre vectores de H y elegir el mapeo de forma
que se puedan calcular en el espacio original mediante
una función kernel.
 :   H x   (x) función kernel dada por :
k (x, x)   (x)T  (x) función simétrica.
Kernel
 Métodos de Kernel: mapea los patrones en un espacio de alta dimensión. Se
espera lograr ventajas por ejemplo en la separabilidad o la linealidad de los
datos.

 La elección de ϕ (típicamente no lineal) permite buscar una representación


adecuada para un problema determinado, definir nuevas medidas de
similitud y algoritmos de aprendizaje.
 El problema se reduce a encontrar funciones kernel adecuadas, que sean
válidas y que para el problema concreto mejoren representación.
Kernel

 Útiles para algoritmos en los que l vector característica entra


en forma de producto escalar al mismo. En lugar de elegir ϕ(x)
en forma explicita, elijo k(x,x´).
 Hay numerosas funciones comúnmente usadas:

k (x, x)  k (x  x) : kernels estacionar ios


invariantes a traslaciones
k (x, x)  k ( x  x ) : kernels homogeneos
funciones base radiales, solo dependen de distancia.
Construcción directa del kernel

 Debemos asegurar que es una función válida, que corresponde


a un producto escalar en un espacio de característica (de
dimensión finita o infinita)
 Ej: k (x, z )  (xT z ) 2 en 2 dimensione s x  (x1,x2 )
vamos a buscar mapeo no lineal.
k (x, z )  (xT z ) 2  ( x1 z1  x2 z 2 ) 2
 ( x1 z1  2 x1 z1 x2 z 2  x2 z 2 )
2 2 2 2

 ( x1 , 2 x1 x2 , x2 )( z1 , 2 z1 z 2 , z 2 )T   (x)T  (z )
2 2 2 2

El mapeo lleva :  (x)  ( x1 , 2 x1 x2 , x2 )T


2 2

Todos los términos de segundo orden con pesos específico s.


Kernel trick:

 Necesitamos forma más fácil de saber si una función es un


kernel válido sin construirlo en forma explícita. Condición
necesaria y suficiente para saber si k(x,x´) es un kernel válido
es que la matríz GRAM K cuyos elementos están definidos
por k(xn,xm´) sea semidefinida positiva.

 Relevante: Seleccionar el kernel apropiado y parámetros


 Ej: gaussiano , elegir gamma.
Kernels utilizados:

k (x, x´)  x, x´
d
 Polinómico:

 Funciones de base radial:


k (x, x´)  f (d (x, x´))
d: típicamente proviene del producto interno
d (x, x´)  x  x´  x  x´, x  x´

 Funciones de base radial Gaussiana:

 x  x´ 2  x  x´,x  x´
k (x, x´)  e e
Kernel PCA
Extender el análisis convencional de PCA a un espacio de
características de mayor dimensión usando “kernel trick”

Se pueden extraer hasta m (número de muestras) componentes


principales no lineales sin costo computacional de trabajar en
espacio de mayor dimensión.

Se puede hallar los componentes principales no lineales,


correspondientes al mapeo, a partir del cálculo delos vectores
propios de la matriz Kij=k(xi ,xj).
m
yn   αin k x, x i  n  1...p
i 1
Kernel PCA
 Versión no lineal de PCA:
 Mapeo a un espacio de dimensión mayor. ϕ(x): X→H
 Aplico PCA en ese nuevo espacio, PCA en H
 Formulamos PCA en términos de productos internos:

1 m m
   x jx j v  Σv x 0
T
i
m j 1 i 1

1 m T 
Σv    x j x j  v  v
 m j 1 
1 m
v  j j )v  x j , v x j
T
x , v x ( x x
m j 1
j j
m
v   α jx j
j 1

 Todo v es combinación lineal de los xj , todo v con λ≠0,


pertenece al espacio generado por x1, x2, …xm
 xi , v  xi , Σv i  1,..., m
 Introducimos el mapeo:
 :   H, x   ( x)   (x )  0
i

1 m
C    (x j ) (x j )T V  CV
m j 1
m
V   αi (x i )T
i 1

  (x n ), V   (x n ), CV n  1,...., m
Combinando las 2 últimas ecuaciones:

m
1 m m
  (x n ),  αi (x i )   (x n ),   (x i ) (x i )  αi (x i )
T

i 1 m j 1 i 1

m
1 m m
  αi  (x n ),  (x i )   αi  (x n ),   (x j )  (x j ),  (x j )
i 1 m i 1 j 1

n  1..., m

Definimos matríz Gram K : kij   (x i ),  (x j )


mKα  K 2α α  α1 ,....αm 
T

equivalent e : mα  Kα
 Sean 1  2  .....  m valores p.de K

α1 , α 2 ,....α m vectores p. de K
 λp último valor propio no cero
 Se normalizan los vectores αi para que los vectores V
en H estén normalizados.

Vn , Vn  1 n  1... p
m m
1    in nj  (x i ),  (x j )    in nj K ij 
i, j i, j

 α n , Kα n   α n , α n
Kernel PCA

 Para la extracción de los componentes principales necesitamos


calcular las proyecciones sobre los vectores propios Vn en H
(n=1…p)
 Si x es un punto de test con imagen ϕ(x) en H
m m
y n  V ,  (x)     (xi ),  (x)    in k xi , x 
n
i
n

i 1 i 1

 Son los componentes principales no lineales o características


correspondientes al mapeo ϕ.
Resumen del algoritmo Kernel PCA
 Calcular la matriz de Gram Kij=k(xi ,xj)
 Diagonalizar K y normalizar los vectores propios αn ,

 Extraer los componentes principales de un punto x.


m
V ,  (x)    in k x i , x 
n
n  1,.., p
i 1

 Centrado: asumimos datos centrados en H. Centrado no


explicito, sino implícito modificando levemente las
ecuaciones, logra invarianza a traslaciones.

~
K  (K  1m K  K1m  1m K1m ) con (1m )ij  1 / m i, j
Resumen de Kernel PCA
Elegir un kenel k,

Construir la matriz Gram Kij=k(xi ,xj)

Encontrar los vectores y valores propios:


~ n
Kα  nα n

Representar cada punto como:


m
yn   αin k x, x i  n  1...p
i 1
Ejemplo: Kernel PCA
Ejemplo: Kernel PCA
Ejemplo: Eliminación de ruido
ICA- ANÁLISIS COMPONENTES
INDEPENDIENTES
Análisis de Componentes Independientes –
ICA
 Busca obtener una representación lineal para datos no
gaussianos de forma que las componentes sean
estadísticamente independientes.
 Ej: cocktail party problem: 2 personas hablando a la vez, 2
microfonos en 2 ubicaciones diferentes.
x1 (t )  a11s1  a12s2
x2 (t )  a21s1  a22s2

 Interesa recuperar los si a partir de los xi con aij desconocidos.


 ICA: resuelve el problema buscando la solución con si
estadisticamente independientes
Análisis de Componentes Independientes –
ICA
 Separación de canales EEG. Se presenta una letra (B, H, J, C,
F, o K) cada intervalos de 1500-ms. Responde pulsando uno
de dos pulsadores indicando si la letra es la misma que la vista
hace dos intervalos. Dependiendo de la respuesta, el sujeto
gana o pierde puntos. Señales de la de sensores cercanos se
parecen mucho. Suposición :señales registradas en cada
electrodo del cuero cabelludo son una mezcla de los
potenciales independientes.
Hastie
ICA
s  Wx  A1x

 Ambiguedades de ICA:
 No se puede determinar varianza de los componentes, se
determina A asumiendo que se buscan componentes
independientes con energía =1.
 No podemos determinar el orden en los componentes
independientes.
 Estimo W que maximice la no gaussianidad de y=w T x.
ICA - Divergencia de Gaussianidad
 Encontrar los mejores pesos para que los componentes de salida sean
independientes.
 ¿Cómo medir la independencia?
 Encontrar variables aleatorias que se aparten lo máximo de la distribución
gaussiana.
 Se usa estadística de alto- orden para medir divergencia de la Gaussiana:
Momento de cuarto orden, Kurtosis.

 y    4 
kurt( y )  E    3
   
Kurtosis

 Kurt(y) = 0 variables gaussianas


 Kurt(y)<0 subgaussianas, ej: uniforme
 Kurt(y)>0 supergaussianas, ej: laplacianas

 Medida simple computacionalmenete y teórica.


 Se usa como criterio de optimización con métodos de
gradiente para obtener máximos.
 Limitaciones: puedes ser sensible a outliers.
Otras Medidas: Negantropia

 Una variable gaussiana es la que tiene entropía más grande


entre todas las que tienen igual varianza.
J ( y)  H ( ygaussiana)  H ( y)  0
 Estimador óptimo de no gaussianidad, computacionalmente
constoso.
 Se puede aproximar con estimadores a partir de kurt(y).
 Otros: minimizar información mutua
 Preproceso: centrado, blanqueado.
 Aplicación: encontrar variables latentes, reducción de ruido.

You might also like