O que são classificadores Naïve Bayes?
Aplique os classificadores Naïve Bayes com o watsonx.ai Inscreva-se para receber atualizações de IA
Ilustração com colagem de pictogramas de nuvens, gráfico de pizza, pictogramas de gráficos
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.

O armazenamento de dados para IA

Descubra o poder de integrar uma estratégia de data lakehouse na sua arquitetura de dados, incluindo aprimoramentos para escalar oportunidades de IA e otimização de custos.

Conteúdo relacionado

Registre-se para receber o ebook sobre IA generativa

Confira nosso tutorial para aprender a aplicar esse classificador usando Python
Uma breve revisão das estatísticas Bayesian

Naïve Bayes também é conhecido como classificador probabilístico por ser baseado no Teorema de Bayes. Seria difícil explicar este algoritmo sem explicar os fundamentos da estatística Bayesiana. Este teorema, também conhecido como regra de Bayes, permite-nos "inverter" as probabilidades condicionais. Como lembrete, as probabilidades condicionais indicam a probabilidade de um evento dado que algum outro evento ocorreu, conforme representado pela seguinte fórmula: 

O teorema de Bayes distingue-se pelo uso de eventos sequenciais, onde informações adicionais adquiridas posteriormente afetam a probabilidade inicial. Essas probabilidades são denominadas probabilidade anterior e probabilidade posterior. A probabilidade prévia é a probabilidade inicial de um evento antes de ser contextualizado sob uma determinada condição, ou a probabilidade marginal. A probabilidade posterior é a probabilidade de um evento após a observação de um dado. 

 

Um exemplo popular na literatura de estatística e aprendizado de máquina (link externo ao site ibm.com) para demonstrar que esse conceito é o teste médico. Por exemplo, imagine que há uma pessoa, chamada Jane, que faz um teste para determinar se ela tem diabetes. Vamos supor que a probabilidade geral de ter diabetes seja de 5%; esta seria nossa probabilidade anterior. No entanto, se ela obtiver um resultado positivo no teste, a probabilidade anterior é atualizada para levar em conta essa informação adicional, e então ela se torna nossa probabilidade posterior. Este exemplo pode ser representado com a seguinte equação, usando o Teorema de Bayes: 

No entanto, como nosso conhecimento das probabilidades anteriores provavelmente não será exato, dadas outras variáveis, como dieta, idade, histórico familiar, etc., geralmente usamos 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 as partes de um classificador Naïve Bayes mais de perto. Semelhante ao teorema de Bayes, ele usará probabilidades condicionais e anteriores para calcular as probabilidades posteriores usando 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 se refere ao mesmo pedaço de texto, na verdade 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 dados 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 anteriores 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 anterior para o rótulo da classe, "spam", seria representada dentro da seguinte fórmula: 

A probabilidade anterior age como um "peso" para a probabilidade condicional de classe quando os dois valores são multiplicados juntos, resultando nas probabilidades posteriores individuais. A partir daí, a estimativa de máxima a posteriori (MAP) é calculada para atribuir um rótulo de classe de spam ou não spam. A equação final para a equação Naïve Bayesiana pode ser representada das seguintes maneiras: 

Como alternativa, ele pode ser representado no espaço de log como o Naïve Bayes é comumente usado desta forma: 

Avaliando 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 deles incluem: 

  • Gaussian Naïve Bayes (GaussianNB): essa é uma variante do classificador Naïve Bayes, que é usado com distribuições gaussianas, ou seja, com o classificador Naïve Bayes. distribuições normais e variáveis contínuas. Esse modelo é ajustado ao encontrar 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 os recursos são de distribuições multinomiais. Essa variante é útil ao utilizar dados discretos, como contagens de frequência, e é geralmente aplicada em casos de uso de processamento de linguagem natural, como classificação de spam. 
  • Bernoulli Naïve Bayes (BernoulliNB): essa é outra variante do classificador Naïve Bayes, que é utilizada com variáveis booleanas, ou seja, variáveis com dois valores, como Verdadeiro e Falso ou 1 e 0. 

Tudo isso pode ser implementado por meio do Scikit Learn (link externo ao site ibm.com) Biblioteca Python (também conhecida como sklearn).

Vantagens e desvantagens do classificador Naïve Bayes
Vantagens
  • Menos complexo: em comparação com outros classificadores, o Naïve Bayes é considerado um classificador mais simples, pois os parâmetros são mais fáceis de estimar. Como resultado, é um dos primeiros algoritmos aprendidos em cursos de ciência de dados e aprendizado de máquina.  
  • Escala bem: em comparação com a regressão logística, o Naïve Bayes é considerado um classificador rápido e eficiente que é bastante preciso quando a suposição de independência condicional é válida. Ele também tem baixos requisitos de armazenamento. 
  • Pode lidar com dados de alta dimensão: casos de uso, como classificação de documentos, podem ter um alto número de dimensões, o que pode ser difícil para outros classificadores gerenciarem. 
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. Neste caso, a probabilidade seria zero, e como este classificador multiplica todas as probabilidades condicionais juntas, isso também significa que a probabilidade posterior será zero. Para evitar esse problema, a suavização de laplace pode ser aproveitada. 
  • Suposição central irrealista: embora a suposição de independência condicional em geral tenha um bom desempenho, a suposição nem sempre é válida, levando 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 externo ao site ibm.com).  
  • Classificação de documentos: a classificação de documentos e textos andam de mãos dadas. Outro caso de uso 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 em 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 paper de 1963 (link reside fora de ibm.com). 
  • Análise de sentimento: embora essa seja outra forma de classificação de texto, a análise de sentimento é comumente utilizada no marketing para compreender e quantificar opiniões e atitudes em relação a produtos e marcas específicos. 
  • Previsões de estado mental: usando dados de fMRI, o naïve bayes foi aproveitado para prever diferentes estados cognitivos entre humanos. O objetivo desta pesquisa (link externo ao site ibm.com) era ajudar a compreender melhor os estados cognitivos ocultos, particularmente entre pacientes com lesões cerebrais.
Produtos relacionados
IBM Cloud Pak for Data

O IBM Cloud Pak for Data é uma plataforma de dados aberta e extensível que fornece uma malha de dados para disponibilizar todos os dados para IA e análises, em qualquer nuvem.

Saiba mais sobre o IBM Cloud Pak for Data
IBM Watson Studio

Crie, execute e gerencie modelos de IA. Prepare dados e crie modelos em qualquer nuvem usando código-fonte aberto ou modelagem visual. Preveja e otimize seus resultados.

Saiba mais sobre o IBM Watson Studio
watsonx.ai

Dê o próximo passo para começar a operacionalizar e ajustar a escala da IA generativa e aprendizado de máquina para os negócios.

Explore o watsonx.ai
Recursos Aprendizagem prática e sem custo para tecnologias de IA generativa

Conheça os conceitos fundamentais de IA e IA generativa, incluindo engenharia de prompts, grandes modelos de linguagem e os melhores projetos em código aberto.

Uma análise do classificador Naive Bayes em distribuições de baixa entropia

Neste artigo, a IBM Research demonstra empiricamente como a diminuição da entropia das distribuições de características condicionais de classe afeta o erro do classificador de Naïve Bayes.

Uma análise das características dos dados que afetam o desempenho do Naive Bayes

Usando simulações de Monte Carlo, a IBM Research demonstra que o Naïve Bayes funciona melhor em dois casos: quando as características são completamente independentes e quando são dependentes funcionalmente.

Aprenda algoritmos de classificação usando Python e scikit-learn

Explore os fundamentos da resolução de um problema de aprendizado de máquina baseado em classificação e obtenha um estudo comparativo de alguns dos algoritmos mais populares atualmente.

Classificação de dados usando o algoritmo Multinomial Naive Bayes

Use o scikit-learn para concluir uma tarefa popular de classificação de texto (filtragem de spam) usando Naive Bayes Multinomial.

Dê o próximo passo

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

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