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

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

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

Apresentações semelhantes


Apresentação em tema: "Aprendizagem de regras proposicionais de classificação e associação TAIAS 2 Ivan Teixeira João Batista."— Transcrição da apresentação:

1

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

3 Á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

4 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

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

6 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

7 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 1 1 1 1 2 2 2 2 3 3 3 3 If x=1 and y=1 then class = a If z=1 and w=1 then class = b Exemplo de conversão regra/árvore

8 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

9 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 1.2 1 * 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.

10 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

11 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

12 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

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

14 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

15 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] =

16 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] =

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

18 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.

19 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:

20 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

21 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.

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

23 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

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

25 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

26 Á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

27 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.

28 Regras com exceção

29 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

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

31 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

32 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

33 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...

34 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

35 Itens

36 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

37 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.

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

39 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,


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

Apresentações semelhantes


Anúncios Google