An study comparative among machine learning algorithms for professional orientation AN STUDY COMPARATIVE AMONG MACHINE LEARNING ALGORITHMS FOR PROFESSIONAL ORIENTATION Rocío Rodríguez Guerrero, Jorge Enrique Rodríguez Rodríguez* ABSTRACT In this paper we show an study comparative among different machine learning techniques: decision trees, neural networks and bayesian methods. We used a dataset where we show development of professional orientation; which is a structured process of support directed to people in uncertainty about their vocational behavior; with the purpose of supporting the taking of decisions with regard to the election of a professional degree. Keywords Decision tree, neural networks, bayesian network, machine learning and professional orientation 1 INTRODUCCIÓN El proceso de orientación profesional conlleva al desarrollo de pruebas vocacionales, en las cuales se busca que el estudiante se conozca a si mismo, explore sus cualidades y se relacione con las diversas áreas del conocimiento que le permitan definir un perfil profesional específico adecuado. Cuanto más temprana sea la etapa de la vida escolar en que se inicie este proceso, más adecuados serán los resultados [1]. Para ayudar a los jóvenes a tomar una decisión, los orientadores profesionales utilizan diferentes pruebas psicológicas, y han diseñado algunos modelos formales y no formales que miden la capacidad de decisión del individuo y evalúan su habilidad en dicho proceso. No obstante, las medidas resultantes son exploratorias y limitadas, y no tienen la última palabra: son sólo instrumentos que ayudan a interpretar la relación entre el estilo de vida y el entorno de vida del estudiante [2]. * Manuscript received April 2010. This work was supported in part by the Universidad Distrital “Francisco José de Caldas”. Rodríguez Rocio is director of Parallel Computing Research Group, Universidad Distrital “Francisco José de Caldas (e-mail: rrodriguezr@udistrital.edu.co). Rodríguez Jorge is member of Artificial Intelligence Research Group, Universidad Distrital “Francisco José de Caldas – Colombia (e-mail: jrodri@udistrital.edu.co). El problema de orientación profesional es abordado en este artículo con tres técnicas que en aprendizaje computacional han demostrado ser útiles cuando se trata de estimar valores se trata, estas son: árboles de decisión C4.5, red naïve bayes y una red neuronal con conexión hacia adelante. Con estas técnicas se pretenden medir la efectiva y su complejidad computacional con el fin de sugerir la técnica más adecuada para este problema. El artículo se encuentra estructurado en: - El proceso que se sigue en la orientación profesional. Referentes teórico acerca de árboles de decisión C4.5, redes neuronales artificiales, especificando en redes con conexión hacia adelante y el algoritmo de entrenamiento de retropropagación, y la red naïve bayes. - Análisis de pruebas y resultados con el fin de medir la efectividad y la complejidad computacional de las técnicas en mención. - Conclusiones producto de la comparación entre las técnicas de aprendizaje computacional. – Trabajos futuros del área en estudio. 2. ¿CÓMO SE LLEVA A CABO EL PROCESO DE ORIENTACIÓN PROFESIONAL? Habitualmente factores como el desconocimiento de las habilidades y capacidades propias, la falta de conocimiento sobre el mercado laboral y la ausencia de experiencia laboral, son algunos de los factores que conducen a una orientación vocacional (el proceso de asistencia individual para la selección de una ocupación, preparación para la misma, inicio y desarrollo en ella) desajustada. Se estima que un conocimiento adecuado de esta dimensión de la motivación humana permite predecir el monto de satisfacción que una persona experimentará en el desempeño de una ocupación [3]. Es por ello que expertos han planteado enfoques teóricos acompañados de pruebas vocacionales dirigidos a orientar este proceso, a continuación se examinarán algunos de interés para el presente artículo. 2.1 La Teoría de las Inteligencias Múltiples Esta teoría propuesta por Howard Gardner presenta un modelo alternativo a la concepción unitaria de la inteligencia, propone un conjunto de potenciales biopsicológicos (lingüística, lógica-matemática, espacial, musical, corporal-cenestésica, intrapersonal, interpersonal) para analizar información que pueden ser activados en un marco cultural y que permiten resolver problemas o crear productos valiosos en su medio cultural. Este enfoque teórico tiene numerosas implicancias educacionales [5]. En el terreno de la Orientación Vocacional, específicamente, se lo ha propuesto como modelo de trabajo para los orientadores, quienes podrían considerar los patrones individuales en múltiples inteligencias para asesorar a sus clientes en sus planes de carrera [6]. 2.2 La Teoría Factorial Vista como una Variedad de Habilidades Intelectuales An study comparative among machine learning algorithms for professional orientation John P. Guilford, propone varios tipos de inteligencia y es posible conceptualizarlas como un modelo factorial en el que existe una gran variedad de habilidades intelectuales, que si bien están vinculadas entre sí, poseen características distintivas. Este enfoque propone un modelo tridimensional, según el cual cada tarea intelectual se puede clasificar de acuerdo con su contenido, con la operación mental implicada y con el producto que resulta de la operación. El modelo genera un total de 180 factores determinados por habilidades independientes [7]. Guilford establece una batería integrada de pruebas de orientación, elaboradas con el fin de ofrecer un procedimiento integrado, científico y bien estandarizado para medir las aptitudes de los alumnos de ambos sexos de los ciclos básico y especializado de la enseñanza secundaria, para fines de orientación educacional y vocacional. La batería de pruebas de aptitudes diferenciales, incluye las siguientes: razonamiento Verbal (VR), aptitud Numérica (NA), razonamiento Abstracto (AR), relaciones Espaciales (SR), razonamiento Mecánico (MR), y rapidez y Precisión Perceptivas (CSA). 2.3 Formulario de Profesionales (FIP) Intereses Es importante resaltar que la orientación vocacional no es una actividad ocasional o de última hora, sino un proceso que involucra un seguimiento del estudiante durante varios años. Esta prueba tiene como objetivo indicar al estudiante el área profesional hacia la cual apuntan sus intereses. No evalúa conocimientos, y por tanto, no hay respuestas buenas ni malas; la correcta será aquella que mejor refleje el tipo de actividades que prefiere desarrollar el estudiante, sus aficiones. De ahí que se requiera la mayor sinceridad posible a la hora de responder este cuestionario. Esta prueba comprende ocho áreas profesionales, agrupadas de la siguiente forma: Ciencias Económicas, administrativas y del Mercadeo, Ciencias Humanísticas y de investigación de la Cultura, Ciencias de la Salud y del Servicio Social, Ciencias Exactas y Naturales aplicadas a la Investigación de la Salud y de la Alimentación, Administración e Investigación de las Ciencias Agropecuarias, Ciencias Exactas y Naturales aplicadas a la Tecnología, Áreas Artísticas, y Investigación en Ciencias Exactas. 3. TÉCNICAS DE APRENDIZAJE COMPUTACIONAL 3.1 Árboles de decisión Un árbol de decisión es un diagrama de flujo, con estructura de árbol, en donde los nodos internos representan validaciones sobre los atributos, las ramas representan las salidas de las validaciones, y los “nodos hoja” representan las clases. El nodo en la parte superior del árbol se le conoce como nodo raíz. Un ejemplo típico de un árbol de decisión se muestra en la figura 1, que representa el concepto de comprar computadoras, el modelo predice si un cliente comprará o no una computadora en AllElectronics. En la figura los nodos internos están denotados por rectángulos, mientras que los “nodos hoja” están denotados por óvalos [8]. Figura 1. Árbol de Decisión para la compra de computadoras [9] El algoritmo que se empleó en el actual trabajo, es C4.5, que es la versión definitiva, presentada por su autor él Australiano Ross Quinlan [10], este algoritmo representa el clasificador como un árbol, usa la técnica de búsqueda de Greedy, puede procesar datos categóricos y numéricos, maneja Inicio R: conjunto de grupos no clasificadores, C: atributo clasificador instancias ponderadas por peso, compara el error estimado para un conjunto de hojas hijas todas de un mismo nodo, y maneja el error estimado para el padre en caso de podar sus hojas, el seudocodigo del algoritmo se ilustra en la tabla 1: An study comparative among machine learning algorithms for professional orientation S: conjunto de entrenamiento, devuelve un árbol de decisión Inicio Si S esta vacio, Devolver un único nodo con valor Falla; ‘para formar el nodo raíz Si todos los registros de S tienen el mismo valor para el atributo clasificador Devolver un único nodo con dicho valor ‘un único nodo para todos Si R está vacio Devolver un único nodo el valor más frecuente del atributo Clasificador En los registros de S[ Nota: habrá errores, es decir, Registros que no estén bien clasificados en este caso] ; Si R no está vacio D← atributo con mayor Proporción de Ganancia (D,S) entre los atributos de R; Sean {dj | j=1,2,……..,m} los valores del atributo D; Sean {dj | j=1,2,……..,m} los subconjuntos de S correspondientes a los valores de dj respectivamente; Devolver un árbol con la raíz mas nombrada como D y con los arcos nombrados d1,d2,………,dm, que van respectivamente a los árboles C4.5(R-{D},C, S1), C4.5(R-{D},C,S2), C4.5(R-{D},C, Sm); Fin Tabla 1. Algoritmo del árbol C4.5 [10] El algoritmo J4.8 es la implementación en WEKA (Entorno para el Análisis de Conocimiento de Waikato) del algoritmo C4.5, la cual fue la última versión pública de esta familia de algoritmos, posteriormente apareció la primera implementación comercial, es decir, el algoritmo C5.0. bayesiana se puede definir como un grafo dirigido acíclico que representa el conocimiento cualitativamente, mediante la independencia o dependencia de los atributos, representando su fuerza a través de distribuciones de probabilidad. Cabe resaltar que el modelo presentado (figura 2) solo especifica el clasificador más simple de todos, el Naïve Bayes. En este clasificador se toma por cierto la supuesta independencia entre las variables o atributos, y aunque esto es bastante serio y riesgoso, en algunos casos se ha comprobado su eficacia comparándolo con árboles de decisión, redes neuronales, etc. En este todos los atributos independientes tienen como nodo padre a la clase conocida, entonces, solo es necesario poseer el conjunto de probabilidades con respecto a esta, y se genera la red. 3.2 Redes bayesianas Los métodos bayesianos han sido utilizados en la solución de problemas de inteligencia artificial; de las ventajas que tiene esta técnica en comparación a las otras es el manejo de la incertidumbre, soportado por la teoría de la probabilidad y que en Minería de Datos resulta muy útil. Estos métodos suministran un camino para incorporar información externa en el proceso de análisis de datos, es decir, cambian completamente la visión del proceso de análisis de datos con respecto al enfoque clásico [11]. Una red Clase Atributo Atributo Atributo Figura 2 Topología de un clasificador Naïve Bayes [12] Construcción del clasificador Naïve Bayes. El primer paso para rellenar valores faltantes es construir la red bayesiana, en este caso el clasificador Naïve Bayes. La independencia entre atributos puede ser algo arriesgado, pero se ha demostrado la efectividad de este clasificador. La idea del Naïve Bayes radica en tener una estructura fija, en donde el único nodo padre es la clase (que se tiene que conocer), y sus hijos son los demás atributos (atributos independientes). Es decir, aprender los parámetros (distribuciones de probabilidad) de la siguiente forma: de acuerdo a la hipótesis de independencia que asume este clasificador la tabla de probabilidad P(A1, A2,….., An|c), donde la A representa los atributos, y c representa la clase, se factoriza y quedan n tablas de probabilidad, una para cada atributo de la forma P(Ai|c). De tal manera que hay que estimar la tabla de probabilidad para cada atributo y la distribución a priori de la variable clase P(c). Como se trabajan dos tipos de atributos, nominales y numéricos, existen diferentes métodos para estimar las distribuciones. - Estimación de probabilidades para atributos nominales. El cálculo de la tabla de probabilidad condicional para atributos nominales, se realiza por el método de sucesión de Laplace; que se basa en las frecuencias de aparición en la base de datos. An study comparative among machine learning algorithms for professional orientation La ley de la sucesión de Laplace se muestra en la ecuación 1, esta representa el número de casos favorables del valor del atributo más uno, dividido por el número de casos totales más el número de valores posibles de la clase. Este método tiene una ventaja sobre otros y es que no sobreajusta tanto a los P ( xi | Pa ( xi )) = datos, por ejemplo como el método de máxima verosimilitud. Todas las combinaciones posibles tienen asignada una distribución de probabilidad mínima; con esto no se descarta ningún valor con el que se puede rellenar. n( xi , Pa ( xi )) + 1 n( Pa ( xi ))+ | Ωxi | La estimación de la probabilidad a priori de la clase, se determina realizando el conteo de cada clase y dividiéndolo por el número total de instancias. - Estimación de probabilidades para atributos numéricos. La estimación de probabilidades para el trabajo con atributos numéricos, está basada en el tipo de función de distribución de probabilidad del conjunto de datos. Comúnmente se trabaja con seis funciones de distribución de probabilidad, estas son: Normal, Gamma, Beta, Cauchy, Exponencial y Lognormal. 3.3 Redes neuronales multicapa feedforward (redes con conexión hacia adelante) Una red neuronal artificial consiste de un conjunto simple de unidades de proceso, comunicadas para enviar señales a cada unidad a través de un alto número de conexiones [13]. El algoritmo de retropropagación realiza su aprendizaje sobre una red neuronal feedforward. Las entradas corresponden a los atributos medidos para cada ejemplo de entrenamiento, estas son enviadas simultáneamente a un grupo de unidades, las cuales constituyen la capa de entrada, los pesos generados en esta capa, son enviados simultáneamente a la segunda capa, conocida como capa oculta. Los pesos generados en la capa oculta pueden ser enviados a otra capa oculta, y así sucesivamente. El número de capas ocultas es arbitrario, sin embargo, en la práctica, usualmente sólo se utiliza una. Los pesos generados en la última capa oculta son las entradas de la capa de salida, la cual genera la predicción de clase para los ejemplos ingresados. En una red feedforward ninguno de los pesos de salida vuelve a la capa de entrada o a una unidad anterior a la capa actual. Si es totalmente (1) conectada, cada unidad provee una salida a cada unidad en la siguiente capa. ¿Cómo diseñar la topología de una red neuronal?. Antes de que el entrenamiento pueda comenzar, el usuario debe decidir cual es la topología de la red, especificando el número de unidades de la capa de entrada, el número de capas ocultas, el número de unidades en cada capa oculta y el número de unidades en la capa de salida. La normalización de los valores de entrada para cada atributo medido en los ejemplos de entrenamiento, ayudará a optimizar la velocidad en la fase de entrenamiento. Normalmente, si el dominio de un atributo A es {a0, a1, a2}, entonces debemos asignar tres unidades de entrada para poder representar A. Esto es, podemos tener I0, I1, I2 como unidades de entrada. Cada unidad es inicializada en 0. Si A = a0 entonces I0 es colocado en 1. Si A = a1, I1 es colocado en 1 y así sucesivamente. Una unidad de salida puede ser usada para representar dos clases (donde el valor de 1 representa una clase y el valor de 0 representa la otra). Si hay más de dos clases, entonces una unidad de salida debe ser usada por cada clase. No existen reglas exactamente definidas como las "mejores" para el número de capas ocultas. ¿Cómo trabaja el algoritmo de retropropagación?. Este algoritmo (figura 3) aprende procesando iterativamente un conjunto de ejemplos de entrenamiento, comparando la predicción de la red para cada ejemplo con la clase real de dicho ejemplo (ya conocida). Para cada ejemplo de entrenamiento, los pesos son modificados para minimizar el error medio cuadrático entre la predicción y la clase real. Estas modificaciones son hechas en dirección hacia atrás, es decir, desde la capa de salida, hacia cada capa oculta llegando hasta la primera capa oculta (de aquí el nombre backpropagation). Sin embargo, esto no es garantía, en general los pesos convergirán, y el proceso de aprendizaje termina. An study comparative among machine learning algorithms for professional orientation Seleccionar pesos aleatoriamente wki (1<=k<=i, 1<=i<=N) Seleccionar un vector de entrada Xi (1<=i<=N) Calcular el valor(s) de la capa de la salida propagando el vector de la entrada a través de la red (Feedforward) Calcular el vector de diferencia entre el valor (s) de salida y el valor (s) empírico dado en el conjunto de datos Recalcular los valores de todos los vectores de pesos wk aplicando la regla de aprendizaje Backpropagation Fin ¿Se han procesado todos los vectores de entrada? Si No Figura 3 Algoritmo de Retropropagación 4. ANÁLISIS DE PRUEBAS RESULTADOS 30% restante para pruebas (se emplea validación cruzada). Este porcentaje se selecciona aleatoriamente para que la técnica pueda tomar la mayor combinación posible. Y Para el entrenamiento de las técnicas se recopiló 1000 instancias, el 70% se asignó al entrenamiento y el 4.1 Naïve Bayes Matríz de confusión A B C 64 0 0 0 D E F G H I Å clase 0 0 0 0 0 3 0 A = Lingüística 90 6 0 0 0 0 8 0 B = Lógica Matemática 2 102 7 0 0 0 9 0 C = Espacial 0 0 2 93 9 0 0 8 0 D = Musical 0 0 0 5 103 9 0 9 0 E = Interpersonal 0 0 0 0 3 106 8 9 0 F = Cinestesica Corporal 0 0 0 0 0 3 104 19 0 G = Intrapersonal 0 0 0 0 0 0 12 207 0 H = Naturalista 0 0 0 0 0 0 0 0 0 I = Interpretación Instancias correctas Instancias incorrectas 869 131 86.9% 13.1% Complejidad computacional: O (DMNT), donde D es el número de árboles, M número de instancias, N número de variables (atributos), y T el número de valores que toma cada atributo. 4.2 Red Neuronal con conexión hacia adelante An study comparative among machine learning algorithms for professional orientation Matríz de confusión A B C D E F G H I Å Clase 58 1 1 0 0 1 0 6 0 A = Lingüística 2 100 2 0 0 0 0 0 0 B = Lógica Matemática 0 8 100 0 9 0 3 0 0 C = Espacial 0 4 8 22 31 24 23 0 0 D = Musical 0 0 0 20 42 35 29 0 0 E = Interpersonal 0 0 0 14 32 50 30 0 0 F = Cinestesica Corporal 0 0 1 14 34 29 47 1 0 G = Intrapersonal 1 0 0 0 0 0 0 218 0 H = Naturalista 0 0 0 0 0 0 0 0 0 I = Interpretación Instancias correctas Instancias incorrectas 637 363 63.7% 36.3% por el número de neuronas, el número de pesos, el número de instancias y la cantidad de épocas de entrenamiento. Se deja al lector el determinar esta complejidad. Complejidad computacional: la complejidad de una red neuronal con conexión hacia adelante está dado 4.3 Árbol C4.5 Matriz de confusión A B C D E F G H I Å Clase 67 0 0 0 0 0 0 0 0 A = Lingüística 0 103 1 0 0 0 0 0 0 B = Lógica Matemática 0 0 119 1 0 0 0 0 0 C = Espacial 0 0 0 111 1 0 0 0 0 D = Musical 0 0 0 0 125 1 0 0 0 E = Interpersonal 0 0 0 0 0 125 1 0 0 F = Cinestesica Corporal 0 0 0 0 0 0 125 1 0 G = Intrapersonal 0 0 0 0 0 0 0 219 0 H = Naturalista 0 0 0 0 0 0 0 0 0 I = Interpretación Instancias correctas Instancias incorrectas 994 6 99.4% 0.6% 4.4 Resultados En las tres matrices se observa que en promedio la clase que aprende mejor cada una de las técnicas es NATURALISTA, la razón puede estar en que para esta clase existe el mayor número de instancias (en total 219). Sin embargo, esta misma tendencia no se mantiene para la clase con el menor número de instancias (sin incluir la clase sin instancias “INTERPRETACIÓN”). Complejidad computacional: O (nm2) donde m es número de niveles del árbol (atributos), y n representa el número de instancias. La técnica de redes neuronales presentó la menor efectividad en la clasificación, este hecho se debe a que el procedimiento empleado por la red neuronal deja al azar los pesos iniciales. Para aumentar la efectividad de este tipo de redes se sugiere emplear heurísticas en la inicialización de pesos. En la tabla 2, se puede apreciar la interpretación (área profesional) de las instancias relacionadas. Pruebas IAIM Personas DAT FIP INTERPRETACIÓN An study comparative among machine learning algorithms for professional orientation 1 Razonamiento verbal Ciencias de la salud y servicio social Ciencias de la salud y servicio social Rapidez y precisión perceptivas Áreas artísticas Áreas artísticas 2 Cinestésicacorporal Musical 3 Lingüística Razonamiento verbal Ciencias humanísticas y investigación de cultura Ciencias humanísticas investigación de cultura 4 Naturalista Razonamiento mecánico Admón. E investigación de ciencias agropecuarias Admón. e investigación de ciencias agropecuarias 5 Cinestésica corporal Razonamiento verbal-aptitud numérica Ciencias económicas administrativas del mercado Ciencias económicas administrativas del mercado Tabla 2. Muestra de Interpretación 5 CONCLUSIONES Las técnicas utilizadas para el entrenamiento pueden variar en complejidad y eficiencia, lo que conlleva a que se tenga que establecer diferentes criterios para poder estimar cuales y porque son las más eficientes. Entre los criterios más relevantes se pueden establecer el costo computacional, la exactitud de la técnica, las restricciones de esta, y su complejidad a la hora de implementarla. El análisis de pruebas y resultados muestra la confiabilidad de las técnicas, ya que se logro coherencia con las estimaciones hechas por los psicólogos, esto debido a la veracidad de las instancias con que cada una de las técnicas se entrenó; ofreciendo así la oportunidad de utilizar el conocimiento de los psicólogos. Como se aprecia la técnica con mayor efectividad en este problema son los árboles de decisión, esto no implica que siempre los árboles sean más efectivos que las redes neuronales y los métodos bayesianos, dado que existen características en los problemas que hacen que una técnica aunque en teoría sea efectiva, no lo puede ser para ciertos problemas. 6 TRABAJOS FUTUROS Como trabajos futuros se espera implementar un software que solucione el problema en referencia, a través de técnicas de aprendizaje computacional incrementa, el cual según referentes teóricos requiere un menor costo computacional sin reducir la efectividad. 7 REFERENCIAS [1] MEJÍA, María de los Ángeles. Escoja bien su carrera. Bogotá: Intermedio. Cáp.1, 2000. [2] RODRIGUEZ Moreno, M. L. Orientación e intervención psicopedagógica. Barcelona: Barcanova.1995. [3] BARAK, A. Vocational Interests: A cognitive view. Journal of Vocational Behavior. 19 (1). 1981. [4] FITCH, J. “Vocational guidance in action” Columbia University Press New York. 1935. [5] PÉREZ, E., BELTRAMINO, C, CUPANI, M. Inventario de Auto eficacia para Inteligencias Múltiples: Fundamentos Teóricos y Estudios Psicométricos.Laboratorio de Evaluación Psicológica y Educativa. Facultad de Universidad Nacional de Córdoba (Argentina). ISSN N º1667-4545. 2003. Consulta en línea http://www.revistaevaluar.com.ar/33.pdf. [6] SHEARER, B. The Application of Multiple Intelligences Theory to Career Counseling. Paper presented in the annual meeting of the American Educational Research Association. Montreal.1999. An study comparative among machine learning algorithms for professional orientation [7] GUILFORD JP. Intelligence: 1965 model. Am Psychol 1966. [8] FRANK, E. Data Mining: Practical machine learning tools and techniques with java implementations. San Francisco: Morgan Kaufmann Publishers. 2000. [9] HAN, J. and KAMBER, M.. Data Mining: Concepts and Techniques. Morgan Kaufmann, 2000. [10] QUINLAN, J.R. C4.5: Program For Machine Learning. Edit. Morgan Kaufmann, San Mateo, CA., 1993. [11] BERTHOLD, M. and HAND, D. Intelligent Data Analysis “An Introduction”. USA: Springer, 2002. [12] HERNANDEZ, J., RAMIREZ, M., y FERRI, C. Introducción a la Minería de Datos. España: Prentice Hall, 2004. [13] KRÖSE, B. and SMAGT, P. An Introduction to Neural Network. Holland: The University of Amsterdam, 1996. p. 15 – 17