Download Congreso Nacional del XIV Verano de la Investigación Científica del

Document related concepts
no text concepts found
Transcript
XIX Verano de la Investigación Científica y Tecnológica del Pacífico
MÉTODOS DE OPTIMIZACIÓN DE SUPPORT VECTOR MACHINES PARA
APRENDIZAJE
Edwin Efraín Jiménez Lepe. Instituto Tecnológico de Tepic. Correo: [email protected]. Dr.
Andrés Méndez Vázquez. Centro de Investigación y de Estudios Avanzados del IPN, Unidad
Guadalajara. Correo: [email protected]
Planteamiento del Problema
Support Vector Machines (SVM) es una técnica de reconocimiento de patrones
propuesta por Vladimir Vapnik en 1979. Support Vector Machines permite entrenar una
función de clasificación usando una submuestra pre-clasificada de los datos, de forma
que la muestra total de datos pueda ser catalogada aprovechando este entrenamiento.
Vapnik nombró a su técnica Support Vector Machines, debido a que su funcionamiento
toma como referencia los vectores (o puntos) más cercanos a la superficie que separa
de manera óptima las clases.
Sin embargo, por su alto coste computacional la forma original de esta técnica es
inapropiada para tratar conjuntos de datos con gran cantidad de dimensiones ya que
depende de la resolución de problemas de programación cuadrática de gran
complejidad. Afortunadamente en 1998, John C. Platt del Microsoft Research Lab
desarrolló una variación del algoritmo que mejora sustancialmente el tiempo de
entrenamiento. Plat llamó al nuevo algoritmo Sequential Minimal Optimization (SMO).
SMO se basa en la idea de que el problema de programación cuadrática original puede
resolverse analíticamente optimizando sobre dos dimensiones a la vez en lugar de
intentar optimizar sobre las N dimensiones del problema de programación cuadrática
original. Esto aumenta la cantidad de muestras (vectores de soporte) a entrenar en cada
paso pero al reducir la cantidad de dimensiones a tratar a solo dos se logra un mejor
desempeño comparando con la técnica original.
Metodologí a
Se está realizando la implementación del algoritmo SVM SMO en los lenguajes Java y
Python a fin de tener una base para su adaptación a un paradigma de programación
paralela Map-Reduce e implementarlo sobre la plataforma Hadoop. Este desarrollo tiene
como objetivo final el formar parte de una herramienta de clasificación para conjuntos de
datos de gran tamaño.
Conclusiones
El pseudocódigo presentado por Jhon C. Platt deja algunos detalles sin especificar, lo
que dificulta su entendimiento y transformación a código útil.
© Programa Interinstitucional para el Fortalecimiento de la Investigación y el Posgrado del Pacífico
Agosto 2014
XIX Verano de la Investigación Científica y Tecnológica del Pacífico
Al momento de escribir este resumen no se ha terminado la etapa de programación,
pero en base a las pruebas realizadas se puede afirmar lo siguiente: Al conseguir
implementar el algoritmo se obtendrá una mejora sustancial en el tiempo de
entrenamiento del sistema utilizando SVM SMO en lugar de la técnica original de SVM.
Al adaptarlo al framework Hadoop se tendrá una implementación funcional de la técnica
llamada Cloud-SVM lista para utilizarse en clusters de computadoras.
© Programa Interinstitucional para el Fortalecimiento de la Investigación y el Posgrado del Pacífico
Agosto 2014
Related documents