aprendizado simbólico: regras - wiki.icmc.usp.brwiki.icmc.usp.br/images/6/66/aula17-230t.pdf ·...
Post on 16-Dec-2018
219 Views
Preview:
TRANSCRIPT
22/11/2011
1
1
Aprendizado Simbólico:
Regras
SCC-230 – Inteligência Artificial
Thiago A. S. Pardo
2
Regras
Regras de classificação(atributos implicam uma classe)
VS.
Regras de associação(atributos podem implicar uns aos outros)
22/11/2011
2
3
Regras de classificação
� São representações populares
� SE pré-condições ENTÃO classe� Pré-condições: testes que devem ser satisfeitos juntos (“e”
lógico), em geral� Classe: dependente da veracidade das pré-condições; pode
ser categórica ou distribuição de probabilidade
� Conjunto de regras logicamente disjuntas, em geral (“ou lógico”) � se uma regra se aplica, a classe é associada a instância... mas mais de uma regra pode ser aplicada
4
Regras e árvores de decisão
� É fácil derivar regras de árvores de decisão
� Geram-se regras sem ambiguidade e que podem ser aplicadas em qualquer ordem� Por que?
� Mas podem ser regras mais complexas do que o necessário, pois o raciocínio para a produção de árvores não é necessariamente o melhor para se produzir regras
22/11/2011
3
5
Regras e árvores de decisão
� A geração de árvores a partir de regras não é tão simples� Árvores não expressam facilmente a disjunção
das regras
� Exercício: construa a árvore para as regras abaixo� Se a e b então x� Se c e d então x
6
Regras e árvores de decisão
a
b
d
c
x
x
s
sn
s
s
n
n
d
c
x
s
s
n
n
nSe a e b então xSe c e d então x
22/11/2011
4
7
Regras e árvores de decisão
a
b
d
c
x
x
s
sn
s
s
n
n
d
c
x
s
s
n
n
n
Problema da subárvore replicada!
Se a e b então xSe c e d então x
8
Regras e árvores de decisão
� Popularidade das regras� Vistas como mais modulares, contendo “pedaços relevantes” de
conhecimento� É fácil se adicionar novas regras� Podem ter um valor default
� Pode ser uma ilusão muitas vezes� Regras precisam ser percorridas de alguma forma (em ordem ou não), o
que afeta a classificação� Se percorridas em ordem, são chamadas decision lists
� Podem conter ambiguidade (mais de uma classe para uma instância)� Soluções: não se classifica a instância ou se escolhe a classe mais
popular� Podem não classificar uma instância
� Soluções: mesmas do problema anterior
22/11/2011
5
9
Regras: caso especial
� Suposição do “mundo fechado”� Classes “sim” e “não”
� Regras para classificar “sim”
� O que não é classificado, assume-se como “não”
� Portanto, não há ambiguidade... mas essa situação é rara
10
Regras com exceções
� Regras podem conter exceções� Extensão natural e plausível
Se altura>2.4 e altura<4 então iris-versicolorEXCETO se largura<1 então iris-setosa
22/11/2011
6
11
Regras com exceções
� Caso extremo� Começa-se com valor default
12
Regras com exceções
� Exceções podem ser facilmente modeladas com se...então...senão
� Default...exceção é mais natural do que se...então...senão
� Mais psicológico do que lógico� Humanos têm casos default... e muitas exceções
22/11/2011
7
13
Regras com relações
� Às vezes relações capturam mais conhecimento� Conhecimento relacional (vs. proposicional)
� Regra para decidir se objeto está “em pé” ou “deitado”
Se largura>3 e altura<7 então “deitado”
vs.
Se largura>altura então “deitado”
14
Regras com relações
� Às vezes relações capturam mais conhecimento� Conhecimento relacional (vs. proposicional)
� Regra para decidir se objeto está “em pé” ou “deitado”
Opcionalmente, pode-se criar um atributo numéricolargura-altura e testar na regra se é positivo ou negativo.
22/11/2011
8
15
Indução de regras rudimentares
� Muitas vezes, hipóteses simples e rudimentares são quase tão boas quanto soluções complexas
� Regras rudimentares: 1R (“1-rule”)� Regras que testam somente um atributo
� Muito “baratas” de se conseguir
16
Regras 1R
� Algoritmo
� Para cada atributo� Para cada valor do atributo, faça uma regra da seguinte
forma� Conte qual a frequência de cada classe associada ao
atributo e seu valor� Escolha a classe associada mais frequente� Faça a regra associar o atributo e seu valor a essa classe
mais freqüente� Calcule a taxa de erro das regras criadas
� Escolha as regras com menor erro
22/11/2011
9
17
Regras 1R: exemplo� Atributo “aparência”
dia aparência temperatura umidade vento jogar_tênis
D1 ensolarado quente alta fraco não
D2 ensolarado quente alta forte não
D3 nublado quente alta fraco sim
D4 chuva moderada alta fraco sim
D5 chuva fria normal fraco sim
D6 chuva fria normal forte não
D7 nublado fria normal forte sim
D8 ensolarado moderada alta fraco não
D9 ensolarado fria normal fraco sim
D10 chuva moderada normal fraco sim
D11 ensolarado moderada normal forte sim
D12 nublado moderada alta forte sim
D13 nublado quente normal fraco sim
D14 chuva moderada alta forte não
18
Regras 1R: exemplo� Atributo “aparência”
dia aparência temperatura umidade vento jogar_tênis
D1 ensolarado quente alta fraco não
D2 ensolarado quente alta forte não
D3 nublado quente alta fraco sim
D4 chuva moderada alta fraco sim
D5 chuva fria normal fraco sim
D6 chuva fria normal forte não
D7 nublado fria normal forte sim
D8 ensolarado moderada alta fraco não
D9 ensolarado fria normal fraco sim
D10 chuva moderada normal fraco sim
D11 ensolarado moderada normal forte sim
D12 nublado moderada alta forte sim
D13 nublado quente normal fraco sim
D14 chuva moderada alta forte não
Se aparência=ensolarado então não (erro=2/5)Se aparência=nublado então sim (erro=0/4)Se aparência=chuva então sim (erro=2/5)
Erro total = 4/14
22/11/2011
10
19
Regras 1R: exemplo� Exercício: construa as regras para os outros atributos
dia aparência temperatura umidade vento jogar_tênis
D1 ensolarado quente alta fraco não
D2 ensolarado quente alta forte não
D3 nublado quente alta fraco sim
D4 chuva moderada alta fraco sim
D5 chuva fria normal fraco sim
D6 chuva fria normal forte não
D7 nublado fria normal forte sim
D8 ensolarado moderada alta fraco não
D9 ensolarado fria normal fraco sim
D10 chuva moderada normal fraco sim
D11 ensolarado moderada normal forte sim
D12 nublado moderada alta forte sim
D13 nublado quente normal fraco sim
D14 chuva moderada alta forte não
20
Regras 1R: exemplo
Se aparência=ensolarado então não (2/5)Se aparência=nublado então sim (0/4)Se aparência=chuva então sim (2/5)� Erro total = 4/14
Se temperatura=quente então não (2/4)Se temperatura=moderada então sim (2/6)Se temperatura=fria então sim (1/4)� Erro total = 5/14
Se umidade=alta então não (1/7)Se umidade=normal então sim (1/7)� Erro total = 4/14
Se vento=fraco então sim (2/8)Se vento=forte então não (3/6)� Erro total = 5/14
Conjunto escolhido arbitrariamente (entre aparência e umidade), pois houve empate.
22/11/2011
11
21
Regras 1R
� Embaraçosamente boas para muitos casos
� Podem revelar conhecimentos triviais que passam despercebidos
� Por exemplo: prefere-se jogar tênis com chuva ou tempo nublado, mas não com sol� Tênis em miniatura?
22
Regras mais complexas
� Algoritmos de árvore seguem o paradigma “dividir para conquistar”
� Escolhem melhor atributo para dividir os dados, levando em consideração todas as classes
� Não apropriado para regras, que querem cobrir classes individualmente� Deseja-se “separar para conquistar”: separa-se uma
classe e se constrói um conjunto de regras que a cubra; repete-se o processo para as outras classes
22/11/2011
12
23
Regras mais complexas
� Algoritmo básico
� Para cada classe C� Inicialize D com o conjunto de dados� Enquanto D contém instâncias de C faça
� Inicializa-se uma regra “oca” da forma Se ? então C� Até que a regra seja perfeita ou que não haja mais atributos para
usar, faça� Para cada atributo A não mencionado na regra e cada valor v
de A- Considere adicionar a condição A=v na regra- Selecione A e v que maximizem a taxa de acerto da regra para a classe (se houver empate, considere a cobertura da regra)
� Adicione o melhor A e v na regra� Remova as instâncias cobertas pela regra recém-criada de D
24
Exemplo
22/11/2011
13
25
Exemplo
Se ? então hard
Opções Acerto
age=young 2/8age=pre-presbyopic 1/8age=presbyopic 1/8spectable prescription=myope 3/12spectable prescription=hypermetrope 1/12astigmatism=no 0/12astigmatism=yes 4/12tear production rate=reduced 0/12tear production rate=normal 4/12
26
Exemplo
Se astigmatism=yes então hard
Opções Acerto
age=young 2/8age=pre-presbyopic 1/8age=presbyopic 1/8spectable prescription=myope 3/12spectable prescription=hypermetrope 1/12astigmatism=no 0/12astigmatism=yes 4/12tear production rate=reduced 0/12tear production rate=normal 4/12
22/11/2011
14
27
Exemplo
28
ExemploSe astigmatism=yes e ? então hard
Opções Acerto
age=young 2/4age=pre-presbyopic 1/4age=presbyopic 1/4spectable prescription=myope 3/6spectable prescription=hypermetrope 1/6tear production rate=reduced 0/6tear production rate=normal 4/6
22/11/2011
15
29
ExemploSe astigmatism=yes e tear production rate=normal então hard
Opções Acerto
age=young 2/4age=pre-presbyopic 1/4age=presbyopic 1/4spectable prescription=myope 3/6spectable prescription=hypermetrope 1/6tear production rate=reduced 0/6tear production rate=normal 4/6
30
Exemplo
� Continue o processo� Se astigmatism=yes e tear production rate=normal e ? então hard
22/11/2011
16
31
Exemplo
� Continue o processo� Se astigmatism=yes e tear production rate=normal e ? então hard
age=young 2/2age=pre-presbyopic 1/2age=presbyopic 1/2spectable prescription=myope 3/3spectable prescription=hypermetrope 1/3
Qual escolher?2/2 ou 3/3
32
Exemplo� Continue processo
� Se astigmatism=yes e tear production rate=normal e spectable prescription=myope então hard
age=young 2/2age=pre-presbyopic 1/2age=presbyopic 1/2spectable prescription=myope 3/3spectable prescription=hypermetrope 1/3
Qual escolher?2/2 ou 3/3
O de maior cobertura: 3/3
22/11/2011
17
33
Exemplo� Uma única classe: fim da primeira rodada
� Se astigmatism=yes e tear production rate=normal e spectable prescription=myope então hard
34
Exemplo
� Recomeça-se o processo, excluindo-se as 3 instâncias finais cobertas do conjunto de treinamento original
� Faz-se novamente para a mesma classe; quando essa classe acabar, recomeça-se com outras
22/11/2011
18
35
Exemplo
Faça mais1 rodada!
36
Exemplo
Se ? então hard
Opções Acerto
age=young 1/7age=pre-presbyopic 0/7age=presbyopic 0/7spectable prescription=myope 0/9spectable prescription=hypermetrope 1/12astigmatism=no 0/12astigmatism=yes 1/9tear production rate=reduced 0/12tear production rate=normal 1/9
22/11/2011
19
37
Exemplo
Se age=young então hard
Opções Acerto
age=young 1/7age=pre-presbyopic 0/7age=presbyopic 0/7spectable prescription=myope 0/9spectable prescription=hypermetrope 1/12astigmatism=no 0/12astigmatism=yes 1/9tear production rate=reduced 0/12tear production rate=normal 1/9
38
Exemplo
22/11/2011
20
39
Exemplo Se age=young e ? então hard
Opções Acerto
spectable prescription=myope 0/3spectable prescription=hypermetrope 1/4astigmatism=no 0/4astigmatism=yes 1/3tear production rate=reduced 0/4tear production rate=normal 1/3
40
Exemplo Se age=young e astigmatism=yes então hard
Opções Acerto
spectable prescription=myope 0/3spectable prescription=hypermetrope 1/4astigmatism=no 0/4astigmatism=yes 1/3tear production rate=reduced 0/4tear production rate=normal 1/3
22/11/2011
21
41
Exemplo
42
Exemplo
Se age=young e astigmatism=yes e ? então hard
Opções Acerto
spectable prescription=myope 0/1spectable prescription=hypermetrope 1/2tear production rate=reduced 0/2tear production rate=normal 1/1
22/11/2011
22
43
Exemplo
Se age=young e astigmatism=yes e tear production rate=normal então hard
Opções Acerto
spectable prescription=myope 0/1spectable prescription=hypermetrope 1/2tear production rate=reduced 0/2tear production rate=normal 1/1
44
Exemplo
Se age=young e astigmatism=yes e tear production rate=normalentão hard
Última instância da classe hard coberta.
Começa-se com nova classe.
22/11/2011
23
45
Exemplo
Até agora…
� Se astigmatism=yes e tear production rate=normal e spectable prescription=myope então hard
� Se age=young e astigmatism=yes e tear production rate=normal então hard
46
Exemplo
E se reco-meça parauma novaclasse...
22/11/2011
24
47
Método PRISM
� PRISM: método descrito anteriormente
� Somente regras perfeitas
� Regras podem ser percorridas em qualquer ordem
� Se mais de uma regra, classe mais popular eleita por elas
48
Interpretação Geométrica
� A indução de regras não ordenadas divide o espaço de descrição em regiões sobrepostas
� Um exemplo pode ser coberto por mais de uma regra
22/11/2011
25
49
Interpretação Geométrica
X1
X2o oo
o
o
+
o
o
o
o
o
o
oo
o
o
o
o
o
o
o
+
+
+
++
+
+
+
+ +
+
+
+
o
o
+
++
++
+
50
Exercício
� Produza as regras de classificação para a tabela atributo valor abaixo� Lado esquerdo da sala: método PRISM� Lado direito da sala: método 1R
22/11/2011
26
51
Exercício
� Testem seus métodos no conjunto de erros abaixo
52
Regras
Regras de classificação(atributos implicam uma classe)
VS.
Regras de associação(atributos podem implicar uns aos outros)
22/11/2011
27
53
Regras de associação
� Têm o formato das regras de classificação, mas...
� Podem prever quaisquer atributos, mais de 1, inclusive
� Não há a intenção de usá-las em conjunto
54
Regras de associação
� Podem haver muitas regras de associação, mesmo para conjuntos pequenos de dados
� Faz-se necessário “filtrá-las”
� Cobertura (ou suporte): número de instâncias que deram origem à regra
� Acurácia/precisão (ou confiança): número de instâncias que classifica corretamente
22/11/2011
28
55
Regras de associação
dia aparência temperatura umidade vento jogar_tênis
D1 ensolarado quente alta fraco não
D2 ensolarado quente alta forte não
D3 nublado quente alta fraco sim
D4 chuva moderada alta fraco sim
D5 chuva fria normal fraco sim
D6 chuva fria normal forte não
D7 nublado fria normal forte sim
D8 ensolarado moderada alta fraco não
D9 ensolarado fria normal fraco sim
D10 chuva moderada normal fraco sim
D11 ensolarado moderada normal forte sim
D12 nublado moderada alta forte sim
D13 nublado quente normal fraco sim
D14 chuva moderada alta forte não
temperatura=fria ==> umidade=normal
(cobertura=4, acurácia=100%)
56
Regras de associação
dia aparência temperatura umidade vento jogar_tênis
D1 ensolarado quente alta fraco não
D2 ensolarado quente alta forte não
D3 nublado quente alta fraco sim
D4 chuva moderada alta fraco sim
D5 chuva fria normal fraco sim
D6 chuva fria normal forte não
D7 nublado fria normal forte sim
D8 ensolarado moderada alta fraco não
D9 ensolarado fria normal fraco sim
D10 chuva moderada normal fraco sim
D11 ensolarado moderada normal forte sim
D12 nublado moderada alta forte sim
D13 nublado quente normal fraco sim
D14 chuva moderada alta forte não
umidade=normal ==> vento=fraco, jogar_tenis=sim
(cobertura=4, acurácia=4/7=57.1%)
22/11/2011
29
57
Regras de associação
� Atenção� X ==> Z é o mesmo que if X then Z
� Conjunto de dados anterior� 58 regras com cobertura>=2 e acurácia>=95%
� É sábio procurar boas regras, com cobertura e acurácia boas
58
Regras de associação
� Mineração das regras
1. Aplicação do método de “separar para conquistar”, variando-se o lado direito da regra e fazendo-se todas as combinações possíveis de atributos e valores; as regras seriam podadas depois, em função da cobertura e da acurácia
� Muito ineficiente... inviável!
2. Pode-se usar a cobertura para guiar o processodesde o começo
22/11/2011
30
59
Mineração de regras de associação
� Primeiro passo
� Ignora-se a implicação das regras e se procuram por item sets (conjuntos de itens) com cobertura pré-especificada� Item = atributo e seu valor� Nomenclatura proveniente das “cestas de mercados”
� Inicialmente, 1-item sets; depois, 2-item sets, combinando-se os anteriores... n-item sets, combinando-se os (n-1)-item sets
� Sempre observando a cobertura especificada� Se, em algum momento, não há m-item sets que observem a
cobertura, esse primeiro processo se encerra
60
Exemplo
item sets
com coberturainferior nemsão conside-rados
22/11/2011
31
61
Exemplo
� Atenção
� Não faz sentido combinar diferentes valores de um mesmo atributo em uma única regra� Por exemplo, vento=forte e vento=fraco
� Só se combinam item sets (para formar item setsmaiores) que têm o mínimo de coberturaesperada
62
Mineração de regras de associação
� Segundo passo
� Tendo-se os item sets com cobertura mínima especificada, geram-se regras com a acurácia mínima especificada
� Alguns item sets irão produzir mais de 1 regra, outros não vão produzir regras
22/11/2011
32
63
Exemplo
� Item set� umidade=normal, vento=fraco, jogar_tenis=sim (cobertura=4)
� 7 possíveis regras� umidade=normal, vento=fraco ==> jogar_tenis=sim (acurácia=4/4)� umidade=normal, jogar_tenis=sim ==> vento=fraco (acurácia=4/6)� vento=fraco, jogar_tenis=sim ==> umidade=normal (acurácia=4/6)� umidade=normal ==> vento=fraco, jogar_tenis=sim (acurácia=4/7)� vento=fraco ==> umidade=normal, jogar_tenis=sim (acurácia=4/8)� jogar_tenis=sim ==> umidade=normal, vento=fraco (acurácia=4/9)� --- ==> umidade=normal, vento=fraco, jogar_tenis=sim (acurácia=4/12)
� Se acurácia mínima especificada é de 100%, somente a primeira regra é produzida
64
Regras de associação
� Atenção
� Mineração de regras de associação pode ser um processo caro
� Em muitas situações, queremos um número N de regras a partir dos dados, com cobertura e acurácia boas
� Procedimento1. Rode o algoritmo com cobertura alta e colete as regras boas2. Se número de regras < N e ainda for possível gerar regras, então
diminua a cobertura e repita o passo 1
top related