0% encontró este documento útil (0 votos)
71 vistas17 páginas

Introducción a Support Vector Machines

El documento describe el algoritmo de máquinas de vectores de soporte (SVM), incluyendo su funcionamiento intuitivo para encontrar el hiperplano de máxima distancia entre las clases, el uso de kernels para hacerlo aplicable a datos no linealmente separables, y ejemplos de kernels lineales, polinomiales y gaussianos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
71 vistas17 páginas

Introducción a Support Vector Machines

El documento describe el algoritmo de máquinas de vectores de soporte (SVM), incluyendo su funcionamiento intuitivo para encontrar el hiperplano de máxima distancia entre las clases, el uso de kernels para hacerlo aplicable a datos no linealmente separables, y ejemplos de kernels lineales, polinomiales y gaussianos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Support Vector Machine

Reconocimiento de Patrones

M.I. Joseph Isaac Ramírez Hernández


Introducción
Reconocimiento de Patrones

• Introducido por Cortes y Vapnik en 1992 en su trabajo Support-vector


networks y es uno de los algoritmos más utilizados en el aprendizaje
máquina.
• Se basa en el funcionamiento de una red neuronal multicapa.
• Funciona muy bien en conjuntos de datos pequeños o medianos, esto
debido a su complejidad computacional.

Introducción
Reconocimiento de Patrones

• Objetivamente, ¿cuál de las siguientes rectas separa mejor ambas clases?

¡Todas! El perceptrón propuesto por McCulloch y Pitts converge en


Cualquiera de los tres caso, sin embargo, el objetivo del algoritmo SVM
es encontrar la solución óptima

Funcionamiento intuitivo
Reconocimiento de Patrones

• La idea del funcionamiento del SVM


es formar un hiperplano ℋ que
separe las dos clases manteniendo
la mayor distancia posible. Esta
distancia es llamada margen y se
denota por la letra M.
Funcionamiento intuitivo
Reconocimiento de Patrones

• Los vectores que se encuentran


sobre las rectas de margen M se
denominan vectores de soporte.
• El objetivo del algoritmo es
encontrar los vectores de soporte
que permitan separar en mejor
medida las clases.

Funcionamiento intuitivo
Reconocimiento de Patrones

• Después del proceso de


entrenamiento, una vez
encontrados los vectores de
soporte se pueden eliminar los
puntos que no son vectores de
soporte. Esto ayuda en el proceso
de alojamiento de datos.
Funcionamiento
Reconocimiento de Patrones

• Se tiene un vector w ⃗ , el cual es


llamado vector de pesos. Este
vector es ortogonal al hiperplano. ŷ = ⟨ w ,⃗ x ⟩⃗ + b
• Considere un vector de entrada x⃗
(vector de características). Donde b se denomina bias o
• La salida del algoritmo se calcula polarizador y ⟨ ⋅ , ⋅ ⟩ es el
utilizando la siguiente expresión producto interno

Funcionamiento
Reconocimiento de Patrones

• El clasi icador utilizará esta salida para veri icar si el punto es o no de


una clase, por ejemplo.
w⃗
ℋ Si ⟨ w ,⃗ x ⟩⃗ + b > 0 entonces

Si ⟨ w ,⃗ x ⟩⃗ + b ≤ 0 entonces
f
f
Funcionamiento
Reconocimiento de Patrones

• El clasi icador debe considerar un margen M.

w⃗
ℋ Si ⟨ w ,⃗ x ⟩⃗ + b > M entonces

Si ⟨ w ,⃗ x ⟩⃗ + b ≤ − M entonces
f
Funcionamiento
Reconocimiento de Patrones

El punto ⃗
⋆ ⃗
x es un vector de soporte si ⟨ w ,⃗ x ⟩ + b = ± M

w⃗

1
La distancia óptima es
|| w ⃗||
Funcionamiento
Reconocimiento de Patrones

• Dado un hiperplano ŷ = ⟨ w ,⃗ x ⟩⃗ + b
con un vector de pesos ijo y un bias

(2 )
ijo es necesario calcular el margen M. 1 T
min w w entonces
Lo que se desea es que dicho margen
sea lo máximo posible, por lo que se
buscan valores de w ⃗ y b óptimos.
f
f
Problema ¡los datos no son linealmente separables! :(
Reconocimiento de Patrones

• Si los datos no son


linealmente separables,
entonces se hace uso de un
Kernel.
• Dicho kernel mapea
vectores de características
a un espacio de Hilbert.

De inición
Reconocimiento de Patrones

n n
De inición: Una función K(x, y) de inida en ℝ × ℝ es llamada kernel si
existe un mapeo ϕ en el espacio n-euclideano al espacio de Hilbert ℍ.

n
ϕ:ℝ ⟶ℍ x ↦ ϕ(x)

Tal que K(x, y) = ⟨ϕ(x), ϕ(y)⟩, donde ⟨ ⋅ , ⋅ ⟩ denota el producto interno


en el espacio de Hilbert.
f
f
f

Kernel Lineal
Reconocimiento de Patrones

+
De inición: Sean β1, β2 ∈ ℝ de inidos como la pendiente y la ordenada
respectivamente. La función de la forma

K(x, y) = β1⟨x, y⟩ + β2

Es llamado kernel lineal.


f
f

Kernel Polinomial
Reconocimiento de Patrones

De inición: Sea d un entero positivo, la función de orden d de la forma

d
K(x, y) = (⟨x, y⟩ + c)

donde c ≥ 0 es llamado kernel polinomial. Si c es cero, se dice que


K es un kernel homogéneo.
f

Kernel Gaussiano
Reconocimiento de Patrones

2
De inición: Sea γ un factor de la forma γ = 1/2σ siempre positivo. El kernel
guassiano se de ine como

2
K(x, y) = exp(−γ | | x − y | | )

donde exp representa la función exponencial base e y | | ⋅ | | representa


la magnitud de un vector en el espacio n-euclideano.
f
f

Actividad
Reconocimiento de Patrones

• ¿Cómo es el mapeo ϕ en el kernel gaussiano? Encuentre el mapeo


2
utilizando vectores de ℝ .
• Implemente el SVM para el conjunto de datos cardiovascular. Implemente
los diferentes kernel y encuentre el mejor porcentaje de clasi icación. ¡No
olvide escalar los datos!

También podría gustarte