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: eejl_1992@hotmail.com. Dr. Andrés Méndez Vázquez. Centro de Investigación y de Estudios Avanzados del IPN, Unidad Guadalajara. Correo: amendez@gdl.cinvestav.mx 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