Prctica 1 - Inteligencia Artificial en las Organizaciones (2014/2015)
Grado en Ing. Informtica. Jos Antonio Iglesias Martnez.
1
PRCTICA 1
Inteligencia Artificial en las Organizaciones
Grado en Ing. Informtica. Curso 2014/15
Redes de Neuronas Artificiales WEKA
Entrega de la prctica:
Esta prctica requiere la realizacin de un documento con toda la informacin que ha sido utilizada (tablas, grficos) para resolver los casos planteados. La entrega se realizar de forma INDIVIDUAL con el formato y estructura que el alumno desee. Dicha entrega deber realizarse por Aula Global antes del 26 de Septiembre (2014) a las 15:00h.
Las empresas agregan a sus bases de datos millones de datos de informacin. La disminucin en los costos de almacenamiento y la mayor velocidad de procesamiento de las computadoras lo permiten. Estos datos pueden resultar interesantes para obtener informacin sobre si es probable comprar un determinado producto, cundo un cliente va a cometer un fraude en una tarjeta de crdito, etc. As, para poder construir modelos que contesten a estas preguntas es factible utilizar minera de datos (o Data Mining).
En esta prctica, para realizar tareas de minera de datos, se utilizar el entorno de Weka, estudiaremos as algunas de las funcionalidades de anlisis de datos que ofrece esta herramienta. Estas funcionalidades incluyen anlisis estadstico, visualizacin, etc. Recordad que el manual de Weka est disponible en: http://www.cs.waikato.ac.nz/~ml/weka/index_documentation.html. Tambin est accesible el Weka Wiki (http://weka.wikispaces.com/) un espacio con gran cantidad de tutoriales, documentos, preguntas, etc.
Sin embargo, de todas las tcnicas de minera de datos, en esta prctica nos centraremos en Redes de Neuronas Artificiales (RNA). Para ello, partiendo de un conjunto de datos de entrenamiento, debemos construir una RNA especificando su arquitectura y los parmetros del proceso de aprendizaje.
Prctica 1 - Inteligencia Artificial en las Organizaciones (2014/2015) Grado en Ing. Informtica. Jos Antonio Iglesias Martnez. 2
Para la realizacin de esta prctica se utilizar la herramienta Weka en el siguiente escenario: Un banco muy conocido pretende ampliar sus clientes lanzando propaganda orientada a una porcin especfica de la poblacin slo aquellos que pueden ser posibles buenos clientes. La materia prima del banco para realizar esta actividad es un fichero que contiene informacin sobre gran cantidad de clientes. Adems, en un estudio previo se han clasificado aquellos buenos clientes para el banco. De esta forma, de cada cliente se obtiene un conjunto de datos y la clasificacin otorgada por dicho estudio.
1. Elaboracin de la prctica.
La finalidad de esta prctica consiste en poder determinar nicamente a partir de los datos comentados anteriormente si un nuevo cliente puede ser considerado como bueno para el banco. As, se pretende obtener una RNA que pueda ayudarnos a determinar si un cliente ser bueno o malo para el banco y poder orientar la propaganda a los clientes buenos.
Para ello, a partir de todas las opciones de anlisis y clasificacin utilizando RNA, se deber realizar un estudio detallado en el que se explique de forma amplia y clara (utilizando grficos, reduciendo determinados datos) cmo podemos utilizar RNA en este problema en concreto.
2. Utilizando Weka (RNA-Perceptrn Multicapa) para Anlisis de datos
2.0. Obtencin de los datos Descargar el siguiente conjunto de datos: Fichero con los datos de clientes de un banco: datosBanco.arff Abrir el fichero con un editor y estudiar su contenido.
2.1. Estudio estadstico de los datos Lanzar la herramienta Weka. Lanzar el Explorer. Abrir el fichero datosBanco.arff Una vez cargado el conjunto de datos, en la seccin attributes se puede pinchar sobre cada atributo para obtener informacin estadstica de ellos. Esta informacin podra ser til para incluir en el estudio a realizar.
2.2. Aplicacin de filtros Weka permite aplicar todo tipo de filtros sobre los datos, permitiendo realizar transformaciones sobre ellos de todo tipo. Desde la opcin Filter (en la pestaa Preprocess), aplicar los siguientes filtros sobre el conjunto de datos y grabarlos en ficheros diferentes:
Prctica 1 - Inteligencia Artificial en las Organizaciones (2014/2015) Grado en Ing. Informtica. Jos Antonio Iglesias Martnez. 3
En este caso, utilizaremos la tcnica RNA para el anlisis de datos. Toda RNA se nutre de un conjunto de datos de entrenamiento. Este conjunto de datos est formado por una serie de instancias donde cada instancia representa un ejemplo concreto. Dicho ejemplo est dividido en un conjunto de datos denominado Caractersticas y un nico valor conocido como Clase o Valor de Salida. La figura 1 muestra cmo es este conjunto de datos. En este caso, el conjunto de datos est formado por m instancias de n caractersticas cada una. Adems, el atributo clase de cada instancia se corresponde con el atributo y.
Figura 1. Conjunto de datos.
Dado este conjunto de datos, una RNA puede resolver diferentes tipos de problemas: 1. Clasificacin: El vector Y est formado por valores discretos. 2. Regresin: El vector Y est formado por valores dentro de un intervalo (Ejemplo, prediccin de Series Temporales). 3. Clustering o Agrupamiento: No hay vector Y.
Prctica 1 - Inteligencia Artificial en las Organizaciones (2014/2015) Grado en Ing. Informtica. Jos Antonio Iglesias Martnez. 4
A pesar de que la tipologa de las RNA es muy variada, en este caso (y debido a las limitaciones de Weka) nos centraremos en el modelo de RNA denominado Perceptrn y con una topologa Multicapa. As toda RNA de este tipo estar formada por una capa de entrada (Input Layer), una capa oculta (Hidden Layer) y una capa de salida (Output Layer), tal y como se muestra en la Figura 2.
Para utilizar esta tcnica, una vez cargado el conjunto de datos datosBanco.arff, en la pestaa Classify, se selecciona el clasificador Functions.MultilayerPerceptron que hace referencia al clasificador representado por una RNA con Modelo Perceptrn Multicapa.
En las Test Options, seleccionar Cross-Validation (indicar tambin el nmero de partes (folds) que se quieren indicar), y pulsar el botn de Start para que genere el clasificador. En un instante, en la ventana de salida aparecern los datos de la clasificacin realizada.
Analizando la salida, debemos poder obtener la siguiente informacin: Modelo que genera el clasificador Functions.MultilayerPerceptron.
Prctica 1 - Inteligencia Artificial en las Organizaciones (2014/2015) Grado en Ing. Informtica. Jos Antonio Iglesias Martnez. 5
Instancias del conjunto de entrenamiento correctamente clasificadas. Porcentaje de instancias correctamente clasificadas. Falsos positivos y negativos con la matriz de confusin.
Adems, las opciones de la RNA tambin deben ser modificadas para comprobar cmo vara el resultado en funcin de estos valores. As, si hacemos doble click sobre el nombre del clasificador, nos aparecer una pantalla con distintas valores que podemos modificar. Pulsando el botn More obtenemos ms informacin sobre todos los datos. Son interesantes los siguientes valores:
GUI True: Muestra una representacin grfica de la RNA. HiddenLayers: Indica el nmero de capas ocultas de la RNA. Este nmero puede modificar considerablemente el resultado. LearningRate: Valor entre 0 y 1 que indica la velocidad de aprendizaje de la red. Este parmetro indica el porcentaje en que se permite varen los pesos de la red en cada uno de los ciclos de entrenamiento. TrainingTime: Indica el nmero de ciclos que utiliza la RNA para entrenar.
En el estudio a realizar, ser necesario estudiar y analizar cada uno de los valores anteriores. Adems, deberemos analizar si este tipo de RNA es realmente adecuada para ayudar a la toma de decisiones que debe realizar el banco.