A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Fast Effective Rule Induction (Willian W. Cohen) Leandro Zulian Gallina Sílvia Regina Vargas Gomes CMP259 – Descoberta de Conhecimento em Bancos de Dados.

Apresentações semelhantes


Apresentação em tema: "Fast Effective Rule Induction (Willian W. Cohen) Leandro Zulian Gallina Sílvia Regina Vargas Gomes CMP259 – Descoberta de Conhecimento em Bancos de Dados."— Transcrição da apresentação:

1 Fast Effective Rule Induction (Willian W. Cohen) Leandro Zulian Gallina Sílvia Regina Vargas Gomes CMP259 – Descoberta de Conhecimento em Bancos de Dados

2 CMP2592 Objetivos do artigo Trabalhos anteriores – Nomeadamente, IREP Experimentos com o IREP – Aqui a gente meio que só cita e ignora Melhorias para o IREP – IREP* – RIPPER-k

3 CMP2593 Conceitos de Classificação Tarefa de aprender um modelo de classificação – Atribui a cada conjunto de atributos um valor de uma classe pré-definida O modelo deve: – Ser adequado aos dados de entrada (training set) – Predizer corretamente as classes de dados não vistos antes (test set)

4 CMP2594 Construindo árvores de decisão Número de árvores possíveis: exponencial Método da força bruta impraticável Algoritmos para induzir árvore de decisão – Mesmo que não seja a ótima

5 CMP2595 Construindo árvores de decisão Algoritmos: – Hunt – ID3 – C4.5 – CART Comum: estratégia gulosa – Crescer a árvore de decisão tomando decisões localmente ótimas

6 CMP2596 Pruning (Poda) Árvores de decisão muito grandes => OVERFITTING (Super-especialização) Caminhos muito específicos são desnecessários Poda remove caminhos extras

7 CMP2597 Overfitting

8 CMP2598 Tipos de Poda Pré-poda: – Faz a poda no momento em que as regras são geradas – Estabelece uma condição de parada quando uma regra é adicionada sem que haja ganho Pós-poda – Faz a poda somente quando toda a árvore de decisão já foi gerada

9 CMP2599 Pruning (Poda) Pré-poda – Vantagem: Mais rápida; – Desvantagem: Difícil determinar condição de parada (pode gerar underfitting/manter overfitting) Pós-poda – Vantagem: Mais precisa; – Desvantagem: O conjunto de treinamento precisa ser dividido em growing set e pruning set – Apenas os dados do growing set são utilizáveis para aprender as regras

10 CMP25910 REP (Reduced Error Pruning) Algoritmo que usa pós-poda São aplicados operadores de poda Poda termina quando aplicação da poda faz com que aumente o erro no pruning set Desvantagem: tempo de processamento de até O(n 4 )

11 CMP25911 Classificação baseada em regras O que são regras de classificação? – São regras no formato IF-THEN – A parte IF forma uma condição sobre o conjunto de dados – A parte THEN contém a classe a ser atribuída – Condições proposicionais com comparações atributo- valor e cláusulas de Horn de primeira ordem. Por que regras? – Porque as hipóteses são melhor entendidas e melhor lidas por conjuntos de regras IF-THEN

12 CMP25912 Classificação baseada em regras Exemplo de regra: – (Gives Birth = no) and (Aerial Creature = yes) Birds Métricas de avaliação de regras: – N i : número de regras cobertas pela regra i – n i : número de regras corretamente classificadas pela regra i. – cobertura: N i / |total de tuplas no dataset| – acurácia: n i / N i

13 CMP25913 Classificação baseada em regras Conflito de resolução: – Uma instância ativa mais de uma regra. – Regras ordenadas: maior prioridade à regra com o requisito mais forte (ex.: a regra possui maior quantidade de atributos) – Regras desordenadas: a decisão da regra que vai ser atribuída para classificar um registro é feita por votação. A votação geralmente envolve a acurácia da regra.

14 CMP25914 Abordagens para classificação Métodos diretos – As regras são aprendidas diretamente do dataset IREP, RIPPER Métodos indiretos – A árvore de decisão é construída e, após, as regras são derivadas C4.5rules

15 CMP25915 Cobertura Sequencial Seja E o conjunto de registros de treinamento Repita: – Aprender uma regra (LearnOneRule) com alta acurácia e qualquer cobertura – Remover os registros cobertos pela regra (todos!) – Adicionar a regra ao final da lista de regras Até que todos os registros sejam cobertos Inserir a regra padrão ao final da lista de regras ({} class)

16 CMP25916 Cobertura Sequencial

17 CMP25917 Cobertura Sequencial Eliminação de instâncias – Eliminar instâncias para que a nova regra gerada não seja igual a anterior – Eliminar instâncias positivas para garantir que a próxima regra é diferente – Eliminar instâncias negati- vas para prevenir a subesti- mação da próxima regra ge- rada

18 CMP25918 Como aprender uma regra? (LearnOneRule) Geral ao específico – Começar com a hipótese mais geral e ir refinando de acordo com um parâmetro (acurácia) Específico ao geral – Começar com a regra mais específica e ir generalizando passo a passo. Estratégia Rule-growing

19 CMP25919 Como aprender uma regra? geral ao específico

20 CMP25920 Como aprender uma regra? específico ao geral

21 CMP25921 Avaliação da regra FOILs information gain: – usa o suporte da regra (número de positivos cobertos pela regra – p i ) – prefere regras com alto suporte e alta acurácia – r: A + cobre p 0 exemplos positivos e n 0 negativos. r: A and B + cobre p 1 exemplos positivos e n 1 negativos – FOIL = p 1 x (log 2 (p 1 /(p 1 +n 1 )) / log 2 (p 0 /(p 0 +n 0 )))

22 CMP25922 RIPPER 2 classes: escolher uma classe para ser a positiva. A outra é negativa e padrão. k classes: escolher a classe positiva da vez e todas as outras classes são tratadas como negativas – ordenar as classes de acordo com a predominância das classes dentro do dataset.

23 CMP25923 RIPPER Aprendendo uma regra: – Começar da regra vazia (geral a específica) – Adicionar condições desde que elas melhorem o information gain – Parar quando a regra não cobrir mais exemplos negativos – Podar a regra imediatamente usando o reduced error pruning medida de poda: v = (p-n)/(p+n) – Método da poda: deletar os condicionais de forma a melhorar v.

24 CMP25924 RIPPER Construindo o conjunto de regras – Usar o algoritmo de cobertura sequencial Achar a melhor regra que cobre um conjunto de registros positivos Eliminar as instâncias do conjunto de dados – A cada nova regra aprendida, verificar se o REP ultrapassa 0.5 Se sim, retornar o conjunto de regras Caso contrário, adicionar a regra ao conjunto de regras e remover as instâncias cobertas pela regra do dataset

25 CMP25925 RIPPER Otimizando o conjunto de regras – Para cada regra r no conjunto de regras R Considerar duas novas regras: – r: aprende uma nova regra do zero usando o pruning set – r*: adiciona condicionais para melhorar a regra r usando também o pruning set Comparar as três regras e escolher a que minimiza o valor de acordo com o MDL

26 CMP25926 RIPPER RIPPER(Pos,Neg) begin Ruleset := {} while Pos {} split (Pos, Neg) into (GrowPos, GrowNeg) and (PrunePos, PruneNeg) Rule := GrowRule(GrowPos,GrowNeg) Rule := PruneRule(Rule, PrunePos, PruneNeg) if REP of rule on (PrunePos, PruneNeg) > 0.5 return Ruleset else add rule to Ruleset remove examples covered by rule on (Pos, Neg) endif endwhile OptimizeRuleset(Ruleset, PrunePos, PruneNeg) return Ruleset end


Carregar ppt "Fast Effective Rule Induction (Willian W. Cohen) Leandro Zulian Gallina Sílvia Regina Vargas Gomes CMP259 – Descoberta de Conhecimento em Bancos de Dados."

Apresentações semelhantes


Anúncios Google