Você está na página 1de 22

Aprendizagem Bayesiana

Introdução
João Gama
jgama@liacc.up.pt
http://www.niaad.liacc.up.pt/~jgama

Sumário
• O teorema de Bayes
– Motivação
– O Bayes-óptimo
– O erro de Bayes
• Algoritmos de Classificação derivados do teorema de Bayes
– Naive- Bayes
– Funções discriminantes
• Discriminante Linear
• Discriminante Quadrático
• Discriminante Logistico
• Desenvolvimentos

1
O teorema de Bayes - Introdução
• Considere um problema de diagnóstico médico:
– Duas alternativas (exclusivas)
• O doente tem um determinado tipo de cancro
• O doente não tem um determinado tipo de cancro
• É sabido que a probabilidade de observar uma pessoa com este tipo de cancro é
0.008.
• Existe um teste de laboratório que dá apenas um indicação imperfeita sobre a
presença (ausência) do cancro.
– O teste foi negativo em 97% de casos em que o doente não tinha cancro.
– O teste foi positivo em 98% de casos em que o doente tinha cancro.
P(sim) = 0.008 P(não) = 0.992

P(+ | sim) = 0.98 P(+ | não) = 0.03


P(- | sim) = 0.02 P(- | não) = 0.97

• Para um novo doente o teste é positivo. Qual deverá ser o diagnóstico?


– P(sim | +)
– P(não | +)

O teorema de Bayes
• O teorema de Bayes responde a esta questão:
p ( x | Decisão i ) p ( Decisão i )
p ( Decisão i | x ) =
p( x)
– A regra de Bayes mostra como alterar as probabilidades a priori tendo em conta
novas evidências de forma a obter probabilidades a posteriori.
• Sendo conhecidas as probabilidades a priori e as probabilidades
condicionais, a regra de decisão é:
argmax p(Decisãoi|x) = argmax [p(Decisãoi) * p(x|Decisãoi)]

P(sim | +) = = 0.98 * 0.008


P(sim)*P(+ | sim) = 0.0078

P(não | +) = = 0.03*0.992
P(não)*P(+ | não) = 0.0298

Temp
4

2
O erro de Bayes

O teorema de Bayes
• A aplicação do teorema de Bayes como classificador requer:
– Conhecer as probabilidades a priori p(decisãoi)
– As probabilidades condicionais p(x|decisãoi)
• Este classificador é óptimo no sentido em que, em média, nenhum
outro classificador pode obter melhores resultados usando a mesma
informação.
• O erro deste classificador estabelece um mínimo teórico à capacidade
de generalização de qualquer classificador: o erro do Bayes óptimo.
– È proporcional à área da superfície a negro.
– Possibilidade de gerar conjuntos de dados onde é conhecido o erro mínimo.
• Na pratica estas probabilidades são desconhecidas.
– Estimativas fiáveis destas probabilidades a partir de um conjunto de exemplos,
requer um numero infinito de exemplos.
• O(kp) sendo p o nr.de variáveis e k o nr. de valores das variáveis.

3
O teorema de Bayes
• Como ultrapassar o problema?
– Assumindo simplificações no calculo de p(x|decisão).
• Dependente das assumpções, são obtidos diferentes
classificadores:
– Assumindo que os atributos são independentes dada a decisão.
• Naive Bayes
– Assumindo que p(x|decisão) segue uma determinada função
densidade de probabilidade.
• Funções Discriminantes.

O naive Bayes
• Assumindo que o valor dos atributos são condicionalmente
independentes dada a classe:
r
P ( x | Ci ) = ∏ P ( x j | Ci )
– Aplicando o teorema de Bayes:
r P (Ci )
P (Ci | x ) = r ∏ P ( x j | Ci )
P( x )
– O termo P(x) pode ser ignorado já que não depende da classe.
r
P(Ci | x ) ∝ P(Ci )∏ P( x j | Ci )
– Para cada classe é calculado um valor proporcional a P(Ci|x).

4
O naive Bayes
• Suponha um problema com p variáveis.
– Cada variável pode assumir k valores.
– A estimativa da probabilidade conjunta das p variáveis requer estimar kp
probabilidades.
– Assumindo que as variáveis são condicionalmente independentes dada a classe,
requer estimar kp probabilidades.
• O modelo do naive Bayes pode ser expresso de forma aditiva.
r
– Aplicando logaritmos P(Ci | x ) ∝ log( P (Ci )) + ∑ log( P( x j | Ci ))
j

• Salienta a contribuição de cada uma das variáveis para a tomada de decisão


– Considerando apenas duas classes
p (c1 | x) p (c1) p ( xj | c1)
log = log + ∑ log
p (c 2 | x ) p (c 2) p ( xj | c 2)

Exemplo
Tempo Temperatu. Humidade vento Joga
• Dado um exemplo para classificar:
Sol 85 85 Não Não Tempo Temperatu. Humidade vento Joga
Sol 80 90 Sim Não Sol 66 90 Sim ?

Nublado 83 86 Não Sim


– P(joga = sim | x) = p(joga = sim) *
Chuva 70 96 Não Sim
p(tempo=sol|joga=sim) *
Chuva 68 80 Não Sim p(temperatura = 66|joga=sim)*
Chuva 65 70 Sim Não p(humidade = 90| joga=sim) *
Nublado 64 65 Sim Sim p(vento=sim | joga=sim)
Sol 72 95 Não Não
– P(joga = nao | x) = p(joga = nao) *
p(tempo=sol|joga=nao) *
Sol 69 70 Não Sim p(temperatura = 66|joga=nao)*
Chuva 75 80 Não Sim p(humidade = 90| joga=nao) *
Sol 75 70 Sim Sim p(vento=sim | joga=nao)
Nublado 72 90 Sim Sim • Como calcular, a partir do
Nublado 81 75 Não Sim
conjunto de treino, estas
Chuva 71 91 Sim Não
probabilidades ?

10

5
Naive Bayes - Implementação
• Todas as probabilidades condicionais são estimadas a partir
do conjunto de treino.
– Para estimar P(Ci) é necessário contar o número de exemplos para
cada classe.
– Para estimar P(xj|Ci) é necessário distinguir duas situações:
• O domínio do atributo é um conjunto finito (nominal).
– Contar o número de exemplos em que são observados simultaneamente o valor
xj e a class Ci.
• O domínio do atributo é continuo (toma valores num subconjunto dos
números reais). Duas alternativas:
– É assumido uma distribuição para os valores do atributo.
» Usualmente a distribuição normal.
– O atributo é discretizado e tratado como um atributo nominal.

11

Atributos contínuos - discretização


• Discretização
– Quantos intervalos?
• Nr. de intervalos = min(10, nr.de valores diferentes)
(Domingos & Pazzani)
– Qual a amplitude de cada intervalo?
• Intervalos com a mesma amplitude
• Intervalos com a mesma frequência de valores observados
• K-means
– K intervalos que minimizam a soma das distancias ao centro de
gravidade de cada intervalo
• Método de Fisher
1 3 6 7 8 9.5 10 11
kM
Ew
Ep
12

6
Atributos contínuos – distribuição normal
• A função densidade de probabilidade normal:
– Requer conhecimento da média e do desvio padrão da variável aleatória.
– A curva é simétrica em torno da média e amplitude dada pelo desvio padrão.
– Para uma variável aleatória x de µ=74 e σ=6 a probabilidade de observar x=66 é
0.0273

( x−µ ) 2

1 −
f ( x) = e 2σ
2

2Πσ

13

Naive Bayes - Implementação


• Valores não observados
– Se xi não é observado no conjunto de treino:
• P(xi|Cj) = 0.=> P(Cj|x) = 0
– Alguns autores sugerem estimar como: P(xi|Cj) = 1/n2 em que n representa o
numero de exemplos no treino.
• Valores Desconhecidos
– Natureza de valores desconhecidos:
• Não aplicável.
• Não foi medido.
– Alguns autores sugerem:
• Atributos Nominais
– Considerar como um outro valor possível.
– Substituir pela moda.
• Atributos Ordenados
– Substituir pela média.

14

7
Naive Bayes - Exemplo
• Tempo Temperatu. Humidade vento Joga
Sol 85 85 Não Não
Sol 80 90 Sim Não
Nublado 83 86 Não Sim
Chuva 70 96 Não Sim
Chuva 68 80 Não Sim
Chuva 65 70 Sim Não
Nublado 64 65 Sim Sim
Sol 72 95 Não Não
Sol 69 70 Não Sim
Chuva 75 80 Não Sim
Sol 75 70 Sim Sim
Nublado 72 90 Sim Sim
Nublado 81 75 Não Sim
Chuva 71 91 Sim Não

15

Naive Bayes - Exemplo


• Tabelas de distribuição
– Nr. de Exemplos: 14
– Nr. Exemplos por classe:
• Sim: 9
• Não: 5

Tempo Temperatura Humidade Vento


Sim Não Sim Não Sim Não Sim Não

Sol 2 3 Média 73 74.6 Média 79.1 86.2 Falso 6 2

Nublado 4 0 Desv. 6.2 7.9 Desv. 10.2 9.7 Verda. 3 3

Chuva 3 2

16

8
Naive Bayes - Exemplo
• Dado um exemplo para classificar:
Tempo Temperatu. Humidade vento Joga
Sol 66 90 Sim ?

– P(joga = sim | x) = p(joga = sim) * p(tempo=sol|joga=sim) * p(temperatura =


66|joga=sim)*p(humidade = 90| joga=sim) *p(vento=sim | joga=sim)
– P(joga = nao | x) = p(joga = nao) * p(tempo=sol|joga=nao) * p(temperatura =
66|joga=nao)*p(humidade = 90| joga=nao) *p(vento=sim | joga=nao)

17

Exemplo de Aplicação do Naive Bayes


• Considere o problema de
decisão:
– Dois atributos reais
• Range: [0:1]
– Duas classes:
– Regra de decisão: ?

18

9
Exemplo de Aplicação do Naive Bayes
• Assumindo uma distribuição Normal

19

Exemplo de Aplicação do Naive Bayes


• Discretizando os Atributos

20

10
O problema da Balança

A balança pode estar em três estados:


.Equilibrada (B)
.Inclinada para a direita (R)
.Inclinada para a esquerda (L)

21

Analise
• Em domínios onde todos os atributos são nominais
– O número de possíveis estados do naive Bayes é finito.
• d ^ (#classes * (#atributos * #valores+1))
– d é o nr. de diferente números representáveis na máquina
» Numa maquina de 16 bits, d é 2^16=65536
– Um naive Bayes é equivalente a uma máquina linear (combinação
linear dos atributos).
• Definindo um atributo booleano para cada atributo = valor
– O novo atributo indica a presença (ou não) do valor do atributo num
determinado exemplo.

r
P(Ci | x ) ∝ log( P(Ci )) + ∑ log( P( x j = v j ,k | Ci )) * b j ,k
j ,k

22

11
Analise: Atributos reais

23

Naive Bayes
• O naive Bayes sumariza a variabilidade de um conjunto de dados em
tabelas de probabilidades condicionais.
• A dimensão do modelo é independente do numero de exemplos
– Estável em relação a perturbações do conjunto de treino
• Em problemas práticos tem boa performance mesmo em situações
onde há claras dependências entre atributos.
– Em problemas de classificação (funções de custo 0-1) o que é importante é a
ordenação de p(Cli|x).
• É robusto ao ruído e atributos irrelevantes.
• Todas as quantidades requeridas para construir o classificador podem
ser calculadas numa única passagem pelo conjunto de treino.
– Algoritmo On-line, Incremental

24

12
Desenvolvimentos
• Flexible Bayes
– Usa estimadores de núcleo (kernel) para atributos contínuos.
– Assume a independência dos atributos.
• Linear-Bayes
– Utiliza um distribuição normal multivariada para os atributos
contínuos.
• Iterative Bayes
– Introduz procura (hill-climbing) por uma melhor hipótese.
– Minimiza uma função de erro ∑ ( p(c = Y ) − p(c | x))
c

• Nbtree
– Arvores de decisão em que as folhas contêm naive-Bayes.

25

Desenvolvimentos
• Estimar a probabilidade conjunta de um conjunto de variáveis
– Modelo qualitativo
• Grafo (DAG) das dependências causais das variáveis
– Modelo quantitativo
• Tabelas de distribuição

• Naive Bayes:
• P(C|x1,x2,x3)=P(C).P(x1|C).P(x2|C).P(x3|C)

• Redes Causais
• P(C|x1,x2,x3)= P(C).P(x1,x2|C).P(x2|C).P(x3|C)

26

13
Bibliografia adicional
• Richard Duda, Peter Hart; (1973) “Pattern Classification and Scene
Analysis”, J.Wiley & Sons
• Tom Mitchell, Machine Learning (cap. 6)
McGraw-Hill, 1997
• J.Pearl, Probabilistc Reasoning in Intelligent Systems: Networks of
plausible Inference, Morgan Kaufman, 1988
• Pedro Domingos, M.Pazzani (1997) “On the optimality of the Simple
Bayes Classifier under zero-one loss”, Machine Learning, 29

• KDDCup 1998 – Boosting naive Bayes – winner


• Coil 1999 – Simple naive Bayes – winner
• Text Mining
27

O Discriminante Linear
• A regra de Bayes atribui a um exemplo a classe mais
provável: argmax i P(Cli)*P(x|Cli)
• Assumindo que:
– Para cada classe os exemplos são independentes.
– O vector dos atributos segue uma distribuição multivariada normal
• Os vectores das médias são diferentes para cada classe.
• Mas têm a mesma matriz de co-variância.
• A função de densidade de probabilidade de uma distribuição
multivariada normal de parâmetros µ (vector média) e ∑
(matriz de co-variâncias) é:
1 1
N ( µ , ∑) = exp(− ( x − µ ) T ∑ −1 ( x − µ )
2π | ∑ | 2

28

14
O Discriminante Linear
• Supondo que:
– A probabilidade “a priori” da classe Ci é P(Ci)
– A função de densidade de probabilidade relativa á classe Ci é fi
• P(Ci | x) = P(Ci) * fi(x)
• O logaritmo desta probabilidade é:
1
log( P (Cli )) − ( x − µ i ) T ∑ −1 ( x − µ i )
2
1 T −1 1 1 1
log( P (Cli )) − x ∑ x + x T ∑ −1 µ i + µ T i ∑ −1 x − µ t i ∑ −1 µ i
2 2 2 2
1
log( P (Cli )) − µ T i ∑ −1 µ i + x T ∑ −1 µ i
2
– Tendo em conta a simetria de ∑ e que o termo xT∑-1x é
independente da classe.

29

O Discriminante Linear
• Para cada classe, um discriminante é um hiper-plano.
– O hiperplano é uma combinação linear dos atributos:
• Hi = w0+w1x1+...+wnxn
– Hi = αi+xTβi
– βi = ∑−1µi e αi = log(p(Ci)) –1/2µiT ∑−1µi

• Como classificar um exemplo de teste x ?


– Calculo das probabilidades “a posteriori” P(Ci|x):
1
P(Cli | x) =exp[log( P(Cli )) − µ iT ∑ −1 µ i + x T ∑ −1 µ i ]
2

– O exemplo é classificado na classe que maximiza P(Ci|x)

30

15
Discriminante Linear
• O caso de duas classes:

31

O discriminante linear - implementação


• Na pratica os parâmetros ∑ e µ são desconhecidos e têm de
ser estimados a partir dos dados.
• Os parâmetros para calculo da função densidade são
estimados a partir dos exemplos para cada classe:
– O vector de médias
– A matriz de co-variâncias.

32

16
Exemplo de um discriminante (em R):

33

Exemplo de um discriminante:
X1 X2 Classe
βi = ∑−1µi
0,765468 0,264101 a 4,89 Medias a b
0,915915 0,241747 a 13,04 X1 0,87 0,47 Betas a b
1,028091 0,222515 a 19,12 X2 0,21 0,31 X1 130,35 76,70
0,938714 0,230819 a 14,30 X2 59,56 62,92
0,830035 0,167864 a 8,68 Covariancia A
0,924417 0,047015 a 14,15 X1 X2
0,839271 0,24728 a 8,91 X1 0,01 0,00 MeansT X1 X2
0,898068 0,35565 a 11,70 X2 0,00 0,01 a 0,87 0,21
0,889464 0,109548 a 12,06 b 0,47 0,31
0,713704 0,256323 a 2,14 Covariancia B
0,365468 0,364101 b -16,90 X1 X2 αi = log(p(Ci)) –1/2µiT ∑−1µi
0,515915 0,341747 b -8,76 X1 0,01 0,00 a b
0,628091 0,322515 b -2,68 X2 0,00 0,01 Alfas -63,36 -28,08
0,538714 0,330819 b -7,50
0,430035 0,267864 b -13,12 Pooled X1 X2 Coeficientes
0,524417 0,147015 b -7,65 X1 0,01 0,00 -35,29 53,65 -3,36
0,439271 0,34728 b -12,89 X2 0,00 0,01
0,498068 0,45565 b -10,10 Inversa X1 X2
0,489464 0,209548 b -9,73 X1 141,67 30,24
0,313704 0,356323 b -19,65 X2 30,24 154,56

34

17
Superfícies de Decisão

35

Tipos de Variáveis
• O calculo de discriminantes envolve
– Médias e Covariâncias
– Para variáveis
• Com domínio é real estas operações estão bem definidas
• Com domínio nominal estas operações não estão definidas.
• Cada variável nominal, que assuma n valores, é
transformada em n-1 variáveis binárias.
variável cor domínio:{azul, verde, vermelho}

Exemplo cor Exemplo V1 V2


1 azul 1 0 0
2 verde 2 0 1
3 vermelho 3 1 0

36

18
O discriminante quadrático
• O discriminante quadrático
– Não assume a igualdade das matrizes de co-variância.
1 1
log( P (Cli )) − log(| ∑ i |) − ( x − µ i ) T ∑ i−1 ( x − µ i )
2 2

– As probabilidades “a posteriori” são dadas por:


1 1
p (C i | x) = exp(log( P(C i )) − log( ∑ i ) − ( x − µ i ) T ∑ i−1 ( x − µ i ))
2 2

• A superfície de decisão não é linear.


– São calculados coeficientes para os quadrados dos x e produtos
cruzados dos x.
ax12 + bx1 x2 + cx2 x1 + dx22
• O numero de parâmetros a estimar é:
– #Cl*#Att*(#Att+1)/2
• È robusto a desvios da normalidade.

37

O discriminante logístico
• O discriminante logístico é linear:
– Constrói hiper-planos da forma Hi = αi+xTβi
– Mas utiliza um critério de máxima verosimilhança.
• Utiliza um processo de optimização.
– Iterativamente percorre os exemplos de treino
• Depois de cada iteração os coeficientes são modificados de forma a
maximizar as probabilidades a posteriori dos exemplos de treino.
• A modificação dos coeficientes pode ocorrer, mesmo se todos os exemplos
são correctamente classificados.

38

19
O discriminante logistico
• Maximiza uma função de verosimilhança:
L( β1 ,..., β n −1 ) = ∏ P(C1 | x)....∏ P (C n | x)
1 n

• Modela o quociente dos logaritmos das funções densidade


de probabilidade:
– Dados um exemplo x e n-1 vectores de coeficientes β, a
probabilidade de x pertencer a uma classe i é:
exp( β i x)
P(Ci | x) =
∑ exp( β j | x)
j =1... n

1
P(Cn | x) =
∑ exp( β
j =1... n
j | x)

39

Superfícies de decisão

40

20
Complexidade
• Naive Bayes
– O(#exemplos).
• Discriminante Linear
– O(#exemplos)+O(#atributos3)

41

Extensões
• Em problemas com varias classes:
– Para cada classe determinar uma função discriminante que separa
os exemplos dessa classe dos exemplos de todas as outras classes.
– “Pairwise coupling”
• Determinar uma função discriminante entre cada par de classes.
• Em problemas com atributos irrelevantes ou redundantes
– “Forward selection”
– “Backward selection”
• È necessário assumir uma distribuição?
– A regra de correcção do erro absoluto

42

21
Extensões
• Máquinas Lineares
• Redes Neuronais
• Support Vector Machines
– Vapnik, “The nature of Statistical Learning”, Springer Verlag

43

Bibliografia adicional
• “Machine Learning, Neural and Statistical Classification”
– D.Michie, D.J.Spiegelhalter, C.Taylor (eds)
– Ellis Horwood, 1994
– www.amsta.leeds.ac.uk/~charles/statlog
• Discriminant analysis and Statistical Pattern Recognition
– G.J.McLachlan
– John Wiley, 1992
• Probabilistic Reasoning
– Judea Pearl

44

22

Você também pode gostar