SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
1
Máquina De Vectores De Soporte (SVM)
José Martin Sánchez Cardoso
Código: 084951132019
Juan Jairo Vélez
Código: 084951202019
Karen Romero Vaquiro
Código: 084951092019
Mauricio Moya Garzón
Código: 084950952019
Septiembre 2019.
Tutor: Ángel Alberto Vargas Cano
Universidad del Tolima
Ingeniería de Sistemas
Minería de Datos
Grupo 1
2
TABLA DE CONTENIDO
INTRODUCCIÓN .................................................................................................... 3
OBJETIVOS ............................................................................................................ 5
OBJETIVO GENERAL ......................................................................................... 5
OBJETIVO ESPECIFICO..................................................................................... 5
MÁQUINA DE VECTORES DE SOPORTE (SVM) ................................................. 6
HISTORIA............................................................................................................ 8
CLASIFICACIÓN ÓPTIMA CON MÁQUINAS DE VECTORES DE SOPORTE... 9
¿Por qué se llaman Máquinas de Vectores de Soporte?.................................. 9
REGULARIZACIÓN ........................................................................................... 10
EL TRUCO DEL KERNEL EN SVM................................................................... 11
IDEA BÁSICA .................................................................................................... 12
Elección de la frontera de decisión ................................................................. 13
Ejemplos: ....................................................................................................... 14
Soft margin: Errores de entrenamiento........................................................... 16
Función Kernel................................................................................................ 17
Tipos de funciones Kernel (Núcleo)................................................................ 18
MÁQUINA DE SOPORTE VECTORIAL PARA CLASIFICACIÓN ..................... 19
Tipos de Máquinas de Soporte Vectorial para la clasificación........................ 19
MÁQUINA DE SOPORTE VECTORIAL PARA REGRESIÓN ........................... 19
Tipos de Máquinas de Soporte Vectorial para la regresión ............................ 20
SVM MULTICLASE............................................................................................ 20
APLICACIONES DE LAS MÁQUINAS DE VECTORES DE SOPORTE............ 21
CONCLUSIONES ................................................................................................. 23
BIBLIOGRAFIA ..................................................................................................... 24
3
INTRODUCCIÓN
Actualmente la inteligencia artificial ha tomado una gran fuerza y aceptación a
nivel tanto industrial como residencial, debido a que muchas de sus aplicaciones
ayudan o apoyan al ser humano en sus actividades diarias tanto las cotidianas
como laborales; algunas aplicaciones de la inteligencia artificial son : Lingüística
computacional, Minería de datos (Data Mining), Industriales, Medicina, Mundos
virtuales, Procesamiento (Natural Language Processing), Robótica, Mecatrónica,
Sistemas de apoyo a la decisión, Videojuegos, Prototipos informáticos y Análisis
de sistemas dinámicos, entre otros.
Basada en algoritmos de computación, lógica y matemática ; es una herramienta
tan densa y útil, que ha sido clasificada en varios campos, por ejemplo las
machine learning o (máquinas de aprendizaje) las cuales son una rama de la
inteligencia artificial, y tienen como objeto el desarrollo de técnicas y procesos que
permitan que una computadora o un algoritmo computacional sea capaz de
aprender ; dicho de otra manera que sea capaz de generalizar una idea a partir de
ejemplos que le son suministrados; y así lograr predecir, clasificar y pronosticar; el
comportamiento de un sistema.
En 1959, Arthur L. Samuel define el aprendizaje de máquina como un "campo de
estudio que da a las computadoras la capacidad de aprender sin ser programada
de forma explícita"; su entrenamiento con bases de datos y ejemplos adecuados,
ayuda a la máquina de aprendizaje a ser más precisa y eficiente en su labor, son
sumamente utilices debido a su capacidad de aprendizaje; lo cual genera que en
ocasiones encuentre soluciones que no se habían programado en el sistema, es
decir que el sistema de datos puede ser variable y aun así, si la máquina de
aprendizaje tuvo un buen entrenamiento será capaz de analizar, predecir y
solucionar el problema que se le presente.
Son tan variadas y versátiles sus aplicaciones que lo encontramos incluso en el
simple hecho de ver una película online, como es el caso de la plataforma virtual
Netflix la cual utiliza el aprendizaje automático para dar a sus usuarios
4
sugerencias de las películas que posiblemente le interesen, basándose en las
programadas anteriormente.
Otra de las aplicaciones más renombras del aprendizaje automático, son los
automóviles no tripulados de google, los cuales basan parte de su funcionamiento
en esta rama de la inteligencia artificial.
Entre las distintas clasificaciones de máquinas de aprendizaje se encuentra,
Máquinas de vectores de soporte, esto son otro tipo de algoritmo de machine
learning supervisado aplicable a problemas de regresión y clasificación, aunque se
usa más comúnmente como modelo de clasificación. Las máquinas de vector
soporte suponen una generalización de un clasificador simple
denominado maximal margin classifier. Sin embargo, este clasificador no puede
aplicarse a sets de datos donde las clases de la variable respuesta no son
separables mediante un límite lineal. Una extensión del mismo, el support vector
classifier es aplicable en un mayor rango de casos. El support vector
machine supone una extensión más del support vector classifier para casos
con límites no lineales entre clases (clasificación binaria o de más clases).
5
OBJETIVOS
OBJETIVO GENERAL
Comprender la definición Máquina de Vectores de Soporte, abarcando desde
los aspectos de modelo matemático, tipos, gráficos, ejemplos, etc. Además
explicando de manera general sus distintas aplicaciones, en especial en el
mundo del data mining.
OBJETIVO ESPECIFICO
 Comprender la descripción e historia de Máquina de Vectores de
Soporte.
 Ofrecer un preámbulo a los lectores sobre Máquina de Vectores de
Soporte.
 Observar como la Máquina de Vectores de Soporte puede ser una
alternativa a las Redes Neuronales
6
MÁQUINA DE VECTORES DE SOPORTE (SVM)
Una máquina de vectores de soporte (SVM) es un algoritmo de aprendizaje
supervisado que se puede emplear para clasificación binaria o regresión. Las
máquinas de vectores de soporte son muy populares en aplicaciones como el
procesamiento del lenguaje natural, el habla, el reconocimiento de imágenes y
la visión artificial.
Estos métodos están propiamente relacionados con problemas de clasificación y
regresión. 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. Intuitivamente, una SVM es un modelo
que representa a los puntos de muestra en el espacio, separando las clases a 2
espacios lo más amplios posibles mediante un hiperplano de separación definido
como el vector entre los 2 puntos, de las 2 clases, más cercanos al que se llama
vector soporte. Cuando las nuevas muestras se ponen en correspondencia con
dicho modelo, en función de los espacios a los que pertenezcan, pueden ser
clasificadas a una o la otra clase.
Una máquina de vectores de soporte construye un hiperplano óptimo en forma de
superficie de decisión, de modo que el margen de separación entre las dos clases
en los datos se amplía al máximo. Los vectores de soporte hacen referencia a un
pequeño subconjunto de las observaciones de entrenamiento que se utilizan como
soporte para la ubicación óptima de la superficie de decisión.
El entrenamiento de una máquina de vectores de soporte consta de dos fases:
1. Transformar los predictores (datos de entrada) en un espacio de
características altamente dimensional. En esta fase es suficiente con
especificar el kernel; los datos nunca se transforman explícitamente al espacio
de características. Este proceso se conoce comúnmente como el truco kernel.
7
2. Resolver un problema de optimización cuadrática que se ajuste a un
hiperplano óptimo para clasificar las características transformadas en dos
clases. El número de características transformadas está determinado por el
número de vectores de soporte.
Para construir la superficie de decisión solo se requieren los vectores de soporte
seleccionados de los datos de entrenamiento. Una vez entrenados, el resto de los
datos de entrenamiento son irrelevantes.
Entre los kernels populares que se emplean con las máquinas SVM se incluyen:
Tipo de SVM Kernel Mercer Descripción
Función de
base radial
(RBF)
o gaussiana
K(x1,x2)=exp(−∥x1−x2∥22σ2)K(x1,x2)=exp⁡(−‖x
1−x2‖22σ2)
Aprendizaje de una
sola clase; σσes la
anchura del kernel
Lineal K(x1,x2)=xT1x2K(x1,x2)=x1Tx2 Aprendizaje de dos
clases
Polinómica K(x1,x2)=(xT1x2+1)ρK(x1,x2)=(x1Tx2+1)ρ ρρ es el orden del
polinomio
Sigmoid K(x1,x2)=tanh(β0xT1x2+β1)K(x1,x2)=tanh⁡(β0x
1Tx2+β1)
Es un kernel
Mercer solo para
determinados
valores β0β0 y β1β
1
8
HISTORIA
En épocas históricas, donde los intentos resultaban prematuros en relación a la
tecnología disponible, podemos considerar que el camino hacia la construcción de
máquinas inteligentes comienza en la Segunda Guerra Mundial, con el diseño de
ordenadores analógicos ideados para controlar cañones antiaéreos o para la
navegación. A partir de 1937 comienza el desarrollo de las primeras
computadoras como la Máquina de Turing hasta llegar a 1957 donde A. Newell, H.
Simon y J. Shaw presentaron el primer programa capaz de razonar sobre temas
arbitrarios. Hacia 1960 John McCarthy, acuña el término de inteligencia artificial,
para definir los métodos algorítmicos capaces de simular el pensamiento humano
en los ordenadores.
Entre los métodos teóricos más utilizados están las Redes Neuronales Artificiales
(RNA). Las RNA se han integrado dentro de los métodos ya clásicos del análisis
de las relaciones cuantitativas entre la estructura y la actividad biológica u otras
propiedades. Constituyen una de las áreas de la inteligencia artificial que ha
despertado mayor interés en los últimos años. La razón principal es que
potencialmente son capaces de resolver problemas cuya solución por otros
métodos convencionales resulta extremadamente difícil dada su capacidad de
aprender. Estos modelos de aprendizaje se clasifican en: Híbridos, Supervisados,
No Supervisados y Reforzados. Dentro de los Supervisados se encuentra la
técnica: Máquinas de Soporte Vectorial (MSV). Las MSV son un paradigma aparte
de la Redes Neuronales, pero a pesar de tener similitudes están mejor
fundamentadas en la teoría y tienen mucho mejor capacidad de generalización.
En la actualidad, las Máquinas de Soporte Vectorial pueden ser utilizadas para
resolver problemas tanto de clasificación como de regresión. Algunas de las
aplicaciones de clasificación o reconocimiento de patrones son: reconocimiento de
firmas, reconocimiento de imágenes como rostros y categorización de textos. Por
9
otro lado, las aplicaciones de regresión incluyen predicción de series de tiempo y
problemas de inversión en general.
CLASIFICACIÓN ÓPTIMA CON MÁQUINAS DE VECTORES DE SOPORTE
La línea que mejor distingue las zona de los puntos azules de la zona de los
puntos rojos es la línea que maximiza el margen entre ambos. Las máquinas de
vectores de soporte son una técnica de machine learning que encuentra la mejor
separación posible entre clases. Con dos dimensiones es fácil entender lo que
está haciendo. Normalmente, los problemas de aprendizaje automático tienen
muchísimas dimensiones. Así que en vez de encontrar la línea óptima, el SVM
encuentra el hiperplano que maximiza el margen de separación entre clases.
¿Por qué se llaman Máquinas de Vectores de Soporte?
Se llama «máquina» en español por la parte de «machine» learning. Los vectores
de soporte son los puntos que definen el margen máximo de separación del
hiperplano que separa las clases. Se llaman vectores, en lugar de puntos, porque
estos «puntos» tienen tantos elementos como dimensiones tenga nuestro espacio
10
de entrada. Es decir, estos puntos multi-dimensionales se representan con con
vector de n dimensiones.
REGULARIZACIÓN
Es bastante frecuente que los datos tenga ruido, que no estén etiquetados
perfectamente, o que el problema sea tan difícil que para unos pocos puntos, sea
muy complicado clasificarlos correctamente. Para estos casos, podemos decirle al
SVM (Support Vector Machine), que preferimos que generalice bien para la
mayoría de los casos, aunque algunos pocos casos del conjunto de entrenamiento
no estén perfectamente clasificados. Recuerda que lo que normalmente vamos
buscando es la construcción de modelos de aprendizaje automático
que generalicen bien. Para controlar la cantidad de regularización, podemos usar
el hiper-parámetro C, que hace las veces del inverso del alfa que vimos en
las regularizaciones Ridge, Lasso y ElasticNet.
11
EL TRUCO DEL KERNEL EN SVM
Hay veces en las que no hay forma de encontrar una hiperplano que permita
separar dos clases. En estos casos decimos que las clases no son linealmente
separables. Para resolver este problema podemos usar el truco del kernel.
El truco del kernel consiste en inventar una dimensión nueva en la que podamos
encontrar un hiperplano para separar las clases. En la siguiente figura vemos
cómo al añadir una dimensión nueva, podemos separar fácilmente las dos clases
con una superficie de decisión.
12
IDEA BÁSICA
Dado un conjunto de puntos, subconjunto de un conjunto mayor (espacio), en el
que cada uno de ellos pertenece a una de dos posibles categorías, un algoritmo
basado en SVM construye un modelo capaz de predecir si un punto nuevo (cuya
categoría desconocemos) pertenece a una categoría o a la otra.
Como en la mayoría de los métodos de clasificación supervisada, los datos de
entrada (los puntos) son vistos como un vector p-dimensional (una lista
ordenada de p números).
La SVM busca un hiperplano que separe de forma óptima a los puntos de una
clase de la de otra, que eventualmente han podido ser previamente proyectados a
un espacio de dimensionalidad superior.
En ese concepto de "separación óptima" es donde reside la característica
fundamental de las SVM: este tipo de algoritmos buscan el hiperplano que tenga la
máxima distancia (margen) con los puntos que estén más cerca de él mismo. Por
eso también a veces se les conoce a las SVM como clasificadores de margen
máximo. De esta forma, los puntos del vector que son etiquetados con una
categoría estarán a un lado del hiperplano y los casos que se encuentren en la
otra categoría estarán al otro lado.
Los algoritmos SVM pertenecen a la familia de los clasificadores lineales. También
pueden ser considerados un caso especial de la regularización de Tikhonov.
En la literatura de los SVMs, se llama atributo a la variable predictora
y característica a un atributo transformado que es usado para definir el hiperplano.
La elección de la representación más adecuada del universo estudiado, se realiza
mediante un proceso denominado selección de características.
Al vector formado por los puntos más cercanos al hiperplano se le llama vector de
soporte.
13
Los modelos basados en SVMs están estrechamente relacionados con las redes
neuronales. Usando una función kernel, resultan un método de entrenamiento
alternativo para clasificadores polinomiales, funciones de base
radial y perceptrón multicapa.
Elección de la frontera de decisión
Considermos un problema de clasificación linealmente separable; Son posibles
muchas fronteras de decisión. ¿Son todas igual de buenas?
Como vemos, existe un número infinito de posibles hiperplanos (líneas) que
realicen la clasificación pero, ¿cuál es la mejor y cómo la definimos?
Para ello debemos:
 Maximizar el margen m
 Calcular la distancia entre el orígen y la línea, que se calcula así:
w^t x = k ; x= k/w*t
14
Ejemplos:
Veamos dos ejemplos en los que partimos de un montón de datos sin clasificar y
los clasificamos, aplicando algún algoritmo SVM, en 2 grupos o bandos:
15
Donde:
 Input space : el espacio de los xi (o donde están los datos originalmente).
 Feature space : el espacio de los φ(xi) (o el espacio de los datos después
de aplicar una transformación).
Pasos:
 Generar/elegir la línea frontera o de decisión que divida el plano o el espacio.
 Transformar Xi a un espacio de dimensión superior mediante una función φ.
 ¿Por qué transformar?: A menudo el problema se vuelve más sencillo.
16
 Problema derivado de la transformación: calcular en el espacio transformado
muchas veces es computacionalmente costoso, ya que es posible que se aumente
la dimensionalidad:
o Solución: Usar kernels
Soft margin: Errores de entrenamiento
Idealmente, el modelo basado en SVM debería producir un hiperplano que separe
completamente los datos del universo estudiado en dos categorías.
Sin embargo, una separación perfecta no siempre es posible y, si lo es, el
resultado del modelo no puede ser generalizado para otros datos. Esto se conoce
como sobreajuste (overfitting).
Con el fin de permitir cierta flexibilidad, los SVM manejan un parámetro C que
controla la compensación entre errores de entrenamiento y los márgenes rígidos,
creando así un margen blando (soft margin) que permita algunos errores en la
clasificación a la vez que los penaliza.
17
Función Kernel
a manera más simple de realizar la separación es mediante una línea recta, un
plano recto o un hiperplano N-dimensional.
Desafortunadamente los universos a estudiar no se suelen presentar en casos
idílicos de dos dimensiones como en el ejemplo anterior, sino que un algoritmo
SVM debe tratar con a) más de dos variables predictoras, b) curvas no lineales de
separación, c) casos donde los conjuntos de datos no pueden ser completamente
separados, d) clasificaciones en más de dos categorías.
Debido a las limitaciones computacionales de las máquinas de aprendizaje lineal,
éstas no pueden ser utilizadas en la mayoría de las aplicaciones del mundo real.
La representación por medio de funciones Kernel ofrece una solución a este
problema, proyectando la información a un espacio de características de mayor
dimensión el cual aumenta la capacidad computacional de la máquinas de
aprendizaje lineal. Es decir, mapearemos el espacio de entradas X a un nuevo
espacio de características de mayor dimensionalidad (Hilbert):
F = {φ(x)|x ∈ X}
x = {x1, x2, · · ·, xn} → φ(x) = {φ1(x), φ2(x), · · ·, φn(x)}
18
Tipos de funciones Kernel (Núcleo)
 Polinomial-homogénea: K(xi, xj) = (xi·xj)n
 Perceptron: K(xi, xj)= || xi-xj ||
 Función de base radial Gaussiana: separado por un hiperplano en el espacio
transformado.
K(xi, xj)=exp(-(xi-xj)2
/2(sigma)2
)
19
 Sigmoid: K(xi, xj)=tanh(xi· xj−θ)
MÁQUINA DE SOPORTE VECTORIAL PARA CLASIFICACIÓN
Entre las aplicaciones más relevantes de las MSV se encuentra la Clasificación, el
problema de la clasificación puede reducirse a examinar dos clases sin pérdida de
generalidad. La tarea es encontrar un clasificador que funcione bien en datos
futuros, es decir que generalice bien la clasificación.
Tipos de Máquinas de Soporte Vectorial para la clasificación
Dentro de las máquinas de soporte vectorial para la clasificación se encuentran:
 C_SVC.
 nu-SVC.
 one_class.
MÁQUINA DE SOPORTE VECTORIAL PARA REGRESIÓN
Las MSV se desarrollaron inicialmente para solucionar problemas de clasificación,
pero se han ampliado para problemas de regresión. Los resultados finales a los
que se puede arribar luego del empleo de las MSV pueden ser cualitativos o
cuantitativos, para el análisis cuantitativo se emplean MSV para regresión. Dicho
método es una extensión del anteriormente explicado donde se incluyen los
estimadores de rangos. El empleo de estos determinan los valores que tienen
ruido dentro de la predicción a través de funciones de pérdida, donde los primeros
20
pasos en este sentido se dieron por Tuckey quien demostró que, en situaciones
reales, se desconoce el modelo del ruido y dista de las distribuciones supuestas. A
raíz de esto, Huber crea el concepto de estimadores robustos los cuales están
determinados por funciones de pérdida. En la actualidad, las más utilizadas son:
las funciones de pérdida cuadrática y lineal, y la de Huber, entre otras. En este
tipo de técnicas, su estructura se determina sobre la base del conjunto de
entrenamiento necesitándose pocos parámetros para el mismo. Dicho
entrenamiento se reduce a la solución de un problema de optimización que se
reduce a un problema de programación cuadrática. Al mismo tiempo, el uso de las
funciones Kernels muestra una gran eficiencia en el resultado de la predicción.
La idea básica de SVR consiste en realizar un mapeo de los datos de
entrenamiento x ∈ X, a un espacio de mayor dimensión F a través de un mapeo no
lineal φ: X → F, donde podemos realizar una regresión lineal.
Tipos de Máquinas de Soporte Vectorial para la regresión
 Epsilon_SVR.
 NU_SVR.
SVM MULTICLASE
Hay dos filosofías básicas para resolver el problema de querer clasificar los datos
en más de dos categorías:
 a) cada categoría es dividida en otras y todas son combinadas.
 b) se construyen k(k-1) / 2 modelos donde k es el número de categorías.
COMPARATIVA SVM VS ANN
La siguiente tabla muestra una comparativa entre las redes neuronales artificiales
y los algoritmos SVM.
21
APLICACIONES DE LAS MÁQUINAS DE VECTORES DE SOPORTE
Las máquinas de vectores de soporte eran muy utilizadas antes de la era del
aprendizaje profundo. Para muchas aplicaciones se prefería el uso de SVM en
lugar de redes neuronales. La razón era que las matemáticas de los SVM se
entiende muy bien y la propiedad de obtener el margen de separación máximo era
muy atractivo. Las redes neuronales podrían realizar clasificación de forma
equivocada como hemos visto en los ejemplos anteriores.
Algunos casos de éxito de las máquinas de vectores de soporte son:
 reconocimiento óptico de caracteres
 detección de caras para que las cámaras digitales enfoquen correctamente
 filtros de spam para correo electrónico
 reconocimiento de imágenes a bordo de satélites (saber qué partes de una
imagen tienen nubes, tierra, agua, hielo, etc.)
Actualmente, las redes neuronales profundas tienen una mayor capacidad de
aprendizaje y generalización que los SVM.
22
23
CONCLUSIONES
Una lección aprendida en las SVM: un algoritmo lineal en el espacio de
características es equivalente a un algoritmo no lineal en el espacio de entrada.
Algoritmos clásicos pueden ser generalizados a su versión no lineal yendo al
espacio de características.
El kernel de análisis de componente principal, el kernel de análisis de
componente independiente, el kernel de análisis de correlación canónico, el
kernel k-means, las SVM en 1D son algunos ejemplos.
Las SVM son una buena alternativa a las redes neuronales.
Dos conceptos claves de SVM: maximizar el margen y el truco del kernel.
Muchas investigaciones se encuentran activas alrededor de áreas relacionadas
con SVM
24
BIBLIOGRAFIA
 https://www.ecured.cu/M%C3%A1quinas_de_Soporte_Vectorial
 https://la.mathworks.com/discovery/support-vector-machine.html
 https://iartificial.net/maquinas-de-vectores-de-soporte-
svm/#Algunas_aplicaciones_de_las_maquinas_de_vectores_de_soporte
 https://platzi.com/tutoriales/1180-redes-neuronales/2677-maquinas-de-vectores-
de-soporte-clasificacion-y-regresion/
 https://iartificial.net/maquinas-de-vectores-de-soporte-
svm/#Algunas_aplicaciones_de_las_maquinas_de_vectores_de_soporte

Más contenido relacionado

La actualidad más candente

Support vector machine
Support vector machineSupport vector machine
Support vector machineMusa Hawamdah
 
Classification Algorithm.
Classification Algorithm.Classification Algorithm.
Classification Algorithm.Megha Sharma
 
Bias and variance trade off
Bias and variance trade offBias and variance trade off
Bias and variance trade offVARUN KUMAR
 
DATAWAREHOUSE
DATAWAREHOUSEDATAWAREHOUSE
DATAWAREHOUSEnestor
 
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-infoArchivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-infoMario Chávez Morales
 
simulacion numeros pseudoaleatorios
simulacion numeros pseudoaleatoriossimulacion numeros pseudoaleatorios
simulacion numeros pseudoaleatoriosAnel Sosa
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesadorManuel Ceron
 
Introduction to distributed database
Introduction to distributed databaseIntroduction to distributed database
Introduction to distributed databaseSonia Panesar
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del softwareRenny Batista
 
Modelado UML de sistema punto venta
Modelado UML de sistema punto ventaModelado UML de sistema punto venta
Modelado UML de sistema punto ventaRafael Diaz
 

La actualidad más candente (20)

Support vector machine
Support vector machineSupport vector machine
Support vector machine
 
Ridge regression
Ridge regressionRidge regression
Ridge regression
 
Ejercicios sql (1)
Ejercicios sql (1)Ejercicios sql (1)
Ejercicios sql (1)
 
Classification Algorithm.
Classification Algorithm.Classification Algorithm.
Classification Algorithm.
 
Bias and variance trade off
Bias and variance trade offBias and variance trade off
Bias and variance trade off
 
DATAWAREHOUSE
DATAWAREHOUSEDATAWAREHOUSE
DATAWAREHOUSE
 
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-infoArchivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
 
simulacion numeros pseudoaleatorios
simulacion numeros pseudoaleatoriossimulacion numeros pseudoaleatorios
simulacion numeros pseudoaleatorios
 
Planificacion del procesador
Planificacion del procesadorPlanificacion del procesador
Planificacion del procesador
 
Introduction to distributed database
Introduction to distributed databaseIntroduction to distributed database
Introduction to distributed database
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
Introducción a machine learning
Introducción a machine learningIntroducción a machine learning
Introducción a machine learning
 
Formatos Psp 0
Formatos Psp 0Formatos Psp 0
Formatos Psp 0
 
Cuadro comparativo sgbd
Cuadro comparativo sgbdCuadro comparativo sgbd
Cuadro comparativo sgbd
 
Interbloqueo
InterbloqueoInterbloqueo
Interbloqueo
 
Metodo congruencial mixto en java
Metodo congruencial mixto en javaMetodo congruencial mixto en java
Metodo congruencial mixto en java
 
Isolation Forest
Isolation ForestIsolation Forest
Isolation Forest
 
Modelado UML de sistema punto venta
Modelado UML de sistema punto ventaModelado UML de sistema punto venta
Modelado UML de sistema punto venta
 
Recuperación de-datos-en-my sql
Recuperación de-datos-en-my sqlRecuperación de-datos-en-my sql
Recuperación de-datos-en-my sql
 

Similar a Maquinas de vectores (20)

Maquina de soporte vectorial
Maquina de soporte vectorialMaquina de soporte vectorial
Maquina de soporte vectorial
 
Los sdkn
Los sdknLos sdkn
Los sdkn
 
Maple 10 para matemáticas básicas
Maple 10 para matemáticas básicasMaple 10 para matemáticas básicas
Maple 10 para matemáticas básicas
 
Casos prácticos de uml
Casos prácticos de umlCasos prácticos de uml
Casos prácticos de uml
 
Apuntes de clase matlab.abril2019
Apuntes de clase  matlab.abril2019Apuntes de clase  matlab.abril2019
Apuntes de clase matlab.abril2019
 
Modelo crc
Modelo crc   Modelo crc
Modelo crc
 
TransCAD Module I
TransCAD Module ITransCAD Module I
TransCAD Module I
 
Guia matlab
Guia matlabGuia matlab
Guia matlab
 
Manual analisis-de-algoritmos
Manual analisis-de-algoritmosManual analisis-de-algoritmos
Manual analisis-de-algoritmos
 
Manual análisis de algoritmos
Manual análisis de algoritmosManual análisis de algoritmos
Manual análisis de algoritmos
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmos
 
Guia programacion ii segundo semestre 2011 unipamplona
Guia programacion ii segundo semestre 2011 unipamplonaGuia programacion ii segundo semestre 2011 unipamplona
Guia programacion ii segundo semestre 2011 unipamplona
 
Manual sage principiantes
Manual sage principiantesManual sage principiantes
Manual sage principiantes
 
Pu3
Pu3Pu3
Pu3
 
Logica difusa
Logica difusaLogica difusa
Logica difusa
 
Proyecto. vision artificial
Proyecto. vision artificialProyecto. vision artificial
Proyecto. vision artificial
 
paso4.docx
paso4.docxpaso4.docx
paso4.docx
 
Taller # 3 Modelos de Colas y Simulación”.pdf
Taller # 3 Modelos de Colas y Simulación”.pdfTaller # 3 Modelos de Colas y Simulación”.pdf
Taller # 3 Modelos de Colas y Simulación”.pdf
 
Sistemas expertos
Sistemas expertosSistemas expertos
Sistemas expertos
 
Lady informe ia
Lady informe iaLady informe ia
Lady informe ia
 

Más de Jose Sanchez

Sanchez_Jose_Semana8.pdf
Sanchez_Jose_Semana8.pdfSanchez_Jose_Semana8.pdf
Sanchez_Jose_Semana8.pdfJose Sanchez
 
Database miningguide
Database miningguideDatabase miningguide
Database miningguideJose Sanchez
 
Ensayo tutoria 1 sep
Ensayo tutoria 1 sepEnsayo tutoria 1 sep
Ensayo tutoria 1 sepJose Sanchez
 
Algoritmos para aplicar data mining
Algoritmos para aplicar data miningAlgoritmos para aplicar data mining
Algoritmos para aplicar data miningJose Sanchez
 
Segunda condicional
Segunda condicionalSegunda condicional
Segunda condicionalJose Sanchez
 
Aprenda Java como si estuviera en primero
Aprenda Java como si estuviera en primeroAprenda Java como si estuviera en primero
Aprenda Java como si estuviera en primeroJose Sanchez
 
Preguntas generadoras(1)
Preguntas generadoras(1)Preguntas generadoras(1)
Preguntas generadoras(1)Jose Sanchez
 
Actividad de Aprendizaje
Actividad de AprendizajeActividad de Aprendizaje
Actividad de AprendizajeJose Sanchez
 
Herramientas de Programación
Herramientas de ProgramaciónHerramientas de Programación
Herramientas de ProgramaciónJose Sanchez
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosJose Sanchez
 
Paradigmas de Programación
Paradigmas de ProgramaciónParadigmas de Programación
Paradigmas de ProgramaciónJose Sanchez
 
Introducción a los paradigmas de programación
Introducción a los paradigmas de programaciónIntroducción a los paradigmas de programación
Introducción a los paradigmas de programaciónJose Sanchez
 
Personal introduction
Personal introductionPersonal introduction
Personal introductionJose Sanchez
 

Más de Jose Sanchez (20)

Sanchez_Jose_Semana8.pdf
Sanchez_Jose_Semana8.pdfSanchez_Jose_Semana8.pdf
Sanchez_Jose_Semana8.pdf
 
Database miningguide
Database miningguideDatabase miningguide
Database miningguide
 
Ensayo tutoria 1 sep
Ensayo tutoria 1 sepEnsayo tutoria 1 sep
Ensayo tutoria 1 sep
 
Algoritmos para aplicar data mining
Algoritmos para aplicar data miningAlgoritmos para aplicar data mining
Algoritmos para aplicar data mining
 
Data mining
Data mining Data mining
Data mining
 
Segunda condicional
Segunda condicionalSegunda condicional
Segunda condicional
 
Unit 8
Unit 8Unit 8
Unit 8
 
Aprenda Java como si estuviera en primero
Aprenda Java como si estuviera en primeroAprenda Java como si estuviera en primero
Aprenda Java como si estuviera en primero
 
Preguntas generadoras(1)
Preguntas generadoras(1)Preguntas generadoras(1)
Preguntas generadoras(1)
 
Taller n°1(1)
Taller n°1(1)Taller n°1(1)
Taller n°1(1)
 
Actividad de Aprendizaje
Actividad de AprendizajeActividad de Aprendizaje
Actividad de Aprendizaje
 
Herramientas de Programación
Herramientas de ProgramaciónHerramientas de Programación
Herramientas de Programación
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a Objetos
 
Paradigmas de Programación
Paradigmas de ProgramaciónParadigmas de Programación
Paradigmas de Programación
 
Introducción a los paradigmas de programación
Introducción a los paradigmas de programaciónIntroducción a los paradigmas de programación
Introducción a los paradigmas de programación
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
The thirty
The thirtyThe thirty
The thirty
 
Resumen 39 steps
Resumen 39 stepsResumen 39 steps
Resumen 39 steps
 
My daily routine
My daily routineMy daily routine
My daily routine
 
Personal introduction
Personal introductionPersonal introduction
Personal introduction
 

Maquinas de vectores

  • 1. 1 Máquina De Vectores De Soporte (SVM) José Martin Sánchez Cardoso Código: 084951132019 Juan Jairo Vélez Código: 084951202019 Karen Romero Vaquiro Código: 084951092019 Mauricio Moya Garzón Código: 084950952019 Septiembre 2019. Tutor: Ángel Alberto Vargas Cano Universidad del Tolima Ingeniería de Sistemas Minería de Datos Grupo 1
  • 2. 2 TABLA DE CONTENIDO INTRODUCCIÓN .................................................................................................... 3 OBJETIVOS ............................................................................................................ 5 OBJETIVO GENERAL ......................................................................................... 5 OBJETIVO ESPECIFICO..................................................................................... 5 MÁQUINA DE VECTORES DE SOPORTE (SVM) ................................................. 6 HISTORIA............................................................................................................ 8 CLASIFICACIÓN ÓPTIMA CON MÁQUINAS DE VECTORES DE SOPORTE... 9 ¿Por qué se llaman Máquinas de Vectores de Soporte?.................................. 9 REGULARIZACIÓN ........................................................................................... 10 EL TRUCO DEL KERNEL EN SVM................................................................... 11 IDEA BÁSICA .................................................................................................... 12 Elección de la frontera de decisión ................................................................. 13 Ejemplos: ....................................................................................................... 14 Soft margin: Errores de entrenamiento........................................................... 16 Función Kernel................................................................................................ 17 Tipos de funciones Kernel (Núcleo)................................................................ 18 MÁQUINA DE SOPORTE VECTORIAL PARA CLASIFICACIÓN ..................... 19 Tipos de Máquinas de Soporte Vectorial para la clasificación........................ 19 MÁQUINA DE SOPORTE VECTORIAL PARA REGRESIÓN ........................... 19 Tipos de Máquinas de Soporte Vectorial para la regresión ............................ 20 SVM MULTICLASE............................................................................................ 20 APLICACIONES DE LAS MÁQUINAS DE VECTORES DE SOPORTE............ 21 CONCLUSIONES ................................................................................................. 23 BIBLIOGRAFIA ..................................................................................................... 24
  • 3. 3 INTRODUCCIÓN Actualmente la inteligencia artificial ha tomado una gran fuerza y aceptación a nivel tanto industrial como residencial, debido a que muchas de sus aplicaciones ayudan o apoyan al ser humano en sus actividades diarias tanto las cotidianas como laborales; algunas aplicaciones de la inteligencia artificial son : Lingüística computacional, Minería de datos (Data Mining), Industriales, Medicina, Mundos virtuales, Procesamiento (Natural Language Processing), Robótica, Mecatrónica, Sistemas de apoyo a la decisión, Videojuegos, Prototipos informáticos y Análisis de sistemas dinámicos, entre otros. Basada en algoritmos de computación, lógica y matemática ; es una herramienta tan densa y útil, que ha sido clasificada en varios campos, por ejemplo las machine learning o (máquinas de aprendizaje) las cuales son una rama de la inteligencia artificial, y tienen como objeto el desarrollo de técnicas y procesos que permitan que una computadora o un algoritmo computacional sea capaz de aprender ; dicho de otra manera que sea capaz de generalizar una idea a partir de ejemplos que le son suministrados; y así lograr predecir, clasificar y pronosticar; el comportamiento de un sistema. En 1959, Arthur L. Samuel define el aprendizaje de máquina como un "campo de estudio que da a las computadoras la capacidad de aprender sin ser programada de forma explícita"; su entrenamiento con bases de datos y ejemplos adecuados, ayuda a la máquina de aprendizaje a ser más precisa y eficiente en su labor, son sumamente utilices debido a su capacidad de aprendizaje; lo cual genera que en ocasiones encuentre soluciones que no se habían programado en el sistema, es decir que el sistema de datos puede ser variable y aun así, si la máquina de aprendizaje tuvo un buen entrenamiento será capaz de analizar, predecir y solucionar el problema que se le presente. Son tan variadas y versátiles sus aplicaciones que lo encontramos incluso en el simple hecho de ver una película online, como es el caso de la plataforma virtual Netflix la cual utiliza el aprendizaje automático para dar a sus usuarios
  • 4. 4 sugerencias de las películas que posiblemente le interesen, basándose en las programadas anteriormente. Otra de las aplicaciones más renombras del aprendizaje automático, son los automóviles no tripulados de google, los cuales basan parte de su funcionamiento en esta rama de la inteligencia artificial. Entre las distintas clasificaciones de máquinas de aprendizaje se encuentra, Máquinas de vectores de soporte, esto son otro tipo de algoritmo de machine learning supervisado aplicable a problemas de regresión y clasificación, aunque se usa más comúnmente como modelo de clasificación. Las máquinas de vector soporte suponen una generalización de un clasificador simple denominado maximal margin classifier. Sin embargo, este clasificador no puede aplicarse a sets de datos donde las clases de la variable respuesta no son separables mediante un límite lineal. Una extensión del mismo, el support vector classifier es aplicable en un mayor rango de casos. El support vector machine supone una extensión más del support vector classifier para casos con límites no lineales entre clases (clasificación binaria o de más clases).
  • 5. 5 OBJETIVOS OBJETIVO GENERAL Comprender la definición Máquina de Vectores de Soporte, abarcando desde los aspectos de modelo matemático, tipos, gráficos, ejemplos, etc. Además explicando de manera general sus distintas aplicaciones, en especial en el mundo del data mining. OBJETIVO ESPECIFICO  Comprender la descripción e historia de Máquina de Vectores de Soporte.  Ofrecer un preámbulo a los lectores sobre Máquina de Vectores de Soporte.  Observar como la Máquina de Vectores de Soporte puede ser una alternativa a las Redes Neuronales
  • 6. 6 MÁQUINA DE VECTORES DE SOPORTE (SVM) Una máquina de vectores de soporte (SVM) es un algoritmo de aprendizaje supervisado que se puede emplear para clasificación binaria o regresión. Las máquinas de vectores de soporte son muy populares en aplicaciones como el procesamiento del lenguaje natural, el habla, el reconocimiento de imágenes y la visión artificial. Estos métodos están propiamente relacionados con problemas de clasificación y regresión. 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. Intuitivamente, una SVM es un modelo que representa a los puntos de muestra en el espacio, separando las clases a 2 espacios lo más amplios posibles mediante un hiperplano de separación definido como el vector entre los 2 puntos, de las 2 clases, más cercanos al que se llama vector soporte. Cuando las nuevas muestras se ponen en correspondencia con dicho modelo, en función de los espacios a los que pertenezcan, pueden ser clasificadas a una o la otra clase. Una máquina de vectores de soporte construye un hiperplano óptimo en forma de superficie de decisión, de modo que el margen de separación entre las dos clases en los datos se amplía al máximo. Los vectores de soporte hacen referencia a un pequeño subconjunto de las observaciones de entrenamiento que se utilizan como soporte para la ubicación óptima de la superficie de decisión. El entrenamiento de una máquina de vectores de soporte consta de dos fases: 1. Transformar los predictores (datos de entrada) en un espacio de características altamente dimensional. En esta fase es suficiente con especificar el kernel; los datos nunca se transforman explícitamente al espacio de características. Este proceso se conoce comúnmente como el truco kernel.
  • 7. 7 2. Resolver un problema de optimización cuadrática que se ajuste a un hiperplano óptimo para clasificar las características transformadas en dos clases. El número de características transformadas está determinado por el número de vectores de soporte. Para construir la superficie de decisión solo se requieren los vectores de soporte seleccionados de los datos de entrenamiento. Una vez entrenados, el resto de los datos de entrenamiento son irrelevantes. Entre los kernels populares que se emplean con las máquinas SVM se incluyen: Tipo de SVM Kernel Mercer Descripción Función de base radial (RBF) o gaussiana K(x1,x2)=exp(−∥x1−x2∥22σ2)K(x1,x2)=exp⁡(−‖x 1−x2‖22σ2) Aprendizaje de una sola clase; σσes la anchura del kernel Lineal K(x1,x2)=xT1x2K(x1,x2)=x1Tx2 Aprendizaje de dos clases Polinómica K(x1,x2)=(xT1x2+1)ρK(x1,x2)=(x1Tx2+1)ρ ρρ es el orden del polinomio Sigmoid K(x1,x2)=tanh(β0xT1x2+β1)K(x1,x2)=tanh⁡(β0x 1Tx2+β1) Es un kernel Mercer solo para determinados valores β0β0 y β1β 1
  • 8. 8 HISTORIA En épocas históricas, donde los intentos resultaban prematuros en relación a la tecnología disponible, podemos considerar que el camino hacia la construcción de máquinas inteligentes comienza en la Segunda Guerra Mundial, con el diseño de ordenadores analógicos ideados para controlar cañones antiaéreos o para la navegación. A partir de 1937 comienza el desarrollo de las primeras computadoras como la Máquina de Turing hasta llegar a 1957 donde A. Newell, H. Simon y J. Shaw presentaron el primer programa capaz de razonar sobre temas arbitrarios. Hacia 1960 John McCarthy, acuña el término de inteligencia artificial, para definir los métodos algorítmicos capaces de simular el pensamiento humano en los ordenadores. Entre los métodos teóricos más utilizados están las Redes Neuronales Artificiales (RNA). Las RNA se han integrado dentro de los métodos ya clásicos del análisis de las relaciones cuantitativas entre la estructura y la actividad biológica u otras propiedades. Constituyen una de las áreas de la inteligencia artificial que ha despertado mayor interés en los últimos años. La razón principal es que potencialmente son capaces de resolver problemas cuya solución por otros métodos convencionales resulta extremadamente difícil dada su capacidad de aprender. Estos modelos de aprendizaje se clasifican en: Híbridos, Supervisados, No Supervisados y Reforzados. Dentro de los Supervisados se encuentra la técnica: Máquinas de Soporte Vectorial (MSV). Las MSV son un paradigma aparte de la Redes Neuronales, pero a pesar de tener similitudes están mejor fundamentadas en la teoría y tienen mucho mejor capacidad de generalización. En la actualidad, las Máquinas de Soporte Vectorial pueden ser utilizadas para resolver problemas tanto de clasificación como de regresión. Algunas de las aplicaciones de clasificación o reconocimiento de patrones son: reconocimiento de firmas, reconocimiento de imágenes como rostros y categorización de textos. Por
  • 9. 9 otro lado, las aplicaciones de regresión incluyen predicción de series de tiempo y problemas de inversión en general. CLASIFICACIÓN ÓPTIMA CON MÁQUINAS DE VECTORES DE SOPORTE La línea que mejor distingue las zona de los puntos azules de la zona de los puntos rojos es la línea que maximiza el margen entre ambos. Las máquinas de vectores de soporte son una técnica de machine learning que encuentra la mejor separación posible entre clases. Con dos dimensiones es fácil entender lo que está haciendo. Normalmente, los problemas de aprendizaje automático tienen muchísimas dimensiones. Así que en vez de encontrar la línea óptima, el SVM encuentra el hiperplano que maximiza el margen de separación entre clases. ¿Por qué se llaman Máquinas de Vectores de Soporte? Se llama «máquina» en español por la parte de «machine» learning. Los vectores de soporte son los puntos que definen el margen máximo de separación del hiperplano que separa las clases. Se llaman vectores, en lugar de puntos, porque estos «puntos» tienen tantos elementos como dimensiones tenga nuestro espacio
  • 10. 10 de entrada. Es decir, estos puntos multi-dimensionales se representan con con vector de n dimensiones. REGULARIZACIÓN Es bastante frecuente que los datos tenga ruido, que no estén etiquetados perfectamente, o que el problema sea tan difícil que para unos pocos puntos, sea muy complicado clasificarlos correctamente. Para estos casos, podemos decirle al SVM (Support Vector Machine), que preferimos que generalice bien para la mayoría de los casos, aunque algunos pocos casos del conjunto de entrenamiento no estén perfectamente clasificados. Recuerda que lo que normalmente vamos buscando es la construcción de modelos de aprendizaje automático que generalicen bien. Para controlar la cantidad de regularización, podemos usar el hiper-parámetro C, que hace las veces del inverso del alfa que vimos en las regularizaciones Ridge, Lasso y ElasticNet.
  • 11. 11 EL TRUCO DEL KERNEL EN SVM Hay veces en las que no hay forma de encontrar una hiperplano que permita separar dos clases. En estos casos decimos que las clases no son linealmente separables. Para resolver este problema podemos usar el truco del kernel. El truco del kernel consiste en inventar una dimensión nueva en la que podamos encontrar un hiperplano para separar las clases. En la siguiente figura vemos cómo al añadir una dimensión nueva, podemos separar fácilmente las dos clases con una superficie de decisión.
  • 12. 12 IDEA BÁSICA Dado un conjunto de puntos, subconjunto de un conjunto mayor (espacio), en el que cada uno de ellos pertenece a una de dos posibles categorías, un algoritmo basado en SVM construye un modelo capaz de predecir si un punto nuevo (cuya categoría desconocemos) pertenece a una categoría o a la otra. Como en la mayoría de los métodos de clasificación supervisada, los datos de entrada (los puntos) son vistos como un vector p-dimensional (una lista ordenada de p números). La SVM busca un hiperplano que separe de forma óptima a los puntos de una clase de la de otra, que eventualmente han podido ser previamente proyectados a un espacio de dimensionalidad superior. En ese concepto de "separación óptima" es donde reside la característica fundamental de las SVM: este tipo de algoritmos buscan el hiperplano que tenga la máxima distancia (margen) con los puntos que estén más cerca de él mismo. Por eso también a veces se les conoce a las SVM como clasificadores de margen máximo. De esta forma, los puntos del vector que son etiquetados con una categoría estarán a un lado del hiperplano y los casos que se encuentren en la otra categoría estarán al otro lado. Los algoritmos SVM pertenecen a la familia de los clasificadores lineales. También pueden ser considerados un caso especial de la regularización de Tikhonov. En la literatura de los SVMs, se llama atributo a la variable predictora y característica a un atributo transformado que es usado para definir el hiperplano. La elección de la representación más adecuada del universo estudiado, se realiza mediante un proceso denominado selección de características. Al vector formado por los puntos más cercanos al hiperplano se le llama vector de soporte.
  • 13. 13 Los modelos basados en SVMs están estrechamente relacionados con las redes neuronales. Usando una función kernel, resultan un método de entrenamiento alternativo para clasificadores polinomiales, funciones de base radial y perceptrón multicapa. Elección de la frontera de decisión Considermos un problema de clasificación linealmente separable; Son posibles muchas fronteras de decisión. ¿Son todas igual de buenas? Como vemos, existe un número infinito de posibles hiperplanos (líneas) que realicen la clasificación pero, ¿cuál es la mejor y cómo la definimos? Para ello debemos:  Maximizar el margen m  Calcular la distancia entre el orígen y la línea, que se calcula así: w^t x = k ; x= k/w*t
  • 14. 14 Ejemplos: Veamos dos ejemplos en los que partimos de un montón de datos sin clasificar y los clasificamos, aplicando algún algoritmo SVM, en 2 grupos o bandos:
  • 15. 15 Donde:  Input space : el espacio de los xi (o donde están los datos originalmente).  Feature space : el espacio de los φ(xi) (o el espacio de los datos después de aplicar una transformación). Pasos:  Generar/elegir la línea frontera o de decisión que divida el plano o el espacio.  Transformar Xi a un espacio de dimensión superior mediante una función φ.  ¿Por qué transformar?: A menudo el problema se vuelve más sencillo.
  • 16. 16  Problema derivado de la transformación: calcular en el espacio transformado muchas veces es computacionalmente costoso, ya que es posible que se aumente la dimensionalidad: o Solución: Usar kernels Soft margin: Errores de entrenamiento Idealmente, el modelo basado en SVM debería producir un hiperplano que separe completamente los datos del universo estudiado en dos categorías. Sin embargo, una separación perfecta no siempre es posible y, si lo es, el resultado del modelo no puede ser generalizado para otros datos. Esto se conoce como sobreajuste (overfitting). Con el fin de permitir cierta flexibilidad, los SVM manejan un parámetro C que controla la compensación entre errores de entrenamiento y los márgenes rígidos, creando así un margen blando (soft margin) que permita algunos errores en la clasificación a la vez que los penaliza.
  • 17. 17 Función Kernel a manera más simple de realizar la separación es mediante una línea recta, un plano recto o un hiperplano N-dimensional. Desafortunadamente los universos a estudiar no se suelen presentar en casos idílicos de dos dimensiones como en el ejemplo anterior, sino que un algoritmo SVM debe tratar con a) más de dos variables predictoras, b) curvas no lineales de separación, c) casos donde los conjuntos de datos no pueden ser completamente separados, d) clasificaciones en más de dos categorías. Debido a las limitaciones computacionales de las máquinas de aprendizaje lineal, éstas no pueden ser utilizadas en la mayoría de las aplicaciones del mundo real. La representación por medio de funciones Kernel ofrece una solución a este problema, proyectando la información a un espacio de características de mayor dimensión el cual aumenta la capacidad computacional de la máquinas de aprendizaje lineal. Es decir, mapearemos el espacio de entradas X a un nuevo espacio de características de mayor dimensionalidad (Hilbert): F = {φ(x)|x ∈ X} x = {x1, x2, · · ·, xn} → φ(x) = {φ1(x), φ2(x), · · ·, φn(x)}
  • 18. 18 Tipos de funciones Kernel (Núcleo)  Polinomial-homogénea: K(xi, xj) = (xi·xj)n  Perceptron: K(xi, xj)= || xi-xj ||  Función de base radial Gaussiana: separado por un hiperplano en el espacio transformado. K(xi, xj)=exp(-(xi-xj)2 /2(sigma)2 )
  • 19. 19  Sigmoid: K(xi, xj)=tanh(xi· xj−θ) MÁQUINA DE SOPORTE VECTORIAL PARA CLASIFICACIÓN Entre las aplicaciones más relevantes de las MSV se encuentra la Clasificación, el problema de la clasificación puede reducirse a examinar dos clases sin pérdida de generalidad. La tarea es encontrar un clasificador que funcione bien en datos futuros, es decir que generalice bien la clasificación. Tipos de Máquinas de Soporte Vectorial para la clasificación Dentro de las máquinas de soporte vectorial para la clasificación se encuentran:  C_SVC.  nu-SVC.  one_class. MÁQUINA DE SOPORTE VECTORIAL PARA REGRESIÓN Las MSV se desarrollaron inicialmente para solucionar problemas de clasificación, pero se han ampliado para problemas de regresión. Los resultados finales a los que se puede arribar luego del empleo de las MSV pueden ser cualitativos o cuantitativos, para el análisis cuantitativo se emplean MSV para regresión. Dicho método es una extensión del anteriormente explicado donde se incluyen los estimadores de rangos. El empleo de estos determinan los valores que tienen ruido dentro de la predicción a través de funciones de pérdida, donde los primeros
  • 20. 20 pasos en este sentido se dieron por Tuckey quien demostró que, en situaciones reales, se desconoce el modelo del ruido y dista de las distribuciones supuestas. A raíz de esto, Huber crea el concepto de estimadores robustos los cuales están determinados por funciones de pérdida. En la actualidad, las más utilizadas son: las funciones de pérdida cuadrática y lineal, y la de Huber, entre otras. En este tipo de técnicas, su estructura se determina sobre la base del conjunto de entrenamiento necesitándose pocos parámetros para el mismo. Dicho entrenamiento se reduce a la solución de un problema de optimización que se reduce a un problema de programación cuadrática. Al mismo tiempo, el uso de las funciones Kernels muestra una gran eficiencia en el resultado de la predicción. La idea básica de SVR consiste en realizar un mapeo de los datos de entrenamiento x ∈ X, a un espacio de mayor dimensión F a través de un mapeo no lineal φ: X → F, donde podemos realizar una regresión lineal. Tipos de Máquinas de Soporte Vectorial para la regresión  Epsilon_SVR.  NU_SVR. SVM MULTICLASE Hay dos filosofías básicas para resolver el problema de querer clasificar los datos en más de dos categorías:  a) cada categoría es dividida en otras y todas son combinadas.  b) se construyen k(k-1) / 2 modelos donde k es el número de categorías. COMPARATIVA SVM VS ANN La siguiente tabla muestra una comparativa entre las redes neuronales artificiales y los algoritmos SVM.
  • 21. 21 APLICACIONES DE LAS MÁQUINAS DE VECTORES DE SOPORTE Las máquinas de vectores de soporte eran muy utilizadas antes de la era del aprendizaje profundo. Para muchas aplicaciones se prefería el uso de SVM en lugar de redes neuronales. La razón era que las matemáticas de los SVM se entiende muy bien y la propiedad de obtener el margen de separación máximo era muy atractivo. Las redes neuronales podrían realizar clasificación de forma equivocada como hemos visto en los ejemplos anteriores. Algunos casos de éxito de las máquinas de vectores de soporte son:  reconocimiento óptico de caracteres  detección de caras para que las cámaras digitales enfoquen correctamente  filtros de spam para correo electrónico  reconocimiento de imágenes a bordo de satélites (saber qué partes de una imagen tienen nubes, tierra, agua, hielo, etc.) Actualmente, las redes neuronales profundas tienen una mayor capacidad de aprendizaje y generalización que los SVM.
  • 22. 22
  • 23. 23 CONCLUSIONES Una lección aprendida en las SVM: un algoritmo lineal en el espacio de características es equivalente a un algoritmo no lineal en el espacio de entrada. Algoritmos clásicos pueden ser generalizados a su versión no lineal yendo al espacio de características. El kernel de análisis de componente principal, el kernel de análisis de componente independiente, el kernel de análisis de correlación canónico, el kernel k-means, las SVM en 1D son algunos ejemplos. Las SVM son una buena alternativa a las redes neuronales. Dos conceptos claves de SVM: maximizar el margen y el truco del kernel. Muchas investigaciones se encuentran activas alrededor de áreas relacionadas con SVM
  • 24. 24 BIBLIOGRAFIA  https://www.ecured.cu/M%C3%A1quinas_de_Soporte_Vectorial  https://la.mathworks.com/discovery/support-vector-machine.html  https://iartificial.net/maquinas-de-vectores-de-soporte- svm/#Algunas_aplicaciones_de_las_maquinas_de_vectores_de_soporte  https://platzi.com/tutoriales/1180-redes-neuronales/2677-maquinas-de-vectores- de-soporte-clasificacion-y-regresion/  https://iartificial.net/maquinas-de-vectores-de-soporte- svm/#Algunas_aplicaciones_de_las_maquinas_de_vectores_de_soporte