Concrete Logo
Hamburger button

Naive Bayes, resposta do Testinho 4

  • Blog
  • 6 de Fevereiro de 2012
Share

[fblike]

Vou fazer uma breve pausa na série sobre mensageria mas logo retornarei. Me sentia devedor da resposta do Testinho 4.

 

Classificador Naive Bayes

O classificador Naive Bayes é um dos mais usados em machine learning. É denominado de ingênuo (naive) porque assume que os eventos são independentes. Thomas Bayes desenvolveu o chamado teorema de Bayes em meados do século XVIII mas ele só foi publicado por R.Price em dezembro de 1763, dois anos depois da morte de Bayes. Pode ser chamado de fórmula da probabilidade condicional de um evento.

Agora vou direto a um exemplo prático porque não explicarei como se deduz a fórmula, minha preocupação é saber usar:

Sejam as 3 urnas abaixo nomeadas 1, 2 e 3 com bolas vermelhas, brancas e pretas:

                                        

De uma urna qualquer, pegamos aleatoriamente uma bola. Verificamos que é branca. Qual a probabilidade de que ela tenha saído da primeira urna?

Deem uma pensadinha antes de acompanharem a solução. Lembrem que a fórmula foi publicada por volta de 1760 e até hoje é usada como por exemplo, na área de machine learning.

 

Aplicação da fórmula:

Seja A1 o evento que corresponde à escolha da primeira urna, A2 o evento correspondente à segunda e A3 o evento onde foi escolhida a urna 3. {A1, A2, A3} formam o chamado espaço das amostras.

Seja E o evento onde a bola que saiu foi a branca.

Temos iguais probabilidades da bola ter saído de uma das 3 urnas:
P(A1) = P(A2) = P(A3) = 1/3

Probabilidade condicional P(A | B) é a probabilidade de ocorrer um evento A quando também ocorre um evento B.

Em cada urna temos as seguintes probabilidades condicionais da bola ser branca:
P(E | A1) = 2/10,
P(E | A2) = 3/6 e
P(E | A3) = 2/12

A fórmula de Bayes é:

Aplicando à urna 1:

Então 3/13 ou 0.23 é a probabilidade da bola branca ter saído da primeira urna.

 

Resolução do Testinho 4

Lembram do Testinho 4?

Vou repetir aqui:

Segundo pesquisas, a taxa de sucesso de projetos de software utilizando Waterfall é de 15%.

Com o inicio da adoção dos métodos ágeis, a taxa de sucesso de projetos em geral aumentou para 40%.

Dado que a empresa acabou de terminar um projeto de sucesso, qual a probabilidade de que este projeto tenha utilizado métodos ágeis?

 

Na solução vou usar o naive Bayes exatamente como no exemplo anterior (o Marcos Veloso não precisou tanto porque este exemplo é muito simples)

Espaço das amostras: { sucesso, falha }.

Probabilidade de sucesso P(s) = 0.40

Se a taxa de sucesso aumentou para 40%, esta frase indica que àgil corresponde à 25%, ou seja, 40% – 15%.

Probabilidades condicionais: (a= ágil e w = waterfall)
P(s|w) = 0.15
P(s|a) = 0.25

Aplicando Bayes: 

Exatamente como o Marcos Veloso disse.

 

É isso aí, espero não ter sido muito chato com este monte de fórmulas porque amanhã publicarei mais um testinho que inclui uma parte justamente de aplicação dessas fórmulas.