Sei sulla pagina 1di 60

Slide 1

Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera

SUPPORT VECTOR MACHINE
Betsy Mary Estrada Perea
Carlos Andrs Mera Banguero

Asignatura: Aprendizaje Estadstico
UNIVERSIDAD NACIONAL
DE COLOMBIA
Slide 2
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
CONTENIDO
LO QUE VAMOS A VER

Support vector Machine
Introduccin
Formalizacin
SVM para Multiclase
Ventajas y Desventajas

Ejemplo de SVM
Un Ejemplo Simple -> Caso Lineal
Ejemplo usando Matlab
Ejemplo usando WEKA


Slide 3
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
INTRODUCCIN
Slide 4
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
INTRODUCCIN:

Las Mquinas de Soporte Vectorial o Mquinas de Vectores de Soporte son un
conjunto de algoritmos de aprendizaje supervisado desarrollados por Vladimir
Vapnik.

Estos algoritmos pueden ser usados en una diversidad de problemas de
aprendizaje, especficamente en Clasificacin y Regresin.

Dado un conjunto de ejemplos de entrenamiento (de muestras) podemos etiquetar
las clases y entrenar una SVM para construir un modelo que prediga la clase de
una nueva muestra.

Slide 5
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
INTRODUCCIN:

Aunque son innumerables las aplicaciones de las SVM, a continuacin
presentamos algunas de sus aplicaciones:

En Visin Artificial para el reconocimiento de Caracteres, Rostros, Matrculas y
Objetos
En Medicina, para la clasificacin de exmenes radiolgicos, TAC, y otros para el
diagnstico de tejido humano.
En Gentica para Prediccin de Genes
Clasificacin de documentos
En Simulacin, para la modelacin de slidos
En Interfaces humano-computador
En Identificacin de hablantes
En prediccin en economa


Slide 6
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
CMO FUNCIONAN LAS SVM?
Slide 7
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
CMO FUNCIONAN LAS SVM?

En general, dado un conjunto de datos de entrenamiento, la SVM busca el
hiperplano que separe de forma ptima los puntos de una clase de la de otra.

Consideremos un problema de dos
clases, linealmente separable, como
se ilustra en la figura

Hay muchas fronteras de decisin
(o hiperplanos) posibles que pueden
separar las clases (toda recta que
separe las clases).

Son todas esas fronteras igual de
buenas?
Slide 8
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
CMO SE SELECCIONA EL MEJOR
HIPERPLANO (O FRONTERA DE DECISIN)?
Slide 9
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
CMO FUNCIONAN LAS SVM?

La SVM busca el hiperplano que maximice la distancia (o margen) con los puntos
que estn ms cerca de l mismo, razn por la cual tambin se les conoce a las
SVM como clasificadores de margen mximo.

Margen
Pequea
Margen
Grande
Vectores Soporte






Vectores Soporte
Slide 10
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
EN NOTACIN FORMAL
Slide 11
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera

SUPPORT VECTOR MACHINE
EN NOTACIN FORMAL

Cada observacin (o dato del conjunto de entrenamiento) contiene un par de datos:

Un Vector

Una etiqueta

Como el hiperplano separa las muestras positivas (+1) de las negativas (-1), los
puntos que estn en el hiperplano deben satisfacer la ecuacin: w
T
x + b = 0,
como se ilustra en la siguiente figura

l ,..., 1 , = e i R x
n
i
} 1 , 1 { + e
i
y
Slide 12
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
EN NOTACIN FORMAL













Ahora el problema se convierte en un problema de optimizacin ya que para
encontrar el mejor hiperplano que separa las clases se debe maximizar la margen m.
w
Donde,
El vector W es la normal al hiperplano.

es la distancia perpendicular del
hiperplano al origen.

es la norma del vector W.

es la margen o distancia
entre los hiperplanos positivo y
negativo.
w
b
w
w
2
= m
Slide 13
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
EN NOTACIN FORMAL

El problema es o cual se consigue (matemticamente)
sujeto a que

Para resolver este problema se usan Multiplicadores de Lagrange, de tal forma que
se debe construir una funcin Lagrangiana tal que:



Sujeta a que: o
i
> 0 y

Finalmente, W se puede calcular gracias a los trminos o as:
Con
Nota: Los paquetes hacen todo esto por nosotros :)
SUPPORT VECTOR MACHINE
|
|
.
|

\
|
|| ||
2
max
w
|
.
|

\
| 2
2
1
min w
n i b x w y
i
T
i
... 1 1 ) ( = >
Slide 14
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
QU PASA CUANDO TENEMOS UN CASO
COMO COMO EL QUE SIGUE?
Slide 15
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
SVM CON SOFT-MARGIN

Qu hacer cuando solo hay uno pocos datos que no permiten separar linealmente
el conjunto de datos?










creamos un modelo COMPLEJO
que no es necesariamente general?
creamos un modelo SIMPLE con
algunos errores de clasificacin?


Slide 16
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
SVM CON SOFT-MARGIN

Con el fin de permitir cierta flexibilidad, los SVM manejan un parmetro C que
controla la compensacin entre errores de entrenamiento y los mrgenes rgidos,
creando as un margen blando (soft-margin) que permita algunos errores en la
clasificacin
i
.




Ntese que si
i
=0, no hay error, as se busca minimizar:



La constante C determina la holgura del margen blando. La eleccin de este valor y
del tipo de funcin kernel influyen en el desempeo de las SVM.



Slide 17
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
SVM CON SOFT-MARGIN

Si C tiene un valor grande, los datos de entrenamiento se clasificarn
correctamente.

Si C tiene un valor pequeo puede ocurrir que haya demasiados datos de
entrenamiento mal clasificados.
Con C apropiado Con C grande
Slide 18
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
Y SI LOS DATOS NO SE PUEDEN SEPARAR
LINEALMENTE ?
Slide 19
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
MODELOS NO LINEALES

Cuando los datos no se pueden separar linealmente se hace un cambio de espacio
mediante una funcin de transformacin que aumenta la dimensionalidad de los
vectores de entrada a un espacio al que se puedan separar linealmente por un
hiperplano. A tal funcin se llama Kernel.







Al introducir un kernel, los parmetros o del vector w se hayan as:





Slide 20
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
MODELOS NO LINEALES

Existen diferentes tipo de funciones Kernel:

Kernel Polinomial de grado d (muy usado en reconocimiento de imgenes)


Kernel de Base Radial de ancho s


Su espacio de llegada es de dimensin infinita.

Kernel Sinusoidal con parmetros k y q


Problema: No satisface la condicin de Mercer (definida positiva) para todo k y
q.
Slide 21
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
CMO SE CLASIFICA UN NUEVO DATO?
Slide 22
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
SVM CLASIFICACIN:

Para clasificar un nuevo punto se usa el signo de la siguiente funcin:




Donde, s
i
son los vectores soporte, y donde la funcin de transformacin u es
definida por el kernel K: u(s
i
) u(x) = K(s
i
, x).

De tal manera que si se obtiene como resultado de la funcin f(x), un nmero
negativo, el punto es clasificado como -1 o su clase equivalente, y si se obtiene un
nmero positivo el punto es clasificado como +1 o su clase equivalente (ms
adelante se presenta un ejemplo).

Slide 23
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
Y QU PASA CUANDO
SON MS DE DOS CLASES ?
Slide 24
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
SVM - MULTICLASE

Una clase versus todas las clases, por ejemplo para 3 clases se requiere crear tres
SVM as:
SVM 1 vs. 2+3
SVM 2 vs. 1+3
SVM 3 vs. 1+2

Una clase versus otra clase (solucin adoptada por SMO de Weka), por ejemplo
con tres clases:
SVM 1 vs. 2
SVM 1 vs. 3
SVM 2 vs. 3

En este caso, la asgnacin de etiqueta se hace usando alguna estrategia de
consenso, por ejemplo, por votacin (se asigna la etiqueta con ms votos).
Slide 25
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
SVM: VENTAJAS Y DESVENTAJAS
Slide 26
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
VENTAJAS:

Las SVM tienen ciertas caractersticas que las han puesto en ventaja, comparadas
con otras tcnicas de clasificacin:

Al usar un principio inductivo, que busca la minimizacin del riesgo estructural,
usando una funcin kernel, le da la una gran capacidad de generalizacin, incluso
cuando el conjunto de entrenamiento es pequeo.

El proceso de entrenamiento (o aprendizaje) no depende necesariamente del
nmero de atributos, por lo que se comportan muy bien en problemas de alta
dimensionalidad.

Slide 27
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
VENTAJAS:

Existen pocos parmetros a ajustar; el modelo solo depende de los datos con
mayor informacin.

La estimacin de los parmetros se realiza a travs de la optimizacin de una
funcin de costo convexa, lo cual evita la existencia de un mnimo local.

El modelo final puede ser escrito como una combinacin de un numero muy
pequeo de vectores de entrada, llamados vectores de soporte, lo cual se
presenta ya que el Lagrangiano de la mayora de los vectores es igual a cero.

El compromiso entre la complejidad del clasificador y el error puede ser controlado
explcitamente

Slide 28
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
DESVENTAJAS:

Algunas de las Desventajas de las SVM son:

Cuando los parmetros son mal seleccionados se puede presentar un problema
de sobre entrenamiento, el cual ocurre cuando se han aprendido muy bien los
datos de entrenamiento pero no se pueden clasificar bien ejemplos nunca antes
vistos .

En gran medida, la solucin al problema, as como su generalizacin depende del
kernel que se use y de los parmetros del mismo.
Slide 29
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
UN EJEMPLO PARA ENTENDER EL
FUNCIONAMIENTO DE UNA SVM
Slide 30
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL

Iniciamos con un ejemplo en el que la funcin u es trivial: supongamos que
tenemos un conjunto de ejemplos positivos y negativos en R
2
:

Ejemplos Positivos:
{(3,1), (3,-1), (6,1), (6,-1)}

Ejemplos Negativos:
{(1,0), (0,1), (0,-1), (-1,0)}

Ejercicio: Grafique los puntos y encuentre los vectores soporte


Nota: El ejemplo a continuacin es una versin simplificada que busca explicar el
funcionamiento de las SVM sin la rigurosidad matemtica que implica las mismas.
Slide 31
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL

Graficando los puntos anteriores tenemos










Buscamos una SVM que nos permita separar con precisin las dos clases. Dado que los datos
son linealmente separables podemos usar un kernel lineal (u), que por la sencillez del
problema ser la funcin identidad de este modo Cules sern los vectores soporte?.

Slide 32
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL

Por inspeccin del grfico vemos que hay tres vectores soporte:











Vectores Soporte: {s
1
= (1,0), s
2
= (3,1), s
3
=(3,-1)}
Slide 33
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL

Por inspeccin del grfico vemos que hay tres vectores soporte:










Se buscar la mejor solucin de entre todas las posibles que maximice m Sin embargo, no
lo hacemos con toda la rigurosidad matemtica del caso por ser un ejemplo ilustrativo y se usa
la intuicin para resolverlo.
|
|
.
|

\
|
w
2
Slide 34
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL

A continuacin aumentamos los vectores soporte con un bias 1 de entrada
(aumento en la dimensin) y tenemos que ahora los vectores soportes
aumentados:
{
1
= (1,0,1),
2
= (3,1,1),
3
=(3,-1,1)}

Necesitamos hallar la ecuacin del hiperplano que separe las clases:


Para obtener w
T
y b, debemos hacer uso de todos los vectores soporte y resolver el
siguiente sistema de ecuaciones (una ecuacin por vector soporte):
0 = +b x w
T
Slide 35
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL

Optimizando con respecto a los multiplicadores Lagrange se produce el siguiente
conjunto de ecuaciones, el cual debemos resolver para obtener los coeficientes o:






Como en estas ecuaciones estamos usando el kernel, debemos aplicar la funcin
de transformacin definida con el.

Slide 36
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL

Como estamos usando un kernel lineal (u) que es la funcin identidad con un bias
adicional, el sistema de ecuaciones se reducen a:





Desarrollando el producto punto, tenemos:




Ahora desarrollamos el sistema de ecuaciones para hallar los valore de o. Con un
poco de algebra tenemos: o
1
=3.5; o
2
= 0.75 y o
3
= 0.75.
Slide 37
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL

Una vez tenemos los valores o debemos hallar el hiperplano discriminante, tal que:
|
|
|
.
|

\
|

=
|
|
|
.
|

\
|
+
|
|
|
.
|

\
|
+
|
|
|
.
|

\
|
=
=

2
0
1
1
1
3
75 . 0
1
1
3
75 . 0
1
0
1
5 . 3
~
i
i i
s w o
Slide 38
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL

Finalmente, como los vectores fueron aumentados con un bias, podemos igualar
el ltimo termino del vector con el parmetro b del hiperplano, siendo w = ,
de tal manera que su ecuacin es:




Resolviendo, la ecuacin anterior tenemos que x= 2, as que usando dos puntos
con x
1
= 2 tenemos:


w
0 2
0
1
=
|
|
.
|

\
|
x
T
|
|
.
|

\
|
0
1
Slide 39
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL










Hiperplano:
0 2
0
1
=
|
|
.
|

\
|
x
T
Slide 40
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL

Cmo se utiliza la ecuacin del hiperplano para clasificar un nuevo dato?




Para clasificar un nuevo dato se usan los vectores soporte y el kernel de
transformacin as (versin simplificada de la formula presentada antes):



Donde o(z) retorna el signo de z.

Con lo anterior como se clasificaran los puntos (1,1) y (5,-1) ?


0 2
0
1
=
|
|
.
|

\
|
x
T
|
.
|

\
|
u u =

) ( ) ( ) ( x s x f
i
i i
o o
Slide 41
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO EN EL CASO LINEAL

Para x = (1,1), tenemos












Por tanto (1,1) es clasificado como NEGATIVO

( )
( ) 0 . 1
25 . 2 75 . 3 0 . 7
1
1
1
75 . 0
75 . 0
25 . 2
1
1
1
75 . 0
75 . 0
25 . 2
1
1
1
5 . 3
0
5 . 3
1
1
1
1
1
3
75 . 0
1
1
1
1
1
3
75 . 0
1
1
1
1
0
1
5 . 3
1
1
1
3
75 . 0
1
1
1
3
75 . 0
1
1
0
1
5 . 3 ) 1 , 1 (
=
+ + =
|
|
|
.
|

\
|
|
|
|
.
|

\
|

|
|
|
.
|

\
|
+
|
|
|
.
|

\
|

|
|
|
.
|

\
|
+
|
|
|
.
|

\
|

|
|
|
.
|

\
|

=
|
|
|
.
|

\
|
|
|
|
.
|

\
|

|
|
|
.
|

\
|
+
|
|
|
.
|

\
|

|
|
|
.
|

\
|
+
|
|
|
.
|

\
|

|
|
|
.
|

\
|
=
|
|
.
|

\
|
|
|
.
|

\
|
u
|
|
.
|

\
|

u +
|
|
.
|

\
|
u
|
|
.
|

\
|
u +
|
|
.
|

\
|
u
|
|
.
|

\
|
u =
o
o
o
o
o f
Slide 42
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
UN DEMO CON MATLAB Y STPRTOOL
(STATISTICAL PATTERN RECOGNITION TOOLBOX)
Slide 43
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO DE UN DEMO CON MATLAB

Para correr el demo se debe descargar el ToolBox de Reconocimiento Estadstico
de Patrones (STPRtool) e instalarlo en matlab:

http://cmp.felk.cvut.cz/cmp/software/stprtool/manual/index.html


Una vez instalado, este se ejecuta con el comando demo_svm

Slide 44
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO DE UN DEMO CON MATLAB (EXPLICACIN DE LO QUE SE HACE EN
DIRECTO)

Cuando se ejecuta este demo aparece una pantalla en la que se nos permite
seleccionar el algoritmo y el kernel que ser usando para entrenar la SVM, al igual
que cargar un conjunto de datos o realizar nuestro conjunto de prueba en un plano
cartesiano, como se ilustra en la figura de la siguiente diapositiva

Slide 45
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
Algoritmo
Tipo de Kernel

Parmetros del
Algoritmo y el Kernel

Para entrenar
la SVM

Para cargar o crear los
datos del cto de
entrenamiento
Slide 46
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
Creamos un conjunto de datos linealmente separable .

Slide 47
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
Entrenamos la SVM para ver el resultado de separabilidad

Slide 48
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
Creamos un conjunto de datos que NO es linealmente separable .

Slide 49
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
Entrenamos usando un Kernel de Base Radial y se explica el rol del parmetro C
en el algoritmo .

Slide 50
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
UN EJEMPLO USANDO EL CONJUNTO DE
DATOS IRISFISHER EN MATLAB
Slide 51
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO DE UN DEMO CON MATLAB

Ahora usaremos la lnea de comandos para crear una SVM y clasificar un dato
usando el Dataset de Fisher iris.

Se han creado dos ejemplos. El primero de ellos solo tiene en cuenta el ancho y
alto del spalo dado que estos son los atributos ms significativos [REF] y se usan
solo dos clases: Setosa y NO Setosa esto con el fin de visualizar la SVM. El
segundo ejemplo se realiza usando todos los atributos y todas las clases.
Slide 52
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO DE UN DEMO CON MATLAB

Fisheriris (Ejemplo - 1): los datos cargados estn modificados de tal forma que
solo se tuvieron en cuenta el ancho y alto del spalo y solo hay dos categorias:
Setosa y NO setosa, adems se usa una SVM-multiclase con una descomposicin
One-Agains-All

>> data = load('iris'); %Conjunto de Datos
>> options.solver = 'smo'; %Tipo de SVM a usar
>> options.ker = 'rbf'; %Tipo de Kernel a Usar
>> options.arg = 1; % Argumento del Kernel
>> options.C = 10; % Constante de Regularizacion
>> model = oaasvm(data,options ); % Se entrena la
>> figure;
>> ppatterns(data);
>> ppatterns(model.sv.X,'ko',12);
>> pboundary(model);
Slide 53
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO DE UN DEMO CON MATLAB

Fisheriris (Ejemplo - 1): Resultado grfico obtenido
Slide 54
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO DE UN DEMO CON MATLAB

Fisheriris (Ejemplo - 2): Se usan los datos originales del Dataset con una SVM-
multiclase con una descomposicin One-Agains-All (Los comandos son los
mismos del modelo anterior)
Nota: Se explica que por la
dimensionalidad en los datos, no es
posible ver grficamente la funcin
discriminante
Slide 55
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
UN EJEMPLO USANDO WEKA
Slide 56
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO CON WEKA

La desventaja de Matlab es que se requiere un conjunto de prueba adicional al de
entrenamiento, mientras que con Weka se pueden usar los diferentes tipos de
validacin y adems entrega las matrices de confusin y dems
Slide 57
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE - EJEMPLOS
EJEMPLO CON WEKA



SVM con un algoritmo
SMO y sus parmetros
Matriz de Confusin
del Modelo
Slide 58
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
ALGUNAS REFERENCIAS

C. J. C. Burges, A Tutorial on Support Vector Machines for Pattern Recognition,
Kluwer Academic Publishers: http://research.microsoft.com/en-
us/um/people/cburges/papers/svmtutorial.pdf
F. Dmitriy and M. Ilya "Support Vector Machines for Classification" in J. Abello and
G. Carmode (Eds) "Discrete Methods in Epidemiology", DIMACS Series in Discrete
Mathematics and Theoretical Computer Science, volume 70, pp. 1320, 2006
I. Steinwart and A. Christmann. Support Vector Machines. Springer-Verlag, NY,
2008
N. Cristianini and J. Shawe-Taylor. An Introduction to Support Vector Machines and
other kernel-based learning methods. Cambridge University Press, 2000
C. J. C. Burges and B. Scholkopf. Improving the accuracy and speed of support
vector learning machines.In M. Mozer, M. Jordan, and T. Petsche, editors,
Advances in Neural Information Processing Systems 9,pages 375381, Cambridge,
MA, 1997. MIT Press.
Slide 59
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
SUPPORT VECTOR MACHINE
ALGUNAS REFERENCIAS

Corinna Cortes, Vladimir Vapnik, "Support-Vector Networks", Machine Learning,
20, pp.273-297 (1995)

Edgar Osuna, Robert Freund, and Federico Girosi. Training support vector
machines: an application to face detection. In IEEE Conference on Computer Vision
and Pattern Recognition, pages 130 136, 1997.

M. Schmidt. Identifying speaker with support vector networks. In Interface 96
Proceedings, Sydney, 1996.

B. Scholkopf. Support Vector Learning. R. Oldenbourg Verlag, Munich, 1997.
Slide 60
Aprendizaje Estadstico
Universidad Nacional de Colombia
Betsy Estrada Carlos Mera
PREGUNTAS

Potrebbero piacerti anche