1 / 26

Fast Effective Rule Induction (Willian W. Cohen)

Fast Effective Rule Induction (Willian W. Cohen). Leandro Zulian Gallina Sílvia Regina Vargas Gomes CMP259 – Descoberta de Conhecimento em Bancos de Dados. Objetivos do artigo. Trabalhos anteriores Nomeadamente, IREP Experimentos com o IREP Aqui a gente meio que só cita e ignora

meris
Download Presentation

Fast Effective Rule Induction (Willian W. Cohen)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • 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: • 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 • 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 p1exemplos positivos e n1negativos • 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) return Ruleset end CMP259

More Related