Regras de Classificação
Prof. Paulo Martins Engel
Informática
UFRGS 2
• A indução de árvores de decisão realiza uma busca em amplitude no espaço dos testes, gerando todos os ramos (regras) simultaneamente.
• A indução de regras de classificação realiza uma busca em profundidade, gerando um caminho (regra) por vez.
• Cada regra é uma conjunção de condições sobre atributos discretos ou numéricos, sendo cada condição adicionada uma a uma de forma a otimizar algum critério, por exemplo, minimizar a entropia.
• Uma regra cobre um exemplo se ele satisfizer todas as condições da regra.
• Na indução de regras por cobertura, cada regra sofre um processo de crescimento e de poda, antes de ser adicionada à base de regras, e todos os exemplos de treinamento cobertos por ela são removidos do conjunto de treinamento.
• Os laços (externo) de adição de uma regra e (interno) de adição de uma condição à regra são gulosos e não garantem otimização global.
• Tanto o laço externo como o interno adotam um passo de poda para melhorar a generalização.
• Alternativa popular às árvores de decisão
• Antecedente (condição): uma série de testes (como
aqueles dos nós de uma árvore de decisão)
• Os testes são normalmente agregados com o conectivo e
(mas podem ser usadas quaisquer expressões lógicas)
• Conseqüentes (conclusão): classes, conjunto de classes
ou distribuição de probabilidades
• Regras individuais são normalmente agregadas com o
conectivo lógico ou
– Surgem conflitos se ocorrerem conclusões diferentes
Regras de classificação
Informática
UFRGS 4
• Fácil converter uma árvore num conjunto de regras
– Uma regra para cada folha:
• Antecedente contém uma condição para cada nó no
caminho da raiz até a folha
• Conseqüente é a classe atribuída pela folha
• Produz regras que não são ambíguas
– Não importa em que ordem elas são executadas
• Mas: as regras resultantes são mais complexas que o
necessário
– Removem-se teste/regras por poda da árvore
• Mais difícil transformar um conjunto de regras numa
árvore
– Não é fácil expressar uma disjunção de regras por uma árvore
• Exemplo: regras que testam diferentes atributos
booleanos
Se A e B então x Se C e D então x
• É necessário quebrar simetrias existentes
• Árvore correspondente contém sub-árvores idênticas
(“replicadas”)
Árvores a partir de regras
Informática
UFRGS 6
Árvores a partir de regras
Se A e B então x Se C e D então x • Como na AD existe um nó raiz, devem ser
consideradas todas as combinações dos 4
atributos: n s A B x s n C n s D n x s C n s D n x s
A
B
A
B
C
D
A
C
D
x
Uma árvore com uma sub-árvore replicada
Se x = 1 e y = 1 então classe = a Se z = 1 e w = 1
então classe = a
Caso contrário classe = b
y a 1 3 x 1 2 3 2 w a 1 3 z 1 2 3 2 b b b b
• Se os atributos tiverem múltiplos valores, é necessário replicar uma sub-árvore para cada valor resultante do teste.
Informática
UFRGS 8
• As regras são porções independentes de conhecimento?
(seria fácil adicionar uma regra a uma base de regras
pré-existente)
• Problema: ignora como as regras são executadas
• Duas maneiras de executar um conjunto de regras
– Conjunto ordenado de regras (“lista de decisão”)
• Ordem é importante para interpretação
– Conjunto desordenado de regras
• Regras podem se superpor e levar a conclusões diferentes
para a mesma amostra
• O que fazer se houver conflito entre regras?
– Não fornecer conclusão
– Usar a regra que é mais popular nos dados de treinamento
– ...
• O que fazer se nenhuma regra se aplicar a uma amostra
de teste?
– Não fornecer conclusão
– Usar a regra que é mais popular nos dados de treinamento
– ...
Interpretação de regras
Informática
UFRGS 10
• Suposição: se amostra não pertence à classe “sim” ela
pertence à classe “não”
• Truque: aprender apenas regras para a classe “sim” e
usar regra default para a classe “não”
Se x = 1 e y = 1 então classe = a Se z = 1 e w = 1 então classe = a Caso contrário classe = b
• A ordem das regras não é importante. Não tem conflito!
• Regra pode ser escrita na forma normal conjuntiva:
Se (x = 0 ou y = 0) e (z = 0 ou w = 0) então classe = b
• Uma árvore de decisão pode ser convertida num
conjunto de regras
– Conversão direta: conjunto de regras complexo demais
– Conversões mais eficientes não são triviais
• Estratégia para gerar um conjunto de regras diretamente:
para cada classe, encontrar um conjunto de regras que
cubra todos os exemplos da classe (excluindo exemplos
fora da classe).
• Esta abordagem é chamada de uma abordagem por
cobertura porque a cada estágio identifica-se uma regra
que cobre um número de exemplos.
Regras de classificação
Informática
UFRGS 12
• Aprendizado de uma regra para classe “a” por especialização sucessiva.
• A cada iteração, o algoritmo acrescenta uma restrição ao antecedente de
modo a maximizar (gulosamente) a precisão da regra ( p: freqüência relativa dos acertos; em relação aos exemplos cobertos pela regra).
Exemplo de geração de uma regra
Se x > 1,2 então classe = a
p = 6/11
Se x > 1,2 e y > 2,6 então classe = a
p = 5/5
Se verdadeiro então classe = a
p = 6/20 y x a b b b b b b b b b b b b b b a a a a a y a b b b b b b b b b b b b b b a a a a a x 1·2 2·6 y a b b b b b b b b b b b b b b aa a a a x 1·2
• Conjunto de regras possível para classe “b”:
Se x 1,2 então classe = b
Se x > 1,2 e y 2,6 então classe = b
• Gera uma regra acrescentando testes que maximizam a
precisão da regra
• Situação similar às árvores de decisão: problema da
seleção de um atributo para particionar espaço.
– Mas: indutor de árvore de decisão maximiza a pureza global
• Cada novo teste reduz a cobertura da regra
Um algoritmo de cobertura
espaço de exemplos regra atual
regra após acrescentar novo termo
Informática
UFRGS 14
• Objetivo: maximizar a precisão
t: número total de exemplos cobertos por regra
p: exemplos (verdadeiros) positivos da classe cobertos por regra
n = t − p: número de erros feitos por regra (falsos positivos)
Selecionar teste que maximiza a razão p/t
• Nós terminamos quando p/t = 1 ou o conjunto de
exemplos não pode mais ser dividido
nenhuma reduzida sim hipermetropia presbiopsia nenhuma normal sim hipermetropia presbiopsia gelatinosa normal não hipermetropia presbiopsia nenhuma reduzida não hipermetropia presbiopsia dura normal sim miopia presbiopsia nenhuma reduzida sim miopia presbiopsia nenhuma normal não miopia presbiopsia nenhuma reduzida não miopia pré-presbiopsia gelatinosa normal não miopia pré-presbiopsia nenhuma reduzida sim miopia pré-presbiopsia dura normal sim miopia pré-presbiopsia nenhuma reduzida não hipermetropia pré-presbiopsia gelatinosa normal não hipermetropia pré-presbiopsia nenhuma reduzida sim hipermetropia pré-presbiopsia nenhuma reduzida não miopia jovem gelatinosa normal não miopia jovem nenhuma reduzida sim miopia jovem dura normal sim miopia jovem nenhuma reduzida não hipermetropia jovem gelatinosa normal não hipermetropia jovem nenhuma reduzida não miopia presbiopsia nenhuma normal sim hipermetropia pré-presbiopsia dura normal sim hipermetropia jovem nenhuma reduzida sim hipermetropia jovem Lentes recomendadas de lágrimas Astigmatismo Prescrição de óculos Idade
Exemplo de arquivo de dados: (classificação)
• Tipo de lente recomendável para pessoas com diferentes características.
• Arquivo lista todas as combinações possíveis de valores dos atributos, com o tipo de lente recomendável. • Situação muito rara.
• O domínio é determinístico e não contraditório.
• Sempre que um paciente tem um conjunto de características a lente recomendada é a mesma. Atributo meta (a ser previsto) Informática UFRGS 16
• Regra procurada:
Se ? então recomendação = dura• Testes possíveis:
idade = jovem ?
idade = pré-presbiopsia ?
idade = presbiopsia ?
prescrição de óculos = miopia ?
prescrição de óculos = hipermetropia ?
astigmatismo = não ?
astigmatismo = sim ?
taxa de produção de lágrima = reduzida ? taxa de produção de lágrima = normal ?
• Regra procurada:
Se ? então recomendação = dura• Testes possíveis:
idade = jovem 2/8
idade = pré-presbiopsia 1/8
idade = presbiopsia 1/8
prescrição de óculos = miopia 3/12
prescrição de óculos = hipermetropia 1/12
astigmatismo = não 0/12
astigmatismo = sim 4/12
taxa de produção de lágrima = reduzida 0/12 taxa de produção de lágrima = normal 4/12
Exemplo: lentes de contacto
Informática
UFRGS 18
Idade Prescrição de óculos Astigmatismo Taxa de produção de lágrimas Lentes recomendadas
jovem miopia não reduzida nenhuma
jovem miopia não normal gelatinosa
jovem miopia sim reduzida nenhuma
jovem miopia sim normal dura
jovem hipermiopia não reduzida nenhuma
jovem hipermiopia não normal gelatinosa
jovem hipermiopia sim reduzida nenhuma
jovem hipermiopia sim normal dura
pré-presbiopsia miopia não reduzida nenhuma pré-presbiopsia miopia não normal gelatinosa pré-presbiopsia miopia sim reduzida nenhuma
pré-presbiopsia miopia sim normal dura
pré-presbiopsia hipermiopia não reduzida nenhuma pré-presbiopsia hipermiopia não normal gelatinosa pré-presbiopsia hipermiopia sim reduzida nenhuma pré-presbiopsia hipermiopia sim normal nenhuma
presbiopsia miopia não reduzida nenhuma
presbiopsia miopia não normal nenhuma
presbiopsia miopia sim reduzida nenhuma
presbiopsia miopia sim normal dura
presbiopsia hipermiopia não reduzida nenhuma presbiopsia hipermiopia não normal gelatinosa presbiopsia hipermiopia sim reduzida nenhuma presbiopsia hipermiopia sim normal nenhuma
• Regra acrescida do melhor teste:
Se astigmatismo = sim então recomendação = dura
• Exemplos cobertos pela regra modificada:
Regra modificada e dados resultantes
Idade Prescrição de óculos Astigmatismo Taxa de produção de lágrimas Lentes recomendadas
jovem miopia sim reduzida nenhuma
jovem miopia sim normal dura
jovem hipermiopia sim reduzida nenhuma
jovem hipermiopia sim normal dura
pré-presbiopsia miopia sim reduzida nenhuma
pré-presbiopsia miopia sim normal dura
pré-presbiopsia hipermiopia sim reduzida nenhuma pré-presbiopsia hipermiopia sim normal nenhuma
presbiopsia miopia sim reduzida nenhuma
presbiopsia miopia sim normal dura
presbiopsia hipermiopia sim reduzida nenhuma presbiopsia hipermiopia sim normal nenhuma
Informática
UFRGS 20
• Estado atual:
Se astigmatismo = sim e ? entãorecomendação = dura
• Testes possíveis:
idade = jovem ?
idade = pré-presbiopsia ?
idade = presbiopsia ?
prescrição de óculos = miopia ?
prescrição de óculos = hipermetropia ? taxa de produção de lágrima = reduzida ? taxa de produção de lágrima = normal ?
• Estado atual:
Se astigmatismo = sim e ? então recomendação = dura• Testes possíveis:
idade = jovem 2/4 idade = pré-presbiopsia 1/4 idade = presbiopsia 1/4prescrição de óculos = miopia 3/6
prescrição de óculos = hipermetropia 1/6 taxa de produção de lágrima = reduzida 0/6 taxa de produção de lágrima = normal 4/6
Refinamento da regra
Informática
UFRGS 22
• Regra acrescida do melhor teste:
Se astigmatismo = sim e taxa de produção de lágrima = normal então recomendação = dura
• Exemplos cobertos pela regra modificada:
Regra modificada e dados resultantes
Idade Prescrição de óculos Astigmatismo Taxa de produção de lágrimas Lentes recomendadas
jovem miopia sim normal dura jovem hipermiopia sim normal dura pré-presbiopsia miopia sim normal dura
pré-presbiopsia hipermiopia sim normal nenhuma
presbiopsia miopia sim normal dura
• Estado atual:
Se astigmatismo = sim etaxa de produção de lágrima = normal então recomendação = dura
• Testes possíveis:
idade = jovem ?
idade = pré-presbiopsia ?
idade = presbiopsia ?
prescrição de óculos = miopia ?
prescrição de óculos = hipermetropia ?
Refinamento da regra
Informática
UFRGS 24
• Estado atual:
Se astigmatismo = sim etaxa de produção de lágrima = normal então recomendação = dura
• Testes possíveis:
idade = jovem 2/2
idade = pré-presbiopsia 1/2
idade = presbiopsia 1/2
prescrição de óculos = miopia 3/3
prescrição de óculos = hipermetropia 1/3
• Empate entre o primeiro e o quarto
– Escolhemos a que tem a maior cobertura quarto teste
• Regra final:
Se astigmatismo = sim etaxa de produção de lágrima = normal e prescrição de óculos = miopia
então recomendação = dura
• Exemplos cobertos pela regra:
Resultado
Idade Prescrição de óculos Astigmatismo Taxa de produção de lágrimas Lentes recomendadas
jovem miopia sim normal dura pré-presbiopsia miopia sim normal dura presbiopsia miopia sim normal dura
• Exemplo da classe “dura” não coberto pela regra:
Idade Prescrição de óculos Astigmatismo Taxa de produção de lágrimas Lentes recomendadas
jovem hipermetropia sim normal dura
Informática
UFRGS 26
Idade Prescrição de óculos Astigmatismo Taxa de produção de lágrimas Lentes recomendadas
jovem miopia não reduzida nenhuma
jovem miopia não normal gelatinosa
jovem miopia sim reduzida nenhuma
jovem hipermiopia não reduzida nenhuma
jovem hipermiopia não normal gelatinosa
jovem hipermiopia sim reduzida nenhuma
jovem hipermiopia sim normal dura
pré-presbiopsia miopia não reduzida nenhuma pré-presbiopsia miopia não normal gelatinosa pré-presbiopsia miopia sim reduzida nenhuma pré-presbiopsia hipermiopia não reduzida nenhuma pré-presbiopsia hipermiopia não normal gelatinosa pré-presbiopsia hipermiopia sim reduzida nenhuma pré-presbiopsia hipermiopia sim normal nenhuma
presbiopsia miopia não reduzida nenhuma
presbiopsia miopia não normal nenhuma
presbiopsia miopia sim reduzida nenhuma
presbiopsia hipermiopia não reduzida nenhuma presbiopsia hipermiopia não normal gelatinosa presbiopsia hipermiopia sim reduzida nenhuma presbiopsia hipermiopia sim normal nenhuma
• Regra procurada:
Se ? então recomendação = dura• Testes possíveis:
idade = jovem 1/7
idade = pré-presbiopsia 0/7
idade = presbiopsia 0/7
prescrição de óculos = miopia 0/9
prescrição de óculos = hipermetropia 1/12
astigmatismo = não 0/12
astigmatismo = sim 1/9
taxa de produção de lágrima = reduzida 0/12 taxa de produção de lágrima = normal 1/9
Exemplo: lentes de contacto
Informática
UFRGS 28
• Regra 1:
Se astigmatismo = sim etaxa de produção de lágrima = normal e prescrição de óculos = miopia
então recomendação = dura
• Segunda regra para recomendação “lentes duras”:
(obtida dos exemplos não cobertos pela primeira regra)
Se idade = jovem e astigmatismo = sim e taxa de produção de lágrimas = normal então recomendação = dura
• Estas duas regras cobrem todas as “lentes duras”
– Repete-se o processo para as outras classes
Para cada classe C
Inicializar E com o conjunto de exemplos Enquanto E contiver exemplos da classe C
Criar regra R com lado esquerdo vazio que prevê classe C Até R ser perfeita (ou não haja mais atributos) fazer
Para cada atributo A não mencionado em R e cada valor v Testar adição da condição A = v ao lado esquerdo de R Selecionar A e v de modo a maximizar a precisão p/t
(desempatar escolhendo a condição com o maior p) Adicionar A = v a R
Remover os exemplos cobertos por R de E
Pseudo-código para PRISM
Informática
UFRGS 30
• Métodos como PRISM (que tratam uma classe) são
algoritmos do tipo “separar e conquistar”.
Primeiro, identifica-se uma regra
Então, todos os exemplos cobertos pela regra são separados
Finalmente, os exemplos restantes são “conquistados”
• Diferença em relação aos métodos “dividir e conquistar”:
Subconjunto coberto pela regra não precisa mais ser explorado.
• A busca gulosa em profundidade feita pelo algoritmo PRISM tem o perigo de fazer uma escolha sub-ótima a cada passo.
• Este risco pode ser reduzido se o algoritmo mantiver uma lista dos k melhores candidatos a cada passo, ao invés apenas do melhor.
• A cada passo, são geradas as especializações destes k melhores candidatos e o conjunto resultante é novamente reduzido aos melhores k membros.
• A busca em feixe avalia as alternativas mais promissoras das melhores hipóteses correntes, de modo que todos os seus sucessores são considerados a cada passo. • O programa CN2 (Clark e Niblett 1989) usa esta abordagem.
• Uma alternativa para o critério de escolha de testes é o ganho de informação que prioriza a cobertura de muitos exemplos positivos sobre a precisão da regra.
Extensões
Informática
UFRGS 32
• A busca gulosa em profundidade feita pelo algoritmo PRISM tem o perigo de fazer uma escolha sub-ótima a cada passo.
• Este risco pode ser reduzido se o algoritmo mantiver uma lista dos k melhores candidatos a cada passo, ao invés apenas do melhor.
• A cada passo, são geradas as especializações destes k melhores candidatos e o conjunto resultante é novamente reduzido aos melhores k membros.
• A busca em feixe avalia as alternativas mais promissoras das melhores hipóteses correntes, de modo que todos os seus sucessores são considerados a cada passo. • O programa CN2 (Clark e Niblett 1989) usa esta abordagem.
• Uma alternativa para o critério de escolha de testes é o ganho de informação que prioriza a cobertura de muitos exemplos positivos sobre a precisão da regra. • O ganho de informação (FOIL) associado a adição de uma condição a uma regra
R, gerando uma regra candidata R’ é definido por:
Extensões
t p t p p R R Ganho 2 log2 ' ' log ' ) , ' (VP = 2, FP = 1 1 x 2 x 1 A A2 A3 1 B 2 B 3 B
x A
x B
Classe P R: 1 2 2 2 _
+
+
1 x 2 x 1 A A2 A3 1 B 2 B 3 B
x A
Classe P R: 1 2 _
+
+
VP’ = 1, FP’ = 0 5850 , 0 3 2 log 1 1 log 1 ) , ' ( 2 2 R R Ganho t p t p p R R Ganho 2 log2 ' ' log ' ) , ' ( Informática UFRGS 34• Assim como no caso das AD, o aprendizado de regras perfeitamente ajustadas ao arquivo de treinamento em geral não produz o modelo que melhor generaliza sobre a distribuição total de amostras.
• Uma técnica popular de evitar a especialização excessiva é efetuar a (pós-) poda com base no desempenho de cada regra sobre um arquivo de poda (validação). • Os dados de treinamento são separados num conjunto de crescimento (growing
set), usado para formar uma regra usando o algoritmo básico de cobertura, e num
conjunto de poda (pruning set).
• No processo de poda, uma restrição da regra gerada na etapa de crescimento é eliminada e o desempenho da regra truncada é avaliado sobre o arquivo de poda para verificar se ele é melhor em relação ao desempenho da regra original. • O processo de poda é repetido até que a regra não possa ser mais melhorada. • Todo o processo é repetido para cada classe, obtendo a melhor regra por classe. • A melhor de todas as regras é então adicionada ao conjunto de regras; as
instâncias cobertas por ela são removidas do conjunto de treinamento e todo o processo é repetido.
• O algoritmo RIPPER (repeated incremental pruning to produce error reduction) gera regras para as classes de forma ordenada, começando pela classe mais rara, em vez de gerar para todas as classes e então escolhendo a melhor de todas. • A geração de novas regras para uma classe é interrompida se o comprimento da
descrição (DL, description length) ultrapassar um valor especificado.
• DL é uma fórmula complexa que leva em conta o número de bits necessário para codificar um conjunto de exemplos em relação a um conjunto de regras, o
número de bits para codificar uma regra com k condições e o número de bits necessário para codificar o inteiro k.
• RIPPER realiza um passo de otimização global do conjunto de regras induzido. • Para cada regra R do conjunto (para uma classe C) são geradas e avaliadas duas
variantes (R1, R2) , mas agora levando em consideração um conjunto de poda
apenas com instâncias não cobertas pelas demais regras de C.
• R1é uma regra totalmente nova e R2é obtida adicionando antecedentes a R.
• Se uma variante produzir uma DL melhor que R, ela substituirá esta regra. • Finalmente, apenas as regras que contribuem para reduzir o DL são mantidas.