Inicio Segmentación de una cartera de clientes usando aprendizaje de máquina Universidad San Ignacio de Loyola I encuentro interdisciplinario de investigación desarrollo y tecnología USIL 2014
Inicio Inicio 1 Aprendizaje de máquina Fundamentos Planteamiento del problema 2 Máquina de soporte vectorial Clasificador de máximo margen Máquina de soporte vectorial (Caso no lineal) 3 Implementación computacional
Inicio Aprendizaje de máquina Fundamentos Planteamiento del problema 1 Aprendizaje de máquina Fundamentos Planteamiento del problema 2 Máquina de soporte vectorial Clasificador de máximo margen Máquina de soporte vectorial (Caso no lineal) 3 Implementación computacional
Aprendizaje y clasificación Fundamentos Planteamiento del problema El aprendizaje es el proceso de adquirir o modificar conocimiento, como resultado de la experiencia. En nuestro caso buscamos un conjunto de funciones del siguiente tipo y/o ClienteconRiesgo(Juan) = Si ClienteconRiesgo(Roxana) = No ClienteFiel(María) = No ClienteFiel(Pedro) = Si Ambas funciones pueden formar parte del Conocimiento del Cliente. Aprendizaje de máquina El aprendizaje de máquina es una rama de la IA que desarrolla técnicas que permitan a las computadoras aprender.
Fundamentos Planteamiento del problema Idea geométrica (Aprendizaje de máquina) 1 Se cuenta con un conjunto de datos de clientes ya clasificados, que denominaremos conjunto de entrenamiento DNI Edad Renta Clase 1000025 40 2500 NO 1002945 38 3000 NO 1017122 35 8000 SI... 1018132 38 7000 SI 2 Se busca a partir de este conjunto construir una función f que clasifique nuevos clientes. DNI Edad Renta Clase 1999925 45 4500 f(45, 4500) Y Figura: Mapeo del conjunto de entrenamiento X
Inicio Aprendizaje de máquina Fundamentos Planteamiento del problema 1 Aprendizaje de máquina Fundamentos Planteamiento del problema 2 Máquina de soporte vectorial Clasificador de máximo margen Máquina de soporte vectorial (Caso no lineal) 3 Implementación computacional
Problema de clasificación binaria Fundamentos Planteamiento del problema Se estructura a continuación la idea geométrica ya expuesta Aprendizaje de máquina Estructura matemática Se tienen lo siguientes elementos El espacio con producto interno R n como nuestro conjunto universo de datos. El conjunto S donde S R n un conjunto de muestra. Una función f : S {1, 1} que denominaremos función de etiquetado. Un conjunto D de entrenamiento, donde D = {( x, y) / x S, y = f ( x)} Debemos hallar una función ˆf : R n {1, 1}, a partir de D tal que ˆf = f ( x) para todo x S. Vamos a denominar a f como la función de decisión. Cuando el conjunto de entrenamiento D es linealmente separable el problema anterior es denominado problema de clasificación binaria lineal.
Fundamentos Planteamiento del problema Solución al problema de clasificación binaria lineal Suponemos que el conjunto de entrenamiento D R n es linealmente separable g( x) = w x = 0 w γ ā Si a pertenece a la clase 1, entonces w a < 0 Si a pertenece a la clase 1, entonces w a > 0 Función de decisión de una clasificación binaria lineal La función de decisión ˆf para el problema, cuya superficie de decisión es L : w x = b está dada por ˆf ( x) = sgn( w x b)
Fundamentos Planteamiento del problema Algoritmos de Clasificación binaria lineal Hoy en día, existen varios métodos para construir una superficie de decisión, entre los más reconocidos se mencionan: Redes Neuronales Árboles de decisión Naive Bayes, etc. La teoría de aprendizaje estadístico postula geométricamente lo siguiente: Una superficie de decisión es óptima si es equidistante a los hiperplanos de soporte y maximiza el margen entre las clases.
Inicio Aprendizaje de máquina Clasificador de máximo margen Máquina de soporte vectorial 1 Aprendizaje de máquina Fundamentos Planteamiento del problema 2 Máquina de soporte vectorial Clasificador de máximo margen Máquina de soporte vectorial (Caso no lineal) 3 Implementación computacional
Clasificador de máximo margen Clasificador de máximo margen Máquina de soporte vectorial 3 1 4 2 1 Superficie de decisión 2 Hiperplanos de soporte 3 Vectores de soporte 4 Margen Figura: Conjunto de entrenamiento
Clasificador de Máximo Margen Clasificador de máximo margen Máquina de soporte vectorial Clasificador de Máximo Margen Dado un conjunto de entrenamiento linealmente separable: D = {( x 1, y 1 ), ( x 2, y 2 ), ( x 3, y 3 ),..., ( x l, y l )} R n { 1, 1} Podemos calcular una superficie de decisión w x = b que maximice el margen resolviendo el siguiente problema de optimización 1 mín φ( w, b) = mín w w w,b w,b 2 S.a y i ( w x i b) 1 0 1 La función objetivo no depende de b 2 El término independiente b aparece en las restricciones 3 Vamos a tener tantas restricciones como puntos de entrenamiento La alternativa para superarlo es resolver el problema dual
Inicio Aprendizaje de máquina Clasificador de máximo margen Máquina de soporte vectorial 1 Aprendizaje de máquina Fundamentos Planteamiento del problema 2 Máquina de soporte vectorial Clasificador de máximo margen Máquina de soporte vectorial (Caso no lineal) 3 Implementación computacional
Clasificación no lineal Clasificador de máximo margen Máquina de soporte vectorial φ φ( x i) x i Figura: Clasificación no lineal Podremos usar un clasificador lineal en el espacio de características Cómo calculamos la función φ?
Clasificador de máximo margen Máquina de soporte vectorial Luego usando una función núcleo reemplazando el producto interno la máquina de soporte vectorial para el caso no lineal estaría definida como ( m ) ˆf ( x) = sgn λ i y i φ( x i ), φ( x) b i=1 ( m ) = sgn λ i y i K ( x i, x) b i=1 Máquina de Soporte Vectoria no lineal Definimos a la máquina de soporte vectorial no lineal como la función de decisión dada por ( m ) ˆf ( x) = sgn λ i y i K ( x i, x) b i=1
Inicio Aprendizaje de máquina 1 Aprendizaje de máquina Fundamentos Planteamiento del problema 2 Máquina de soporte vectorial Clasificador de máximo margen Máquina de soporte vectorial (Caso no lineal) 3 Implementación computacional
del aprendizaje La biblioteca libsvm tiene implementado el algoritmo de máquina de soporte vectorial, esta b es usada por R (en los paquetes e1071 y kernlab) y WEKA. Los resultados que presentamos fueron salidas del paquete kernlab de R
Aprendizaje de máquina Nuestros datos fueron separados en dos grupos: Entrenamiento (1,045 registros) y Prueba (184 registros). Para las pruebas, utilizamos el núcleo denominado Radial Basic Function (RBF). K ( x i, x j ) = e σ( x i x j 2 ) Con los siguientes valores en los parámentros con σ = 0,25, Se obtuvo los siguientes resultados Afiliado* Traspaso* Afiliado 526 75 Traspaso 46 398 572 473 *Clasificación. El error de entrenamiento es de 11.57 %.Utilizando el modelo construido, se verificó con los datos de prueba con un 13.5 % de error Afiliado* Traspaso* Afiliado 100 9 Traspaso 16 59 116 68
Segundo ejercicio Aprendizaje de máquina Con el mismo conjunto de datos, decidimos escoger otro conjunto de entrenamiento (1,000 registros) y de prueba (229 registros), con el mismo valor en los parámetros que el ejercicio anterior, se entrenó a la máquina y se obtuvieron los siguientes resultados Afiliado* Traspaso* Afiliado 513 66 Traspaso 44 377 557 443 Error de entrenamiento 11 %, probamos el modelo con el conjunto de prueba: Afiliado* Traspaso* Afiliado 113 11 Traspaso 19 86 132 97 Error de entrenamiento 12.66 %, con esta cifra, damos por válido al modelo.
Puesta en marcha Aprendizaje de máquina Una vez hallado los parámetros óptimos se construye la máquina de soporte vectorial con la que se va a medir la probabilidad de traspaso de un conjunto de clientes no empleado para el entrenamiento. CodigoCte Clase Clase Prob.Traspaso C001 Afiliado Traspaso 57.97 % C002 Afiliado Afiliado 43.26 % C003 Afiliado Afiliado 34.86 % C004 Afiliado Traspaso 59.28 % C005 Afiliado Traspaso 55.34 % C006 Afiliado Afiliado 29.73 % C007 Afiliado Afiliado 27.07 % C008 Afiliado Traspaso 86.70 % C009 Afiliado Afiliado 25.57 % C010 Afiliado Afiliado 28.86 % C011 Afiliado Afiliado 25.30 % C012 Afiliado Traspaso 64.58 % C013 Afiliado Afiliado 44.55 % Cuadro: Probabilidad de traspaso
Gráficos de la clasificación Clase Traspaso en Azul Figura: Permanencia Entidad vs Permanencia en Sistema Figura: Edad vs Renta
Gráficos de la clasificación Figura: Permanencia Entidad vs Permanencia en Sistema Figura: Edad vs Renta
Gráficos de la clasificación Figura: CuotasPagadas vs MaxCuotasConsecutivas Figura: Renta vs TPHO
Bibliografía Aprendizaje de máquina Lutz Hamel. Knowledge Discovery with Support Vector Machines. John Wiley y Sons Inc, 2009. Ralf Herbrich. Learning Kernel Classifiers. Massachusetts Institute of Tecnology, 2002. Xindong WuVipin Kumar. The Top Ten Algorithms in Data Mining. Chapman y Hall/CRC, 2009. A.L. Peressini, F.E. Sullivan, J.J. Uhl Jr. The Mathematics of nonlinear programming. Springer Verlag New York INC, 1988. Nello Cristianini and John ShaweTaylor. An Introduction to Support Vector Machines and Other Kernelbased Learning Methods. Cambridge University Press 2000.
Bibliografía Aprendizaje de máquina Ingo Steinward and Andreas Christmann. Support Vector Machines. Springer ScienceBusiness Media, LLC, 2008. WilliHansSteeb. The Nonlinear Workbook 3rd Edition. World Scientific Publishing Co. Pte. Ltd, 2005.
Muchas gracias por su atención