Aprendizado Bayesiano Marcelo K. Albertini 26 de Junho de 2014
2/20 Conteúdo Teorema de Bayes Aprendizado MAP Classificador ótimo de Bayes
3/20 Dois papéis para métodos bayesianos Algoritmos de aprendizado práticos Aprendizado Naive Bayes Aprendizado de Redes Bayesianas Combinar conhecimento prévio com dados observados Requer probabilidade a priori Conceitos teóricos úteis Modelo ótimo para avaliar outros algoritmos de aprendizado Ferramentas para análise de algoritmos
4/20 Teorema de Bayes P(h D) = P(D h)p(h) P(D) Exemplo de h: paciente tem câncer
4/20 Teorema de Bayes P(h D) = P(D h)p(h) P(D) Exemplo de h: paciente tem câncer P(h) probabilidade a priori da hipótese h
4/20 Teorema de Bayes P(h D) = P(D h)p(h) P(D) Exemplo de h: paciente tem câncer P(h) probabilidade a priori da hipótese h P(h): o quanto confiamos na hipótese sem mesmo ver os dados em questão
4/20 Teorema de Bayes P(h D) = P(D h)p(h) P(D) Exemplo de h: paciente tem câncer P(h) probabilidade a priori da hipótese h P(h): o quanto confiamos na hipótese sem mesmo ver os dados em questão P(D h) probabilidade de D considerando h
4/20 Teorema de Bayes P(h D) = P(D h)p(h) P(D) Exemplo de h: paciente tem câncer P(h) probabilidade a priori da hipótese h P(h): o quanto confiamos na hipótese sem mesmo ver os dados em questão P(D h) probabilidade de D considerando h P(D h): probabilidade do teste de gravidez acusar positivo, considerando que realmente a namorada está grávida ou chance de paciente ter febre dado que ele tem H1N1
4/20 Teorema de Bayes P(h D) = P(D h)p(h) P(D) Exemplo de h: paciente tem câncer P(h) probabilidade a priori da hipótese h P(h): o quanto confiamos na hipótese sem mesmo ver os dados em questão P(D h) probabilidade de D considerando h P(D h): probabilidade do teste de gravidez acusar positivo, considerando que realmente a namorada está grávida ou chance de paciente ter febre dado que ele tem H1N1 P(D) probabilidade a priori sobre os exemplos de treino D
4/20 Teorema de Bayes P(h D) = P(D h)p(h) P(D) Exemplo de h: paciente tem câncer P(h) probabilidade a priori da hipótese h P(h): o quanto confiamos na hipótese sem mesmo ver os dados em questão P(D h) probabilidade de D considerando h P(D h): probabilidade do teste de gravidez acusar positivo, considerando que realmente a namorada está grávida ou chance de paciente ter febre dado que ele tem H1N1 P(D) probabilidade a priori sobre os exemplos de treino D P(D): probabilidade de testes de gravidez realizados acusarem positivo ou probabilidade de temperatura de pessoas medidas ser maior que 37 o C
4/20 Teorema de Bayes P(h D) = P(D h)p(h) P(D) Exemplo de h: paciente tem câncer P(h) probabilidade a priori da hipótese h P(h): o quanto confiamos na hipótese sem mesmo ver os dados em questão P(D h) probabilidade de D considerando h P(D h): probabilidade do teste de gravidez acusar positivo, considerando que realmente a namorada está grávida ou chance de paciente ter febre dado que ele tem H1N1 P(D) probabilidade a priori sobre os exemplos de treino D P(D): probabilidade de testes de gravidez realizados acusarem positivo ou probabilidade de temperatura de pessoas medidas ser maior que 37 o C P(h D) probabilidade de h considerando D
Teorema de Bayes P(h D) = P(D h)p(h) P(D) Exemplo de h: paciente tem câncer P(h) probabilidade a priori da hipótese h P(h): o quanto confiamos na hipótese sem mesmo ver os dados em questão P(D h) probabilidade de D considerando h P(D h): probabilidade do teste de gravidez acusar positivo, considerando que realmente a namorada está grávida ou chance de paciente ter febre dado que ele tem H1N1 P(D) probabilidade a priori sobre os exemplos de treino D P(D): probabilidade de testes de gravidez realizados acusarem positivo ou probabilidade de temperatura de pessoas medidas ser maior que 37 o C P(h D) probabilidade de h considerando D P(h D) probabilidade de paciente ter H1N1 dado que ele tem febre 4/20
5/20 Prova do Teorema de Bayes Considerando a definição de probabilidade condicional: Podemos escrever: P(A, B) = P(A B)P(B) P(h, D) = P(D, h)
5/20 Prova do Teorema de Bayes Considerando a definição de probabilidade condicional: Podemos escrever: P(A, B) = P(A B)P(B) P(h, D) = P(D, h) P(h D)P(D) = P(D h)p(h)
5/20 Prova do Teorema de Bayes Considerando a definição de probabilidade condicional: Podemos escrever: P(A, B) = P(A B)P(B) P(h, D) = P(D, h) P(h D)P(D) P(h D) = P(D h)p(h) = P(D h)p(h) P(D)
6/20 Escolhando hipóteses Encontrar hipóteses mais prováveis considerando os exemplos de treino Hipótese h MAP : Maximum A Posteriori h MAP = arg max h H P(h D) = arg max h H P(D h)p(h) P(D) = arg max h H P(D h)p(h), pois P(D) é constante Se diferentes hipóteses têm probabilidades iguais podemos usar a hipótese mais plausível, ou seja, a hipótese de Máxima Verossimilhança (MV): h MV = arg max h i H P(D h i)
7/20 Exemplo O paciente tem câncer? Um paciente faz um teste de laboratório e resultado acusa positivo (sim, tem câncer). O teste tem um resultado positivo correto em 98% das vezes O teste tem um resultado negativo correto em 97% das vezes Além disso, 0.008 da população vem a desenvolver esse câncer.
8/20 O paciente tem câncer? Um paciente faz um teste de laboratório e resultado acusa positivo (sim, tem câncer). O teste tem um resultado positivo correto em 98% das vezes O teste tem um resultado negativo correto em 97% das vezes Além disso, 0.008 da população vem a desenvolver esse câncer. P(cancer) = P( cancer) = P(+ cancer) = P( cancer) = P( cancer) = P(+ cancer) = P(cancer +) =
8/20 O paciente tem câncer? Um paciente faz um teste de laboratório e resultado acusa positivo (sim, tem câncer). O teste tem um resultado positivo correto em 98% das vezes O teste tem um resultado negativo correto em 97% das vezes Além disso, 0.008 da população vem a desenvolver esse câncer. P(cancer) = 0.008 P( cancer) = P(+ cancer) = P( cancer) = P( cancer) = P(+ cancer) = P(cancer +) =
8/20 O paciente tem câncer? Um paciente faz um teste de laboratório e resultado acusa positivo (sim, tem câncer). O teste tem um resultado positivo correto em 98% das vezes O teste tem um resultado negativo correto em 97% das vezes Além disso, 0.008 da população vem a desenvolver esse câncer. P(cancer) = 0.008 P( cancer) = 1 0.008 = 0.992 P(+ cancer) = P( cancer) = P( cancer) = P(+ cancer) = P(cancer +) =
8/20 O paciente tem câncer? Um paciente faz um teste de laboratório e resultado acusa positivo (sim, tem câncer). O teste tem um resultado positivo correto em 98% das vezes O teste tem um resultado negativo correto em 97% das vezes Além disso, 0.008 da população vem a desenvolver esse câncer. P(cancer) = 0.008 P( cancer) = 1 0.008 = 0.992 P(+ cancer) = 0.98 P( cancer) = P( cancer) = P(+ cancer) = P(cancer +) =
8/20 O paciente tem câncer? Um paciente faz um teste de laboratório e resultado acusa positivo (sim, tem câncer). O teste tem um resultado positivo correto em 98% das vezes O teste tem um resultado negativo correto em 97% das vezes Além disso, 0.008 da população vem a desenvolver esse câncer. P(cancer) = 0.008 P( cancer) = 1 0.008 = 0.992 P(+ cancer) = 0.98 P( cancer) = 1 0.98 = 0.02 P( cancer) = P(+ cancer) = P(cancer +) =
8/20 O paciente tem câncer? Um paciente faz um teste de laboratório e resultado acusa positivo (sim, tem câncer). O teste tem um resultado positivo correto em 98% das vezes O teste tem um resultado negativo correto em 97% das vezes Além disso, 0.008 da população vem a desenvolver esse câncer. P(cancer) = 0.008 P( cancer) = 1 0.008 = 0.992 P(+ cancer) = 0.98 P( cancer) = 1 0.98 = 0.02 P( cancer) = 0.97 P(+ cancer) = P(cancer +) =
8/20 O paciente tem câncer? Um paciente faz um teste de laboratório e resultado acusa positivo (sim, tem câncer). O teste tem um resultado positivo correto em 98% das vezes O teste tem um resultado negativo correto em 97% das vezes Além disso, 0.008 da população vem a desenvolver esse câncer. P(cancer) = 0.008 P( cancer) = 1 0.008 = 0.992 P(+ cancer) = 0.98 P( cancer) = 1 0.98 = 0.02 P( cancer) = 0.97 P(+ cancer) = 1 0.97 = 0.03 P(cancer +) =
8/20 O paciente tem câncer? Um paciente faz um teste de laboratório e resultado acusa positivo (sim, tem câncer). O teste tem um resultado positivo correto em 98% das vezes O teste tem um resultado negativo correto em 97% das vezes Além disso, 0.008 da população vem a desenvolver esse câncer. P(cancer) = 0.008 P( cancer) = 1 0.008 = 0.992 P(+ cancer) = 0.98 P( cancer) = 1 0.98 = 0.02 P( cancer) = 0.97 P(+ cancer) = 1 0.97 = 0.03 P(cancer +) = Teorema de Bayes P(+) P(h D) = P(D h)p(h) P(D) = P(+ cancer)p(cancer) +P(+ cancer)p( cancer)
9/20 Fórmulas básicas para probabilidades Regra do produto: probabilidade P(A B) conjunção de dois eventos A e B: P(A, B) = P(A B) = P(A B)P(B) = P(B A)P(A) Regra da soma: probabilidade da disjunção de dois eventos A e B: P(A B) = P(A) + P(B) P(A B) Teorema da probabilidade total: Se eventos A 1,..., A n são mutuamente exclusivos com n i=1 P(A i) = 1 então P(B) = n P(B A i )P(A i ) i=1
10/20 Aprendizado força-bruta da hipótese de probabilidade máxima a posteriori (MAP) Para cada hipótese h em H, computar a probabilidade a posteriori P(h D) = P(D h)p(h) P(D) Obter hipótese h MAP com maior probabilidade a posteriori MAP h MAP = arg max h H P(h D)
Exemplo: Aprendizado de Conceitos Seja D = c(x 1 ),..., c(x m ) onde c(x i ) é classe do exemplo i Queremos aprender o conceito de spam Escolher P(D h) P(D h) = 1 se h é consistente com D se a hipótese diz que é spam e a classe do exemplo também, então P(D h) = 1 P(D h) = 0 caso contrário Escolher P(h) com distribuição uniforme no espaço de hipóteses H P(h) = 1 H para todo h em H Então P(h D) = { 1 VS H,D se h for consistente com D 0 caso contrário O espaço de versões VS H,D é o subespaço de H ao eliminar hipóteses que contradizem os dados D. 11/20
12/20 Evolução de probabilidades a posteriori P(h D1, D2) P(h) P(h D1) Considerando espaço de hipótese no eixo horizontal inteiro e espaço de versões somente na parte onde há probabilidades diferente de zero.
13/20 Aprendizado de uma função contínua y classe contínua atributo x
Considere f sendo qualquer função-alvo contínua. Exemplos de treino x i, d i, onde d i tem ruído da seguinte forma: d i = f (x i ) + e i e i é uma variável aleatória (ruído) amostrada independentemente para cada x i seguindo uma distribuição Normal com média µ = 0. Então a hipótese de máxima verossimilhança h ML é aquela que minimiza a soma dos erros quadráticos: h ML = arg min h H m (d i h(x i )) 2 i=1 14/20
Considere f sendo qualquer função-alvo contínua. Exemplos de treino x i, d i, onde d i tem ruído da seguinte forma: d i = f (x i ) + e i e i é uma variável aleatória (ruído) amostrada independentemente para cada x i seguindo uma distribuição Normal com média µ = 0. Então a hipótese de máxima verossimilhança h ML é aquela que minimiza a soma dos erros quadráticos: Porquê? h ML = arg min h H m (d i h(x i )) 2 i=1 14/20
15/20 Hipótese de máxima verossimilhança Usamos a definição de hipótese de máxima verossimilhança: h ML = arg max h H P(D h) = Como amostras são independentes, fazemos m = arg max P(d i h) h H i=1 Assumindo que erros são de distribuição normal, fazemos ( ) m 1 = arg max 1 di h(x i ) 2 h H 2πσ 2 exp 2 σ i=1
16/20 Hipótese de máxima verossimilhança Maximizar o log para obter um somatório em vez do produtório: h ML = arg max mi=1 1 1 h H 2πσ 2 exp 2 [ = arg max mi=1 log h H = arg max h H ( di h(x i ) σ ( ) 1 1 2πσ 2 2 ) 2 ( ) ] di h(x i ) 2 m 1 ( ) di h(x i ) 2 tira termo constante da soma 2 σ i=1 m = arg max h H (d i h(x i )) 2 tira fator 1 2 constante i=1 m = arg min h H (d i h(x i )) 2 troca ( max) por min i=1 σ
Hipótese de máxima verossimilhança Maximizar o log para obter um somatório em vez do produtório: h ML = arg max mi=1 1 1 h H 2πσ 2 exp 2 [ = arg max mi=1 log h H = arg max h H ( di h(x i ) σ ( ) 1 1 2πσ 2 2 ) 2 ( ) ] di h(x i ) 2 m 1 ( ) di h(x i ) 2 tira termo constante da soma 2 σ i=1 m = arg max h H (d i h(x i )) 2 tira fator 1 2 constante i=1 m = arg min h H (d i h(x i )) 2 troca ( max) por min i=1 σ Chegamos na formulação de regressão de mínimos quadrados. 16/20
17/20 Classificação mais provável de novas instâncias Até agora, buscamos a hipótese mais provável segundo os dados D (isto é, a h MAP ) Dada uma nova instância x, qual é a sua classificação mais provável segundo h MAP? Considere: Três hipóteses possíveis: P(h 1 D) = 0.4, P(h 2 D) = 0.3, P(h 3 D) = 0.3 Dada nova instância x e as hipóteses: h 1 (x) = +, h 2 (x) =, h 3 (x) = Qual é a classificação mais provável de x?
18/20 Classificador Bayesiano Ótimo Exemplo arg max c j C P(c j h i )P(h i D) h i H P(h 1 D) = 0.4, P( h 1 ) = 0, P(+ h 1 ) = 1 P(h 2 D) = 0.3, P( h 2 ) = 1, P(+ h 2 ) = 0 P(h 3 D) = 0.3, P( h 3 ) = 1, P(+ h 3 ) = 0
19/20 portanto P(+ h i )P(h i D) = 0.4 h i H P( h i )P(h i D) = 0.6 h i H e arg max c j C P(c j h i )P(h i D) = h i H
19/20 portanto P(+ h i )P(h i D) = 0.4 h i H P( h i )P(h i D) = 0.6 h i H e Bom, mas é inviável arg max c j C P(c j h i )P(h i D) = h i H
20/20 Classificador de Gibbs Classificador ótimo de Bayes é inviável. Algoritmo de Gibbs Escolha uma hipótese aleatória, de acordo com P(h D) Usar hipótese escolhida para classificar nova instância Assuma que conceitos-alvo são obtidos aleatoriamente de H de acordo com as probabilidades a priori em H. Então E[erro Gibbs ] 2 E[erro BayesOtimo ] (assim como o Aprendizado Baseado em Instâncias)