Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista.

Slides:



Advertisements
Apresentações semelhantes
Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
Advertisements

Inteligência Artificial
Inteligência Artificial
1 Seleção de Atributos Marcílio Souto DIMAp/UFRN.
Mineração de Dados Avaliação de Classificadores
Modelos de Mineração de Dados
HAC MD -junho/ Noções de algoritmos e estudo de casos das principais tarefas de Mineração de dados.
Formato dos Dados % 1. Title: Database for fitting contact lenses
Inteligência Artificial
GRASP Greedy Randomized Adaptative Search Procedure
Aprendizado de Máquinas
1 Busca Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática de novos estados, que são.
Busca Heurística - Informada
Busca Cega (Exaustiva)
Busca Heurística - Informada
Inteligência Artificial
FACENS – Engenharia da Computação Inteligência Artificial
FACENS – Engenharia da Computação Inteligência Artificial
Fast Effective Rule Induction (Willian W. Cohen)
Rejane Sobrino Pinheiro Tania Guillén de Torres
Análise Sintática Ascendente
Capítulo 4 - Russell e Norvig
Capítulo 3 - Russell e Norvig
Buscando Soluções Busca Heurística.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Sistemas Inteligentes
3. Árvore de Decisão.
Departamento de Informática – Marcos Henrique Fonseca Ribeiro – Slide 1 Construindo Árvores de Decisão NoTrueHighMildRainy YesFalseNormalHotOvercast YesTrueHighMildOvercast.
Alexandre Xavier Falcão & David Menotti
Aprendizado de Árvores de Decisão
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Classificação. Classificação: Atribuição a uma classe (rótulo de um atributo categórico). Classifica dados (constrói um modelo) baseado em um conjunto.
Busca com informação e exploração
GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Cega (Exaustiva)
Sistemas Inteligentes
Indução de Árvore de Decisão
Sistemas Inteligentes
Sistemas Inteligentes
Seleção de Atributos Ricardo Prudêncio.
O Processo de KDD Data Mining SUMÁRIO - AULA1 O processo de KDD
Testes de Software AULA 02 Eduardo Silvestri
Inteligência Artificial
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
Mineração de Dados: Classificação e Predição
Aprendizagem por Reforço Alexandre Luiz G. Damasceno.
Resolução de Problemas de Busca
Prof. Anne Magály de Paula Canuto
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG A Lógica dos Algoritmos “Covering” A estratégia é selecionar cada classe do conjunto- treinamento, e.
Prof. Alexandre Monteiro Recife
Márcio Leal de Melo Dahia1 Aprendizado baseado em instâncias.
Indução de Árvores e Regras Proposicionais de Decisão
Inteligência Artificial I
Regras. Regras Rudimentarias 1R: aprende uma regra por atributo  atribuí a classe mais freqüente  taxa de erro: proporção de instâncias que não pertence.
Aprendizado Baseado em Instancias. Introdução Em contraste aos métodos de aprendizado que constroem uma descrição explicita genérica da função alvo. Os.
Paradigmas de Mineração de Dados
Descoberta em múltiplos níveis conceituais
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG A Lógica dos Algoritmos “Covering” A estratégia é selecionar cada classe do conjunto-treinamento, e procurar.
Aprendizado de Máquinas
Busca Competitiva Disciplina: Inteligência Artificial
Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega
Classificação de Textos
Aprendizagem Simbólica
Mineração de Dados Classificação Felipe Carvalho – UFES 2009/2.
Mineração de Dados (Data Mining)
Sistemas Inteligentes Busca Cega (Exaustiva)
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Questionário (Básico) Autor: Skyup Informática. Atividade - Questionário O módulo permite criar uma série de questões, que deverão ser respondida pelos.
Transcrição da apresentação:

Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista

Árvores de Decisão Tempo? Sol Nublado Chuva Sim Não Dom Sab Seg Que dia? Sim Hora? >18 e < 20 <18 SimNão Estratégia de dividir para conquistar

Regras de classificação ANTECEDENTES CONSEQUÊNCIA Cada antecedente: teste valor de um atributo da instância para classificar. Conseqüência: classificação da instância. Ex: IF tempo = sol AND dia = Dom THEN racha (T = sol)  (D = Dom) => racha

Regras de Classificação vs. Árvores * Regras de classificação podem ser convertidas em árvores de decisão e vice-versa * Porém: a conversão é em geral não trivial dependendo da estrutura do espaço de instâncias, regras ou árvores são mais concisas ou eficientes * Regras são compactas * Regras são em geral altamente modulares (mas raramente são completamente modulares)

Vantagens de Árvores de Decisão Exemplo de conversão árvore -> regras Sem mecanismo de interpretação preciso regras podem ser ambíguas Instâncias podem “passar através” de conjunto de regras não sistematicamente “fechado” X > 1.2 Y > 2.6 b ab sim não simnão IF x >1.2 AND y > 2.6 THEN class = a If x < 1.2 then class = b If x > 1.2 and y < 2.6 then class = b

Vantagens de Regras de Classificação Árvores são redundantes e não incrementais Árvores não são ambíguas e não falham em classificar x y z w a bb abb If x=1 and y=1 then class = a If z=1 and w=1 then class = b Exemplo de conversão regra/árvore

Hipótese do Mundo fechado * Classificação de alvo booleano em um mundo fechado. IF tempo = sol AND dia = Dom THEN racha IF tempo = sol AND dia = Sab THEN racha

Construindo regras * Algoritmo de Cobertura: selecionar uma classe e procurar uma forma de cobrir todas as instâncias. x y b a a a a a a b a b b b b b b b * Passo inicial if ? then class = a * Primeiro passo if x > 1.2 then class = a Essa regra cobre, tanto os bs quanto os as * Segundo passo if x > 1.2 e y > 1 then class = a Essa regra cobre somente a’s.

Algoritmo de cobertura Para cada classe C Inicialize E como sendo a instância do conjunto Enquanto E contém instâncias na classe C Crie uma regra R sem antecedentes que prediz a classe C Enquanto R não for perfeita e houver mais atributos Para cada atributo A não mencionado em R e cada valor V Considere a adição de A=V nos antecedentes de R Selecione A e V que maximize Heuristic-function() Adicione A=V nos antecedentes de R Remova as instâncias cobertas por R de E

Função heurística Correctness based Heuristic MAXIMIZAR Número de instâncias que disparam a regra Número dessa instâncias que pertencem à classe da regra Information based Heuristic Calcula o ganho de informação levando em conta o número de instâncias positivas

Comparando os critérios * Os dois critério classificam corretamente todas as instâncias. * Correctness Based Privilegia regras 100% corretas mesmo com cobertura baixa Trata primeiro os casos especiais * Information Based Privilegia regras de alta cobertura mesmo com precisão baixa Trata primeiro os casos gerais

Exemplo Atributo-valor cbh ibh age = young 2/ age = pre-presbyopic 1/ age = presbyopic 1/ spectacle prescription = myope 3/ spectacle prescription = hypermetrope 1/ astigmatism = no 0/ astigmatism = yes 4/ tear production rate= reduced 0/ tear production rate = normal 4/12 1.2

Regras boas e regras ruins * As heurísticas exibidas anteriormente causam overfit se usados isoladamente * Gerar regras que não são perfeitas no conjunto de treinamento... *... mas que são melhores na generalização do problema. * Solução: contrabalançar a precisão de uma regra nos exemplos e a qualidade de uma regra no problema

Qualidade de uma regra tP p T Probabilidade de uma regra aleatória ter um p igual a um valor qualquer i: P[i de t estarem em P] =

Qualidade de uma regra * A qualidade de uma regra é a probabilidade de uma regra gerada aleatoriamente ter um desempenho melhor ou igual à regra. * Para uma regra R: M(R) = P[i de t estarem em P] =

Exemplo IF astigmatism = yes AND tear production = normal THEN recommendation = hard p/t = 4/6 P/T = 4/24 Ou seja, apenas 0,14% de chance de uma regra gerada aleatoriamente ser melhor do que esta regra.

Gerando boas regras 1. Gerar regras 100% precisas ou perfeitas IF A=a AND B=b AND C=c THEN D=d t Precisão = 100%, qualidade = baixa 2. Os testes do antecedente da regra são tirados gradualmente para tentar melhorar a qualidade da regra. IF A = a AND B=b THEN D=d t precisão < 100%, qualidade = alta Dessa forma as regras são melhores na generalização do problema.

Até que E esteja vazio para cada classe C contida em E -gere uma regra R perfeita para a classe C pelo cobertura -calcule a medida de valor m(R) para a regra e para a regra m(R-) com a condição final retirada -enquanto m(R)<m(R-) retire a condição final da regra e repita o passo anterior -das regras geradas escolha a que tem o menor m(R) retire de E as instâncias cobertas por R continue Listas de regras * Lista ordenada de decisão formada por regras que são interpretadas seqüencialmente * A primeira regra disparada leva a instância * Algoritmo de geração de listas de regras:

Conjunto de teste * A medida de probabilidade da qualidade de uma regra e uma forma eficiente de comparar a qualidade entre duas regras. * Mas não tem muito valor estatístico porque e aplicada sobre os mesmo dados usados no crescimento da regra. * Solução (Reduced Error-Prunning): Dividir os dados de forma que as medida sobre a qualidade de uma regra sejam feitas em uma conjunto separado

Usando um conjunto de testes CONJUNTO DE CRESCIMENTO Usado para construir as regras CONJUNTO DE PODA Usado para verificar a qualidade da poda Problemas... Como separar os conjuntos. Instâncias chaves podem ser alocadas para o conjunto de poda.

Conjuntos * Variando o conjunto de poda é possível evitar perda de informação.

Usando um conjunto de testes Inicialize E com o conjunto de instancias Divida E em Crescimento S1 e Poda S2 em uma razão 2:1 Para cada classe C para qual S1 e S2 tenham instancia - Use o algoritmo de cobertura para para criar uma regra perfeita para a classe C - Calcule w(R) para a regra em S2, e para a regra com o ultimo teste retirado w(R-) - Enquanto w(R-) > w(R-), remova o ultimo teste e repita o passo anterior Das regras geradas selecione a que tiver o maior w(R) Remova as instancias de E cobertas pela nova regra Continue Possibilidades: W(R) = qualidade da regra W(R) = [p+(N - n)] / T

Indução de regras com árvores de decisão * Árvores contém regras. * Uma árvore de decisão parcial é criada para extrair apenas uma regra. * Combina dividir-conquistar das árvores de decisão e separar-conquistar do algoritmo de cobertura. * É mais eficiente sobre dados com ruído.

Gerando Árvores Parciais Arvore-Parcial(S) Escolher o melhor teste para dividir a arvore em nos Ordenar os nos em ordem crescente de entropia Enquanto ( Houver um no X que foi expandido e Todos os nos expandidos ate agora são folhas) - Arvore-Parcial(X) Se (todos os nos expandidos são folhas e erro estimado da subarvore gerada > erro estimado do no) -desfazer a expansao transformar o no em folha Retornar a regra representada pela folha com maior cobertura

Árvores parciais * São árvores incompletas que contém galhos para subárvores inexploradas. Prunning A substituição não representa mais o ganho em performance Nova regra 4 68

Regras com exceção * É uma forma natural de encarar as regras, afinal “toda regra tem um exceção”. * Uma regra geral é construída... * Essa regra tem exceções... * E essas exceções tem suas exceções. * É mais fácil de entender as regras geradas e é mais natural para os humanos.

Regras com exceção

As regras e suas exceções * 3 classes com 50 instâncias de cada: 150 instâncias Iris setosa 50/150 P Length>2.45 P Width<1.75 P Length<5.35 Iris vesicolor 49/52 P Length>3.35 Iris virginica 47/48 P Length>4.95 P Width> 1.55 Iris Virginica 2/2 S Length< 4.95 S Width>2.45 Iris Virginica 1/1 P Length<4.85 S Length<5.95 Iris Vesicolor 1/1

Regras com exceção Regra 1 Regra 1.1 Regra 1.2

Aprendizagem de regras proposicionais com algoritmo de cobertura: características * Tarefas: classificação e descrição de associação * Ambiente pode ser: não acessível, não episódico contínuo, ruidoso estático, grande não relacional, não diverso * Supervisionado: E+ ou E+  E- * Treino antes da ação * Não incremental * Não iterativo * Top-down * Guloso * Global * Não aproveita conhecimento prévio para podar busca da hipótese * Não aproxima qualquer função apenas hiperplanos

Regras de associação vs. Regras de classificação * Conseqüência: qualquer atributo no lugar de apenas um atributo destacado para classificação vários atributos no lugar de um * Uso diferente: Apenas descreve regularidade nos dados ex: IF racha = sim AND dia = Dom THEN tempo = sol AND hora = 16 * Construção: Podem usar algoritmo de cobertura Não é viável na prática devido à necessidade de considerar todas as combinações, de todos os valores possíveis, de todos atributos

Gerando regras de associação umidade = normaltempo = solvento = sim umidade = altatempo = chuvavento = não umidade = baixatempo = nubladovento = médio IF ? THEN umidade = normal IF ? THEN umidade = normal AND tempo = sol IF ? THEN umidade = normal AND tempo = sol AND ventando = sim IF ? THEN umidade = normal AND tempo = sol AND ventando = não IF ? THEN umidade = normal AND tempo = chuva IF ? THEN umidade = normal AND tempo = chuva AND ventando = sim IF ? THEN umidade = normal AND tempo = chuva AND ventando = não...

Algoritmo específico para construir regras de associação * Idéia: focalizar em regras que tenham alta cobertura inicialmente, abstrair o conceito de regra processando pares de atributos-valores (itens) * 2 fases: * A/ iteração: 1. busca itens com cobertura mínima predefinida 2. busca pares de itens construindo-os a partir dos itens do passo precedente... N. busca N tuplas de itens construindo-os a partir dos N-1 tuplas do passo precedente... * B/ construir regras a partir do N tuplas de itens

Itens

Gerando regras dos itens gerados * Produzir regras precisas a partir de um item O item com três pares: umidade = normal, vento = não e jogar = sim Gera as regras: IF umidade = normal AND vento = não THEN jogar = sim4/4 IF umidade = normal AND jogar = sim THEN vento = não 4/6 IF vento = não AND jogar = sim THEN umidade = normal 4/6 IF umidade = normal THEN vento = não AND jogar = sim4/7 IF vento = não THEN umidade = normal AND jogar = sim4/8 IF jogar = sim THEN vento = não AND umidade = normal4/9 IF ? THEN vento = não AND umidade = normal AND jogar = sim 4/12

Diminuindo o processamento * Mesmo restringindo o domínio o custo para gerar regras de associação é alto. * Uma alternativa para diminuir o processamento é: iniciar o processamento atribuindo um valor alto para a cobertura mínima diminuir esse valor em cada interação até que se tenha a quantidade de regras desejadas.

Perguntas ? Hora? Do jogo cedo Fim Não Sim Pergunta? Fim. Quem? Jacques aluno RespondeFim

Bibliografia * Artificial Intelligence a Modern Approach, S. Russell & P. Norvig, 1995, Prentice-Hall * Machine Learning, T. Mitchell, 1997, McGraw-Hill, * Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations, I.H. Witten & E. Frank, 1999, Morgan Kaufmann,