Valoración de preferencias mediante el aprendizaje de polinomios1

Transcripción

Valoración de preferencias mediante el aprendizaje de polinomios1
Valoración de preferencias mediante el
aprendizaje de polinomios1
Gustavo Bayón, Jorge Díez, Oscar Luaces, José R. Quevedo, Jaime Alonso,
Antonio Bahamonde y Juan José del Coz
Centro de Inteligencia Artificial. Universidad de Oviedo en Gijón
Campus de Viesques. E-33271 Gijón (Asturias), España
http://www.aic.uniovi.es/MLGroup
Abstract. El aprendizaje de preferencias es una tarea muy útil que puede resolverse mediante separadores lineales; el hiperplano obtenido sirve para valorar y
preferir entre los objetos del dominio. Ocurre que, en muchas ocasiones, una
función lineal no resulta suficientemente precisa. En esas situaciones, proponemos emplear polinomios para valorar preferencias entre objetos, reduciendo
el número de sus monomios con un método de selección de atributos.
1 Introducción
El gran interés existente por adaptar todo tipo de productos a los gustos de los consumidores ha impulsado los sistemas que aprenden las preferencias que guían los gustos
de los usuarios. En estos problemas, los conjuntos de entrenamiento están formados
por relaciones de preferencias, esto es, relaciones binarias entre vectores (v, u) descritos por variables numéricas, donde un usuario expresa que prefiere v frente a u.
Típicamente, el aprendizaje de preferencias se aborda mediante la búsqueda de una
función de valoración que asigne un valor numérico a cada objeto; dado un par, el
mejor es aquel que mayor valoración obtiene [2][4]. La mayor dificultad de este tipo
de soluciones es que desconocemos el “valor” exacto de cada ejemplo, lo que impide
emplear métodos de regresión. Sin embargo, podemos resolverlo mediante separadores lineales que separen dos conjuntos de vectores: los positivos (v–u), de los negativos –(v–u); generados ambos a partir de cada relación de preferencia. Su mayor inconveniente es que en ciertos problemas la función objetivo no es lineal. En [3] presentábamos LACE un algoritmo que construye funciones de valoración no lineales
definidas parcialmente. Aquí mostramos una segunda solución: aumentar el espacio de
atributos para representar mejor los ejemplos y generar separadores polinómicos. La
dificultad colateral es que al hacer crecer el grado del polinomio que puede aprenderse, estaremos añadiendo al problema atributos irrelevantes. Para paliar este efecto
proponemos el uso de métodos de selección de atributos [6].
1
Este trabajo se ha realizado como parte del proyecto TIC2001-3579 financiado por el Ministerio de Ciencia y Tecnología (MCyT) y Fondos Feder
2 Aprendizaje de separadores polinómicos
El aprendizaje de preferencias parte de un conjunto de relaciones de preferencia:
{vi > ui: I = 1, …, n }
(1)
formado por vectores de variables reales en ℜ . El objetivo es encontrar una función
de valoración (monótona) f:ℜd→ ℜ, que maximice la probabilidad de que f(v) > f(u)
siempre que v > u. Habitualmente, los sistemas asumen que f es lineal, fw(x) = w⋅x.
Geométricamente, f representa la distancia al hiperplano de vectores perpendiculares a
w dividido por la norma de w. Por tanto, dada una relación v > u, necesitamos que el
producto escalar w(u–v) sea positivo y, simétricamente, que w(u–v) sea menor que 0:
fw(v) > fw(u) ⇔ 0 < fw(v) – fw(u) = fw(v – u) = w ( v – u )
(2)
Siguiendo este razonamiento podemos formar dos conjuntos de vectores: los positivos (v–u), y los negativos –(v–u) y aplicar un separador lineal, como SVM[10] o el
empleado en OC1[8], para obtener una función capaz de ordenar los ejemplos.
No obstante, existen muchos de problemas, no necesariamente complejos, en los
que una función lineal no puede explicar sus relaciones de preferencia. Pensemos en
el típico caso en el que la calidad de un producto se incrementa al aumentar el valor
de una variable. Todo es bueno en su justa medida: pasado un límite la calidad decrecerá al seguir incrementando la variable. Una manera de resolverlo es usar otros espacios de características que representen mejor a los objetos. En este artículo aplicamos
esta idea: aumentamos el conjunto de variables originales añadiendo los monomios o
productos de estas variables hasta un grado prefijado. Al aplicar un separador lineal
obtendremos una expresión polinómica respecto de las variables originales (Figura 1).
d
Fig. 1. Separadores polinómicos obtenidos empleando SVM y OC1 al resolver los problemas
no lineales parábola (polinomios de grado 2) y asimétrico (grado 3)
3 Selección de características
El problema que surge al aumentar el espacio de características del problema es que,
aunque introduzcamos combinaciones útiles de las variables originales, estamos añadiendo también nuevas características irrelevantes, quizás en un número elevado. Para
subsanarlo utilizamos un método de selección de atributos: un wrapper implementado
mediante un algoritmo genético guiado por un estimador de distribuciones (EDA)[6].
El algoritmo consta de dos fases. La primera elimina los atributos claramente irrelevantes; aquellos que tras aplicar el separador lineal tienen en la función resultante un
coeficiente normalizado menor de 0.1. La segunda fase, explora evolutivamente el
espacio de búsqueda y selecciona el mejor subconjunto de atributos. Comienza con
una distribución uniforme de los atributos no eliminados y produce una primera generación de subconjuntos de características. Siguiendo la solución descrita en [5], la
estimación de distribuciones se realiza de acuerdo con el acierto del separador obtenido al emplear ese subconjunto de atributos. Para actualizar la estimación de distribuciones usamos un EDA sencillo, PBIL[1], que asume independencia entre las variables y cuya estimación es el producto de las distribuciones de Bernouilly:
(3)
p(f) = p(f1,…,fd) = Π (p(fi) : i = 1, …, d).
Cada generación se componen de tantos individuos como características tenga el
espacio generado y los mejores (el 50%) se usan para actualizar las distribuciones
marginales de cada atributo, mediante:
p(fi) = (1-α) p(fi) + α UMDA(p(fi))
(4)
donde α es una constante que sirve para ponderar y suavizar las variaciones propuestas por el algoritmo UMDA[7]. En los experimentos hemos usado α = ½. Un hecho
importante es que cada generación incluye el mejor individuo de la anterior, asegurando que no se desecha la mejor solución obtenida. El proceso finaliza si se alcanza
el número máximo de generaciones o no se mejora entre generaciones consecutivas.
4 Resultados experimentales
Para mostrar la capacidad de los separadores polinómicos aplicados al aprendizaje de
preferencias hemos probado dos separadores lineales, SVM y OC1, frente a una batería de problemas artificiales y reales. Estimamos los errores mediante pruebas de
entrenamiento-test, para evitar los sobreajustes propios del uso de wrappers [9]. Los
conjuntos se crean comparando cada ejemplo con otros 10 escogidos al azar.
Como puede apreciarse en la Figura 1 y Tabla 1, los separadores polinómicos resuelven elegantemente los problemas artificiales no lineales, mejorando nítidamente al
buscar polinomios que expliquen las preferencias del conjunto. Los resultados de OC1
son significativamente mejores que los de SVM usando un test t.
Tabla 1. Porcentajes de error en pruebas de entrenamiento-test sobre problemas artificiales.
OC1
SVM
parábola
grado 1 grado 2
grado 3
42,7%
0%
0,8%
50,3%
0,9%
1,9%
asimétrico
grado 1 grado 2 grado 3 grado 4
49,2%
6,3%
1,4%
2,2%
50,8% 6,25%
7,3%
4,6%
En conjuntos de dominio público (Tabla 2) el uso de separadores polinómicos no
es tan efectivo como en los artificiales, bien es verdad que desconocemos si la función
de valoración que subyace es lineal o no. Aún así, cabe resaltar que en tres de los
conjuntos el separador generado por SVM reduce significativamente su error.
Tabla 2. Porcentajes de error en entrenamiento-test con conjuntos de dominio público.
grado 1
OC1 grado 2
grado 3
grado 1
SVM grado 2
grado 3
bodyfat
17,86%
18,37%
18,73%
17,62%
17,78%
17,78%
bupa
33,22%
32,26%
33,13%
34,46%
32,52%
30,99%
housing
12,35%
11,64%
11,40%
12,15%
10,95%
12,20%
machine
12,54%
13,35%
12,44%
12,70%
11,79%
10,84%
stock
12,32%
12,16%
12,05%
11,66%
8,11%
7,29%
media
17,66%
17,56%
17,55%
17,72%
16,23%
15,82%
Al añadir el algoritmo de selección de atributos (Tabla 3) el nivel de error se mantiene. Sin embargo, el número de características que componen los polinomios se reduce
drásticamente y también, y esto es muy importante, el número de variables originales
necesarias. Creemos que todo ello demuestra que los separadores polinómicos constituyen una solución efectiva a tener en cuenta para el aprendizaje de preferencias.
Tabla 3. Resultados obtenidos al incorporar el selector de atributos al separador polinómico.
Para cada conjunto se indica las variables originales (var), el grado (º), la dimensión del espacio de características (carac), y los resultados de cada sistema en error (sistema+eda), número
de variables originales (var) y de características seleccionadas (car. sel.)
bodyfat
bupa
housing
machine
stock
var.
13
5
13
6
9
º
3
3
3
3
3
carac.
559
55
559
83
219
oc1+eda
17,98%
31,30%
11,48%
12,39%
13,20%
var.
6
5
11
5
5
car. sel.
5
8
13
8
8
svm+eda
18,10%
32,29%
12,20%
12,39%
7,06%
var.
10
5
8
6
6
car. sel.
15
16
9
9
21
Referencias
[1] Baluja, S. & Caruana, R.: Removing the Genetics from Standard Genetic Algorithm. Proc.
of the 12th International Conf. on Machine Learning. Morgan Kaufmann, SF (1995) 38–46.
[2] Branting, K.L.: Active Exploration in Instance-Based Preference Modeling. Proceedings of
the 3rd International Conf. on Case-Based Reasoning, Monastery Seeon, Germany (1999).
[3] Díez, J., del Coz, J.J., Luaces, O., Goyache, F., Peña, A. M. & Bahamonde, A.: Learning to
Assess from Pair-wise Comparisons. LNCS, 2527, (2002) 481–490.
[4] Herbrich, R., Graepel, T. & Obermayer, K.: Support Vector Learning for Ordinal Regression. Proc. of the 9th International Conf. on Artificial Neural Networks. (1999) 97–102.
[5] Inza, I., Larrañaga, P., Etxeberria, R. & Sierra, B.: Feature Subset Selection by Bayesian
Networks Based Optimization. Artificial Intelligence, 123(1-2), (2000) 157–184.
[6] Larrañaga, P. & Lozano, J.A.: Estimation of Distribution Algorithms. A New Tool for
Evolutionary Computation.: Kluwer Academic Publishers, Norwell, MA (2001)
[7] Mühlenbein, H.: The equation to response to selection and its use for prediction. Evolutionary Computation, 5, (1998) 303–346.
[8] Murthy, S. K., Kasif, S. & Salzberg, S.. A System for Induction of Oblique Decision Trees.
Journal of Artificial Intelligence Research, 2, (1994) 1–32
[9] Reunanen, J.: Overfitting in Making Comparisons Between Variable Selection Methods.
JMLR Special Issue on Variable and Feature Selection. 3(Mar) 2003. 1371–1382.
[10] Vapnik, V.: Statistical Learning Theory. New York: John Wiley. (1998).

Documentos relacionados