O que são classificadores Naïve Bayes?

O que são classificadores Naïve Bayes?

O classificador Naïve Bayes é um algoritmo de aprendizado de máquina supervisionado usado para tarefas de classificação, como classificação de texto. Eles usam princípios de probabilidade para realizar tarefas de classificação.

O Naïve Bayes faz parte de uma família de algoritmos de aprendizado generativo, o que significa que ele busca modelar a distribuição de inputs de uma determinada classe ou categoria. Ao contrário de classificadores discriminativos, como regressão logística, ele não aprende quais características são mais importantes para diferenciar entre classes.

Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionadas por especialistas sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Uma breve revisão das estatísticas Bayesian

Naïve Bayes também é conhecido como um classificador probabilístico, pois é baseado no Teorema de Bayes. Seria difícil explicar esse algoritmo sem abordar os fundamentos da estatística bayesiana. Esse teorema, também conhecido como Regra de Bayes, nos permite “inverter” probabilidades condicionais. Como lembrete, probabilidades condicionais representam a probabilidade de um evento dado que outro evento ocorreu, o que é representado pela seguinte fórmula:

O teorema de Bayes se distingue por seu uso de eventos sequenciais, onde informações adicionais adquiridas posteriormente impactam a probabilidade inicial. Essas probabilidades são denotadas como probabilidade a priori e probabilidade a posteriori. A probabilidade a priori é a probabilidade inicial de um evento antes de ser contextualizada sob uma determinada condição, ou seja, a probabilidade marginal. A probabilidade a posteriori é a probabilidade de um evento após observar um dado específico.

Um exemplo popular na literatura de estatística e aprendizado de máquina (link fora de ibm.com) para demonstrar esse conceito é o teste médico. Por exemplo, imagine que há uma pessoa chamada Jane, que faz um teste para determinar se tem diabetes. Vamos supor que a probabilidade geral de ter diabetes seja 5%; esta seria nossa probabilidade a priori. No entanto, se Jane obtiver um resultado positivo em seu teste, a probabilidade a priori é atualizada para incluir essa informação adicional, tornando-se nossa probabilidade a posteriori. Esse exemplo pode ser representado pela seguinte equação, utilizando o teorema de Bayes:

No entanto, como nosso conhecimento sobre probabilidades a priori dificilmente é exato, dado outros fatores como dieta, idade, histórico familiar etc., normalmente utilizamos distribuições de probabilidade de amostras aleatórias, simplificando a equação para P(Y|X) = P(X|Y)P(Y) / P(X)

O retorno ao Naïve Bayes

Os classificadores Naïve Bayes funcionam de maneira diferente, pois operam sob algumas suposições-chave, o que lhes rende o título de "ingênuos". Ele assume que os preditores em um modelo de Naïve Bayes são condicionalmente independentes, ou seja, não estão relacionados a nenhuma das outras características no modelo. Também pressupõe que todos os recursos contribuem igualmente para o resultado. Embora essas suposições sejam frequentemente violadas em cenários do mundo real (por exemplo, uma palavra subsequente em um e-mail depende da palavra que a precede), isso simplifica um problema de classificação tornando-o mais computacionalmente viável. Isso significa que agora apenas uma única probabilidade será necessária para cada variável, o que, por sua vez, torna o cálculo do modelo mais fácil. Apesar dessa suposição de independência irrealista, o algoritmo de classificação tem um bom desempenho, especialmente com tamanhos de amostra pequenos.

Com essa suposição em mente, agora podemos reexaminar mais de perto as partes de um classificador Naïve Bayes. Semelhante ao Teorema de Bayes, ele usará probabilidades condicionais e a priori para calcular as probabilidades a posteriori utilizando a seguinte fórmula:

Agora, vamos imaginar um caso de uso de classificação de texto para ilustrar como o algoritmo de Naïve Bayes funciona. Imagine um provedor de e-mail que está procurando melhorar seu filtro de spam. Os dados de treinamento consistiriam em palavras de e-mails que foram classificados como "spam" ou "não spam". A partir daí, as probabilidades condicionais de classe e as probabilidades anteriores são calculadas para produzir a probabilidade posterior. O classificador Naïve Bayes operará retornando a classe que tem a maior probabilidade posterior entre um grupo de classes (ou seja, "spam" ou "não spam") para um determinado e-mail. Esse cálculo é representado pela seguinte fórmula:

Como cada classe está se referindo ao mesmo texto, podemos eliminar o denominador dessa equação, simplificando-a para:

A precisão do algoritmo de aprendizado com base no conjunto de dados de treinamento é então avaliada com base no desempenho do conjunto de teste.

Probabilidades condicionais de classe

Para entender melhor, vamos analisar mais detalhadamente as partes individuais que compõem essa fórmula. As probabilidades condicionais de classe são as probabilidades individuais de cada palavra em um e-mail. Eles são calculados determinando a frequência de cada palavra para cada categoria, ou seja, "spam" ou "não spam", também conhecida como estimativa de máxima verossimilhança (MLE). Neste exemplo, se estivéssemos examinando a frase "Prezado Senhor", nós apenas calcularíamos com que frequência essas palavras ocorrem em todos os e-mails de spam e não spam. Isso pode ser representado pela fórmula abaixo, onde y é "Prezado Senhor" e x é "spam".

Probabilidades prévias

As probabilidades a priori são exatamente o que descrevemos anteriormente com o Teorema de Bayes. Com base no conjunto de treinamento, podemos calcular a probabilidade geral de que um e-mail seja "spam" ou "não spam". A probabilidade a priori para o rótulo de classe "spam" pode ser representada na seguinte fórmula:

A probabilidade a priori atua como um “peso” para a probabilidade condicional de classe quando os dois valores são multiplicados, resultando nas probabilidades a posteriori individuais. A partir disso, o estimador de máxima a posteriori (MAP) é calculado para atribuir um rótulo de classe, seja spam ou não spam. A equação final do classificador Naïve Bayes pode ser representada das seguintes formas:

Alternativamente, pode ser representada no espaço de log, já que o Naïve Bayes é comumente usado nessa forma:

Avaliando o seu classificador Naïve Bayes

Uma maneira de avaliar o seu classificador é plotar uma matriz de confusão, que exibirá os valores reais e previstos dentro de uma matriz. As linhas geralmente representam os valores reais, enquanto as colunas representam os valores previstos. Muitos guias ilustrarão essa figura como um gráfico 2 x 2, como o abaixo:

No entanto, se você estivesse prevendo imagens de zero a 9, teria um gráfico de 10 x 10. Se você quisesse saber o número de vezes que o classificador "confundiu" imagens de 4s com 9s, só precisaria verificar a 4ª linha e a 9ª coluna.

Tipos de classificadores Naïve Bayes

Não existe apenas um tipo de classificador Naïve Bayes. Os tipos mais populares diferem com base nas distribuições dos valores dos recursos. Alguns exemplos incluem:

  • Gaussian Naïve Bayes (GaussianNB): esta é uma variante do classificador Naïve Bayes, que é usada com distribuições gaussianas, isto é, distribuições normais e variáveis contínuas. Este modelo é ajustado encontrando a média e o desvio padrão de cada classe.
  • Multinomial Naïve Bayes (MultinomialNB): este tipo de classificador Naïve Bayes assume que as características vêm de distribuições multinomiais. Essa variante é útil ao usar dados discretos, como contagens de frequência, e é tipicamente aplicada em casos de uso de processamento de linguagem natural, como a classificação de spam.
  • Bernoulli Naïve Bayes (BernoulliNB): outra variante do classificador Naïve Bayes, usada com variáveis booleanas, ou seja, variáveis com dois valores, como True e False ou 1 e 0.

Todos esses recursos podem ser implementados por meio da biblioteca Scikit Learn (link fora de ibm.com), também conhecida como sklearn.

Mistura de Especialistas | Podcast

Decodificando a IA: resumo semanal das notícias

Junte-se a nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Vantagens e desvantagens do classificador Naïve Bayes

Vantagens

  • Menos complexo: comparado a outros classificadores, o Naïve Bayes é considerado um classificador mais simples, já que os parâmetros são mais fáceis de estimar. Como resultado, é um dos primeiros algoritmos ensinados em cursos de ciência de dados e aprendizado de máquina.
  • Escalável: comparado à regressão logística, o Naïve Bayes é considerado um classificador rápido e eficiente, com precisão razoável quando a suposição de independência condicional é válida. Além disso, tem baixos requisitos de armazenamento.
  • Capaz de lidar com dados de alta dimensionalidade: casos de uso, como a classificação de documentos, podem ter um grande número de dimensões, o que pode ser difícil de gerenciar para outros classificadores.

Desvantagens:

  • Sujeito à frequência zero: a frequência zero ocorre quando uma variável categórica não existe no conjunto de treinamento. Por exemplo, imagine que estamos tentando encontrar o estimador de máxima verossimilhança para a palavra "sir" dada a classe "spam", mas a palavra "sir" não existe nos dados de treinamento. A probabilidade, nesse caso, seria zero e, como este classificador multiplica todas as probabilidades condicionais, isso também significa que a probabilidade posterior será zero. Para evitar esse problema, pode-se utilizar a suavização de Laplace.
  • Suposição central irrealista: embora a suposição de independência condicional funcione bem no geral, ela nem sempre é válida, o que pode levar a classificações incorretas.

Aplicações do classificador Naïve Bayes

Assim como diversos outros algoritmos, o Naïve Bayes faz parte de uma categoria de algoritmos de mineração de dados que convertem grandes volumes de dados em informações úteis. Algumas aplicações do Naïve Bayes incluem:

  • Filtragem de spam: a classificação de spam é uma das aplicações mais populares do Naïve Bayes citadas na literatura. Para uma leitura mais aprofundada sobre este caso de uso, consulte este capítulo da Oreilly (link fora de ibm.com).
  • Classificação de documentos: a classificação de documentos e textos está intimamente relacionada. Outra aplicação popular do Naïve Bayes é a classificação de conteúdo. Imagine as categorias de conteúdo de um site de mídia de notícias. Todas as categorias de conteúdo podem ser classificadas sob uma taxonomia de tópicos com base em cada artigo do site. Federick Mosteller e David Wallace são creditados com a primeira aplicação da inferência bayesiana em seu artigo de 1963 (link fora de ibm.com).
  • Análise de sentimentos: embora seja outra forma de classificação de texto, a análise de sentimentos é comumente utilizada no marketing para compreender melhor e quantificar opiniões e atitudes em relação a produtos e marcas específicas. 
  • Previsões de estado mental: utilizando dados de fMRI, o Naïve Bayes foi empregado para prever diferentes estados cognitivos entre humanos. O objetivo desta pesquisa (link fora de ibm.com) era auxiliar na compreensão de estados cognitivos ocultos, particularmente entre pacientes com lesões cerebrais.
Soluções relacionadas
IBM watsonx.ai

Treine, valide, ajuste e implemente recursos de IA generativa, modelos de base e recursos de aprendizado de máquina com o IBM watsonx.ai, um estúdio empresarial de última geração para construtores de IA. Crie aplicações de IA em uma fração do tempo com uma fração dos dados.

Conheça o watsonx.ai
Soluções de inteligência artificial

Use a IA a serviço de sua empresa com a experiência e o portfólio de soluções líder do setor da IBM à sua disposição.

Explore as soluções de IA
Consultoria e serviços em IA

Reinvente os fluxos de trabalho e operações críticos adicionando IA para maximizar experiências, tomadas de decisão em tempo real e valor de negócios.

Explore os serviços de IA
Dê o próximo passo

Obtenha acesso completo aos recursos que abrangem o ciclo de vida do desenvolvimento da IA. Produza soluções poderosas de IA com interfaces fáceis de usar, fluxos de trabalhos e acesso a APIs e SDKs padrão do setor.

Explore o watsonx.ai Agende uma demonstração em tempo real