Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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(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
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 ?
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
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
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
Chuva 3 2
16
8
Naive Bayes - Exemplo
• Dado um exemplo para classificar:
Tempo Temperatu. Humidade vento Joga
Sol 66 90 Sim ?
17
18
9
Exemplo de Aplicação do Naive Bayes
• Assumindo uma distribuição Normal
19
20
10
O problema da Balança
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
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
30
15
Discriminante Linear
• O caso de duas classes:
31
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}
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
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
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