Carlos Alonso Gonzlez Grupo de Sistemas Inteligentes Departamento de Informtica Universidad de Valladolid
Contenido
1.
2. 3. 4. 5.
6.
Clasificacin lineal con modelos lineales Regresin lineal Clasificacin lineal multirespuesta Regresin logstica Clasificacin no lineal con modelos lineales SVM: fundamentos
SVM: introduccin 2
Si las clases son linealmente separables, basta con encontrar hiperplano que discrimine (por ejemplo perceptrn) Tambin pueden utilizarse mtodos de regresin lineal Adecuado para atributos numricos
SVM: introduccin 3
C`
C
SVM: introduccin 4
Perceptrn discreto
X1 w1 X2 w2 wn Xn Y
Y=sgn(i=0 xi . wi ) = X.W
SVM: introduccin 5
Rossemblat, 62, Nilson, 65 Si el conjunto de patrones de entrenamiento es linealmente separable, la regla de aprendizaje del perceptrn converge a un vector de pesos que clasifica correctamente todos los ejemplos de entrenamiento
2. Regresin lineal
Obtener la clase como una combinacin lineal de atributos: x=w0 + w1a1+w2a2+ +wkak Valor predicho para instancia i-esima w0a0(i) + w1a1(i)+w2a2(i)+ +wkak(i)= j=0,kwjaj(i)
(aadiendo atributo a0(i)=1)
SVM: introduccin 7
Ajustar coeficientes (k+1 pesos) para minimizar error cuadrtico sobre n ejemplos de entrenamiento Error cuadrtico i=1,n (x(i) - j=0,kwjaj(i))2 Mnimos cuadrados
Entrenamiento: regresin para cada clase, con clase=1 para los ejemplos de la clase y clase=0 para los restantes Prueba: calcular el valor de cada regresin y asignar la clase correspondiente a la regresin con mximo valor.
Interpretacin:
rlm aproxima una funcin de pertenencia para cada clase (1 si la instancia pertenece a la clase, 0 en otro caso) Para clasificar una instancia no vista, se calcula la funcin de pertenencia de cada clase y se selecciona la mayor
Buen comportamiento si clases linealmente separables Interesante como elemento bsico de otros mtodos
SVM: introduccin 10
Est suposicin se viola en problemas de clasificacin: los valores de la clases en los ejemplos de entrenamiento son 0 y 1.
4. Regresin logstica
A pesar del nombre, es un clasificador Realiza una transformacin de variable y luego construye un clasificador lineal Caso binario Reemplaza: Pr[1/a1, a2, , an] Por: log[Pr[1/a1, a2, , an]/(1-Pr[1/a1, a2, , an])]
SVM: introduccin
12
SVM: introduccin 13
Los parmetros se obtienen del conjunto de entrenamiento utilizando mxima verosimilitud (equivalente a mnimos cuadrados si distribucin normal)
SVM: introduccin 14
Mxima verosimilitud
(Maximun likelihood)
Objetivo: maximizar la probabilidad de los datos de entrenamiento respecto a los parmetros Regresin logstica maximiza log-likelihood i=1,n {(1-x(i))log(1-Pr[1/a1(i), a2(i), , an(i)]) + x(i)log(Pr[1/a1(i), a2(i), , an(i)])} Obtener los wi que maximizan log-likelihood
SVM: introduccin
15
Regresin logsticas independiente para cada clase (similar a regresin lineal multirespuesta)
Problema: las estimaciones de probabilidades no suman 1 Solucin: modelos acoplados maximizando log-likelihood para todas las clases
Clasificadores 2 a 2
Hay que construir un clasificador para cada par de clases (pairwise classification) usando slo las instancias de las dos clases (clasificador binario) Si k clases k(k-1)/2 clasificadores binarios (pero con menos datos) Clasificacin final: voto
Si las distribucin de clases es uniforme, al menos tan rpido como cualquier otro mtodo multiclase
Si algoritmo lineal con n instancias: k(k-1)/2 * 2n/k =(k-1)n Ms ventajoso an si algoritmo ms que lineal
SVM: introduccin 17
Los modelos lineales solo pueden obtener fronteras de decisin lineales Cmo usarlos para problemas no linealmente separables?
Realizar una transformacin no lineal del espacio de entrada Construir un clasificador lineal en el espacio transformado Una frontera lineal en el espacio transformado puede representar una frontera no lineal en el espacio original
SVM: introduccin
18
x2 x1 1
1 1
x2 z
-2
1 -0.5 + 0.5
x1
SVM: introduccin
20
Entrenamiento: transformar ejemplos de entrenamiento y crear modelo lineal Prueba: transformar nueva instancia, aplicar modelo lineal
SVM: introduccin 21
Complejidad computacional
10 atributos, n=5: 2000 coeficientes Impracticable incluso para regresin lineal (cbica en el nmero de atributos)
Sobreajuste
SVM: introduccin
22
SVM es un algoritmo para encontrar clasificadores lineales en espacios transformados Resistentes al sobreajuste porque buscan una frontera de decisin especfica:
Hiperplano de margen mximo No crean explcitamente el espacio transformado La trasformacin no lineal es implcita
SVM: introduccin
23
Envolvente convexa
Dado un conjunto de puntos, su envolvente convexa es el conjunto convexo minimal que contiene al conjunto
SVM: introduccin
24
SVM: introduccin
25
[WWW.dtreeg.com]
SVM: introduccin
26
Hiperplano que proporciona la mxima separacin entre dos clases linealmente separables
Calcular la envolvente convexa de cada clase Determinar el segmento mas corto que une ambas envolventes Hiperplano de margen mximo : perpendicular al segmento anterior, cortndolo en su punto medio
SVM: introduccin 27
SVM: introduccin
28
SVM: introduccin
29
Vectores Soporte
Ecuacin de un hiperplano x=w0 + w1a1+w2a2+ +wkak =wa Ecuacin hiperplano margen mximo en trminos de los vectores soporte (formulacin dual) x=b +i vector soporte iyia(i)a
SVM: introduccin 31
Obtencin de b,i:
b,i, parmetros numricos a determinar a, instancia (a clasificar) a(i), vector soporte i-esimo yi, clase de a(i) (que tambin es una instancia, de entrenamiento), con valores +1, -1 Problema de optimizacin cuadrtica con restricciones
No hay mnimos locales Herramientas optimizacin Algoritmos especficos para entrenamiento SVM ms eficientes
SVM y sobreajuste
Resistente al sobreajuste El sobreajuste esta relacionado con la flexibilidad con que se ajustan las fronteras de decisin (mayor con el nmero de parmetros)
EL hiperplano de margen mximo es relativamente estable: solo depende de los vectores soporte
Aadir o eliminar un pequeo nmero de instancias puede, con otras tcnicas de ajuste, modificar drsticamente las fronteras de decisin
SVM: introduccin
33
Sobreajuste: menos problemtico, pues los vectores soporte son relativamente estables Complejidad: sigue siendo un problema si se transforman las instancias y se busca el hiperplano de mximo margen en el espacio transformado Solucin: buscar vectores soporte en espacio original y no realizar de forma explicita la transformacin
SVM: introduccin 34
Similar a producto de n factores (= salvo coeficientes constantes) El producto escalar se realiza en el espacio original
No se generan nuevos atributos (no aumenta la dimensin) Sin embargo, el efecto es el mismo que si hubisemos realizado la transformacin y luego realizado el producto a(i)nan Los ejemplos de entrenamiento (incluidos vectores soporte) y los ejemplos de prueba permanecen en el espacio original (de menor dimensin)
SVM: introduccin 35
Kernel
La aplicacin no lineal se denomina Kernel Kernel polinomial: K(xi , xj)=(xixj)n Requisito: K(xi , xj)=(xi)(xj) Kernel gausiano, radial: K(xi , xj)=exp(- (xi-xj)2/22) Kernel perceptrn: K(xi , xj)= || xi-xj || Kernel sigmoidal: K(xi, xj)=tanh(xi xj )
SVM: introduccin 36
SVM: introduccin
37
SVM: introduccin
38
Ben-Hur A, Ong CS, Sonnenburg S, Schlkopf B, Rtsch G, 2008 Support Vector Machines and Kernels for Computational Biology. PLoS Comput Biol 4(10): e1000173. doi:10.1371/journal.pcbi.1000173
SVM: introduccin
39
SVM: introduccin
40
SVM: introduccin
41
Hemos asumido clases linealmente separables (en espacio original o transformado) Si clases no linealmente separables
Admitir error, penalizndolo segn constante C Introducir parmetro C, que limita el efecto de cualquier instancia de entrenamiento en la superficie de decisin Se traduce en aadir restricciones 0 iC Sigue siendo un problema de optimizacin cuadrtica C se determina experimentalmente
SVM: introduccin
42
Efecto de C
SVM: introduccin
43
Los algoritmos para SVM mejoran notablemente su eficiencia si datos dispersos Motivo: se calculan productos escalares Datos dispersos
Clculo eficiente de productos escalares Iterando slo sobre los datos no nulos
Introducir variables de holgura ( slack) y penalizar con constante C Maximizar margen: Minimizar ||w||2 +C i=1,n i w,b,
Sujeto a yi(K(w,xi)+ b) 1- i Para i= 1, 2,... ,n
SVM: introduccin
46
Poco eficientes
SVM: introduccin
47
Algoritmos: SMO
Sequential Minimal Optimization J. Platt, 1998 Divide el problema de Optimizacin Cuadrtica en subproblemas Pequeos (OCP) Los problemas OCP se resuelven analticamente, evitando las iteraciones internas de los algoritmos de optimizacin Memoria: lineal con conjunto de entrenamiento (frente cuadrtico) Tiempo: entre lineal y cuadrtico Muy eficiente si datos dispersos
SVM: introduccin
48
Problemas multiclase
SVM: introduccin
49
Discusin SVM
Clasificadores muy precisos en muchos dominios de aplicacin Resistentes al sobreajuste Elevado coste computacional
Temporal:
polinomial , n2.2? (experimental) exponencial? Al menos (2n2), mnimo error alcanzable con el Kernel SMO lineal?
Espacial
Aplicaciones
SVM: introduccin
51
Referencias
C. Bishop. Pattern Recognition and Machine Learning. Springer, N.Y., 2005 N. Cristianini and J. Shawe-Taylor. An introduction to Support Vector Machines and other kernel-based learning methods. Cambridge University Press, 2000. B. Schlkopf and A. J. Smola. Learning with kernels. MIT Press, Cambridge, MA, 2002. I. H. Witten and E. Frank. Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann, 2nd edition, 2005. Ben-Hur A, Ong CS, Sonnenburg S, Schlkopf B, Rtsch G, 2008 Support Vector Machines and Kernels for Computational Biology. PLoS Comput Biol 4(10): e1000173. doi:10.1371/journal.pcbi.1000173 www.kernel-machines.net (tutoriales, bibliografa)
SVM: introduccin 52