Jorge Picoaga – Diego Cesario

Slides:



Advertisements
Presentaciones similares
Jacqueline Chávez Cuzcano
Advertisements

Inteligencia Artificial
Diseño y análisis de algoritmos
Inteligencia Artificial
Introducción a la minería de datos
Planificación de Monoprocesadores
III - Gestión de memoria
Grupo 4 Matías Melgar Pablo Carbonell
Inteligencia Artificial Búsqueda informada y exploración
UNIDAD I MODELOS Y TOMA DE DECISIONES
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Modelos de confiabilidad
Representación en espacio de estado
Método de Ford-Fulkerson
Windows XP sp3.
Evaluación de Productos
Solución de problemas por búsqueda inteligente
Metaheurística ACO Aplicada a Problemas de Planificación en Entornos Dinámicos de San Pedro M., Pandolfi D., Lasso M., Villagra A. Laboratorio de Tecnologías.
“Persuasive argumentation in negotiation” Katia P. Sycara.
Métodos basados en poblaciones 1 En cada iteración se trabaja con un conjunto o población de soluciones Computación evolutiva: algoritmos que se inspiran.
Inteligencia artificial
Algoritmos Genéticos (AG) Integrantes: Rubén Levineri Miguel Rozas Juan Yañez Faltan autores y bibliografía.
PROGRAMACIÓN LÓGICA.
INTELIGENCIA DE NEGOCIOS
Tema 2: Métodos de ajuste
GRAFOS HUGO ARAYA CARRASCO.
Representación del Conocimiento
Teoria de grafos.-clase 4
Sesión 2: Métodos Probabilísticos Básicos
Temas importantes para el desarrollo de la segunda parte del TPE
PROCESO DE DESARROLLO. Introducción Mediante esta presentación se pretende describir el proceso de desarrollo del TALLER I.
Resolución de Problemas Método Simplex
Población y Muestra.

Diseño y análisis de algoritmos
Bibliografía “Metaheuristics in Combinatorial Optimization: Overview and conceptual Comparison” C. Blum and A. Roli- TR/IRIDIA/ “An introduction.
(Organización y Manejo de Archivos)
Parte II. Algorítmica. 3. Algoritmos voraces.
SISTEMAS ADAPTATIVOS Y FILTRADO
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
COMPUTACION EVOLUTIVA Introducción. Computación Evolutiva: Computación Evolutiva: Enfoque alternativo para abordar problemas complejos de: Enfoque alternativo.
Combinación de Clasificadores
1 Algoritmos Avaros (Greedy Algorithms) Agustín J. González ELO-320: Estructura de Datos y Algoritmos.
José Ángel González Fraga, Erika. M. Ramos Michel, Facultad de Telemática, Universidad de Colima V TALLER DE PROCESAMIENTO.
Una introducción a la computación evolutiva
DIAGRAMAS ENTIDAD RELACIÓN
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP
Nuevas Metaheurísticas basadas en población
Parte I. Estructuras de Datos.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Incorporando Búsqueda Local a un Algoritmo ACO para el Problema de Scheduling de Tardanza Ponderada Lasso M., de San Pedro M Laboratorio de Tecnologías.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Ing. Noretsys Rodríguez. Definición de Conceptos  Falla: Ocurre cuando un programa no se comporta de manera adecuada. Es una propiedad estadística de.
DIAGRAMA DE FLECHAS O RUTA CRITICA
Metodología de la programación
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
TIPOS DE PRUEBAS DEL SOFTWARE
Taller: Inteligencia Computacional
Introducción a los TADs

75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
Investigación Algorítmica ChasquiSoft. Integrantes Contreras Ames, Roy Carlos Gaspar Calle, Ronald Urlich Ames, Rafael Paredes.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
Fundamentos de Computación

Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
Gestión de Memoria – Parte 2
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
Conclusiones: En este trabajo se ha demostrado que se pueden aplicar los algoritmos OCH al ajuste de los parámetros de un modelo borroso mediante la discretización.
Transcripción de la presentación:

Jorge Picoaga – Diego Cesario Ant Miner An Ant Colony Algorithm for Classification Rule Discovery Rafael S. Parpinelli - Heitor S. Lopes - Alex A. Freitas Algoritmo de Colonia de Hormigas para el Descubrimiento de Reglas de Clasificación Jorge Picoaga – Diego Cesario Noviembre 15 de 2013

Agenda Descripción biológica sobre la hormiga Introducción a la Colonia de Hormigas Feromona Colonia de Hormigas Real y Artificial Ant Miner Ant Miner vs. Clasificador C4.5 Papers más recientes Aplicaciones Software GUI Ant Miner Software Ant Sim Conclusiones

Descripción Biológica de la Hormiga Familia de los Formícidos Himenóptero (200 M especies) *Su nombre científico es Formícidos, pertenecen al Orden de los Himenópteros. Evolucionaron de antepasados similares a una avispa. Si bien no todas las especies tienen alas, y también dependen del rol que ocupan en la colonia (si son reinas o no) *Ciclo de vida: una nueva hormiga obrera pasa los primeros días cuidando de la reina y de las crías; posteriormente es promovida a tareas de excavación y mantenimiento del hormiguero; más adelante a defender el hormiguero y a recolectar el alimento *Antenas en ángulo (codo); Con las antenas detectan sustancias químicas, corrientes de aire y vibraciones; además sirven para recibir señales por medio del tacto. Las antenas proporcionan información sobre la dirección e intensidad de los olores. *Estructura en tres secciones con una estrecha cintura, no tienen pulmones. Respiran a través de minúsculas válvulas llamadas Espiráculos *Fuertes mandíbulas para manipular alimentos, objetos, construir nidos y defenderse *Algunas hormigas producen sonidos por Estridulación (haciendo rozar dos partes del cuerpo) *6 patas *Ojos compuestos formados por numerosas lentes minúsculas unidas; adecuados para detectar movimiento; no tienen una gran resolución. Tienen 3 pequeños Ocelos (ojos simples) en la parte superior de la cabeza, que detectan nivel lumínico y la polarización de la luz *Visión: En su mayoría tienen una visión mediocre o pobre; existen especies completamente ciegas (subterráneas) y otras con una vista excepcional (hormiga bulldog australiana) *Hormigas del desierto de Sahara, se orientan integrando la dirección y la distancia que han recorrido, gracias a un podómetro interno que lleva la cuenta de los pasos realizados; evaluando el movimiento de los objetos de su campo visual y para la dirección toman como referencia la posición del Sol (además de señales táctiles y olfativas)

Insectos Sociales y Colonia de Hormigas Colonia de hormigas, avejas, avispas y termitas Integradas desde docenas a millones de hormigas Agenda de tareas independiente Pueden trabajar en comunidad cooperando una con otra, sin ningún tipo de supervisión o control Este comportamiento se denomina “inteligencia colectiva” (swarm intelligence) de sistemas descentralizados y auto organizados, sean naturales o artificiales

Claves del Éxito de la Colonia de Hormigas Organización Social División del Trabajo 1 Resolución de problemas complejos 2 Capacidad de Modificar Hábitats 3 Capacidad de Defensa 4 Comunicación entre sus individuos 5 Aprovechamiento de Recursos 6

Algunos números sobre las hormigas… Presencia en el Planeta Población Mundial Actual Origen Especies 12.000 a 21.000 especies 5 continentes e/1.000 y 10.000 billones Cretácico 110-130 ma 10.000.000.000.000.000 Esperanza de Vida Natural % Biomasa Animales Terrestres Hormigas y Humanos 29 años El máximo de longevidad de una hormiga reina en una colonia de laboratorio 1.4 MM de hormigas por cada ser humano Desde semanas hasta 15 años Entre el 15 y 20% De la biomasa

Colonia de Hormigas y Clasificación La tarea de clasificación consiste en asociar cada caso (objeto o registro) a una clase predefinida Se basa en los valores de atributos del cada caso (atributos predictivos) Reglas de la forma IF <condiciones> THEN <clase> Un sistema de colonia de hormigas (ACS) involucra simples agentes (hormigas) que cooperan una con otra para lograr un comportamiento unificado del sistema (como un todo) generando un sistema robusto capaz de encontrar soluciones de alta calidad en un gran espacio de búsqueda… …simulando el comportamiento natural de las hormigas y desarrollando mecanismos de cooperación y aprendizaje

Cómo lo hacen? Las hormigas se comunican una con otra a través de la feromona (pheromone) que dejan en los senderos La feromona es una sustancia química que van dejando en el suelo, construyendo la ruta a seguir También la utilizan para hacer un llamado de alerta a otras hormigas El comportamiento colectivo implica si un camino fue utilizado por muchas hormigas, es el camino más atractivo a seguir Loop de feedback positivo: la probabilidad que una hormiga elija un camino aumenta de acuerdo a la cantidad de hormigas que ya pasaron por allí

Ejemplo Gráfico El camino más corto hace que se acumule más feromona en menor tiempo; las hormigas comienzan a elegir esa ruta

Planet Ant – Life inside the Colony http://www.youtube.com/watch?v=GhGno2BIts0

Sistema de Colonia de Hormigas Real y Artificial Artificial (extras) Prefieren caminos con mayor cantidad de feromona Los caminos más cortos tienden a tener altas tasas de crecimiento en la cantidad de feromona Utilizan un sistema de comunicación indirecto, basado en la cantidad de feromona en cada camino Hormigas artificiales tienen memoria No son completamente ciegas Viven en un ambiente donde el tiempo es discreto Caminos con mayor feromona equivalen a Caminos más cortos

Para construir un ACS se debe definir: Representación apropiada del problema Regla de transición probabilística Una función heurística que mida la calidad Una regla que especifique cómo actualizar la cantidad de feromona Un método que valide construcción de soluciones válidas

Ant Miner / Hormiga Minera Introducción Construcción de Reglas Función Heurística Poda de Reglas Actualización de feromona Parámetros del sistema Resultados del Experimento (comparación con otros algoritmos) Versiones mejoradas de Ant Miner

Visión General Objetivo principal: extracción de reglas de clasificación y comparación con otros algoritmos Solución sobre Atributos Categóricos Regla inicial Regla parcial La elección del término a agregar depende de una función heurística que depende del problema y de la cantidad de feromona asociada con ese término La hormiga va agregando términos (uno por vez) hasta que no sea posible seguir construyendo la regla. Esto puede deberse por haber alcanzado la cantidad mínima de casos definida por el usuario (Min_cases_per_rule) o cuando todos los atributos fueron utilizados por la hormiga

Visión General (continuación) Cuando se alcanza uno de los dos criterios de parada, la hormiga construye una regla En principio ya podríamos usarla para clasificación, aunque en la práctica se realiza una poda de la misma para eliminar términos irrelevantes Cuando una hormiga completa su regla y la cantidad de feromona fue actualizada en cada ruta, otra hormiga comienza la construcción de su propia regla, usando las nuevas cantidades de feromona para guiar su búsqueda El proceso se repite una cantidad predefinida de veces (No_of_ants) Este proceso puede interrumpirse si la regla se repite con una anterior (No_Rules_Converg – 1 ants), en un ACS real equivale al mismo camino hecho por otra hormiga

Visión General (continuación) Todos los casos cubiertos correctamente por la regla creada, son quitados del conjunto de entrenamiento, y se inicia otra iteración sobre el conjunto reducido El proceso se repite hasta que los casos no cubiertos estén por debajo de un umbral definido previamente (Max_uncovered_cases) Las reglas descubiertas se almacenan en orden de descubrimiento Regla por defecto (default rule) con el antecedente vacío, y el consecuente (clase) correspondiente a la clase mayoritaria de los casos no cubiertos por las reglas descubiertas

Construcción de Reglas (tau) Feromona disponible en el momento t, en la posición (i,j) del camino iniciado por la hormiga (eta) Valor de la partición (termij) evaluado con la función heurística particular del dominio Información heurística: preferencia del arco. Depende del problema. Las hormigas no la modifican durante la ejecución Información memorística: medida de la “deseabilidad” del arco, representada por la cantidad de feromona depositada en él. Se modifica durante la ejecución del algoritmo Probabilidad incremental (a) es la cantidad total de atributos (b) es la cantidad de valores en el dominio del atributo (i) Atributos no utilizados aún por la hormiga

Función Heurística Número de clases Cantidad de casos en la partición Tij con la clase W Cantidad de casos en la partición Tij cuando el Atributoi = Vij

Función Heurística (cont.) En los ACO convencionales el valor heurístico es generalmente usado en conjunto con el valor de la feromona para decidir los cambios de estado que se harán (por lo tanto el valor heurístico depende del valor de la feromona) En Ant-Miner el valor heurístico es calculado para obtener la calidad de la medida información del término a ser agregado a la regla

Poda de Reglas Incrementa el poder predictivo de la regla Evita el over-fitting sobre el conjunto de entrenamiento Mejora la simplicidad de la regla (más entendible por el usuario) La poda es ejecutada por cada hormiga cuando completa la construcción de la misma Básicamente se remueve en forma iterativa un término a la vez de la regla, mientras esta mejore su calidad

Poda de Reglas (continuación) Se comienza con la regla completa (con todos los términos) Luego se va quitando de a un término a la vez, y evaluando la calidad de la regla (puede significar re asignar la clase de la regla, dado que la regla podada puede tener diferente mayoría de casos de una determinada clase) El término que quitamos debe mejorar la calidad de la regla El proceso se repite, hasta que la regla tenga sólo un término o bien no haya ningún término a remover que mejore la calidad de la misma

Actualización de Feromona Cuando comienza el algoritmo y la primer hormiga comienza la búsqueda, todos los caminos tienen el mismo nivel de feromona

Actualización de Feromona (continuación) Cada vez que una hormiga termina de construir su regla, la cantidad de feromona en todas las posiciones de todos los caminos debe actualizarse La cantidad de feromona asociada con cada término que aparece en la regla es incrementado La cantidad de feromona asociada con cada término que NO aparece en la regla es reducido, correspondiendo con el fenómeno de la evaporación de feromona en las colonias de hormigas de la vida real

Actualización de Feromona (continuación) Aumentar la cantidad de feromona asociada a cada término concluye con el aumento de la feromona en toda la ruta (path) completada por la hormiga En este contexto, esto equivale a aumentar la probabilidad que el término sea escogido en un futuro por otra hormiga Este incremento es proporcional a la calidad de la regla construida La calidad de la regla (Q) se mide entre 0 y 1, cuanto más alto el valor de Q es mayor la calidad de la regla positivos Tasa de aciertos negativos Tasa de aciertos (negativos)

Actualización de Feromona (continuación) Para el caso de los términos no utilizados, se simula el fenómeno de evaporación a través de la normalización Cuando se construye una regla, sólo los términos utilizados incrementan su cantidad de feromona Cuando se realiza la normalización, y se divide por el total de feromona de todos los términos, el efecto logrado es que los términos no usados vean reducido su cantidad de feromona (estrategia indirecta)

Parámetros del Sistema (en este experimento) Cantidad de Hormigas (No_of_ants) = 300 Cantidad Mínima de Casos por Regla (Min_cases_per_rule) = 10 Cantidad Máxima de Casos no cubiertos en el conjunto de entrenamiento (Max_uncovered_cases) = 10 Cantidad de reglas utilizadas para probar la convergencia de las hormigas (No_Rules_Converg) = 10

Resultados Conjuntos de Datos utilizados (UCI) Atributos continuos fueron discretizados con el algoritmo C4.5 Disc

Resultados (continuación) El algoritmo Ant Miner compite con la tasa de acierto del algoritmo C4.5; no obstante el desvío estándar de la hormiga minera es mayor que la del C4.5

Resultados (continuación) En cuanto a simplicidad de reglas, se midió la cantidad de reglas construidas por cada algoritmo y la cantidad de términos utilizados en cada una

Resultados (continuación) Dataset Tasa de Acierto Simplicidad Reglas Simplicidad Términos Breast Cancer (Ljubljana) Breast Cancer (Wisconsin) Tic-tac-toe Dermatology Hepatitis Heart disease (Cleveland)

Mejoras del Algoritmo Ant Miner Ant-Miner-C cAnt-Miner cAnt-Miner2 cAnt-Miner PB Ant-Tree-Miner Las variantes del algoritmo se basan en el algoritmo presentado inicialmente Ant Miner

cAnt-Miner Agrega la posibilidad de trabajar con atributos continuos Lo que cAnt-Miner hace durante su ejecución es crear internamente intervalos discretos para este tipo de atributos.

cAnt-Miner2 El algoritmo cAnt-Miner2 evidencia la construcción de un conjunto de reglas que no hace uso de la reutilización de patrones encontrados para identificar nuevas reglas, a partir de un conjunto de datos con atributos continuos. El algoritmo cAnt-Miner2 posee una exactitud de predicción levemente mayor que el algoritmo Ant-Miner, además encuentra la lista de reglas de una manera más simple sin que se incremente el tiempo de computo.

cAnt-Miner2 vs Ant-Miner

cAnt-Miner2-MDL Luego de CAntMiner2 hubo una modificación de dicho algoritmo a la que denominaron cAnt-Miner2-MDL donde incorporaron y aplicaron en la fase de construcción de reglas el principio de minimización de la longitud de descripción. Los valores de las feromonas se asocian a las aristas del grafo y no a los vertices.

cAnt-Miner PB Basado en Enfoque de Pitsburgh, esta variante a pesar de que sigue utilizando un enfoque de cubrimiento secuencial, cada individuo crea una lista completa de reglas en cada iteración del algoritmo en lugar de una única regla. Además, las feromonas se actualizan en base a la lista de mejores reglas candidatas de entre las creadas en la iteración.

Usa una funcion heuristica mas dependiente de la clase y más exacta Ant-Miner+ Propuesto por (Martens), ha demostrado que obtiene mejores resultados de acuracy (tasa de acierto). La función de fitness es la suma de confianza mas coverage. Usa una funcion heuristica mas dependiente de la clase y más exacta

Ant-Miner-C (Baig y Shazhad) Entre sus principales características podemos destacar el empleo de una función heurística basada en el nivel de correlación entre atributos, mientras que la función de fitness es similar a la empleada en el algoritmo Ant-Miner+

Ant-Tree-Miner Combina estrategias de arboles de decision y ACO. En variantes como esta se comprueba que un algoritmo hibrido puede dar buenos resultados Combina estrategias de arboles de decision y ACO. Ant-Tree-Miner sigue un enfoque descendente que realiza una selección probabilística de los atributos que se añaden como nodos de decisión basándose en la cantidad de feromonas y la información heurística

Aplicaciones http://iridia. ulb. ac AcosTSP v1.02 AntNet v1.1 Gui Ant Miner Myra Ant Solver Ant Car La mayoría de las aplicaciones están construidas en C y Java, y se ejecutan sobre Unix

GUI Ant-Miner

GUI Ant-Miner +45 +900 +2.87 +0.52

Ant Sim

Conclusiones Ant Miner compite con respecto a la tasa de acierto predictiva en relación con C4.5 El conjunto de reglas descubierto por Ant Miner es más chico que las descubiertas por el algoritmo C4.5 Existen muchas variantes del Algoritmo que contemplan mejoras en los resultados sobre los mismos conjuntos de datos Importancia de desarrollar algoritmos híbridos que incorporen las ventajas de diferentes técnicas (ej.: operadores genéticos para mejorar las soluciones obtenidas por las colonias de hormigas)

Preguntas?

Referencias “An Ant Colony Algorithm for Classificacion Rule Discovery”. Parpinelli/Lopes/Freitas. 2002. “Ant Colony Algorithms for Data Classification”. Parpinelli/Lopes/Freitas. 2009. “Improving the Interpretability of Classification Rules Discovered by an Ant Colony Algorithm”. Otero/Freitas. 2013 “A Novel Method for Extracting Classification Rules based on Ant-Miner”. Babak Fakhar. 2013. “Classification Rule Discovery with Ant Colony Optimization and Improved Quick Reduct Algorithm”. Jaganathan/Thangavel/Pethalakshmi/Karnan http://www.iaeng.org/IJCS/issues_v33/issue_1/IJCS_33_1_9.pdf Descripción biológica hormiga http://es.wikipedia.org/wiki/Formicidae Video: “Planet Ant – Life inside the Colony”. BBC. http://www.youtube.com/watch?v=GhGno2BIts0 Software Gui Ant Miner: http://sourceforge.net/projects/guiantminer/ Software Ant Sim v1.1: http://nightlab.ch/antsim.php Ant Colony Optimization. Diferentes paquetes de SW público: http://iridia.ulb.ac.be/~mdorigo/ACO/aco-code/public-software.html