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

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

Fast Effective Rule Induction (Willian W. Cohen)

Apresentações semelhantes


Apresentação em tema: "Fast Effective Rule Induction (Willian W. Cohen)"— 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 Objetivos do artigo Trabalhos anteriores Experimentos com o IREP
Nomeadamente, IREP Experimentos com o IREP Aqui a gente meio que só cita e ignora Melhorias para o IREP IREP* RIPPER-k CMP259

3 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) CMP259

4 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 CMP259

5 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 CMP259

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

7 Overfitting CMP259

8 Tipos de Poda Pré-poda: Pós-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 CMP259

9 Pruning (Poda) Pré-poda Pós-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 CMP259

10 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(n4) CMP259

11 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 CMP259

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

13 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. CMP259

14 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 CMP259

15 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) CMP259

16 Cobertura Sequencial CMP259

17 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 CMP259

18 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” CMP259

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

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

21 Avaliação da regra FOIL’s information gain:
usa o suporte da regra (número de positivos cobertos pela regra – pi) prefere regras com alto suporte e alta acurácia r: A  + cobre p0 exemplos positivos e n0 negativos. r’: A and B  + cobre p1 exemplos positivos e n1 negativos FOIL = p1 x (log2(p1/(p1+n1)) / log2(p0/(p0+n0))) CMP259

22 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. CMP259

23 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. CMP259

24 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 CMP259

25 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 CMP259

26 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) end CMP259


Carregar ppt "Fast Effective Rule Induction (Willian W. Cohen)"

Apresentações semelhantes


Anúncios Google