• Nenhum resultado encontrado

12.naive bayes

N/A
N/A
Protected

Academic year: 2021

Share "12.naive bayes"

Copied!
38
0
0

Texto

(1)

Naïve Bayes

(2)

Roteiro

Revisão de Probabilidade

Probabilidade a priori

Probabilidade a posteriori/condicional

Naïve Bayes

Introdução

Teorema de Bayes

Execução de um Exemplo

Atributos Categóricos e Atributos Contínuos

M-Estimate

(3)

Revisão de Probabilidade

Para compreender o funcionamento do classificador

Naïve Bayes, necessitamos de certos conhecimentos de

probabilidade

Probabilidade a priori

(4)

Probabilidade a priori

Corresponde à crença antes de qualquer (nova) evidência

Sendo A é uma variável aleatória que representa o valor

obtido numa rolagem de um dado com seis faces

P(A=6) = 1/6 = 0.167

Sendo B é uma variável aleatória que representa o lado

obtido após um lançamento de uma moeda

(5)

Probabilidade a posteriori/condicional

Corresponde à crença após uma evidência

P(A=6 | dado viciado em 6) = 0.4

Probabilidade do valor obtido numa rolagem de um dado

com seis faces ser 6 dado que o dado seja viciado na

face de valor 6

P(B=“cara” | moeda viciada em coroa) = 0.2

Probabilidade do lado obtido após um lançamento de

uma moeda ser cara dado que a moeda seja viciada na

face coroa

(6)

Probabilidade – Exemplo

Considere um exemplo com as seguintes configurações

C é a variável aleatória que representa a presença ou ausência

de cárie

D é a variável aleatória que representa a presença ou ausência

de dor de dente

Presença equivale à true

Ausência equivale à false

(7)

Probabilidade – Exemplo

P(D = true) = 0.2

Probabilidade de ter dor de dente é 0.2

P(C = false | D = true) = 0.4

Probabilidade de não ter cárie dado que possui dor de

dente é 0.4

(8)

Probabilidade – Exemplo

Usando a distribuição de probabilidade conjunta para as

variáveis aleatórias

cárie (C)

dor de dente (D)

dor de dente ¬dor de dente

cárie

0.12

0.08

(9)

Probabilidade – Exemplo

Então, fica claro que

P(D = true) = 0.2

dor de dente ¬dor de dente

cárie

0.12

0.08

(10)

Probabilidade – Exemplo

Mas como

P(C = false | D = true) = 0.4 ?

Note que P(C = false | D = true) ≠ P(¬C ∩ D)

dor de dente ¬dor de dente

cárie

0.12

0.08

(11)

Probabilidade – Exemplo

Para calcular probabilidade temos sempre uma divisão do

caso visto pelo total de casos

Dado que a posteriori adiciona uma evidência, o total de

casos não é mais a probabilidade total (1.0), mas sim a

probabilidade total da evidência apresentada

dor de dente ¬dor de dente

cárie

0.12

0.08

(12)

Probabilidade – Exemplo

Portanto,

P(C = false | D = true) = casos vistos / total de casos

Obtemos

P(C = false | D = true) = 0.08 / 0.2 = 0.4

dor de dente ¬dor de dente

cárie

0.12

0.08

¬cárie

0.08

0.72

total de casos

casos vistos

(13)

Naïve Bayes – Introdução

É um classificador estatístico que tem a função de

classificar um objeto numa determinada classe com base

na probabilidade deste objeto pertencer a esta classe

O nome Naïve (ingênuo) é dado, pois considera-se que os

atributos são independentes

Tamanho da Perna x Velocidade de Leitura

(14)

Naïve Bayes – Visão Geral

Deseja-se classificar um

novo objeto X (ponto

branco)

Os objetos estão

agrupados em classes

A chance de X pertencer

à uma classe aumenta de

acordo com a quantidade

de objetos parecidos com

X

P(Cor = Verde | X) = 1/40 P(Cor = Vermelho | X) = 3/20

P(Cor = Vermelho | X) > P(Cor = Verde | X) Portanto, X é classificado como Vermelho

(15)

Teorema de Bayes

Fornece o cálculo das probabilidades de que uma

determinada amostra de dados pertença a cada uma das

classes possíveis, predizendo para a amostra, a classe

mais provável

Sendo X e Y duas variáveis aleatórias

X é o exemplo a ser testado

Y é uma classe

)

(

)

(

)

|

(

)

|

(

X

P

Y

P

Y

X

P

X

Y

P

(16)

Teorema de Bayes

Dado que X é um exemplo, ele é composto de vários

atributos

Calcula-se isoladamente o valor da probabilidade condicional

de cada atributo para finalmente calcular a probabilidade a

posteriori

Com isso, é possível chegar a uma forma mais geral do

Teorema de Bayes:

)

(

)

|

(

)

(

)

|

(

1

X

P

Y

X

P

Y

P

X

Y

P

i d i

P[x

1

, x

2

,... x

d

| C] = P(x

1

| C) x P(x

2

| C) x … x P(x

d

| C)

(17)

Naïve Bayes – Exemplo

ID Idade Renda Estudante Crédito Compra_computador

1 <= 30 Alta Não Bom Não

2 <= 30 Alta Não Bom Não

3 31..40 Alta Não Bom Sim

4 > 40 Média Não Bom Sim

5 > 40 Baixa Sim Bom Sim

6 > 40 Baixa Sim Excelente Não 7 31..40 Baixa Sim Excelente Sim

8 <= 30 Média Não Bom Não

9 <= 30 Baixa Sim Bom Sim

10 > 40 Média Sim Bom Sim

11 <= 30 Média Sim Excelente Sim 12 31..40 Média Não Excelente Sim

13 31..40 Alta Sim Bom Sim

14 > 40 Média Não Excelente Não

Baseado nos dados acima, dado

X = (Idade <= 30, Renda = Media, Estudante = Sim, Crédito = Bom)

X irá comprar computador (Y = Sim ou Y = Não)?

(18)

Naïve Bayes – Exemplo

ID Idade Renda Estudante Crédito Compra_computador

1 <= 30 Alta Não Bom Não

2 <= 30 Alta Não Bom Não

3 31..40 Alta Não Bom Sim

4 > 40 Média Não Bom Sim

5 > 40 Baixa Sim Bom Sim

6 > 40 Baixa Sim Excelente Não 7 31..40 Baixa Sim Excelente Sim

8 <= 30 Média Não Bom Não

9 <= 30 Baixa Sim Bom Sim

10 > 40 Média Sim Bom Sim

11 <= 30 Média Sim Excelente Sim 12 31..40 Média Não Excelente Sim

13 31..40 Alta Sim Bom Sim

14 > 40 Média Não Excelente Não

Primeiro calcula-se a probabilidade a priori das classes

P(Y = Sim) = 9/14 = 0.643

(19)

Naïve Bayes – Exemplo

ID Idade Renda Estudante Crédito Compra_computador

1 <= 30 Alta Não Bom Não

2 <= 30 Alta Não Bom Não

3 31..40 Alta Não Bom Sim

4 > 40 Média Não Bom Sim

5 > 40 Baixa Sim Bom Sim

6 > 40 Baixa Sim Excelente Não 7 31..40 Baixa Sim Excelente Sim

8 <= 30 Média Não Bom Não

9 <= 30 Baixa Sim Bom Sim

10 > 40 Média Sim Bom Sim

11 <= 30 Média Sim Excelente Sim 12 31..40 Média Não Excelente Sim

13 31..40 Alta Sim Bom Sim

14 > 40 Média Não Excelente Não

Depois a probabilidade a posteriori dado uma classe para cada variável de X

X = (Idade <= 30, Renda = Media, Estudante = Sim, Crédito = Bom)

P(Idade <= 30 | Y = Sim) = 2/9 = 0.222

P(Idade <= 30 | Y = Não) = 3/5 = 0.6

(20)

Naïve Bayes – Exemplo

ID Idade Renda Estudante Crédito Compra_computador

1 <= 30 Alta Não Bom Não

2 <= 30 Alta Não Bom Não

3 31..40 Alta Não Bom Sim

4 > 40 Média Não Bom Sim

5 > 40 Baixa Sim Bom Sim

6 > 40 Baixa Sim Excelente Não 7 31..40 Baixa Sim Excelente Sim

8 <= 30 Média Não Bom Não

9 <= 30 Baixa Sim Bom Sim

10 > 40 Média Sim Bom Sim

11 <= 30 Média Sim Excelente Sim 12 31..40 Média Não Excelente Sim

13 31..40 Alta Sim Bom Sim

14 > 40 Média Não Excelente Não

Depois a probabilidade a posteriori dado uma classe para cada variável de X

X = (Idade <= 30, Renda = Media, Estudante = Sim, Crédito = Bom)

P(Renda = Media | Y = Sim) = 4/9 = 0.444

P(Renda = Media | Y = Não) = 2/5 = 0.4

(21)

Naïve Bayes – Exemplo

ID Idade Renda Estudante Crédito Compra_computador

1 <= 30 Alta Não Bom Não

2 <= 30 Alta Não Bom Não

3 31..40 Alta Não Bom Sim

4 > 40 Média Não Bom Sim

5 > 40 Baixa Sim Bom Sim

6 > 40 Baixa Sim Excelente Não 7 31..40 Baixa Sim Excelente Sim

8 <= 30 Média Não Bom Não

9 <= 30 Baixa Sim Bom Sim

10 > 40 Média Sim Bom Sim

11 <= 30 Média Sim Excelente Sim 12 31..40 Média Não Excelente Sim

13 31..40 Alta Sim Bom Sim

14 > 40 Média Não Excelente Não

Depois a probabilidade a posteriori dado uma classe para cada variável de X

X = (Idade <= 30, Renda = Media, Estudante = Sim, Crédito = Bom)

P(Estudante = Sim | Y = Sim) = 6/9 = 0.667

P(Estudante = Sim | Y = Não) =1/5 = 0.2

(22)

Naïve Bayes – Exemplo

ID Idade Renda Estudante Crédito Compra_computador

1 <= 30 Alta Não Bom Não

2 <= 30 Alta Não Bom Não

3 31..40 Alta Não Bom Sim

4 > 40 Média Não Bom Sim

5 > 40 Baixa Sim Bom Sim

6 > 40 Baixa Sim Excelente Não 7 31..40 Baixa Sim Excelente Sim

8 <= 30 Média Não Bom Não

9 <= 30 Baixa Sim Bom Sim

10 > 40 Média Sim Bom Sim

11 <= 30 Média Sim Excelente Sim 12 31..40 Média Não Excelente Sim

13 31..40 Alta Sim Bom Sim

14 > 40 Média Não Excelente Não

Depois a probabilidade a posteriori dado uma classe para cada variável de X

X = (Idade <= 30, Renda = Media, Estudante = sim, Crédito = Bom)

P(Crédito = Bom | Y = Sim) = 6/9 = 0.667

P(Credito = Bom | Y = Não) = 3/5 = 0.6

(23)

Naïve Bayes – Exemplo

Dado que a regra de decisão é

Após calcular todas as P(X

i

| Y), encontraremos os demais

valores necessários para realizar a decisão

)

(

)

(

)

|

(

)

|

(

X

P

Y

P

Y

X

P

X

Y

P

(24)

Naïve Bayes – Exemplo

Como

P[x

1

, x

2

,... x

d

| C] = P(x

1

| C) x P(x

2

| C) x … x P(x

d

| C)

P(X | Y = Sim) = 0.222 x 0.444 x 0.667 x 0.667 = 0.044

P(X | Y = Não) = 0.6 x 0.4 x 0.2 x 0.6 = 0.028

Pela Lei da Probabilidade Total

P(X) = P(X | Y = Sim).P(Y = Sim) + P(X | Y = Não).P(Y = Não)

P(X) = 0.044 x 0.643 + 0.028 x 0.357 = 0.038

Finalmente

P(Y = Sim | X) = 0.044 x 0.643 / 0.038 = 0.74

P(Y = Não | X) = 0.028 x 0.357 / 0.038 = 0.26

)

(

)

(

)

|

(

)

|

(

X

P

Y

P

Y

X

P

X

Y

P

P(Y) já calculados anteriormente

P(Y = Sim) = 0.643

(25)

Naïve Bayes – Exemplo

Dado que temos

P(Y = Sim | X) = 0.74

P(Y = Não | X) = 0.26

Como P(Y = Sim | X) > P(Y = Não | X)

Finalmente, é possível classificar X como pertence a

(26)

Naïve Bayes – Atributos Categóricos

No exemplo tinha apenas atributos categóricos

Idade: {menor ou igual 30, entre 31 e 40, maior que 40}

Renda: {Baixa, Média, Alta}

Estudante: {Sim, Não}

Crédito: {Bom Excelente}

Então, Naïve Bayes só pode ser utilizado por atributos

categóricos?

(27)

Naïve Bayes – Atributos Contínuos

Existem duas maneiras de lidar com atributos contínuos

Discretização de atributos contínuos

Os atributos contínuos são divididos em intervalos discretos, que

substituem os valores desses atributos

A transformação dos atributos contínuos em atributos discretos

permite que sejam tratados como atributos categóricos

Nosso exemplo já fez isso inicialmente

Distribuição Gaussiana

Assume uma certa forma de distribuição de probabilidade para

variáveis contínuas

Estima os parâmetros da distribuição usando os dados de

treinamento

(28)

Naïve Bayes – Exemplo 2

ID Idade Renda Estudante Crédito Compra_computador

1 <= 30 Alta Não Bom Não

2 <= 30 Alta Não Bom Não

3 31..40 Alta Não Bom Sim

4 > 40 Média Não Bom Sim

5 > 40 Baixa Sim Bom Sim

6 > 40 Baixa Sim Excelente Não 7 31..40 Baixa Sim Excelente Sim

8 <= 30 Média Não Bom Não

9 <= 30 Baixa Sim Bom Sim

10 > 40 Média Sim Bom Sim

11 <= 30 Média Sim Excelente Sim 12 31..40 Média Não Excelente Sim

13 31..40 Alta Sim Bom Sim

14 > 40 Média Não Excelente Não

Para mostrar o funcionamento de atributos não-categóricos iremos

modificar o atributo Idade para um valor inteiro

(29)

Naïve Bayes – Exemplo 2

ID Idade Renda Estudante Crédito Compra_computador

1 28 Alta Não Bom Não

2 27 Alta Não Bom Não

3 33 Alta Não Bom Sim

4 42 Média Não Bom Sim

5 46 Baixa Sim Bom Sim

6 52 Baixa Sim Excelente Não

7 38 Baixa Sim Excelente Sim

8 24 Média Não Bom Não

9 28 Baixa Sim Bom Sim

10 49 Média Sim Bom Sim

11 30 Média Sim Excelente Sim

12 39 Média Não Excelente Sim

13 32 Alta Sim Bom Sim

(30)

Naïve Bayes – Exemplo 2

ID Idade Renda Estudante Crédito Compra_computador

1 28 Alta Não Bom Não

2 27 Alta Não Bom Não

3 33 Alta Não Bom Sim

4 42 Média Não Bom Sim

5 46 Baixa Sim Bom Sim

6 52 Baixa Sim Excelente Não

7 38 Baixa Sim Excelente Sim

8 24 Média Não Bom Não

9 28 Baixa Sim Bom Sim

10 49 Média Sim Bom Sim

11 30 Média Sim Excelente Sim

12 39 Média Não Excelente Sim

13 32 Alta Sim Bom Sim

14 47 Média Não Excelente Não

n

y

1 2 2     n x  

, sendo

e

²

2

²

exp

²

2

1

)

|

(



x

y

Y

x

X

P

(31)

Naïve Bayes – Exemplo 2

ID Idade Renda Estudante Crédito Compra_computador

1 28 Alta Não Bom Não

2 27 Alta Não Bom Não

3 33 Alta Não Bom Sim

4 42 Média Não Bom Sim

5 46 Baixa Sim Bom Sim

6 52 Baixa Sim Excelente Não

7 38 Baixa Sim Excelente Sim

8 24 Média Não Bom Não

9 28 Baixa Sim Bom Sim

10 49 Média Sim Bom Sim

11 30 Média Sim Excelente Sim

12 39 Média Não Excelente Sim

13 32 Alta Sim Bom Sim

14 47 Média Não Excelente Não

Utilizando os mesmos dados anteriormente

X = (Idade <= 30, Renda = Media, Estudante = Sim, Crédito = Bom)

Mas modificando o primeiro atributo de X para Idade = 28, temos

X = (Idade = 28, Renda = Media, Estudante = Sim, Crédito = Bom)

(32)

Naïve Bayes – Exemplo 2

ID Idade Renda Estudante Crédito Compra_computador

1 28 Alta Não Bom Não

2 27 Alta Não Bom Não

3 33 Alta Não Bom Sim

4 42 Média Não Bom Sim

5 46 Baixa Sim Bom Sim

6 52 Baixa Sim Excelente Não

7 38 Baixa Sim Excelente Sim

8 24 Média Não Bom Não

9 28 Baixa Sim Bom Sim

10 49 Média Sim Bom Sim

11 30 Média Sim Excelente Sim

12 39 Média Não Excelente Sim

13 32 Alta Sim Bom Sim

14 47 Média Não Excelente Não

Primeiro calculamos a média e variância para cada classe

μ (Y = Sim) = 37.44 e σ² (Y = Sim) = 53.02

(33)

Naïve Bayes – Exemplo 2

ID Idade Renda Estudante Crédito Compra_computador

1 28 Alta Não Bom Não

2 27 Alta Não Bom Não

3 33 Alta Não Bom Sim

4 42 Média Não Bom Sim

5 46 Baixa Sim Bom Sim

6 52 Baixa Sim Excelente Não

7 38 Baixa Sim Excelente Sim

8 24 Média Não Bom Não

9 28 Baixa Sim Bom Sim

10 49 Média Sim Bom Sim

11 30 Média Sim Excelente Sim

12 39 Média Não Excelente Sim

13 32 Alta Sim Bom Sim

14 47 Média Não Excelente Não

Depois calculamos a probabilidade para cada classe usando os valores de

média e variância respectivos

P(Idade = 28 | Y = Sim) = 0.0236

P(Idade = 28 | Y = Não) = 0.0259

²

2

²

exp

²

2

1

)

|

(



x

y

Y

x

X

P

(34)

Naïve Bayes – Atributos Contínuos

Probabilidade usando Distribuição Gaussiana

P(Idade = 28 | Y = Sim) = 0.0236

P(Idade = 28 | Y = Não) = 0.0259

Probabilidade usando intervalos categóricos

P(Idade <= 30 | Y = Sim) = 0.222

P(Idade <= 30 | Y = Não) = 0.6

Distribuição Gaussiana deu muito menor por se tratar de

algo pontual, enquanto que os intervalos se tratam de

múltiplos pontos

(35)

Naïve Bayes – Probabilidade Zerada

Em certos casos, é possível a probabilidade condicional de

algum atributo seja zero

Deste modo, a probabilidade a posteriori para a classe

inteira também será zero

Essa situação atrapalha a classificação de duas maneiras

Aponta uma classe incorreta, pois a probabilidade dela foi

zerada devido a um único atributo

Incapaz de apontar qualquer classe, caso a condição exista para

atributos de todas as classes

Todas probabilidades serão zero

É possível contornar o problema com M-Estimate para o

(36)

Naïve Bayes – Exemplo 3

ID Idade Renda Estudante Crédito Compra_computador

1 <= 30 Alta Não Bom Não

2 <= 30 Alta Não Bom Não

3 31..40 Alta Não Bom Sim

4 > 40 Média Não Bom Sim

5 > 40 Baixa Sim Bom Sim

6 > 40 Baixa Sim Excelente Não 7 31..40 Baixa Sim Excelente Sim

8 <= 30 Média Não Bom Não

9 <= 30 Baixa Sim Bom Sim

10 > 40 Média Sim Bom Sim

11 <= 30 Média Sim Excelente Sim 12 31..40 Média Não Excelente Sim

13 31..40 Alta Sim Bom Sim

14 > 40 Média Não Excelente Não

Imagine que o local marcado no lugar de Sim, fosse Não

P(Estudante = Sim | Y = Sim) = 6/9 = 0.667

Entretanto,

(37)

M-Estimate

n é o número total de casos da classe y

j

n

c

é o número de casos classe y

j

com o valor x

i

O

Cálculo Adicional

equivale à adicionar exemplos

m é uma constante chamada de tamanho de amostra equivalente

É a quantidade de novos exemplos adicionados

Normalmente usa-se m = 2

p é um parâmetro especificado pelo usuário

Estimativa da probabilidade

Na ausência de informação usa-se p = 1/k

k é a quantidade de valores que x

i

pode assumir

(38)

Conclusão

Naïve Bayes

Vantagens

Fácil implementação

Bom funcionamento na maioria dos casos

Rápido treinamento

Sucesso em diversas aplicações: classificação de documentos

Boa alternativa para combinação de classificadores

Desvantagens

Atributos correlacionados degradam a performance, pois a

independência condicional não é mais assegurada

Probabilidades condicionais zeradas podem causar problemas, apesar

Referências

Documentos relacionados

Marque a alternativa CORRETA: a) As duas afirmativas são verdadeiras. d) As duas afirmativas são falsas... O servidor público que planeja desenvolver ou iniciar um programa de

O estudo teve como objetivo avaliar a associação entre a percepção subjetiva da qualidade de vida dos cuidadores domiciliares de idosos vinculados ao Programa Saúde da Família (PSF)

Comitê Externo de Avaliação dos seguintes Projetos de Pesquisa e Extensão, nas áreas de Tecnologia e Produção/Ciências Agrárias/Trabalho/Ciências da Sáude :``Estudo da geração

[r]

Este artigo propõe a articulação de ideias no campo dos estudos das relações internacionais em África em diálogo com as possibilidades do teatro como um campo experimental

Entender a relação existente entre raça, pobreza, escolaridade dentro do ambiente manicomial é importante para perceber como se dão os processos de exclusão e segregação

O Projeto de extensão “Culinária x restrições alimentares em pacientes em hemodiálise: resgatando o prazer em comer” foi proposto na tentativa de inovar o método

massa, verniz, registro de esfera, verniz extra rápido, tinta, massa corrida, solvente, trincha,