# Naive Bayes

Em estatística, Naive Bayes é uma família de classificadores probabilísticos que se baseiam na aplicação da inferência bayesiana com fortes suposições de independência entre as variáveis. Estão entre os modelos mais simples de redes bayesianas, mas podem, em certas condições, atingir altos níveis de precisão, em especial quando associados a métodos de estimativa de densidade.
Classificadores de Naive Bayes são altamente escaláveis, exigindo um grande número de variáveis para o aprendizado. Treinamento para estimação de máxima verossimilhança pode ser feito por meio da avaliação de uma fórmula fechada, que apresenta uma complexidade linear, com uma performance consideravelmente melhor do que o método iterativo usado pela maioria dos outros algoritmos de classificação.
Na literatura estatística, modelos de Naive Bayes são conhecidos por uma variedade de nomes, como Bayes Ingênuo,Bayes Simples e Bayes Independente. Essas nomenclaturas são referências ao uso do teorema de Bayes nas regras do classificador, embora o Naive Bayes não necessariamente é considerado um método estritamente Bayesiano.

## Introdução

Naive Bayes é um método bastante simples de construção de classificadores: modelos que designam labels de classe para instâncias de problema, representados como valores de atributos, aonde as labels das classes são obtidas a partir de um conjunto finito. Não há um único algoritmo para treinar esses classificadores, mas sim uma família de algoritmos com uma característica em comum: todos os classificadores de Naive Bayes assumem que o valor de um atributo específico é independente do valor de qualquer outro atributo, dada a variável de classe. Por exemplo, uma fruta pode ser considerada uma "maçã" de for vermelha, redonda, e aproxidamente 10 cm de diâmetro. Um classificador de Naive Bayes considera que cada um desses atributos contribui de forma independente para a probabilidade dessa fruta ser uma maçã, independente de possíveis correlações entre cor, forma, e diâmetro.
Em muitas aplicações práticas, a estimativa de parâmetros para modelos de Naive Bayes usa o método de máxima verossimilhança; ou seja, é possível trabalhar com Naive Bayes sem necessariamente trabalhar com métodos Bayesianos.
Apesar da estrutura simples, Naive Bayes costuma ter uma performance bastante satisfatória em muitas aplicações complexas. Em 2004, uma análise do problema de classificação Bayesiana mostrou que há sólidas razões teóricas para a eficácia aparentemente inexplicável dos classificadores de Naive Bayes. No entanto, uma comparação compreensiva em 2006 sugere que a classificação de Naive Bayes poderia teoricamente ser superada por outras abordagens, como as árvores de decisão.
Uma das grandes vantagens do Naive Bayes é precisar de uma quantidade relativamente pequena de dados de treinamento para fazer a estimativa dos parâmetros necessários à classificação.

## Discussão
### Relação com regressão logística

No caso de dados de entrada(inputs) discretos (indicadores ou atributos de frequência para eventos discretos), classificadores de Naive Bayes formam um par generativo-discriminativo com classificadores de regressão logística multinomial: cada classificador Naive Bayes pode ser considerado uma forma de encaixar um modelo probabilístico que optimiza a probabilidade conjunta $p(C,\mathbf {x} )$, enquanto a regressão logística ajusta o mesmo modelo probabilístico para otimizar a condicional $p(C\mid \mathbf {x} )$.
Formalmente, temos:
Considere um problema genérico de classificação multiclasses, com as possíveis classes $Y\in \{1,...,n\}$, então o classificador de Bayes (não-Naive) resulta, pelo teorema de Bayes, em:
$p(Y\mid X=x)={\text{softmax}}(\{\ln p(Y=k)+\ln p(X=x\mid Y=k)\}_{k})$
E o classificador Naive Bayes resulta em
${\text{softmax}}\left(\left\{\ln p(Y=k)+{\frac {1}{2}}\sum _{i}(a_{i,k}^{+}-a_{i,k}^{-})x_{i}+(a_{i,k}^{+}+a_{i,k}^{-})\right\}_{k}\right)$ aonde
$a_{i,s}^{+}=\ln p(X_{i}=+1\mid Y=s);\quad a_{i,s}^{-}=\ln p(X_{i}=-1\mid Y=s)$
Exatamente como um classificador de regressão logística.
A ligação entre os dois fica clara quando observamos que a função de decisão para Naive Bayes (no exemplo de variáveis binárias) pode ser reescrita como "preveja a classe $C_{1}$ se a chance de $p(C_{1}\mid \mathbf {x} )$ é maior que a de $p(C_{2}\mid \mathbf {x} )$". Escrevendo em log temos:
    $\log {\frac {p(C_{1}\mid \mathbf {x} )}{p(C_{2}\mid \mathbf {x} )}}=\log p(C_{1}\mid \mathbf {x} )-\log p(C_{2}\mid \mathbf {x} )>0$
O lado esquerdo dessa equação é o logit, a quantidade prevista pelo modelo linear que é a base da regressão logística. Como Naive Bayes também age como um modelo linear para os dois modelos de evento "discreto", pode ser "reparametrizado" como uma função linear $b+\mathbf {w} ^{\top }x>0$. Então, obter as probabilidades é só uma questão de aplicar a função logística para $b+\mathbf {w} ^{\top }x$, ou, no caso de multiclasses, a função softmax.
Classificadores discriminativos costumam apresentar um menor erro assintótico do que os generativos; no entanto, estudos dos pesquisadores Andrew Ng e Michael Irwin Jordan mostrou que em certos casos o Naive Bayes pode até mesmo superar a performance da regressão logística, justamente por atingir seu erro assintótico mais rapidamente.

## Exemplos
### Classificação de indivíduos humanos

Problema: classificar se um dado indivíduo é do sexo masculino ou feminino, baseando-se em características medidas, como altura, peso, e tamanho dos pés. Embora com classificadores NB essas variáveis serão tratadas como independentes, isso não é verdade.

#### Treinamento

Conjunto de treinamento de exemplo abaixo.
| Pessoa | altura (pés) | peso (libras) | tamanho do pé(polegadas) |
| masculino | 6 | 180 | 12 |
| masculino | 5.92 (5'11") | 190 | 11 |
| masculino | 5.58 (5'7") | 170 | 12 |
| masculino | 5.92 (5'11") | 165 | 10 |
| feminino | 5 | 100 | 6 |
| feminino | 5.5 (5'6") | 150 | 8 |
| feminino | 5.42 (5'5") | 130 | 7 |
| feminino | 5.75 (5'9") | 150 | 9 |
Um classificador criado a partir do conjunto descrito, assumindo uma distribuição Gaussiana, seria (dado que as variâncias são imparciais):
| Person | média (altura) | variância (altura) | média (peso) | variância (peso) | média (tamanho do pé) | variância (tamanho do pé) |
| masculino | 5.855 | 3.5033 × 10$^{−2}$ | 176.25 | 1.2292 × 10$^2$ | 11.25 | 9.1667 × 10$^{−1}$ |
| feminino | 5.4175 | 9.7225 × 10$^{−2}$ | 132.5 | 5.5833 × 10$^2$ | 7.5 | 1.6667 |
O exemplo a seguir assume classes equiparáveis, de modo que P(masculino)= P(feminino) = 0.5. A distrubuição probabilística anterior pode se basear em um conhecimento prévio das frequências na população geral ou no conjunto de treinamento.

#### Testando

Abaixo vemos uma amostra de indivíduo para ser classificado como masculino ou feminino.
| Pessoa | altura (pés) | peso (libras) | tamanho do pé(polegadas) |
| amostra | 6 | 130 | 8 |
Para classificar essa amostra, é preciso determinar qual posterior é maior, masculino or feminino. Para classificar como masculino a posterior é dada por
    ${\text{posterior (masculino)}}={\frac {P({\text{masculino}})\,p({\text{altura}}\mid {\text{masculino}})\,p({\text{peso}}\mid {\text{masculino}})\,p({\text{tamanho do pé}}\mid {\text{masculino}})}{evidencia}}$
Para classificar como feminino o posterior é dado por
    ${\text{posterior (feminino)}}={\frac {P({\text{feminino}})\,p({\text{altura}}\mid {\text{feminino}})\,p({\text{peso}}\mid {\text{feminino}})\,p({\text{tamanho do pé}}\mid {\text{feminino}})}{evidencia}}$
A "evidência" (ou constante de normalização) pode então ser calculada:
    ${\begin{aligned}{\text{evidencia}}=P({\text{masculino}})\,p({\text{altura}}\mid {\text{masculino}})\,p({\text{peso}}\mid {\text{masculino}})\,p({\text{tamanho do pé}}\mid {\text{masculino}})\\+P({\text{feminino}})\,p({\text{altura}}\mid {\text{feminino}})\,p({\text{peso}}\mid {\text{feminino}})\,p({\text{tamanho do pé}}\mid {\text{feminino}})\end{aligned}}$
No entanto, a evidência é constante, e portanto escalonará ambas as posteriores igualmente. Dessa forma, não afeta a classificação e será ignorada. A distribuição probabilística para a classificação da amostra então será:
    $P({\text{masculino}})=0.5$
    $p({\text{altura}}\mid {\text{masculino}})={\frac {1}{\sqrt {2\pi \sigma ^{2}}}}\exp \left({\frac {-(6-\mu )^{2}}{2\sigma ^{2}}}\right)\approx 1.5789$,
onde $\mu =5.855$ e $\sigma ^{2}=3.5033\cdot 10^{-2}$ são os parâmetros de distribuição normal que haviam sido previamente determinados para o conjunto de treinamento. Note que um valor maior que 1 é aceitável nesse caso – é a densidade de probabilidade e não uma probabilidade em si, já que altura é uma variável contínua.
    $p({\text{peso}}\mid {\text{masculino}})={\frac {1}{\sqrt {2\pi \sigma ^{2}}}}\exp \left({\frac {-(130-\mu )^{2}}{2\sigma ^{2}}}\right)=5.9881\cdot 10^{-6}$
    $p({\text{tamanho do pé}}\mid {\text{masculino}})={\frac {1}{\sqrt {2\pi \sigma ^{2}}}}\exp \left({\frac {-(8-\mu )^{2}}{2\sigma ^{2}}}\right)=1.3112\cdot 10^{-3}$
    ${\text{numerador posterior (masculino)}}={\text{produto}}=6.1984\cdot 10^{-9}$
    $P({\text{feminino}})=0.5$
    $p({\text{altura}}\mid {\text{feminino}})=2.23\cdot 10^{-1}$
    $p({\text{peso}}\mid {\text{feminino}})=1.6789\cdot 10^{-2}$
    $p({\text{tamanho do pé}}\mid {\text{feminino}})=2.8669\cdot 10^{-1}$
    ${\text{numerador posterior (feminino)}}={\text{o produto}}=5.3778\cdot 10^{-4}$
Como o numerador do posterior é maior no caso feminino, a previsão classifica a amostra como feminino.

## Veja também

* Filtro bayesiano
* Classificação estatística
* Aprendizado de máquina
* Rede bayesiana
* Perceptron
* Rede neural artificial
* Perceptron