Knowledge Acquisition Via Incrementa Conceptual Clustering DOUGLAS H. FISHER Machine Learning 2: 139-172, 1987 Apresentação: Mário Machado e Otavio Acosta Sumário Background Cobweb Utilidade de Categoria Operadores Inclusão de objeto em cluster existente; Criação de novo cluster Intercalação Divisão Avaliação do Cobweb 2 Background Clusterização Conceitual Paradigma para aprendizagem de máquina que se distingue das demais pela geração de uma descrição de conceito para cada classe gerada. A maioria destes métodos (incluindo o COBWEB) são capazes de gerar estruturas de categorias hierarquicas. Fisher caracteriza o processo de aprendizagem como um processo de busca, no qual o espaço de possíveis modelos de representação é percorrido em busca daquele que se ajuste melhor aos dados de entrada. 3 Background De maneira geral, os métodos de busca podem ser caracterizados pelo mecanismo de controle da busca (exaustivo ou heurístico) e pela direção da busca (generalização ou especialização). Quanto ao uso das entradas, os sistemas podem ser não-incrementais (empregando todas as entradas desde o princípio), ou incrementais (assimilando um fluxo de objetos, um por vez). 4 COBWEB COBWEB é um sistema de clusterização hierárquica conceitual. Ele executa um processo de subida de encosta através de um espaço de esquemas de classificação hierárquica usando operadores que permitem deslocamento bidirecional neste espaço. COBWEB incorpora objetos em uma árvore de classificação de forma incremental, onde cada nó é um conceito probabilístico que representa uma classe (ou agregado) de objetos. 5 COBWEB – Utilidade de Categoria Para que possa aplicar a subida de encosta, o COBWEB emprega uma heurística chamada “utilidade de categoria”. Esta heurística foi criada como um meio de predizer o nível básico em hierarquias de classificação humanas. De acordo com Fisher, utilidade de categoria é um tradeoff entre a similaridade intraclasse e a dissimilaridade inter-classe dos objetos. 6 COBWEB – Utilidade de Categoria Objetos são definidos por pares atributo-valor (restrito a valores nominais). Similaridade intra-classe é refletida por probabilidades condicionais na forma P(Ai=Vij|Ck), onde Ai=Vij é um par atributo-valor e Ck uma classe. Quanto maior esta probabilidade, maior a proporção de membros da classe compartilhando este valor de atributo, e mais previsível ele é para os membros desta classe. 7 COBWEB – Utilidade de Categoria Dissimilaridade inter-classe é uma função de P(Ck|Ai=Vij). Quanto maior esta probabilidade, menor o número de objetos em classes contrastantes que compartilham este mesmo valor para o atributo, e mais preditivo este valor é para esta classe. Estas probabilidades são disposições de valores individuais, mas elas podem ser combinadas para dar uma medida aproximada da qualidade da partição, onde uma partição é um conjunto de classes de objetos mutuamente exclusivos (C1, C2, ... Cn) 8 COBWEB – Utilidade de Categoria A probabilidade P(Ai=Vij) pondera a importância dos valores individuais, fazendo com que valores mais freqüentes tenham mais importância. De acordo com Fisher, Gluck e Corter definem utilidade de categoria como o incremento no número esperado de valores de atributo que podem ser adivinhados corretamente, dada uma partição, sobre o numero esperado de palpites sem tal conhecimento. Formalmente, temos: 9 COBWEB – Utilidade de Categoria Utilidade de Categoria 10 COBWEB – Representação de Conceitos O mecanismo de representação de conceitos pelo COBWEB é baseado no armazenamento dos valores de atributos e suas respectivas probabilidades (tal forma de representação é denominada conceito probabilístico). As probabilidades de valor de atributo são computadas a partir do número de objetos que apresentam aquele valor para o atributo, dividido pelo número total de objetos. 11 COBWEB – Representação de Conceitos No COBWEB, um conceito probabilístico etiqueta cada nó na árvore de classifcação e sumariza os objetos classificados sob o nó. Árvores de conceitos probabilísticos são, diferentemente de redes discriminatórias ou árvores de decisão no sentido em que descritores probabilísticos (e não lógicos) etiquetam nós (e não arcos) da árvore. Classificação usando uma árvore de conceitos probabilística é feita usando uma função de matching parcial para descer a árvore pelo caminho dos nós com "melhor casamento". 12 COBWEB – Exemplo 13 COBWEB – Operadores Para a incorporação de um novo objeto na árvore de classificação gerada, cada novo objeto passa por um processo no qual percorre um dado caminho na árvore, atualizando contagens no meio do caminho e executando UM dos possíveis operadores a seguir em cada nível. 14 COBWEB – Operadores Os operadores utilizados pelo COBWEB são: Classificação de um objeto com relação a uma dada classe; Criação de uma nova classe; Combinação de duas classes em uma só; Divisão de uma classe em k classes. A estratégia de busca emergente da aplicação destes operadores é uma subida de encosta no espaço de árvores de classificação. 15 COBWEB – Colocação do Objeto em uma Dada Classe Esta é a maneira mais fácil de atualizar uma árvore de classificação. A partição que resulta da adição do objeto a uma dada classe é avaliada usando utilidade de categoria. O nó que resultar na melhor partição é identificado como o melhor hospedeiro existente para o novo objeto. 16 COBWEB - Criação de uma Nova Classe Ainda, é avaliado o que gera a melhor partição, se é a introdução do novo objeto em um nó existente ou a criação de um novo nó. Assim, a qualidade da partição resultante da colocação de um objeto no melhor hospedeiro é comparada com a partição resultante da criação de um novo conjunto unitário contendo o objeto. Dependendo de qual partição é melhor com respeito a utilidade de categoria, o objeto é colocado na melhor classe existente ou uma nova classe é criada. 17 COBWEB - Merging & Splitting Os dois operadores vistos anteriormente têm o defeito de ser sensíveis ao ordenamento dos dados. Para evitar que isto ocorra, COBWEB disponibiliza outros dois operadores, para combinação e divisão de nós. A combinação consiste na criação de um novo nó, e na tomada de 2 (de n) nós de um nível, com a soma as contagens de atributo-valor dos nós sendo combinados. A seguir, os nós originais são adicionados como filhos do novo nó. 18 COBWEB - Merging & Splitting Embora possa ser aplicada todos os pares de nós possíveis, isto seria desnecessário e excessivamente custoso. Desta forma, quando um objeto é incorporado, apenas os dois melhores hospedeiros (indicados pela utilidade de categoria) são considerados para merging. 19 COBWEB - Merging & Splitting No splitting, o melhoramento na qualidade da partição é obtido a partir da remoção de um nó e promoção de seus nós filhos. Dada uma partição (com n nós), a remoção de um de seus filhos resultará em uma partição com n+m1 nós (considerando como “m” o número de filhos do nó removido. Merging e splitting são aproximadamente inversos um do outro, permitindo ao COBWEB um movimento bidirecional no espaço de possíveis hierarquias. 20 COBWEB - Merging & Splitting Geralmente, o merging é acionado para desfazer os efeitos de um splitting anterior, caso necessário, e vice-versa. Fisher cita ainda um quinto operador, de promoção, empregado para promover um nó sem a remoção do nó-mãe deste. 21 COBWEB - Algoritmo FUNCTION COBWEB (Object, Root { of a classification tree }) 1) Update counts of the Root 2) IF Root is a leaf THEN Return the expanded leaf to accommodate the new object ELSE Find that child of Root that best hosts Object and perform one of the following a) Consider creating a new class and do so if appropriate b) Consider node merging and do so if appropriate and call COBWEB (Object, Merged node) c) Consider node splitting and do so if appropriate and call COBWEB (Object, Root) d) IF none of the above (a, b, or c) were performed THEN call COBWEB (Object, Best child of Root) 22 COBWEB - Avaliação A avaliação do COBWEB é baseada em um modelo de aprendizagem (Dietterich). 23 COBWEB - Avaliação Árvore Classificação Base de Conhecimento Utilidade de adquirir conhecimento para inferências Tarefa de Desempenho Eficácia na aprendizagem incremental Ambiente 24 COBWEB – Árvore de Classificação A partir de uma seqüência de objetos, COBWEB cria uma árvore de classificação que resume e organiza os objetos. Ex.: dada a descrição de animais, o sistema forma uma árvore com conceitos probabilísticos para cada nodo. 25 COBWEB – Árvore de Classificação Exemplo: U.S. Senate 14 atributos para voto 2 possibilidades para cada atributo (sim/não) afiliação de partidos descartada [P(predictable), P(predictive)] 26 COBWEB – Árvore de Classificação COBWEB faz uma abordagem diferente para a identificação de “valores normativos”, observando o tradeoff entre valores de predição e previsibilidade. Um valor só é considerado normativo com a condição de ser independente de outros valores atributo. 27 COBWEB – Árvore de Classificação Exemplo: pragas em soja 47 históricos de casos de pragas cada caso é descrito por 35 atributos 4 classificadas de pragas são classificadas pelos dados, porém não incluídas no experimento 28 COBWEB – Árvore de Classificação Após a execução do experimento às 4 classes são “redescobertas” 29 COBWEB – Árvore de Classificação Valores necessários e valores suficientes Ex.: P(valor|Charcoal Rot = 1.0) valor necessário P(Charcoal Rot|valor = 1.0) valor suficiente Classes com valores necessários e suficientes 30 COBWEB – Classificação por Inferência Uma característica do COBWEB é a criação de inferências. Para isso o sistema dá preferência para categorias que podem ser preditivas. 31 COBWEB – Classificação por Inferência Para avaliação foi utilizado o domínio das “Pragas da Soja” A doença diagnosticada, por determinado caso, foi inserido como o 36o atributo. Porém na construção da árvore de classificação ele não foi utilizado para classificar os objetos (apenas no treinamento). 32 COBWEB – Classificação por Inferência Após algumas instâncias, os casos restantes que ainda não tinham sido analisados foram classificados corretamente, de acordo com o diagnóstico. O objetivo do experimento era provar se a inserção do diagnóstico prévio no conjunto de treinamento iria aprimorar a inferência do conjunto de teste para a classificação. 33 COBWEB – Classificação por Inferência 34 COBWEB – Sistema Incremental COBWEB não adota um sistema somente aglomerativo ou divisivo durante sua clusterização. (Splitting e Merging) Avaliação de sistemas incrementais: Custo de incorporar uma instância Qualidade da árvore de classificação Número de objetos para estabilidade 35 COBWEB – Sistema Incremental Custo de incorporar uma nova instância é definido por: cost = O (B2 logB n x AV) B ramificação média n número de objetos já classificados A número de atributos V média do número de valores por atributo 36 COBWEB – Considerações Finais COBWEB consiste em um sistema de clusterização incremental, econômico e robusto. As classificações produzidas pelo COBWEB são instrumentos eficazes para a inferência. 37 COBWEB – Considerações Finais Mesmo utilizando uma função de avaliação consistente, dando preferência a categorização humana, não deve ser considerado como um modelo cognitivo, mas como um método de agrupamento. 38 COBWEB – Trabalhos Futuros Valores numéricos Valores estruturados Estratégia Hill-Climbing 39 COBWEB WEKA 40 COBWEB Dúvidas? - FIM - 41