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).