Enfoques de PL y MILP para Clasificación de Patrones
Transcript of Enfoques de PL y MILP para Clasificación de Patrones
2
Enfoques basados en programación lineal y entera mixta para la clasificación de
patrones
Miembros del Grupo de Investigación: Prof. Ubaldo M. García Palomares (USB), Ing. Adriana Torres, Ing. Ana Serra, Ing. Aura Ramírez, Prof. Jesús Espinal (UNA). Colaboradora: T.S.U. Juvili Hernández.Junio de 2012
Prof. Orestes G. Manzanilla Salazar
Dpto. Procesos y Sistemas - Centro de Estadística y Software Matemático (USB)
3
Agenda
1. Introducción• Aprendizaje (artifical) Supervisado• Caso: Clasificación de Patrones
2. Antecedentes• Árboles de Clasificación (CTs)• Redes Neurales Artificiales (ANNs)• Máquinas de Vectores de Soporte (SVMs)• Perspectiva de Optimización• Análisis comparativo
3. Los métodos Multi-Superficie (MSMs)• Método• Modelo básico• Variantes• Comparación de características• Uso como Método de Visualización Científica de Datos
4. Conclusion y trabajo futuro5. Agradecimientos
4
1. Introducción–Aprendizaje Artificial
Fase de Entrenamiento
Imagen de http://twitchfilm.com Se equivoca en el patrón
Acierta el patrón
Se ajusta la hipótesis
6
Regresión
Rn
Rn
Clasificación / Reconocimiento de Patrones
Rn
1-
-1-
?
1. Introducción- Clasificación de Patrones
7
1. Introducción- ¿Problemas prácticos?
•Determinar si un tumor de seno es maligno o benigno, en base a la siguiente data obtenida de una biopsia de aguja (tratada con procesamiento de imágenes): Espesor de tumor, uniformidad de tamaño celular, uniformidad de forma celular (excentricidad), Tamaño epitelial, Tamaño de núcleos, etc.•Determinar la presencia o no de la condición diabética, en base a: número de embarazos, concentración de glucosa, presión diastólica, grosor de pliegues de piel, indice de masa corporal, edad, etc.•Determinar la presencia o no de enfermedades del corazón, en base a: edad, sexo, localización de dolor de pecho, tipo de dolor, si baja o no al descansar, presión sanguínea en reposo, tipo de respuesta de EC, etc...
8
1. Introducción- ¿Problemas prácticos?
•Determinar de cuál cultivo de uvas viene un vino, en base a análisis químico: % alcohol, % ácido Málico, Magnesio, - Fenoles totales, intensidad de color, etc.•Determinar rango de edad de conchas marinas, partiendo del sexo, longitud, diámetro, altura, peso total, peso de las vísceras, y peso de la concha (en lugar de anillos al microscopio).•Determinar el valor de inmobiliario de suburbios de Boston, en base a: tasa de crímenes per capita en la ciudad, proporción de acres de comercios mayoristas por ciudad, colinda o no con un río, concentración de óxido nítrico, numero promedio de cuartos por construcción, proporción de casas construídas antes de 1940 ocupadas por sus dueños, distancias ponderadas respecto a 5 centros de empleo, indice de accesabilidad a autopistas radiales, taza de alumnos por profesor, etc.
9
Función Discriminante (en R2)
x2
x1Indice de sobre-peso
Niv
el d
e C
oles
tero
l
Notación:
y = a.x + b
w1.x1+w2.x2 =
wi.xi =
w,x =
f(w,x) =
x1x2
x3 x4
x6
x7
x5
x11x10
x9
x8
1, si w,x ≥
-1, si w,x < s(x,w)=
w
w,x3 >
w,x3 <
w,xf =
xf
1. Introducción- Clasificación de Patrones
10
oxwRn (z)
-+
z
z = (w,x-Rx1
x2
xn Salida Entrada
oR
(z) =+1 , si z 0
-1 , si z < 0
(z) =
1 + exp(-.z) 1 z
y+1
-1
z
y+1
-1
Es una Neurona Artificial!
(McCulloch y Pitts, 1943)
1. Introducción- Clasificación de Patrones
11
Funciones Discriminantes No-Lineales
Lineal No-lineal
Lineal por partes
¿Falta complejidad?
2. Antecedentes
12
Funciones Discriminantes No-Lineales
Lineal No-lineal
Lineal por partes
¿Falta complejidad?
2. Antecedentes
13
Funciones Discriminantes No-Lineales
Lineal No-lineal
Lineal por partes
o... Por el contrario...
2. Antecedentes
14
Funciones Discriminantes No-Lineales
Lineal No-lineal
Lineal por partes
...¿Sobra complejidad?
2. Antecedentes
15
Funciones Discriminantes No-Lineales
Lineal No-lineal
Lineal por partes
Máquinas de Soporte Vectorial
(SVM)
Máquinas de Soporte Vectorial
(SVM)
RNAs(Perceptrones Multicapa)
RNAs(Perceptrones Multicapa)
Árboles de ClasificaciónÁrboles de Clasificación
2. Antecedentes
16
(Vapnik, 1998)
1. Antecedentes- Máquinas de Soporte Vectorial
Funciones Discriminantes No-Lineales
Las Máquinas de Vectores de Soporte (SVM)
Espacio de atributos aumentado,
Debo hallar w1, w2, w3, w4, w5 y
Espacio de atributos original.
Debo hallar w1, w2 y
Atributos: x1, x2x1
x2
_
Atributos:
x1, x2, 2 x1 x2, (x1)2, ( x2)2
z1
z2
z3
Margen
NOTAR QUE:NOTAR QUE:
- Propiedades estadísticas interesantes
-Implica pre-suponer la complejidadImplica pre-suponer la complejidad
-Puedo entrenar como Perceptrón, o mediante optimización PL o cuadrática.
18
Funciones Discriminantes No-Lineales
Las Máquinas de Vectores de Soporte (SVM)
x2
x1Indice de sobre-peso
Niv
el d
e C
oles
tero
lx1
x2
x3
x4
x6
x7
x5
x11
x10
x9
x8
ecuación de rectawT.xk =
Indicador de clase
w
“margen” / capacidad de generalización
Capacidad de reconocer data de entrenamiento
“brecha” de dato mal clasificado
y10>0y4>0
(Vapnik, 1998)
1. Antecedentes- Máquinas de Soporte Vectorial
¡Errores Simétricos!
19
1. Antecedentes- Máquinas de Soporte Vectorial
SVM discriminante sin transformación del “kernel”
http://www.buenasalud.net
R
Rn
Ens
ayo
y er
ror,
con
las
tran
sfor
mac
ione
s no
-lin
eale
s
20
1. Antecedentes- Máquinas de Soporte Vectorial
SVM discriminante con “kernel” cuadrático
http://www.buenasalud.net
R
Rn
Ens
ayo
y er
ror,
con
las
tran
sfor
mac
ione
s no
-lin
eale
s
21
1. Antecedentes- Máquinas de Soporte Vectorial
http://es.123rf.com
SVM discriminante con “kernel” de Base Radial (Gaussiano)Sobre-ajustado
Razón por la cual se mide precisión en un conjunto de validación
R
Rn
Ensayo y error, con las
transformaciones no-lineales
22
Árboles de Clasificación:
B
AUna región del
espacio, delimitadaPor fronteras
lineales
NOTA: Suele generar extremadamente grande cantidad de nodos, necesitando luego procesos de “poda”, y optimización de la verosimilitud, o la entropía (tomando errores de ambos tipos por igual). Suele ser menos eficiente que un perceptrón multicapa.Se requiere optimización no-lineal para poder considerar nodos oblícuos.
NOTA: Suele generar extremadamente grande cantidad de nodos, necesitando luego procesos de “poda”, y optimización de la verosimilitud, o la entropía (tomando errores de ambos tipos por igual). Suele ser menos eficiente que un perceptrón multicapa.Se requiere optimización no-lineal para poder considerar nodos oblícuos.
Street (2005) propone árboles oblícuos usando programación no-lineal
1. Antecedentes- Árboles de Clasificación
23
Funciones Discriminantes Lineales por PartesLineales por Partes
Perceptrones:
a) De una capao(x)x Un semi-espacio
bordeado por unhiper-plano B
A
B
AUna región del
espacio, delimitadaPor fronteras
lineales
b) Multi-capa
o(x)x
(Lippmann, 87)
1. Antecedentes- Redes Neurales Artificiales
24
Funciones Discriminantes Lineales por PartesLineales por Partes
Entrenando Perceptrones Multi-capa:
o(x)x
1
2
q
q
w1
w2
wq
NOTAR QUE:o(x)=[1.(w1,x-1) + 2.(w2,x-2) + .... + q.(wq,x-q)]
El problema de entrenar un perceptrón es un problema de optimización:
MinimizarMinimizar
w1,...,wq,q,q,
12
o(xt)-c(xt)]2
Errores
(Lippmann, 1987)
1. Antecedentes- Redes Neurales Artificiales
25
Funciones Discriminantes Lineales por PartesLineales por Partes
Entrenando Perceptrones Multi-capa: (forma clásica)
MinimizarMinimizar
w1,...,wq,q,q,
12
o(xt)-c(xt)]2
w1,...,wq,q,q,
PROBLEMAS:PROBLEMAS:
1. Función Objetivo “Plana”
2. Óptimos Locales y puntos “estacionarios” abundantes
3. No-Convexa
4. Hay que suponer la estructura de la red
1. Antecedentes- Redes Neurales Artificiales
¡Viacrucis de
¡Viacrucis de Optimización!
Optimización!
26
1. Antecedentes- Enfoque de Optimización
Problemas de Optimización:Problemas de Optimización:
Rn
R
LinealRn
R
Cuadrática
No-lineal convexa
Rn
R
No-Lineal, no-convexa, múltiples óptimos locales y puntos estacionarios
SVM
CT
SVM
ANN
También, para problemas pequeños, Programación Entera
27
1. Antecedentes- Comparación
Propiedad SVM CT ANN MILP CT MSM AdaBoost
1 Lineal por partes x x x x x
2 Alcanza Precisión “a priori” x x x
3 Optimización L/C NL NL,NC Entera L L
4 Problema es más sencillo en cada iteración X x
5 A cada iteración se calcula límite superior de errores de validación X
6 A cada iteración se calcula un límite inferior de errores de validación X x
7No requiere diseño de
arquitectura/escogencia de funciones
x x
8 No Requiere “tuning” x X x
9 Maximización de margen x x
28
1. Antecedentes- Comparación
Bondades de los nuevos Métodos propuestos (Multi-Superficie):
1. Lineal por partes
2. Alcanza Precisión “a priori”
3. Optimización Lineal
4. Problema es más sencillo en cada iteración
5. A cada iteración se calcula límite inferior de errores de validación
6. No requiere diseño de arquitctura / escogencia de función
7. No requiere “tunning”
8. Opcional maximización de margen
9. Opcionalmente, Entera, pero aplicable a problemas grandes
10. Fácilmente resuelto con procesamiento distribuído/paralelo (problemas masivos)
11. Permiten la generación de métodos de visualización de patrones
29
Funciones Discriminantes Lineales por PartesLineales por Partes
Entrenando Perceptrones Multi-capa:
(García-Palomres y Manzanilla, 2011)
A
B
w,g(x) =
w,g(x) =
w,g(x) =
=S
Conjunto de puntos que deseamos “Seleccionar” de forma “pura”
Conjunto de puntos que deseamos “eXcluír” de la selección
Variable de errorecuación de rectawT.xk =
Indicador de clase
2. MSM – Modelos de PL/MILP
¡Errores Asimétricos!
30
2. MSM – Modelos de PL/MILP
Funciones Discriminantes Lineales por PartesLineales por Partes
Entrenando Perceptrones Multi-capa: (PL Propuesto)
para A=S
para B=X
para A=X
para B=S
A
B
¡Errores Asimétricos!
31
Funciones Discriminantes Lineales por PartesLineales por Partes
Entrenando Perceptrones Multi-capa: (MILP Propuesto)
A
B
Suma de los puntos mal clasificados
Debe escogerse “” lo suficientemente grande
¡Variable binaria!
S A, o S B,Tantos elementos como el poder computacional lo permita
Tiene la bondad de no “adherir” los Planos a los puntos de X, y ser “robusto” ante datos marginales
2. MSM – Modelos de PL/MILP
32
Funciones Discriminantes Lineales por PartesLineales por Partes
Entrenando Perceptrones Multi-capa: (MILP Propuesto)
Se ha demostrado que siempre se puede clasificar al menos un punto, con transformaciones g(x) como las siguientes:
Esto puede:1. Usarse cuando no se consigue un
hiperplano2. Usarse siempre, de tal forma que
siempre el algoritmo genera esferas en lugar de planos
En el primer caso, puede elegir comoconjunto S , por ejemplo:
(En última instancia, estaría clasificandose los datos de uno en uno)
2. MSM – Modelos de PL/MILP
33
c(A)2-1c(A)w 2 c(A)/2 2
Entrenando Perceptrones Multi-capa: (MSM de Mangasarian)
Representación como Perceptrón Multi-capa:
2. MSM – Método
A
B
i=2
g(x)
c(B)1-1c(B
)w 1
c(St)/2t+1
b1c(B)/2 1b2
b3c(B)3-1
c(B)w3c(B)/23
b4c(A)4-1
c(A)w4
c(A)/24
b5c(B)5-1
c(B)w5
c(B)/2
5
c(B)/26
¡Red Neural sin Viacrucis
de Optimización!
34
Procedimiento Multi-superficiePaso 1: Sean A y B los conjuntos de elementos aún no clasificadosPaso 2: Encontrar dos superficies:
a)Una que separe elementos de A yb) Otra que separe elementos de B(orden arbitrario)
Paso 3: Actualizar A y B eliminando los ya clasificados(en caso de que no se clasifique a nadie, aplicar transformación
tipo “esférica”)Paso 6: Repetir pasos del 2 al 5 hasta que:
a) A o B sean iguales a , ob) Haya algún indicio de pérdida de generalidad
2. MSM – Método
35
2. MSM – Resultados
Conjuntos de Datos
SVM: Error Entrenamiento
(%)
SVM: Error Validación
(%)
MSM (1 plano):Error Validación
(%)
MSM (clasif. Total):
Error Validación(%)
Abalone (0-8 anillos) 15,85 16,12 55,65 22,20
Bank 11,25 25,00 22,00 23,00
Cancer 2,56 3,26 3,11 4,30
Contraceptive 31,36 32,29 2,39 0,89
Credit 13,44 13,28 14,81 9,31
Diabetes 20,38 21,54 0,00 0,00
Heart 13,87 22,71 31,53 19,32
Housing (21K) 11,75 15,05 15,45 14,06
Ionosphere 3,56 14,00 17,14 16,57
Letter (G) 3,84 14,00 26,30 2,95
Sonar 1,08 33,17 36,59 36,59
Spiral 42,34 81,05 56,84 64,47
Wine 21,64 21,66 67,01 25,54
37
2. MSM – Variantes
Bondades de los nuevos Métodos propuestos (Multi-Superficie):
1. Descomposición de nodos: no tomar como conjunto a “Seleccionar puros”, todos los puntos restantes de un conjunto, sino dividir el conjunto en varios más pequeños, y resolver modelos LP/MLP arbitrariamente pequeños (manejable por el computador). En cada iteración, permite trabajar cada sub-conjunto en un computador distinto. Disminuye el número de variables de error y de restricciones. Requiere resolver una mayor cantidad de modelos de optimización (finita).
2. Agrupamiento de variables de error. Disminuye el número de variables de error (puede combinarse con (1) ). Disminuye en cierta medida la cantidad de clasificados por cada hiperplano, aumentando el tamaño de red (finito). Requiere resolver una mayor cantidad de modelos de optimización (finita). En algunos casos SUPERA al publicado en febrero en precisión (!?).
3. Aplicación multi-categoría de la misma filosofía de “cortes”, con éxito.
4. Automatizar generación de gráficos de cortes multi-dimensionales de la geometría de los hiperplanos, convirtiéndose en un método de visualización cientifica de datos.
39
2. MSM – Variantes
Agrupamiento de Errores
A
B =S
¡Puedo tener la cantidad de variables para
optimizar, que yo quiera!
42
Propiedad NPMS SVM CT ANN MILP CT MSM AdaBoost
1 Lineal por partes X x x x x x
2 Alcanza Precisión “a priori” X x
3 Optimización L/E L/C NL NL,NC Entera L L
4 Problema es más sencillo en cada iteración X X x
5 A cada iteración se calcula límite superior de errores de validación X
6 A cada iteración se calcula un límite inferior de errores de validación X X x
7No requiere diseño de
arquitectura/escogencia de funciones
X x x
8 No Requiere “tuning” O x X x
9 Maximización de margen O x x
10 Problemas Masivos O x X
11 Cómputo paralelo/distribuído X O
12 Permite visualizar patrones o x x
43
• Aprendizaje Automático sin necesidad de un experto.
• Sirve cualquier computador• Facilita visualización para exploración de patrones• Cómputo distribuído/paralelo totalmente factible.• Poca tendencia a sobre-ajuste• Línea de investigación teórica y computacional
abierta• Linea de investigación de APLICACIONES,
abierta!
3. Conclusiones y futuro trabajo
44
Preguntas por responder:• ¿Por qué no sobre-ajusta?• ¿Combinación de agrupamiento de variables de error con
descomposición de nodos?• ¿Métodos de generación de columnas para aprovechar la
estructura del modelo PL?• ¿Heurística para modelo MILP que aproveche la estructura?
• ¿Función Objetivo multi-criterio (frente pareto)?• ¿Uso para regresión?• ¿Teoría de complejidad estructural para parada temprana?
3. Conclusiones y futuro trabajo
45
C.J. Ong, S.Y. Shao, J.B. Yang, An improved algorithm for the solution of the entire regulation path of support vector machine, Technical Report http://www.optimizationonline. org/DB HTML/2009/04/2284.html, Optimization on line, Argonne, IL, 2009.
Street, W. N. (2005). Oblique Multicategory Decision Trees Using Nonlinear Programming. INFORMS Journal on Computing , 17 (1), pp. 25-31.
McCulloch W., Pitts W., “A logical calculus of the ideas immanent in nervous activity”. Bulletin of Mathematical Biophysics, No.7 (1943), 115-133.
Vapnik V.N., “The Nature of Statistical Learning Theory”, Springer, 2nd Edition, New York, 193 pp, 1998.
Lippmann R.P., “An Introduction to Computing with Neural Nets”. IEEE ASSP Magazine, Abril (1987), 4-22.
Mangasarian O.L., “Mathematical programming in neural networks”. Computer Sciences Department Technical Report 1129, University of Wisconsin, Madison, Wisconsin, 1992.
Bennett K.P., Mangasarian O.L., “Robust linear programming discrimination of two linearly inseparable sets¨. Optimization Methods and Software, Vol. 1 (1992), 23-34.
Referencias