RECONOCIMIENTO DE PATRONES BASADO EN SUPPORT VECTOR MACHINES.
Enviado por Albert • 13 de Abril de 2018 • 2.076 Palabras (9 Páginas) • 314 Visitas
...
4. METODOLOGÍA
La metodología aplicada consistió en el entrenamiento de una máquina de aprendizaje como la representada en la Figura 1, entrenada con el algoritmo del Adatron [1] kernelizado. El entrenamiento de esta máquina de aprendizaje se baso en ir presentando patrón a patrón y corregir los multiplicadores de Lagrange de acuerdo a la Ec. (7).
Esta dinámica se repite tantas veces como sea necesario hasta que cada patrón de entrenamiento sea aprendido por la máquina, en términos del margen funcional, la dinámica se detiene cuando todos los márgenes funcionales de todos los patrones de entrenamiento sea iguales o mayores de 1, que es la condición de parada del algoritmo. Los experimentos realizados consistieron en tomar un porcentaje de los patrones de forma aleatoria como datos de entrenamiento y los restantes para la validación, en todos los casos se reportan los resultados del promedio de 20 experimentos. Se ensayó con 50, 60, 70 y 80% de datos de entrenamiento. La implementación computacional fue desarrollada en Lenguaje C++ utilizando la herramienta de diseño “Qt Designer” bajo Linux.
Se utilizaron las funciones kernel gaussiano Ec. (11) y kernel multicuadrático inverso Ec. (12), variando el parámetro de las funciones kernel (sigma, σ), reportando los porcentajes de recuperación o de predicción correcta en la validación. También se realizaron diferentes experimentos para diferentes valores de la constante de aprendizaje (lamda, λ) entre 0.01 y 2 [6, 10].
La validación consistió en, una vez entrenada la máquina de aprendizaje, presentar cada patrón restante de lo que se dejaron por fuera y realizar la clasificación de acuerdo a la Ec. (10) y se calcula el porcentaje de aciertos.
5. RESULTADOS
Caso 1. “Mammographic Mass Database”
Los resultados de la validación utilizando la base de datos “Mammographic Mass Database” se muestran en la Figura 4, los mejores resultados encontrados están en el orden del 96 y 97% de efectividad, utilizando el kernel multi-cuadrático inverso, de acuerdo a los mejores resultados reportados en la literatura, la validación es comparable con los resultados reportados [11, 12]. La elección de la constante de aprendizaje (lamda, λ) y del parámetro de la función kernel (sigma, σ) se realizó analizando el porcentaje de predicción efectiva para diferentes valores de λ y σ, encontrándose para el caso de la constante de aprendizaje λ que el más efectivo está alrededor de 0.1, ya que utilizar un valor más grande, requiere mayor tiempo de cómputo en el entrenamiento. Para la constante sigma del kernel, se encontró que depende de la función kernel seleccionada, en el caso de utilizar el kernel Gaussiano este valor debe ser pequeño, entre 0.1 y 1 para obtener buenas predicciones, alrededor de 94 y 95 % de efectividad, utilizando el kernel Multicuadrático Inverso, este valor debe ser mas grande, alrededor de 10 y 15 para obtener predicciones ente 96 y 97% de efectividad.
[pic 2]
Caso 2. “Breast Cancer Wisconsin Database”
Los resultados para la validación utilizando la base de datos “Breast Cancer Wisconsin Database” se muestran en la Figura 5. Los mejores resultados reportados en la literatura están en el orden del 93,5% utilizando el 50% como patrones de entrenamiento y alrededor del 95,6% utilizando el 67% de patrones como entrenamiento [13, 14].
Utilizando el procedimiento descrito en esta investigación se consiguió una mejora alrededor del 3% utilizando un kernel gaussiano y con el 70% de los datos de entrenamiento, utilizando el 60% de patrones para el entrenamiento las mejoras estuvieron en el orden del 2%.
[pic 3]
Caso 3. “Pima Indians Diabetes Database”
Los resultados para la validación utilizando la base de datos “Pima Indians Diabetes Database” se muestran en la Figura 6.
Los mejores resultados reportados en la literatura se encontraron en el orden del 76% de efectividad utilizando el 75 % de patrones para el entrenamiento [15, 16]. Utilizando la metodología descrita en este artículo se consiguieron mejoras alrededor del 5% utilizando el 80% de datos para el entrenamiento y utilizando el 70% de patrones para el entrenamiento las mejoras estuvieron en el orden del 4%.
[pic 4]
6. DISCUSIÓN
La aplicación de este procedimiento, utilizando Support Vector Machines para realizar reconocimiento de patrones, ofrece mejoras relevantes a resultados reportados en la literatura utilizando otros métodos ya sean estadísticos o basados en alguna metodología de la computación emergente, como por ejemplo, el empleo de algoritmos genéticos. En esta investigación no se realizó un análisis comparativo entre las técnicas comúnmente utilizadas para clasificación y reconocimiento de patrones, únicamente se realizó comparación con los mejores resultados obtenidos y reportados por otros autores. Recomendaría comparar estos resultados utilizando otros algoritmos de aprendizaje que requieran un tiempo de cómputo menor en el aprendizaje.
REFERENCIAS BIBLIOGRÁFICAS
[1] J. Anlauf y M. Biehl. (1989). “The Adatron - An Adaptive Perceptron Algorithm”. Europhysics Letters, 10, 687.
[2] Asunción, A. & Newman, D.J. (2007). UCI Machine Learning Repository. Irvine, CA: University of California, School of Information and Computer Science. Disponible en: http://www.ics.uci.edu/~mlearn/MLRepository.html
[3] Richard O. Duda, David G. Stork y Peter E. Hart. (2001). “Pattern Classification”. Wiley, John & Sons, Incorporated.
[4] Keinosuke Fukunaga. (1990). “Introduction to Statistical Pattern Recognition”. Academic Press.
[5] Shigeo Abe. (2005). Support Vector Machines for Pattern Classification, Springer-Verlag London Limited.
[6] N. Cristianini y J. Shawe-Taylor. (2000). “An Introduction to Support Vector Machines”. Cambridge University Press.
[7] A. Hoyo. (2007) “Máquinas de vectores de soporte aplicadas a problemas de clasificación binaria”. Memorias de 6ta Conferencia Iberoamericana en Sistemas Cibernética e Informática. Vol. I, pp, 49- 54.
[8] A. Hoyo.
...