2. Enfoques basados en
programación lineal y entera
mixta para la clasificación de
patrones
Prof. Orestes G. Manzanilla Salazar
Dpto. Procesos y Sistemas - Centro de Estadística y Software
Matemático (USB)
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
2
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 futuro
5. Agradecimientos
3
4. 1. Introducción–Aprendizaje Artificial
Fase de Entrenamiento
Acierta el patrón
Imagen de http://twitchfilm.com Se equivoca en el patrón
Se ajusta la
hipótesis 4
6. 1. Introducción
- Clasificación de Patrones
Regresión
Rn
Rn
Clasificación / Reconocimiento de Patrones
1-
?
Rn
-1- 6
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...
7
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. 8
9. 1. Introducción
- Clasificación de Patrones
Función Discriminante (en R2)
Notación:
x1 y = a.x + b
x2 x2 〈w,x3〉 > θ
w1.x1+w2.x2 = θ
x6 w 〈w,xf 〉 = θ
Nivel de Colesterol
x3 Σwi.xi = θ
x4
x7 x8 〈w,x〉 = θ
xf
x5 f(w,x) = θ
x9
x10 x11
〈w,x3〉 < θ
〈
1, si 〈w,x〉 ≥ θ
Indice de sobre-peso s(x,w)=
x 1
-1, si 〈w,x〉 < θ
9
10. 1. Introducción
- Clasificación de Patrones
Es una Neurona Artificial! z = (〈w,x〉-θ) ∈ R
x1
θ o∈R
x2
x - z o
w∈R n
+ σ(z)
Entrada Salida
xn
(McCulloch y Pitts, 1943)
y
+1 , si z ≥ 0 +1
σ(z) = z
-1 , si z < 0 -1
y
+1
σ(z) = 1 z
1 + exp(-γ.z) -1
10
18. 1. Antecedentes
- Máquinas de Soporte Vectorial
Funciones Discriminantes No-Lineales
Las Máquinas de Vectores de Soporte (SVM) (Vapnik, 1998)
Capacidad de
reconocer data de
entrenamiento
“margen” / capacidad
de generalización
Indicador de clase x1
x 2 x2
ecuación de recta x6 w
wT.xk = θ
Nivel de Colesterol
x3
x8 x
“brecha” de dato x7 10
y >0
10
mal clasificado os ! y >0
4
x5
tric x4
S imé x9 x11
ro res
¡Er Indice de sobre-peso 18x 1
19. 1. Antecedentes
- Máquinas de Soporte Vectorial
es
-lineal
las
nes no
or, con
rmacio
o y err
transfo
Ensay
http://www.buenasalud.net
SVM discriminante sin
transformación del
“kernel” R
19 Rn
20. 1. Antecedentes
- Máquinas de Soporte Vectorial
es
-lineal
las
nes no
or, con
rmacio
o y err
transfo
Ensay
http://www.buenasalud.net
SVM discriminante con
“kernel” cuadrático
R
20 Rn
21. 1. Antecedentes
- Máquinas de Soporte Vectorial
En nsfor
tra
say m
o y acio
err nes
or,
con -lin
no
las eale
Razón por la cual
se mide precisión
en un conjunto de
http://es.123rf.com
validación
s
SVM discriminante con “kernel”
de Base Radial (Gaussiano) R
Sobre-ajustado
Rn
21
22. 1. Antecedentes
- Árboles de Clasificación
Árboles de Clasificación:
Una región del
espacio, delimitada A
Por fronteras B
lineales
NOTA: Suele generar extremadamente grande
NOTA: Suele generar extremadamente grande
cantidad de nodos, necesitando luego procesos de
cantidad de nodos, necesitando luego procesos de
“poda”, y optimización de la verosimilitud, o la
“poda”, y optimización de la verosimilitud, o la
entropía (tomando errores de ambos tipos por igual).
entropía (tomando errores de ambos tipos por igual).
Street (2005) propone Suele ser menos eficiente que un perceptrón
Suele ser menos eficiente que un perceptrón
árboles oblícuos multicapa.
multicapa.
Se requiere optimización no-lineal para poder
usando programación considerar nodos oblícuos.no-lineal para poder
Se requiere optimización
considerar nodos oblícuos. 22
no-lineal
23. 1. Antecedentes
- Redes Neurales Artificiales
Funciones Discriminantes Lineales por Partes
Perceptrones: (Lippmann, 87)
a) De una capa Un semi-espacio A
x o(x) bordeado por un
hiper-plano B
b) Multi-capa Una región del
espacio, delimitada A
Por fronteras
x lineales B
o(x)
23
24. 1. Antecedentes
- Redes Neurales Artificiales
Funciones Discriminantes Lineales por Partes
Entrenando Perceptrones Multi-capa:
θ1 NOTAR QUE:
w1 ν1
o(x)=σ[ν1.σ(〈w1,x〉-θ1)
x
w2 θ2 ν2
τ + ν2.σ(〈w2,x〉-θ2)
o(x)
wq νq + ....
θq + νq.σ(〈wq,x〉-θq)]
El problema de entrenar un perceptrón es un
problema de optimización:
Errores
1 [o(x )-c(x )]2
2Σ
Minimizar t t
w1,...,wq,θ1,...,θq,ν1,...,νq,τ
(Lippmann, 1987)
24
25. 1. Antecedentes
- Redes Neurales Artificiales
Funciones Discriminantes Lineales por Partes
Entrenando Perceptrones Multi-capa: (forma clásica)
1 [o(x )-c(x )]2
2Σ
Minimizar t t
w1,...,wq,θ1,...,θq,ν1,...,νq,τ
PROBLEMAS:
1. Función Objetivo “Plana”
2. Óptimos Locales y puntos
“estacionarios” abundantes
w1,...,wq,θ1,...,θq,ν1,...,νq,τ 3. No-Convexa
¡Via
cruc 4. Hay que suponer la estructura
Opti is d e
miza de la red
ción
!
25
26. 1. Antecedentes
- Enfoque de Optimización
Problemas de Optimización:
También, para problemas
pequeños, Programación Entera
SVM
CT ANN
R R R
Rn Rn Rn
Lineal Cuadrática No-Lineal, no-convexa, múltiples óptimos
locales y puntos estacionarios
No-lineal
convexa
26
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
Problema es más sencillo en cada
4 X x
iteración
A cada iteración se calcula límite
5 X
superior de errores de validación
A cada iteración se calcula un límite
6 X x
inferior de errores de validación
No requiere diseño de
7 arquitectura/escogencia de x x
funciones
8 No Requiere “tuning” x X x
9 Maximización de margen x x
27
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)
28
11. Permiten la generación de métodos de visualización de patrones
29. 2. MSM – Modelos de PL/MILP
Funciones Discriminantes Lineales por Partes
Entrenando Perceptrones Multi-capa:
Conjunto de puntos que deseamos
“Seleccionar” de forma “pura”
Conjunto de puntos que deseamos
“eXcluír” de la selección
Va
ri abl
e de ¡Errores Asimétrico
e rro
r
s!
ecuación de recta
wT.xk = θ A
〈w,g(x) 〉 = θ −1
Indicador de clase
〈w,g(x) 〉 = θ
〈w,g(x) 〉 = θ +1
(García-Palomres y Manzanilla, 2011) 29 B =S
30. 2. MSM – Modelos de PL/MILP
Funciones Discriminantes Lineales por Partes
Entrenando Perceptrones Multi-capa: (PL Propuesto)
¡Errores Asimétrico
s!
para A=S
para B=X A
para A=X
para B=S
30 B
31. 2. MSM – Modelos de PL/MILP
Funciones Discriminantes Lineales por Partes
Entrenando Perceptrones Multi-capa: (MILP Propuesto)
Suma de los puntos mal
clasificados
Debe escogerse “α ” lo
suficientemente grande
Tiene la bondad de no “adherir” los Planos a
los puntos de X, y ser “robusto” ante datos
marginales
¡Variable binaria!
A
S ⊆ A, o S ⊆ B,
Tantos elementos como el poder
computacional lo permita 31 B
32. 2. MSM – Modelos de PL/MILP
Funciones Discriminantes Lineales por Partes
Entrenando Perceptrones Multi-capa: (MILP Propuesto)
Esto puede:
1. Usarse cuando no se consigue un
hiperplano
2. Usarse siempre, de tal forma que
siempre el algoritmo genera
esferas en lugar de planos
Se ha demostrado que siempre se puede En el primer caso, puede elegir como
clasificar al menos un punto, con conjunto S , por ejemplo:
transformaciones g(x) como las siguientes:
(En última instancia, estaría clasificandose
los datos de uno en uno)
32
33. 2. MSM – Método
Entrenando Perceptrones Multi-capa: (MSM de Mangasarian)
Representación como Perceptrón Multi-capa:
b1
w 1 c(B)θ 1-1
B)
c(
c(B
)/2 1
b2
A c (A)
w 2 c(A)θ -1
2 c(A) 2
/2
c(B)w3 c(B)θ -1 c(B)/2
3
4
c(St)/2t+1
c(B)/26
/2
g(x) b3 (A) )/25
3
c(A) c
w4
c(B
c(A)θ4-1 b c(B
)w
B 4
rucis
5
c(B)θ5-1 b
in Viac
ral s ación!
5
Neu imiz
i=2 ¡Red e33 pt
d O
34. 2. MSM – Método
Procedimiento Multi-superficie
Paso 1: Sean A y B los conjuntos de elementos aún no
clasificados
Paso 2: Encontrar dos superficies:
a)Una que separe elementos de A y
b) 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 ∅, o
b) Haya algún indicio de pérdida de generalidad
34
36. 2. MSM – Resultados
¡Cre
ce la
c
sobre omplejid
ajust a
es! (! d sin
?) 36
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. 37
38. 2. MSM – Variantes
pregu Permite h
ntas/c a
ompr cerse
ender
patro
nes
Visualización de38
Patrones
39. 2. MSM – Variantes
A ¡Pue
do te
ner l
de va a
optim riabl cantidad
izar, e s pa
que y r a
o qui
era!
B =S
Agrupamiento de Errores
39
40. 2. MSM – Variantes
A
Distancias a minimizar
B =S
Agrupamiento de Errores
40
41. 2. MSM – Comparación
… retomando los antecedentes
para comparar las propiedades…
41
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
Problema es más sencillo en cada
4 X X x
iteración
A cada iteración se calcula límite
5 X
superior de errores de validación
A cada iteración se calcula un límite
6 X X x
inferior de errores de validación
No requiere diseño de
7 arquitectura/escogencia de X x x
funciones
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 42 x
43. 3. Conclusiones y futuro trabajo
• 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!
43
44. 3. Conclusiones y futuro trabajo
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?
44
45. Referencias
Mangasarian O.L., “Mathematical programming in neural networks”. Computer Sciences
Department Technical Report 1129, University of Wisconsin, Madison, Wisconsin, 1992.
Lippmann R.P., “An Introduction to Computing with Neural Nets”. IEEE ASSP Magazine,
Abril (1987), 4-22.
Vapnik V.N., “The Nature of Statistical Learning Theory”, Springer, 2nd Edition, New York,
193 pp, 1998.
McCulloch W., Pitts W., “A logical calculus of the ideas immanent in nervous activity”.
Bulletin of Mathematical Biophysics, No.7 (1943), 115-133.
Street, W. N. (2005). Oblique Multicategory Decision Trees Using Nonlinear Programming.
INFORMS Journal on Computing , 17 (1), pp. 25-31.
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.
Bennett K.P., Mangasarian O.L., “Robust linear programming discrimination of two linearly
inseparable sets¨. Optimization Methods and Software, Vol. 1 (1992), 23-34.
45