O documento discute aprendizado supervisionado bayesiano. Ele introduz o aprendizado bayesiano como um método probabilístico e descreve que o aprendizado supervisionado tem como objetivo classificação ou regressão para mapear entradas em saídas com base em exemplos.
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
(ACH2044) Inteligência Artificial - Aula 17
1. Inteligência Artificial – ACH2016
Aula 17 – Aprendizado Bayesiano
Norton Trevisan Roman
(norton@usp.br)
13 de junho de 2019
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 1 / 41
4. Aprendizado
Até agora, precisávamos de:
Modelos bem definidos do problema estudado
Conhecimento razoável desse problema
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 2 / 41
5. Aprendizado
Até agora, precisávamos de:
Modelos bem definidos do problema estudado
Conhecimento razoável desse problema
Contudo...
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 2 / 41
6. Aprendizado
Até agora, precisávamos de:
Modelos bem definidos do problema estudado
Conhecimento razoável desse problema
Contudo...
Podemos não ter nem um nem outro
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 2 / 41
7. Aprendizado
Até agora, precisávamos de:
Modelos bem definidos do problema estudado
Conhecimento razoável desse problema
Contudo...
Podemos não ter nem um nem outro
Solução
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 2 / 41
8. Aprendizado
Até agora, precisávamos de:
Modelos bem definidos do problema estudado
Conhecimento razoável desse problema
Contudo...
Podemos não ter nem um nem outro
Solução
Observar vários exemplos
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 2 / 41
9. Aprendizado
Até agora, precisávamos de:
Modelos bem definidos do problema estudado
Conhecimento razoável desse problema
Contudo...
Podemos não ter nem um nem outro
Solução
Observar vários exemplos
Concluir algo sobre eles → aprender
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 2 / 41
10. Aprendizado
Até agora, precisávamos de:
Modelos bem definidos do problema estudado
Conhecimento razoável desse problema
Contudo...
Podemos não ter nem um nem outro
Solução
Observar vários exemplos
Concluir algo sobre eles → aprender
Como quando obtı́nhamos as probabilidades de cada nó na
rede bayesiana
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 2 / 41
13. Aprendizado
Quando aprendemos, em geral:
Memorizamos algo
Deduzimos fatos a partir de exploração e observação
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 3 / 41
14. Aprendizado
Quando aprendemos, em geral:
Memorizamos algo
Deduzimos fatos a partir de exploração e observação
Melhoramos habilidades pela prática
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 3 / 41
15. Aprendizado
Quando aprendemos, em geral:
Memorizamos algo
Deduzimos fatos a partir de exploração e observação
Melhoramos habilidades pela prática
Organizamos novo conhecimento em representações gerais e
efetivas
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 3 / 41
16. Aprendizado
Quando aprendemos, em geral:
Memorizamos algo
Deduzimos fatos a partir de exploração e observação
Melhoramos habilidades pela prática
Organizamos novo conhecimento em representações gerais e
efetivas
Enfim:
Um sistema que aprenda deve obter nova informação de
exemplos e melhorar seu desempenho com isso
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 3 / 41
17. Aprendizado
Quando aprendemos, em geral:
Memorizamos algo
Deduzimos fatos a partir de exploração e observação
Melhoramos habilidades pela prática
Organizamos novo conhecimento em representações gerais e
efetivas
Enfim:
Um sistema que aprenda deve obter nova informação de
exemplos e melhorar seu desempenho com isso
Corresponde a aprender uma função-alvo que, dada a
entrada, indique a saı́da
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 3 / 41
20. Aprendizado
Tipos de Aprendizado
Supervisionado
A partir de exemplos de pares entrada-saı́da, aprenda uma
função que mapeie da entrada à saı́da
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 4 / 41
21. Aprendizado
Tipos de Aprendizado
Supervisionado
A partir de exemplos de pares entrada-saı́da, aprenda uma
função que mapeie da entrada à saı́da
Necessita de um instrutor
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 4 / 41
22. Aprendizado
Tipos de Aprendizado
Supervisionado
A partir de exemplos de pares entrada-saı́da, aprenda uma
função que mapeie da entrada à saı́da
Necessita de um instrutor
Provém de experimentação
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 4 / 41
23. Aprendizado
Tipos de Aprendizado
Supervisionado
A partir de exemplos de pares entrada-saı́da, aprenda uma
função que mapeie da entrada à saı́da
Necessita de um instrutor
Provém de experimentação
Ex: as redes bayesianas vistas
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 4 / 41
24. Aprendizado
Tipos de Aprendizado
Supervisionado
A partir de exemplos de pares entrada-saı́da, aprenda uma
função que mapeie da entrada à saı́da
Necessita de um instrutor
Provém de experimentação
Ex: as redes bayesianas vistas
Não supervisionado
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 4 / 41
25. Aprendizado
Tipos de Aprendizado
Supervisionado
A partir de exemplos de pares entrada-saı́da, aprenda uma
função que mapeie da entrada à saı́da
Necessita de um instrutor
Provém de experimentação
Ex: as redes bayesianas vistas
Não supervisionado
Dado apenas o conjunto de entrada, identifique padrões
nesse conjunto
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 4 / 41
26. Aprendizado
Tipos de Aprendizado
Supervisionado
A partir de exemplos de pares entrada-saı́da, aprenda uma
função que mapeie da entrada à saı́da
Necessita de um instrutor
Provém de experimentação
Ex: as redes bayesianas vistas
Não supervisionado
Dado apenas o conjunto de entrada, identifique padrões
nesse conjunto
Não sabe exatamente o que aprender→ não há um feedback
explı́cito
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 4 / 41
28. Aprendizado
Tipos de Aprendizado
Por reforço:
O aprendizado se dá por meio de uma recompensa (ou
punição)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 5 / 41
29. Aprendizado
Tipos de Aprendizado
Por reforço:
O aprendizado se dá por meio de uma recompensa (ou
punição)
Só sabe se teve sucesso se, ao final, receber a recompensa
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 5 / 41
30. Aprendizado
Tipos de Aprendizado
Por reforço:
O aprendizado se dá por meio de uma recompensa (ou
punição)
Só sabe se teve sucesso se, ao final, receber a recompensa
Problema maior com aprendizado
Superajuste (overfitting)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 5 / 41
31. Aprendizado
Tipos de Aprendizado
Por reforço:
O aprendizado se dá por meio de uma recompensa (ou
punição)
Só sabe se teve sucesso se, ao final, receber a recompensa
Problema maior com aprendizado
Superajuste (overfitting)
Se o conjunto observado contiver um viés em alguma
direção, o sistema pode ficar “viciado”, descartando
qualquer hipótese externa a esse conjunto
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 5 / 41
35. Aprendizado Supervisionado
Finalidade
Classificação
Classificar um exemplo novo em um conjunto de classes
pré-determinadas
Usado para aprender uma função de valores discretos (não
necessariamente numéricos)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 6 / 41
36. Aprendizado Supervisionado
Finalidade
Classificação
Classificar um exemplo novo em um conjunto de classes
pré-determinadas
Usado para aprender uma função de valores discretos (não
necessariamente numéricos)
Ex: Aprovação de crédito – (sim/não)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 6 / 41
37. Aprendizado Supervisionado
Finalidade
Classificação
Classificar um exemplo novo em um conjunto de classes
pré-determinadas
Usado para aprender uma função de valores discretos (não
necessariamente numéricos)
Ex: Aprovação de crédito – (sim/não)
Regressão
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 6 / 41
38. Aprendizado Supervisionado
Finalidade
Classificação
Classificar um exemplo novo em um conjunto de classes
pré-determinadas
Usado para aprender uma função de valores discretos (não
necessariamente numéricos)
Ex: Aprovação de crédito – (sim/não)
Regressão
Descobrir o valor associado a um novo exemplo → aprende
uma função contı́nua de valores numéricos
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 6 / 41
39. Aprendizado Supervisionado
Finalidade
Classificação
Classificar um exemplo novo em um conjunto de classes
pré-determinadas
Usado para aprender uma função de valores discretos (não
necessariamente numéricos)
Ex: Aprovação de crédito – (sim/não)
Regressão
Descobrir o valor associado a um novo exemplo → aprende
uma função contı́nua de valores numéricos
Ex: Linha de crédito – quantos R$ podem ser emprestados
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 6 / 41
44. Aprendizado Supervisionado
Aprendizado Bayesiano
Puramente probabilı́stico
Fatores:
Cada exemplo aumenta ou reduz a probabilidade de uma
hipótese estar correta
Pode usar conhecimento prévio
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 7 / 41
45. Aprendizado Supervisionado
Aprendizado Bayesiano
Puramente probabilı́stico
Fatores:
Cada exemplo aumenta ou reduz a probabilidade de uma
hipótese estar correta
Pode usar conhecimento prévio
Acomoda métodos de predição probabilı́stica
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 7 / 41
46. Aprendizado Supervisionado
Aprendizado Bayesiano
Puramente probabilı́stico
Fatores:
Cada exemplo aumenta ou reduz a probabilidade de uma
hipótese estar correta
Pode usar conhecimento prévio
Acomoda métodos de predição probabilı́stica
Novos exemplos são classificados pela combinação da
predição de múltiplas hipóteses
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 7 / 41
47. Aprendizado Supervisionado
Aprendizado Bayesiano
Puramente probabilı́stico
Fatores:
Cada exemplo aumenta ou reduz a probabilidade de uma
hipótese estar correta
Pode usar conhecimento prévio
Acomoda métodos de predição probabilı́stica
Novos exemplos são classificados pela combinação da
predição de múltiplas hipóteses
O peso de cada hipótese é sua probabilidade
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 7 / 41
50. Aprendizado
Aprendizado Bayesiano
Baseado em dados e hipóteses
Dados: evidência
Hipóteses: possibilidades de classificação
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 8 / 41
51. Aprendizado
Aprendizado Bayesiano
Baseado em dados e hipóteses
Dados: evidência
Hipóteses: possibilidades de classificação
Trata-se de um classificador
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 8 / 41
52. Aprendizado
Aprendizado Bayesiano
Baseado em dados e hipóteses
Dados: evidência
Hipóteses: possibilidades de classificação
Trata-se de um classificador
Aprendizado bayesiano calcula a probabilidade de
cada hipótese ser a “correta”, dados os dados
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 8 / 41
53. Aprendizado
Aprendizado Bayesiano
Baseado em dados e hipóteses
Dados: evidência
Hipóteses: possibilidades de classificação
Trata-se de um classificador
Aprendizado bayesiano calcula a probabilidade de
cada hipótese ser a “correta”, dados os dados
P(H = h1|D = d)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 8 / 41
54. Aprendizado
Aprendizado Bayesiano
Baseado em dados e hipóteses
Dados: evidência
Hipóteses: possibilidades de classificação
Trata-se de um classificador
Aprendizado bayesiano calcula a probabilidade de
cada hipótese ser a “correta”, dados os dados
P(H = h1|D = d)
Hipótese “correta” é a que melhor descreve os dados
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 8 / 41
55. Aprendizado
Aprendizado Bayesiano
Baseado em dados e hipóteses
Dados: evidência
Hipóteses: possibilidades de classificação
Trata-se de um classificador
Aprendizado bayesiano calcula a probabilidade de
cada hipótese ser a “correta”, dados os dados
P(H = h1|D = d)
Hipótese “correta” é a que melhor descreve os dados
Usa todas as hipóteses, considerando suas probabilidades,
em vez de usar uma única “melhor” hipótese
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 8 / 41
56. Aprendizado Bayesiano
Suponha que queremos saber a probabilidade de
fazermos uma determinada observação (X = x),
dadas as já observadas (D = d):
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 9 / 41
57. Aprendizado Bayesiano
Suponha que queremos saber a probabilidade de
fazermos uma determinada observação (X = x),
dadas as já observadas (D = d):
P(x|d) =
X
i
P(x, hi |d)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 9 / 41
58. Aprendizado Bayesiano
Suponha que queremos saber a probabilidade de
fazermos uma determinada observação (X = x),
dadas as já observadas (D = d):
P(x|d) =
X
i
P(x, hi |d) =
X
i
P(x|d, hi )P(hi |d)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 9 / 41
59. Aprendizado Bayesiano
Suponha que queremos saber a probabilidade de
fazermos uma determinada observação (X = x),
dadas as já observadas (D = d):
P(x|d) =
X
i
P(x, hi |d) =
X
i
P(x|d, hi )P(hi |d)
=
X
i
P(x|hi )P(hi |d)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 9 / 41
60. Aprendizado Bayesiano
Suponha que queremos saber a probabilidade de
fazermos uma determinada observação (X = x),
dadas as já observadas (D = d):
P(x|d) =
X
i
P(x, hi |d) =
X
i
P(x|d, hi )P(hi |d)
=
X
i
P(x|hi )P(hi |d)
Assumimos que X e d são independentes dada a hipótese, ou seja, a
hipótese é suficiente para determinar a probabilidade de distribuição de X
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 9 / 41
61. Aprendizado Bayesiano
Suponha que queremos saber a probabilidade de
fazermos uma determinada observação (X = x),
dadas as já observadas (D = d):
P(x|d) =
X
i
P(x, hi |d) =
X
i
P(x|d, hi )P(hi |d)
=
X
i
P(x|hi )P(hi |d)
Assumimos que X e d são independentes dada a hipótese, ou seja, a
hipótese é suficiente para determinar a probabilidade de distribuição de X
Temos então que a predição P(X = x|d) é uma média
ponderada das predições de cada hipótese individual P(hi |d)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 9 / 41
62. Aprendizado Bayesiano
Regra de Bayes
Lembrando que
P(hi |d) =
P(d|hi )P(hi )
P(d)
∝ P(d|hi )P(hi )
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 10 / 41
63. Aprendizado Bayesiano
Regra de Bayes
Lembrando que
P(hi |d) =
P(d|hi )P(hi )
P(d)
∝ P(d|hi )P(hi )
Informalmente, podemos dizer que
posterior =
verossimilhança × prévia
evidência
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 10 / 41
64. Aprendizado Bayesiano
Regra de Bayes
Lembrando que
P(hi |d) =
P(d|hi )P(hi )
P(d)
∝ P(d|hi )P(hi )
Probabilidade posterior
Informalmente, podemos dizer que
posterior =
verossimilhança × prévia
evidência
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 10 / 41
65. Aprendizado Bayesiano
Regra de Bayes
Lembrando que
P(hi |d) =
P(d|hi )P(hi )
P(d)
∝ P(d|hi )P(hi )
Probabilidade posterior
Verossimilhança (likelihood)
Informalmente, podemos dizer que
posterior =
verossimilhança × prévia
evidência
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 10 / 41
66. Aprendizado Bayesiano
Regra de Bayes
Lembrando que
P(hi |d) =
P(d|hi )P(hi )
P(d)
∝ P(d|hi )P(hi )
Probabilidade posterior
Verossimilhança (likelihood)
Probabilidade prévia
Informalmente, podemos dizer que
posterior =
verossimilhança × prévia
evidência
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 10 / 41
67. Aprendizado Bayesiano
Regra de Bayes
P(hi |d) =
P(d|hi )P(hi )
P(d)
posterior =
verossimilhança × prévia
evidência
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 11 / 41
68. Aprendizado Bayesiano
Regra de Bayes
P(hi |d) =
P(d|hi )P(hi )
P(d)
posterior =
verossimilhança × prévia
evidência
P(d|hi) é a verossimilhança de hi com respeito a d
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 11 / 41
69. Aprendizado Bayesiano
Regra de Bayes
P(hi |d) =
P(d|hi )P(hi )
P(d)
posterior =
verossimilhança × prévia
evidência
P(d|hi) é a verossimilhança de hi com respeito a d
Todo o resto mantido inalterado, indica a categoria hi para a
qual P(d|hi ) é a mais provável de ser verdadeira (ou seja, é
máxima)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 11 / 41
70. Aprendizado Bayesiano
Regra de Bayes
P(hi |d) =
P(d|hi )P(hi )
P(d)
posterior =
verossimilhança × prévia
evidência
P(d|hi) é a verossimilhança de hi com respeito a d
Todo o resto mantido inalterado, indica a categoria hi para a
qual P(d|hi ) é a mais provável de ser verdadeira (ou seja, é
máxima)
P(d) pode ser visto meramente como um fator de
escala, que garante que as probabilidades
posteriores somarão 1
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 11 / 41
71. Aprendizado Bayesiano
Exemplo
Suponha que são fabricados 5 tipos de sacos de
balas:
Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 12 / 41
72. Aprendizado Bayesiano
Exemplo
Suponha que são fabricados 5 tipos de sacos de
balas:
h1: 100% cereja
Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 12 / 41
73. Aprendizado Bayesiano
Exemplo
Suponha que são fabricados 5 tipos de sacos de
balas:
h1: 100% cereja
h2: 75% cereja + 25% limão
Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 12 / 41
74. Aprendizado Bayesiano
Exemplo
Suponha que são fabricados 5 tipos de sacos de
balas:
h1: 100% cereja
h2: 75% cereja + 25% limão
h3: 50% cereja + 50% limão
Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 12 / 41
75. Aprendizado Bayesiano
Exemplo
Suponha que são fabricados 5 tipos de sacos de
balas:
h1: 100% cereja
h2: 75% cereja + 25% limão
h3: 50% cereja + 50% limão
h4: 25% cereja + 75% limão
Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 12 / 41
76. Aprendizado Bayesiano
Exemplo
Suponha que são fabricados 5 tipos de sacos de
balas:
h1: 100% cereja
h2: 75% cereja + 25% limão
h3: 50% cereja + 50% limão
h4: 25% cereja + 75% limão
h5: 100% limão Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 12 / 41
77. Aprendizado Bayesiano
Exemplo
Suponha também que esses tipos são fabricados na
seguinte proporção:
Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 13 / 41
78. Aprendizado Bayesiano
Exemplo
Suponha também que esses tipos são fabricados na
seguinte proporção:
10% são h1 (100% cereja)
Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 13 / 41
79. Aprendizado Bayesiano
Exemplo
Suponha também que esses tipos são fabricados na
seguinte proporção:
10% são h1 (100% cereja)
20% são h2 (75% cereja + 25% limão)
Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 13 / 41
80. Aprendizado Bayesiano
Exemplo
Suponha também que esses tipos são fabricados na
seguinte proporção:
10% são h1 (100% cereja)
20% são h2 (75% cereja + 25% limão)
40% são h3 (50% cereja + 50% limão)
Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 13 / 41
81. Aprendizado Bayesiano
Exemplo
Suponha também que esses tipos são fabricados na
seguinte proporção:
10% são h1 (100% cereja)
20% são h2 (75% cereja + 25% limão)
40% são h3 (50% cereja + 50% limão)
20% são h4 (25% cereja + 75% limão)
Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 13 / 41
82. Aprendizado Bayesiano
Exemplo
Suponha também que esses tipos são fabricados na
seguinte proporção:
10% são h1 (100% cereja)
20% são h2 (75% cereja + 25% limão)
40% são h3 (50% cereja + 50% limão)
20% são h4 (25% cereja + 75% limão)
10% são h5 (100% limão) Fonte: Slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 13 / 41
84. Aprendizado Bayesiano
Exemplo
Suponha agora que você comprou um saco de balas
sem saber de que tipo
E aleatoriamente retira n balas desse saco, obtendo :
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 14 / 41
85. Aprendizado Bayesiano
Exemplo
Suponha agora que você comprou um saco de balas
sem saber de que tipo
E aleatoriamente retira n balas desse saco, obtendo :
Que tipo de saco é esse?
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 14 / 41
86. Aprendizado Bayesiano
Exemplo
Suponha agora que você comprou um saco de balas
sem saber de que tipo
E aleatoriamente retira n balas desse saco, obtendo :
Que tipo de saco é esse?
Supondo que as observações (os dados) são independentes:
P(d|hi ) =
Y
j
P(dj |hi )
onde d = {d1, . . . , dn} são as n balas já retiradas
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 14 / 41
87. Aprendizado Bayesiano
Exemplo
Qual então a probabilidade de observarmos a
primeira bala de limão?
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 15 / 41
88. Aprendizado Bayesiano
Exemplo
Qual então a probabilidade de observarmos a
primeira bala de limão?
Não há dados anteriores ⇒ probabilidade prévia:
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 15 / 41
89. Aprendizado Bayesiano
Exemplo
Qual então a probabilidade de observarmos a
primeira bala de limão?
Não há dados anteriores ⇒ probabilidade prévia:
P(l) =
5
X
i=1
P(l, hi ) =
5
X
i=1
P(l|hi )P(hi )
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 15 / 41
90. Aprendizado Bayesiano
Exemplo
Qual então a probabilidade de observarmos a
primeira bala de limão?
Não há dados anteriores ⇒ probabilidade prévia:
P(l) =
5
X
i=1
P(l, hi ) =
5
X
i=1
P(l|hi )P(hi )
P(l) = 0 × 0, 1 + 0, 25 × 0, 2 + 0, 5 × 0, 4 + 0, 75 × 0, 2 + 1 × 0, 1 = 0, 5
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 15 / 41
91. Aprendizado Bayesiano
Exemplo
Qual então a probabilidade de observarmos a
primeira bala de limão?
Não há dados anteriores ⇒ probabilidade prévia:
P(l) =
5
X
i=1
P(l, hi ) =
5
X
i=1
P(l|hi )P(hi )
P(l) = 0 × 0, 1 + 0, 25 × 0, 2 + 0, 5 × 0, 4 + 0, 75 × 0, 2 + 1 × 0, 1 = 0, 5
E de observarmos a segunda bala de limão, dada a
primeira?
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 15 / 41
92. Aprendizado Bayesiano
Exemplo
Qual então a probabilidade de observarmos a
primeira bala de limão?
Não há dados anteriores ⇒ probabilidade prévia:
P(l) =
5
X
i=1
P(l, hi ) =
5
X
i=1
P(l|hi )P(hi )
P(l) = 0 × 0, 1 + 0, 25 × 0, 2 + 0, 5 × 0, 4 + 0, 75 × 0, 2 + 1 × 0, 1 = 0, 5
E de observarmos a segunda bala de limão, dada a
primeira?
P(l|d) = P(l|{l}) =
5
X
i=1
P(l, hi |{l})
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 15 / 41
94. Aprendizado Bayesiano
Exemplo
⇒ P(l|d) =
5
X
i=1
P(l|{l}, hi )P(hi |{l})
=
5
X
i=1
P(l|hi )P(hi |{l})
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 16 / 41
95. Aprendizado Bayesiano
Exemplo
⇒ P(l|d) =
5
X
i=1
P(l|{l}, hi )P(hi |{l})
=
5
X
i=1
P(l|hi )P(hi |{l})
(supondo independência condicional entre l e d = {l}, dada
a hipótese hi )
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 16 / 41
96. Aprendizado Bayesiano
Exemplo
⇒ P(l|d) =
5
X
i=1
P(l|{l}, hi )P(hi |{l})
=
5
X
i=1
P(l|hi )P(hi |{l})
(supondo independência condicional entre l e d = {l}, dada
a hipótese hi )
Como P(hi |{l}) =
P({l}|hi )P(hi )
P({l})
, então
P(l|d) =
1
P({l})
5
X
i=1
P(l|hi )P({l}|hi )P(hi )
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 16 / 41
97. Aprendizado Bayesiano
Exemplo
E como P(d|hi ) =
Y
j
P(dj |hi ) ⇒ P({l}|hi ) = P(l|hi ), então
P(l|d) =
1
P({l})
5
X
i=1
P(l|hi )P(l|hi )P(hi )
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 17 / 41
98. Aprendizado Bayesiano
Exemplo
E como P(d|hi ) =
Y
j
P(dj |hi ) ⇒ P({l}|hi ) = P(l|hi ), então
P(l|d) =
1
P({l})
5
X
i=1
P(l|hi )P(l|hi )P(hi )
=
1
P({l})
5
X
i=1
P(l|hi )2
P(hi )
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 17 / 41
99. Aprendizado Bayesiano
Exemplo
E como P(d|hi ) =
Y
j
P(dj |hi ) ⇒ P({l}|hi ) = P(l|hi ), então
P(l|d) =
1
P({l})
5
X
i=1
P(l|hi )P(l|hi )P(hi )
=
1
P({l})
5
X
i=1
P(l|hi )2
P(hi )
=
0, 325
P({l})
=
0, 325
P(l)
=
0.325
0, 5
= 0, 65
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 17 / 41
100. Aprendizado Bayesiano
Exemplo
Número de exemplos em d
Probabilidade
posterior
das
hipóteses
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 18 / 41
101. Aprendizado Bayesiano
Exemplo
Número de exemplos em d
Probabilidade
posterior
das
hipóteses
À medida em que vemos
mais exemplos, a hipótese
real acaba dominando
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 18 / 41
102. Aprendizado Bayesiano
Exemplo
Número de exemplos em d
Probabilidade
posterior
das
hipóteses
À medida em que vemos
mais exemplos, a hipótese
real acaba dominando
Número de exemplos em d
P(próxima
bala
=
limão
|
d)
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 18 / 41
103. Aprendizado Bayesiano
Exemplo
Número de exemplos em d
Probabilidade
posterior
das
hipóteses
À medida em que vemos
mais exemplos, a hipótese
real acaba dominando
Número de exemplos em d
P(próxima
bala
=
limão
|
d)
Naturalmente tende a 1, re-
fletindo o aumento de nossa
confiança de que a próxima
bala continuará a ser de limão
Fonte: Adaptado de slides de AIMA. Russell & Norvig.
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 18 / 41
105. Aprendizado Bayesiano
Problema
Calcular P(x|d) pode tornar-se intratável
Solução
Uma alternativa comum é lidar apenas com a
hipótese mais provável, tendo observado o conjunto
de dados d
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 19 / 41
106. Aprendizado Bayesiano
Problema
Calcular P(x|d) pode tornar-se intratável
Solução
Uma alternativa comum é lidar apenas com a
hipótese mais provável, tendo observado o conjunto
de dados d
hi que maximiza P(hi |d)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 19 / 41
107. Aprendizado Bayesiano
Problema
Calcular P(x|d) pode tornar-se intratável
Solução
Uma alternativa comum é lidar apenas com a
hipótese mais provável, tendo observado o conjunto
de dados d
hi que maximiza P(hi |d)
Maximum a Posteriori: hMAP = argmax
i
P(hi |d)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 19 / 41
108. Aprendizado Bayesiano
Problema
Calcular P(x|d) pode tornar-se intratável
Solução
Uma alternativa comum é lidar apenas com a
hipótese mais provável, tendo observado o conjunto
de dados d
hi que maximiza P(hi |d)
Maximum a Posteriori: hMAP = argmax
i
P(hi |d)
Base para o Naı̈ve Bayes Classifier – Classificador
Bayesiano Ingênuo
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 19 / 41
112. Classificador Bayesiano Ingênuo
Aplicação
Tarefas de aprendizado onde:
Cada instância do problema pode ser descrita por uma
conjunção de atributos
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 21 / 41
113. Classificador Bayesiano Ingênuo
Aplicação
Tarefas de aprendizado onde:
Cada instância do problema pode ser descrita por uma
conjunção de atributos
A função-alvo pode retornar qualquer valor de algum
conjunto finito
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 21 / 41
114. Classificador Bayesiano Ingênuo
Aplicação
Tarefas de aprendizado onde:
Cada instância do problema pode ser descrita por uma
conjunção de atributos
A função-alvo pode retornar qualquer valor de algum
conjunto finito
Função-alvo:
Uma função matemática que, para cada instância do
problema, indique a categoria à qual ela pertence
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 21 / 41
115. Classificador Bayesiano Ingênuo
Aplicação
Tarefas de aprendizado onde:
Cada instância do problema pode ser descrita por uma
conjunção de atributos
A função-alvo pode retornar qualquer valor de algum
conjunto finito
Função-alvo:
Uma função matemática que, para cada instância do
problema, indique a categoria à qual ela pertence
É a função efetivamente aprendida
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 21 / 41
117. Classificador Bayesiano Ingênuo
Funcionamento básico:
Com base na evidência, e usando a regra de Bayes, atualiza
a probabilidade de cada hipótese
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 22 / 41
118. Classificador Bayesiano Ingênuo
Funcionamento básico:
Com base na evidência, e usando a regra de Bayes, atualiza
a probabilidade de cada hipótese
Após incorporar a evidência, escolhe a hipótese mais
provável, para cada novo dado que precise classificar
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 22 / 41
119. Classificador Bayesiano Ingênuo
Funcionamento básico:
Com base na evidência, e usando a regra de Bayes, atualiza
a probabilidade de cada hipótese
Após incorporar a evidência, escolhe a hipótese mais
provável, para cada novo dado que precise classificar
Alternativamente:
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 22 / 41
120. Classificador Bayesiano Ingênuo
Funcionamento básico:
Com base na evidência, e usando a regra de Bayes, atualiza
a probabilidade de cada hipótese
Após incorporar a evidência, escolhe a hipótese mais
provável, para cada novo dado que precise classificar
Alternativamente:
São dados exemplos de treino da função-alvo
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 22 / 41
121. Classificador Bayesiano Ingênuo
Funcionamento básico:
Com base na evidência, e usando a regra de Bayes, atualiza
a probabilidade de cada hipótese
Após incorporar a evidência, escolhe a hipótese mais
provável, para cada novo dado que precise classificar
Alternativamente:
São dados exemplos de treino da função-alvo
Uma nova instância é apresentada X =<a1, a2, . . . , an>
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 22 / 41
122. Classificador Bayesiano Ingênuo
Funcionamento básico:
Com base na evidência, e usando a regra de Bayes, atualiza
a probabilidade de cada hipótese
Após incorporar a evidência, escolhe a hipótese mais
provável, para cada novo dado que precise classificar
Alternativamente:
São dados exemplos de treino da função-alvo
Uma nova instância é apresentada X =<a1, a2, . . . , an>
O classificador calcula o valor da função-alvo para a nova
instância
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 22 / 41
124. Classificador Bayesiano Ingênuo
Para classificar uma nova instância:
A associa à hipótese mais provável, dados os
atributos que descrevem a instância
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 23 / 41
125. Classificador Bayesiano Ingênuo
Para classificar uma nova instância:
A associa à hipótese mais provável, dados os
atributos que descrevem a instância
hMAP = argmax
i
P(hi |a1, a2, . . . , an)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 23 / 41
126. Classificador Bayesiano Ingênuo
Para classificar uma nova instância:
A associa à hipótese mais provável, dados os
atributos que descrevem a instância
hMAP = argmax
i
P(hi |a1, a2, . . . , an)
Então:
hMAP = argmax
i
P(a1, a2, . . . , an|hi )P(hi )
P(a1, a2, . . . , an)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 23 / 41
127. Classificador Bayesiano Ingênuo
Para classificar uma nova instância:
A associa à hipótese mais provável, dados os
atributos que descrevem a instância
hMAP = argmax
i
P(hi |a1, a2, . . . , an)
Então:
hMAP = argmax
i
P(a1, a2, . . . , an|hi )P(hi )
P(a1, a2, . . . , an)
hMAP = argmax
i
P(a1, a2, . . . , an|hi )P(hi )
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 23 / 41
128. Classificador Bayesiano Ingênuo
Para classificar uma nova instância:
Por ser constante,
P(a1, a2, . . . , an) não
influencia na deter-
minação do máximo
A associa à hipótese mais provável, dados os
atributos que descrevem a instância
hMAP = argmax
i
P(hi |a1, a2, . . . , an)
Então:
hMAP = argmax
i
P(a1, a2, . . . , an|hi )P(hi )
P(a1, a2, . . . , an)
hMAP = argmax
i
P(a1, a2, . . . , an|hi )P(hi )
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 23 / 41
129. Classificador Bayesiano Ingênuo
P(hi) → contamos a frequência com que hi ocorre
nos dados de treino
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 24 / 41
130. Classificador Bayesiano Ingênuo
P(hi) → contamos a frequência com que hi ocorre
nos dados de treino
E P(a1, a2, . . . , an|hi)?
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 24 / 41
131. Classificador Bayesiano Ingênuo
P(hi) → contamos a frequência com que hi ocorre
nos dados de treino
E P(a1, a2, . . . , an|hi)?
Difı́cil, a menos que tenhamos um conjunto de treino
realmente grande
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 24 / 41
132. Classificador Bayesiano Ingênuo
P(hi) → contamos a frequência com que hi ocorre
nos dados de treino
E P(a1, a2, . . . , an|hi)?
Difı́cil, a menos que tenhamos um conjunto de treino
realmente grande
Terı́amos que ter contagens suficientes para cada valor
possı́vel dos atributos, em cada instância
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 24 / 41
133. Classificador Bayesiano Ingênuo
P(hi) → contamos a frequência com que hi ocorre
nos dados de treino
E P(a1, a2, . . . , an|hi)?
Difı́cil, a menos que tenhamos um conjunto de treino
realmente grande
Terı́amos que ter contagens suficientes para cada valor
possı́vel dos atributos, em cada instância
Note que o mesmo par <aj , hi> aparece várias vezes (conforme a
combinação dos demais atributos)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 24 / 41
135. Classificador Bayesiano Ingênuo
Solução: a parte “ingênua” do classificador
Supõe que os atributos são condicionalmente independentes,
dado hi
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 25 / 41
136. Classificador Bayesiano Ingênuo
Solução: a parte “ingênua” do classificador
Supõe que os atributos são condicionalmente independentes,
dado hi
P(a1, a2, . . . , an|hi) =
n
Y
j=1
P(aj|hi)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 25 / 41
137. Classificador Bayesiano Ingênuo
Solução: a parte “ingênua” do classificador
Supõe que os atributos são condicionalmente independentes,
dado hi
P(a1, a2, . . . , an|hi) =
n
Y
j=1
P(aj|hi)
hNB = argmax
i
P(hi)
n
Y
j=1
P(aj|hi)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 25 / 41
138. Classificador Bayesiano Ingênuo
Solução: a parte “ingênua” do classificador
Supõe que os atributos são condicionalmente independentes,
dado hi
P(a1, a2, . . . , an|hi) =
n
Y
j=1
P(aj|hi)
hNB = argmax
i
P(hi)
n
Y
j=1
P(aj|hi)
Hipótese “es-
colhida” pelo
classificador para
a nova observação
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 25 / 41
139. Classificador Bayesiano Ingênuo
Solução: a parte “ingênua” do classificador
Supõe que os atributos são condicionalmente independentes,
dado hi
P(a1, a2, . . . , an|hi) =
n
Y
j=1
P(aj|hi)
hNB = argmax
i
P(hi)
n
Y
j=1
P(aj|hi)
Embora possa vir a ser uma
boa aproximação, nem sempre
é o caso dos atributos serem
condicionalmente independentes
Hipótese “es-
colhida” pelo
classificador para
a nova observação
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 25 / 41
140. Classificador Bayesiano Ingênuo
Solução: a parte “ingênua” do classificador
Supõe que os atributos são condicionalmente independentes,
dado hi
P(a1, a2, . . . , an|hi) =
n
Y
j=1
P(aj|hi)
hNB = argmax
i
P(hi)
n
Y
j=1
P(aj|hi)
Embora possa vir a ser uma
boa aproximação, nem sempre
é o caso dos atributos serem
condicionalmente independentes
Hipótese “es-
colhida” pelo
classificador para
a nova observação
Note que o mesmo par <aj , hi> aparece uma única vez
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 25 / 41
160. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Tarefa:
A partir de exemplos de textos já classificados, classificar um
novo texto
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 28 / 41
161. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Tarefa:
A partir de exemplos de textos já classificados, classificar um
novo texto
Você tem o texto e não sabe a que classe pertence
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 28 / 41
162. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Tarefa:
A partir de exemplos de textos já classificados, classificar um
novo texto
Você tem o texto e não sabe a que classe pertence
(retirou uma bala e não olhou, mas quer saber qual o sabor)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 28 / 41
163. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Tarefa:
A partir de exemplos de textos já classificados, classificar um
novo texto
Você tem o texto e não sabe a que classe pertence
(retirou uma bala e não olhou, mas quer saber qual o sabor)
Função-alvo:
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 28 / 41
164. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Tarefa:
A partir de exemplos de textos já classificados, classificar um
novo texto
Você tem o texto e não sabe a que classe pertence
(retirou uma bala e não olhou, mas quer saber qual o sabor)
Função-alvo:
Definir se é spam (h1) ou não (h2)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 28 / 41
165. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Tarefa:
A partir de exemplos de textos já classificados, classificar um
novo texto
Você tem o texto e não sabe a que classe pertence
(retirou uma bala e não olhou, mas quer saber qual o sabor)
Função-alvo:
Definir se é spam (h1) ou não (h2)
Problemas:
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 28 / 41
166. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Tarefa:
A partir de exemplos de textos já classificados, classificar um
novo texto
Você tem o texto e não sabe a que classe pertence
(retirou uma bala e não olhou, mas quer saber qual o sabor)
Função-alvo:
Definir se é spam (h1) ou não (h2)
Problemas:
Como representar um texto com atributos?
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 28 / 41
167. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Tarefa:
A partir de exemplos de textos já classificados, classificar um
novo texto
Você tem o texto e não sabe a que classe pertence
(retirou uma bala e não olhou, mas quer saber qual o sabor)
Função-alvo:
Definir se é spam (h1) ou não (h2)
Problemas:
Como representar um texto com atributos?
Como estimar as probabilidades requeridas?
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 28 / 41
169. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Representação:
Um atributo Ai diferente para cada posição i de palavra no
documento
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 29 / 41
170. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Representação:
Um atributo Ai diferente para cada posição i de palavra no
documento
O valor do atributo (Ai = ai ) é a palavra nessa posição
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 29 / 41
171. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Representação:
Um atributo Ai diferente para cada posição i de palavra no
documento
O valor do atributo (Ai = ai ) é a palavra nessa posição
Exemplo:
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 29 / 41
172. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Representação:
Um atributo Ai diferente para cada posição i de palavra no
documento
O valor do atributo (Ai = ai ) é a palavra nessa posição
Exemplo:
“<b>Aumente o tamanho do seu tênis em até
200cm!</b><p>Ligue agora para 0800-6969 e peça o
modernı́ssimo ΠK aumentator Tabajara.”
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 29 / 41
173. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Representação:
Um atributo Ai diferente para cada posição i de palavra no
documento
O valor do atributo (Ai = ai ) é a palavra nessa posição
Exemplo:
“<b>Aumente o tamanho do seu tênis em até
200cm!</b><p>Ligue agora para 0800-6969 e peça o
modernı́ssimo ΠK aumentator Tabajara.”
23 palavras → 23 posições
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 29 / 41
174. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Representação:
Um atributo Ai diferente para cada posição i de palavra no
documento
O valor do atributo (Ai = ai ) é a palavra nessa posição
Exemplo:
“<b>Aumente o tamanho do seu tênis em até
200cm!</b><p>Ligue agora para 0800-6969 e peça o
modernı́ssimo ΠK aumentator Tabajara.”
23 palavras → 23 posições
O número de atributos aumenta com o número de palavras
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 29 / 41
175. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Assumamos que temos 700 spams e 300 não spams
para treino
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 30 / 41
176. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Assumamos que temos 700 spams e 300 não spams
para treino
Recebemos um documento e, para classificá-lo:
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 30 / 41
177. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Assumamos que temos 700 spams e 300 não spams
para treino
Recebemos um documento e, para classificá-lo:
hNB = argmax
hi ∈{spam,¬spam}
P(hi)
23
Y
j=1
P(aj|hi)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 30 / 41
178. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Assumamos que temos 700 spams e 300 não spams
para treino
Recebemos um documento e, para classificá-lo:
hNB = argmax
hi ∈{spam,¬spam}
P(hi)
23
Y
j=1
P(aj|hi)
hNB = argmax
hi ∈{spam,¬spam}
P(hi)P(A1 =<b> |hi)P(A2 = aumente|hi) . . . P(A23 = tabajara|hi)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 30 / 41
179. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Assumamos que temos 700 spams e 300 não spams
para treino
Recebemos um documento e, para classificá-lo:
hNB = argmax
hi ∈{spam,¬spam}
P(hi)
23
Y
j=1
P(aj|hi)
hNB = argmax
hi ∈{spam,¬spam}
P(hi)P(A1 =<b> |hi)P(A2 = aumente|hi) . . . P(A23 = tabajara|hi)
Cada P(Aj = aj |hi )
vem do treinamento
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 30 / 41
180. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Maximizamos a probabilidade de observarmos as
palavras do documento a ser classificado, na posição
em que lá são encontradas
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 31 / 41
181. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Maximizamos a probabilidade de observarmos as
palavras do documento a ser classificado, na posição
em que lá são encontradas
A hipótese (spam ou texto comum) que resultar em maior
probabilidade será a vencedora
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 31 / 41
182. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Maximizamos a probabilidade de observarmos as
palavras do documento a ser classificado, na posição
em que lá são encontradas
A hipótese (spam ou texto comum) que resultar em maior
probabilidade será a vencedora
Essa probabilidade, contudo, está sujeita à
suposição de independência
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 31 / 41
184. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Independência:
As probabilidades de cada palavra em uma posição do texto
são independentes das palavras que ocorrem em outras
posições, dada a classificação do documento
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 32 / 41
185. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Independência:
As probabilidades de cada palavra em uma posição do texto
são independentes das palavras que ocorrem em outras
posições, dada a classificação do documento
Falso!
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 32 / 41
186. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Independência:
As probabilidades de cada palavra em uma posição do texto
são independentes das palavras que ocorrem em outras
posições, dada a classificação do documento
Falso!
A palavra “aumente”, se seguida de “seu tênis”, por
exemplo, aumenta a probabilidade de ser spam
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 32 / 41
187. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Independência:
As probabilidades de cada palavra em uma posição do texto
são independentes das palavras que ocorrem em outras
posições, dada a classificação do documento
Falso!
A palavra “aumente”, se seguida de “seu tênis”, por
exemplo, aumenta a probabilidade de ser spam
Contudo, se não assumirmos independência,
poderemos ter que calcular um número abusivo de
probabilidades
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 32 / 41
189. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Continuando o cálculo:
1000 documentos, 700 spams, 300 não spams
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 33 / 41
190. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Continuando o cálculo:
1000 documentos, 700 spams, 300 não spams
P(spam) = 0, 7 e p(¬spam) = 0, 3
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 33 / 41
191. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Continuando o cálculo:
1000 documentos, 700 spams, 300 não spams
P(spam) = 0, 7 e p(¬spam) = 0, 3
P(A1 =< b > |spam) é mais complicado
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 33 / 41
192. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Continuando o cálculo:
1000 documentos, 700 spams, 300 não spams
P(spam) = 0, 7 e p(¬spam) = 0, 3
P(A1 =< b > |spam) é mais complicado
Podemos assumir então que a probabilidade de encontrar
determinada palavra independe da posição
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 33 / 41
193. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Continuando o cálculo:
1000 documentos, 700 spams, 300 não spams
P(spam) = 0, 7 e p(¬spam) = 0, 3
P(A1 =< b > |spam) é mais complicado
Podemos assumir então que a probabilidade de encontrar
determinada palavra independe da posição
P(Aj = ωk |hi ) = P(ωk |hi )
ωk = cada palavra distinta no texto a ser classificado
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 33 / 41
194. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Continuando o cálculo:
1000 documentos, 700 spams, 300 não spams
P(spam) = 0, 7 e p(¬spam) = 0, 3
P(A1 =< b > |spam) é mais complicado
Podemos assumir então que a probabilidade de encontrar
determinada palavra independe da posição
P(Aj = ωk |hi ) = P(ωk |hi )
ωk = cada palavra distinta no texto a ser classificado
O problema passa a ser calcular a probabilidade de achar
determinada palavra, e não determinada palavra em certa posição
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 33 / 41
195. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Estimamos a probabilidade:
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 34 / 41
196. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Estimamos a probabilidade:
P(ωk|hi ) =
nk + 1
n + |vocabulário|
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 34 / 41
197. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Estimamos a probabilidade:
P(ωk|hi ) =
nk + 1
n + |vocabulário|
n → número total de palavras (inclusive repetidas) em todos
os exemplos de treino cuja classificação é hi
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 34 / 41
198. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Estimamos a probabilidade:
P(ωk|hi ) =
nk + 1
n + |vocabulário|
n → número total de palavras (inclusive repetidas) em todos
os exemplos de treino cuja classificação é hi
nk → número de vezes que a palavra ωk é encontrada dentre
essas n palavras
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 34 / 41
199. Classificador Bayesiano Ingênuo
Exemplo – Classificação de Textos
Estimamos a probabilidade:
P(ωk|hi ) =
nk + 1
n + |vocabulário|
n → número total de palavras (inclusive repetidas) em todos
os exemplos de treino cuja classificação é hi
nk → número de vezes que a palavra ωk é encontrada dentre
essas n palavras
|vocabulário| → número total de palavras distintas (e outros
tokens) encontrados nos dados de treinamento
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 34 / 41
200. Classificação de Textos
Qual a razão do |vocabulário|?
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 35 / 41
201. Classificação de Textos
Qual a razão do |vocabulário|?
Suponha que o documento a ser classificado
contenha uma palavra ωk não existente nos
exemplos de treino. Sem esse termo, a equação
ficaria
P(ωk|hi ) =
0
n
= 0
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 35 / 41
202. Classificação de Textos
Qual a razão do |vocabulário|?
Suponha que o documento a ser classificado
contenha uma palavra ωk não existente nos
exemplos de treino. Sem esse termo, a equação
ficaria
P(ωk|hi ) =
0
n
= 0
Suavização (smoothing): forma de evitar essa
radicalização
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 35 / 41
203. Classificação de Textos
Qual a razão do |vocabulário|?
Suponha que o documento a ser classificado
contenha uma palavra ωk não existente nos
exemplos de treino. Sem esse termo, a equação
ficaria
P(ωk|hi ) =
0
n
= 0
Suavização (smoothing): forma de evitar essa
radicalização
P(ωk|hi ) =
0 + 1
n + |vocabulário|
=
1
n + |vocabulário|
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 35 / 41
204. Classificação de Textos
Qual a razão do |vocabulário|?
Suponha que o documento a ser classificado
contenha uma palavra ωk não existente nos
exemplos de treino. Sem esse termo, a equação
ficaria
P(ωk|hi ) =
0
n
= 0
Suavização (smoothing): forma de evitar essa
radicalização
P(ωk|hi ) =
0 + 1
n + |vocabulário|
=
1
n + |vocabulário|
A probabilidade é baixı́ssima, mas existe!
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 35 / 41
206. Classificação de Textos
Suavização (Smoothing)
Add-one smoothing (Laplace)
A forma vista até agora
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 36 / 41
207. Classificação de Textos
Suavização (Smoothing)
Add-one smoothing (Laplace)
A forma vista até agora
P(ωk|hi ) =
nk + 1
X
k
(1 + nk)
=
1 + nk
X
k
nk +
X
k
1
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 36 / 41
208. Classificação de Textos
Suavização (Smoothing)
Add-one smoothing (Laplace)
A forma vista até agora
P(ωk|hi ) =
nk + 1
X
k
(1 + nk)
=
1 + nk
X
k
nk +
X
k
1
⇒ P(ωk|hi ) =
1 + nk
n + |vocabulário|
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 36 / 41
209. Classificação de Textos
Suavização (Smoothing)
Add-one smoothing (Laplace)
A forma vista até agora
P(ωk|hi ) =
nk + 1
X
k
(1 + nk)
=
1 + nk
X
k
nk +
X
k
1
⇒ P(ωk|hi ) =
1 + nk
n + |vocabulário|
Adicionamos 1 a cada palavra possı́vel (vocabulário)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 36 / 41
210. Classificação de Textos
Suavização (Smoothing)
Alternativa bastante usada
Adicionamos 1 ao numerador e 2 ao denominador
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 37 / 41
211. Classificação de Textos
Suavização (Smoothing)
Alternativa bastante usada
Adicionamos 1 ao numerador e 2 ao denominador
P(ωk|hi ) =
nk + 1
n + 2
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 37 / 41
212. Classificação de Textos
Suavização (Smoothing)
Alternativa bastante usada
Adicionamos 1 ao numerador e 2 ao denominador
P(ωk|hi ) =
nk + 1
n + 2
A probabilidade de um termo
desconhecido é
1
(n + 2)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 37 / 41
213. Classificador Bayesiano Ingênuo
Classificação de Textos – Algoritmo
Função APRENDE(Exemplos, H = {hi }): void
Vocabulário ← conjunto de todas as diferentes palavras e tokens
ocorridos em todo documento de Exemplos
para cada hipótese hi faça
docsi ← subconjunto dos documentos de Exemplos para os quais
a classificação é hi
P(hi ) ←
|docsi |
|Exemplos|
Textoi ← um único documento criado pela concatenação de todos
os membros de docsi
n ← número total de palavras em Textoi
para cada palavra ωk no Vocabulário faça
nk ← número de vezes que a palavra ωk ocorre em Textoi
P(ωk |hi ) ←
(nk + 1)
(n + |Vocabulário|)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 38 / 41
214. Classificador Bayesiano Ingênuo
Classificação de Textos – Algoritmo
Conjunto de exemplos de treino
Função APRENDE(Exemplos, H = {hi }): void
Vocabulário ← conjunto de todas as diferentes palavras e tokens
ocorridos em todo documento de Exemplos
para cada hipótese hi faça
docsi ← subconjunto dos documentos de Exemplos para os quais
a classificação é hi
P(hi ) ←
|docsi |
|Exemplos|
Textoi ← um único documento criado pela concatenação de todos
os membros de docsi
n ← número total de palavras em Textoi
para cada palavra ωk no Vocabulário faça
nk ← número de vezes que a palavra ωk ocorre em Textoi
P(ωk |hi ) ←
(nk + 1)
(n + |Vocabulário|)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 38 / 41
215. Classificador Bayesiano Ingênuo
Classificação de Textos – Algoritmo
Possı́veis hipóteses
Função APRENDE(Exemplos, H = {hi }): void
Vocabulário ← conjunto de todas as diferentes palavras e tokens
ocorridos em todo documento de Exemplos
para cada hipótese hi faça
docsi ← subconjunto dos documentos de Exemplos para os quais
a classificação é hi
P(hi ) ←
|docsi |
|Exemplos|
Textoi ← um único documento criado pela concatenação de todos
os membros de docsi
n ← número total de palavras em Textoi
para cada palavra ωk no Vocabulário faça
nk ← número de vezes que a palavra ωk ocorre em Textoi
P(ωk |hi ) ←
(nk + 1)
(n + |Vocabulário|)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 38 / 41
216. Classificador Bayesiano Ingênuo
Classificação de Textos – Algoritmo
Colete todas as palavras,
pontuação e outros tokens
que ocorrem nos exemplos
Função APRENDE(Exemplos, H = {hi }): void
Vocabulário ← conjunto de todas as diferentes palavras e tokens
ocorridos em todo documento de Exemplos
para cada hipótese hi faça
docsi ← subconjunto dos documentos de Exemplos para os quais
a classificação é hi
P(hi ) ←
|docsi |
|Exemplos|
Textoi ← um único documento criado pela concatenação de todos
os membros de docsi
n ← número total de palavras em Textoi
para cada palavra ωk no Vocabulário faça
nk ← número de vezes que a palavra ωk ocorre em Textoi
P(ωk |hi ) ←
(nk + 1)
(n + |Vocabulário|)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 38 / 41
217. Classificador Bayesiano Ingênuo
Classificação de Textos – Algoritmo
Calcule os termos de pro-
babilidade P(hi ) e P(ωk |hi )
Função APRENDE(Exemplos, H = {hi }): void
Vocabulário ← conjunto de todas as diferentes palavras e tokens
ocorridos em todo documento de Exemplos
para cada hipótese hi faça
docsi ← subconjunto dos documentos de Exemplos para os quais
a classificação é hi
P(hi ) ←
|docsi |
|Exemplos|
Textoi ← um único documento criado pela concatenação de todos
os membros de docsi
n ← número total de palavras em Textoi
para cada palavra ωk no Vocabulário faça
nk ← número de vezes que a palavra ωk ocorre em Textoi
P(ωk |hi ) ←
(nk + 1)
(n + |Vocabulário|)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 38 / 41
218. Classificador Bayesiano Ingênuo
Classificação de Textos – Algoritmo
Função CLASSIFICA(Doc,Vocabulário): a hipótese estimada para o
documento Doc
Palavras ← todas as palavras em Doc que também são encontradas no
Vocabulário
hNB = argmax
hi ∈H
P(hi )
Y
aj ∈Palavras
P(aj |hi )
retorna hNB
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 39 / 41
219. Classificador Bayesiano Ingênuo
Classificação de Textos – Algoritmo
Documento a ser classificado
Função CLASSIFICA(Doc,Vocabulário): a hipótese estimada para o
documento Doc
Palavras ← todas as palavras em Doc que também são encontradas no
Vocabulário
hNB = argmax
hi ∈H
P(hi )
Y
aj ∈Palavras
P(aj |hi )
retorna hNB
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 39 / 41
220. Classificador Bayesiano Ingênuo
Classificação de Textos – Algoritmo
Palavras distintas encon-
tradas durante o treino
Função CLASSIFICA(Doc,Vocabulário): a hipótese estimada para o
documento Doc
Palavras ← todas as palavras em Doc que também são encontradas no
Vocabulário
hNB = argmax
hi ∈H
P(hi )
Y
aj ∈Palavras
P(aj |hi )
retorna hNB
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 39 / 41
221. Classificador Bayesiano Ingênuo
Classificação de Textos – Algoritmo
Palavras novas são ignoradas
Função CLASSIFICA(Doc,Vocabulário): a hipótese estimada para o
documento Doc
Palavras ← todas as palavras em Doc que também são encontradas no
Vocabulário
hNB = argmax
hi ∈H
P(hi )
Y
aj ∈Palavras
P(aj |hi )
retorna hNB
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 39 / 41
222. Classificador Bayesiano Ingênuo
Classificação de Textos – Algoritmo
ai denota i-ésima palavra em Doc
Função CLASSIFICA(Doc,Vocabulário): a hipótese estimada para o
documento Doc
Palavras ← todas as palavras em Doc que também são encontradas no
Vocabulário
hNB = argmax
hi ∈H
P(hi )
Y
aj ∈Palavras
P(aj |hi )
retorna hNB
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 39 / 41
223. Classificador Bayesiano Ingênuo
Classificação de Textos – Modificações
Podemos ignorar as palavras mais comuns (um, a,
o, de etc)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 40 / 41
224. Classificador Bayesiano Ingênuo
Classificação de Textos – Modificações
Podemos ignorar as palavras mais comuns (um, a,
o, de etc)
Podemos retirar do vocabulário qualquer palavra
que tenha ocorrido menos vezes que um mı́nimo
(menos que 2 vezes, por exemplo)
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 40 / 41
225. Referências
Russell, S.; Norvig P. (2010): Artificial Intelligence: A Modern Approach.
Prentice Hall. 3a ed.
Slides do livro: aima.eecs.berkeley.edu/slides-pdf/
Mitchell, T.M.: Machine Learning. McGraw-Hill. 1997.
Murphy, K. P.: Machine Learning: A Probabilistic Perspective. MIT
Press. 2012.
Alpaydın, E.: Introduction to Machine Learning. 2 ed. MIT Press. 2010.
https://stats.stackexchange.com/questions/261235/
small-probabilities-in-naive-bayes
https://stats.stackexchange.com/questions/105602/
example-of-how-the-log-sum-exp-trick-works-in-naive-bayes/
253319#253319
Norton Trevisan Roman(norton@usp.br) 13 de junho de 2019 41 / 41