ReporteProyecto_ABMQ

Embed Size (px)

DESCRIPTION

kpca

Citation preview

  • ProyectoKernel Principal Component Regression

    Ana Belem Marquez [email protected]

    Reconocimiento de PatronesDr. Wilfrido Gomez Flores

    Departamento de ComputacionCINVESTAV, Distrito Federal, Mexico

    19 de agosto de 2014

    Resumen En este trabajo se realiza la implementacion de Kernel Prin-cipal Component Regression a partir de la investigacion realizada con an-terioridad. Los resultados obtenidos se compara con el Kerner de AnalisisDiscriminante Lineal visto en clase.

    Introduccion

    Principal Component Regression (PCR) se utiliza para realizar pre-dicciones de variables dependientes normalmente distribuidas, a travesde la proyeccion sobre el subespacio optimo generado por variables in-dependientes, utilizando un modelo lineal que establece una relacion delas variables. Esta es una tecnica de analisis de regresion que se basa enPrincipal Component Analysis (PCA).

    En la PCR, en vez de realizar la regresion de la variable dependientede las variables independientes directamente, los componentes principalesde las variables independientes se utilizan como regresores. Utiliza soloun subconjunto de todos los componentes principales para la regresion,con lo que PCR realiza aslgun tipo procedimiento de regularizacion. Esfrecuente que los componentes principales con mayores variaciones se se-leccionan como regresores, sin embargo, para el proposito de predecir elresultado, los componentes principales con varianzas bajas tambien pue-den ser importantes.

    Este metodo se puede generalizar a un kernel mediante el cual la fun-cion de regresion no necesita ser necesariamente lineal en las covariables.Este vector de covariables es primero mapeado en un espacio de carac-tersticas de alta dimensionalidad, a este mapeo obtenido se le conoce

  • 2

    como el mapa de caractersticas y cada una de sus coordenadas sonconocidas como los elementos de caractersticas que corresponde a unacaracterstica de covariables.

    Por lo tanto, el modelo de regresion en el kernel es escencialmente unmodelo de regresion lineal y los predictores estan dados por el vector deelementos de caractersticas obtenido por la transformacion de covariablesreales utilizando el mapa de caractersticas.

    1. Marco teorico

    1.1. Principal Component Analysis

    El Analisis de componentes principales (PCA, por sus iniciales eningles), se trata de representar los datos de ddimensionalidad en un es-pacio de menor dimension, es decir, representar los datos en un espacioque mejor describe la variacion en un sentido de error de suma de cua-drados.

    Se considera una serie de variables X = (x1, x2, ..., xm) sobre ungrupo de objetos y se trata de calcular un nuevo conjunto de variablesY = (y1, y2, ..., ym), incorreladas entre s, cuyas varianzas vayan crecioen-do progresivamente.

    Cada yj , donde es j = 1, 2, ...,m una combinacion lineal de las x1, x2, ..., xmoriginales, es decir:

    yj = aj1x1 + aj2x2 + ...+ ajmxm

    = aTj X

    siendo aj = (a1j , a2j , ..., amj)T un vector de constantes.

    Lo que se desea es minimizar la varianza, la forma simple es disminu-yendo los coeficientes aij , Por ello, para mantener la ortogonalidad de latransformacion se impone que el modulo del vector aj sea 1, es decir,

    aTj aj =

    mi=1

    a2kj = 1 (1)

  • 3

    Por lo tanto, el primer componente se calcula eligiendo a1 de modoque y1 tenga la menor varianza posible, sujeta a la restriccion de queaT1 a1 = 1, y de este modo para cada ai

    1.2. Multicolinealidad

    Sea X = (xi1, xi2, ..., xiN ), donde i = 1, 2, ...,m, Se dice que existecolinealidad en X si XTX es una matriz singular, por ejemplo, si algunosvalores propios de XTX son cero. Por lo cual hay una infinidad de solu-ciones para la Eq. 5, lo cual hace que sea mas difcil de escoger el mejormodelo de regresion lineal multiple. A esta implicacion se le conoce comoel efecto de colinealidad.

    La multicolinealidad es un problema que suele plantearse en regresonmultiple ya que prohbe la influencia estadstica precisa. En adicion, sedice que la multicolinealidad existe en X si XTX es casi una matriz sin-gular, por ejemplo, si algunos valores propios de XTX son cercano a cero.

    Esta condicion se produce cuando hay relaciones casi lineales entre lasvariables independientes de la matriz X. Por lo tanto, esto implica queexiste un conjunto de constantes dj , tal que

    kj=1 djxj

    = 0

    donde xj es el jth de la columna X

    Si este termino es exactamente 0, la dependencia lineal es exacta yXTX es una matriz singular.

    1.3. Mnimos cuadrados ordinarios

    Es una tecnica de modelado lineal generalizado que puede utilizarsepara modelar una sola variable de respuesta que ha sido grabada en almenos una escala de intervalo. Esta tecnica se puede aplicar a las varia-bles explicativas individuales o multiples, como tambien a las explicativascategoricas que han sido codificadas apropiadamente.

  • 4

    Por lo tanto, la relacion entre una variable de respuesta continua Yy una variable explicativa X, se puede representar mediante una lneade mejor ajuste, donde Y es predicha, en cierta medida, por X. Si estarelacion es lineal, puede ser representado por la ecuacion de la recta Eq. 2.

    Y = X + (2)

    donde Y es el valor predicho de la variable dependiente, es el coe-ficiente de regresion o pendiente de la linea, es el error o residuo entrelas observaciones y el modelo.

    Dados una serie de puntos (xi, yi), se desea minimizar la suma de loscuadrados de las distancias entre la recta y dichos puntos.

    J() =Ni=1

    (yi Txi)2 (3)

    J() se minimiza cuando J() = 0, entonces

    J()

    = 2

    Ni=1

    (yi Txi)xTi

    = 2Ni=1

    yixTi 2T

    Ni=1

    xixTi

    = 2XT Y 2XTX

  • 5

    1.4. Modelos de regresion

    El analisis de regresion es una tecnica para el modelado y la investiga-cion de la relacion entre dos o mas variables, en otras palabras podemosdecir que describe entre una variable aleatoria simple Y , que es la va-riable respuesta y las variables independientes x1, x2, ..., xm, que son lasvariables de regresion.

    En este trabajo se abordara el modelo de Regresion lineal multi-ple, para esto se definiran las siguientes variables.

    Yi es la variable de respuesta en la i-esima observacion (i = 1, 2, ..., N),xij R es la i-esima observacion de regresion de xj , por lo cual denota-mos que:

    xi = (xi1, xi2, ..., xim)T

    Y = (Y1, Y2, ...YN )T

    X = (x1, x2, ..., xN )T

    X = (1N , X )

    = (0, 1, ..., m)T

    = (1, 2, ..., N )T

    Regresion lineal multiple El modelo estandar de la regresion multiplees escrito como se muestra en la Eq. 4

    Y = X + (4)

    Este modelo supone que el valor esperado de , denotado por E(), esigual a 0 y la varianza de , denotada por E(T ), es igual a 2IN , dondela matriz IN es una matriz identidad de NxN y

    2 es un numero realpositivo.

  • 6

    El objetivo general de la regresion es encontrar un estimador de ,digamos = (0, 1, ..., m)

    T , tal que ||||2 sea minimizado. La solucionpuede ser encontrada resolviendo los mnimos cuadrados lineales.

    XTX = XTY (5)

    Dado que puede existir multicolinealidad en X, como se explica enel apartado anterior, definimos y = (y1, y2, ..., yN )

    T RN que son loscorrespondientes datos observados a Y y = (0,

    1, ...,

    m)

    T Rp+1ser los valores de cuando Y en Eq. 5 es reemplazada por y, por lo cualtenemos que:

    = (XTX)1XTy (6)

    Por lo tanto, la prediccion del modelo de regresion lineal esta dada por:

    f(x) = 0 +

    mj=1

    j xj (7)

    donde f es una funcion de Rm en R

    Y los valores de prediccion de y, se puede decir y se define como:

    y = X (8)

    1.5. Principal Component Regression

    La Regresion de Componentes Principales (PCR, por sus iniciales eningles) es una tecnica de analisis de multiples datos de regresion que su-fren multicolinealidad. Cuando ocurre la multicolinealidad, los mnimoscuadrados estimados no son sesgados, pero las variaciones son grandes,por lo cual puede estar muy lejos del valor real, lo que realiza PCR esreducir los errores estandar y esperar que el efecto sera dar estimacionesmas fiables.

    De acuerdo al modelo de regresion lineal multiple, definimos que elmodelo estandar centralizado es

  • 7

    Y0 = Z + 0

    Z = (IN 1N 1N1NT )X

    Y0 = (IN 1N 1N1NT )Y

    0 = (IN 1N 1N1NT )

    Primero de debe realizar la estandarizacion de las variables, tando lasdependientes como las independientes, restando sus medias y dividiendoentre su desviacion estandar.

    Sea 1 2 ... r r+1 ... d y A = (a1, a2, ..., ad)ser los valores y vectores propios de ZTZ, A = A1 y A es una matrizortogonal, esto implica que AAT = Id, entonces

    ATZTZA = D (9)

    donde

    D =

    (Dd 00 0

    )

    Dd =

    1 0 ... 00 2 ... 0... ... ... ...0 0 ... d

    Dado que ZTZ es una matriz simetrica y semidefinida positiva, en-

    tonces los eigenvalores son reales y no negativos.

    Se define U = ZA y = AT

    Dado que hay que eliminar la multicolinearidad se asume que r+1 0, r+2 0, ..., d 0, por lo tanto

    Dd =

    (Dr 00 Ddr

    )(10)

    Por lo cual reescribiendo el modelo se tiene que:

    Y0 = Urr + 0 (11)

  • 8

    Para obtener el estimador , tal como en el modelo de regresion linealmultiple

    r = (UTr Ur)

    1UTY

    Por lo cual, el modelo de prediccion para PCR esta dado por

    y = y1N + ZArr

    Sustituyendo para En los mnimos cuadrados, los coeficientes de regresion son estimados

    como se muestra en Eq. 12

    = (XTX)1XTY (12)

    Por lo tanto, la regresion de componentes se describe como se muestraen Alg. 1.

    Algorithm 1 PCREntrada Matriz de muestras X, vector de clases YSalida Vector de coeficientes de regresion ,Realizar la estandarizacion de X, guardando en ZRealizar la regresion de Y sobre Z para obtener la estimacion de Establecer el ultimo elemento de a 0Calcular los coeficientes originales de

    1.6. Kernel Principal Component Regression

    Como se ha visto anteriormente, para atacar la multicolinealidad sepuede utilizar PCR, que transforma el modelo de regresion (4) en unnuevo modelo utilizando una matriz ortogonal, pero este solo da una pre-diccion lineal, lo cual hace que exista limitaciones, ya que la mayora delos problemas reales son no lineales.

    El Kernel Principal Component Regresion (KPCR) fue propuesto pa-ra superar la desventaja. Basicamente lo que se realiza es transformar x1,i = 1, 2, ..., N , utilizando una funcion : Rm F , donde F es llama-da espacio de caractersticas y este es un espacio Euclidiano de mayor

  • 9

    dimension que m, se puede decir mF . Por lo tanto, se deriva de otrafuncion, : Rm Rm R, donde es una funcion simetricam continuay semidefinida positiva, a esta funcion se le llama la funcion kernel.

    Se define una matriz

    = ((x1), (x2), ..., (xN ))T ,

    K = T

    donde el tamano de y K son de NmF y de NN respectivamen-te. Entonces, de acuerdo al modelo regresion lineal multiple estandar, sedefine este para el espacio de caractersticas como se muestra la Eq. 13

    Y = + (13)

    donde es un vector de coeficientes de regresion de tamano mF 1y es un vector de errores en el espacio de caractersticas. Se asume que:

    Ni=1 (xi) = 0,E() = 0,

    E(T) = 2In

    Dejamos 1 2 ... r r+1 ... mF y V = (v1,v2, ...,vmF)ser los los valores propios y la matriz correspondiente de vectores propiosnormalizada, respectivamente, de T. Reescribiendo el modelo de laEq. 13 como

    Y = B+ (14)

    donde B = V y = (1, 2, ..., mF )T = VT. Por lo tanto, para

    estimar se muestra en Eq. 15

    = (BTB)1BTY (15)

    y el estimador para es definido como en la Eq. 16

    = V =

    mFi=1

    1i vivTi

    TY (16)

  • 10

    y su correspondiente matriz de covarianza como

    cov() = 2mFi=1

    1i vivTi (17)

    Ahora bien, para evitar el efecto de multicolinealidad, PCR borra al-gunos vectores propios de T correspondientes a los pequenos valorespropios i.

    Dejamos = (1, 2, ..., N )T ser un vector propio de K correspon-

    diente a j 6= 0 para alguna j 1, 2, ...,mF . Utilizando los primeros rvectores de V, se puede escribir el modelo de prediccion de KPCR comoen Eq. 18

    g(x) =

    Ni=1

    aj(xi, x) + d (18)

    donde g es una funcion, de Rm a R, d es el termino bias y

    ai =r

    k=1 kik para i = 1, ..., N

    2. Metodologa

    Dado que ya se cuenta con la teora necesaria, se realizara la imple-mentacion para analizar el Kernel Principal Component Regression.

    Para realizar este kernel, se explica a continuacion de forma muy ge-neral lo que se realizara.

    Dado un conjunto de datos X de tamano N m y el vector de clasesY de tamano N 1

  • 11

    Algorithm 2 trainKPCREntrada Matriz de muestras X, vector de clases YSalida Vector de coeficientes de regresion , Kernel K, bias bEscoger y contruir el KernelCentrar matriz KCalcular valores y vectores propios de KDetectar la multicolinealidad, tal que i

    lambda1 1

    1000

    Contruir la matriz Calcular B = KEstimar el vector de regresion = (BT B) (BT Y )Calcular = Calcular bias, tal que d =

    1n

    ni=1(yi yi)2

    Algorithm 3 classifyKPCREntrada: Xn, Yn, Xtr, K, , dSalida: Y predConstruir el KernelCentrar la matriz KRealizar prediccion Y pred = y = K+ d

    Para la seleccion del kernel se utilizara el Gaussiano (RBF) que sedefine como

    (xi, xj) = exp(||xi xj ||22)

    Esto se implemetara en MatLab, dado que facilita la manipulaciondel conjunto de datos, as como realizar diversas operaciones.

    3. Materiales

    Conjuntos de datos:

    1. Complex

    2. Ring

    3. Xor

    MATLAB (MATrix LABoratory, laboratorio de matrices)

  • 12

    4. Resultados

    Los resultados obtenidos con KPCR fueron comparados con el KernelAnalisis Lineal Discriminante (KFDA)

    Para el conjunto de datos Complex se obtuvieron los siguientes resul-tados:

    Se puede observar que KPCR (Fig. 1), obtuvo una mejor clasificacion,dado que el error es significativamente menor que KFDA (Fig. 2).

    Error = 74TE = 4,6 seg

    Figura 1. Grafico de espacio de caractersticas de Complex KPCR

  • 13

    Error = 429TE = 1,04 seg

    Figura 2. Grafico de espacio de caractersticas de Complex KFDA

    Para el conjunto de datos Complex se obtuvieron los siguientes resul-tados:

    Se puede observar que KPCR (Fig. 3), obtuvo una mejor clasifica-cion, dado que el error es significativamente menor que KFDA (Fig. 4),sin embargo en la particion del espacio de caractersticas KPCR detectouna clase adicional

  • 14

    Error = 12TE = 1,65 seg

    Figura 3. Grafico de espacio de caractersticas de Ring KPCR

    Error = 47TE = 0,44 seg

    Figura 4. Grafico de espacio de caractersticas de Ring KFDA

  • 15

    Para el conjunto de datos Xor se obtuvieron los siguientes resultados:

    Dado que este conjunto de datos es linealmente separables, los dosclasificadores obtuvieron 0 errores (deseable), sin embargo la particiondel espacio de caractersticas fue mejor en KFDA (Fig. 6) y, ademas entiempo de ejecucion fue mas rapido.

    Error = 0TE = 0,15 seg

    Figura 5. Grafico de espacio de caractersticas de Xor KPCR

  • 16

    Error = 0TE = 0,08 seg

    Figura 6. Grafico de espacio de caractersticas de Xor KFDA

    5. Funcionamiento

    El programa de este experimento se encuentra en la carpeta Imple-mentacion. Este contiene cuatro archivos trainKPCR.m que realiza elentrenamiento, classifyKPCR.m que realiza la clasificacion de los datos,graph.m que realiza la graficacion de la particion del espacio de carac-tersticas y principal.m es el que ejecuta las funciones.

    Para ejecutarlo se realiza lo siguiente:

    Ejecutar principal.m.

    Seleccionar la base de datos con la que se desea trabajar.

    1. Complex

    2. Ring

    3. Xor

    El resultado mostrado es la particion del espacio de caractersticas, elerror generado y el tiempo de ejecucion.

  • 17

    6. Conclusiones

    Kernel Principal Component Regression es un metodo novedoso parala clasificacion de conjuntos no linealmente separables.

    Dado en los resultados mostrados, el KFDA mostro menor tiempo deejecucion, ya que se trata de un clasificador lineal, mientras que KPCRtiene un tiempo d ejecucion mas tardado, ya que realiza la eigendes-composicion de matrices para obtener valores y vectores propios, por locual entre mas datos existan en el conjunto este requerira mas tiempo decomputo.

    Por otro lado, es difcil determinar que tipo de clasificador utilizar,dado que tiene una gran influencia las caractersticas de los conjuntos dedatos, por lo que siempre hay que que realizar un estudio de los mismoscomo lo es la dispesion, las caractersticas que dan una mejor aprtacionde informacion, entre otros.

  • 18

    Referencias

    [AW08] Y. Yamamoto A. Wibowo. The new approach for kernel principal componentregression. Discussion Paper Series No. 1195, Department of Social Systemsand Management, Univ. Tsukuba, 2008.

    [AW11] M. Desa A. Wibowo. Nonlinear robust regression using kernel principal com-ponent analysis and r-estimators. International Journal of Computer ScienceIssues, 2011.

    [AW12] Y. Yamamoto A. Wibowo. A note on kernel principal component regression.Computational Mathematics and Modeling, 2012.

    [Jol82] Ian T. Jolliffe. A note on the use of principal components in regression.Journal of the Royal Statistical Society. Series C (Applied Statistics), 1982.

    [Jol02] I. Jolliffe. Principal Component Analysis. Second edition edition, 2002.[JT04] N. Cristiani J. Taylor. Kernel Methods for Pattern Analysis. First edition

    edition, 2004.[LL07] Lawrence Kleinman Wei Zhu Ling Leng, Tianyi Zhang. Ordinary least square

    regression, orthogonal regression, geometric mean regression and their appli-cations in aerosol science. Journal of Physics: Conference Series, 2007.

    [LM11] G. D. Hutcheson L. Moutinho. Ordinary least-squares regression. The SAGEDictionary of Quantitative Management Research, 2011.

    [ROD03] David G. Stork Richard O. Duda, Peter E. Hart. Pattern Classification.Second edition edition, 2003.

    [RR00] A. Cichocki R. Rosipal, L. Trejo. Kernel principal component regression withem approach to nonlinear principal components extraction. University ofPaisley, School of Information, Communication and Technologies, 2000.

    [ST03] K. Koutroumbas S. Theodoridis. Pattern Recognition. Second edition edition,2003.

    [TH09] J. Friedman T. Hastie, R. Tibshirani. The Elements of Statistical Learnig:Data Mining, Inference and Prediction. Second edition edition, 2009.

    [XC12] Hu Yang Xinfeng Chang. Combining two-parameter and principal componentregression estimators. Statistical Papers, 2012.