Glossário

Naive Bayes

Descobre a simplicidade e o poder dos classificadores Naive Bayes para classificação de texto, PNL, deteção de spam e análise de sentimentos em IA e ML.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

Naive Bayes refere-se a uma família de classificadores probabilísticos simples mas eficazes, baseados na aplicação do Teorema de Bayes com um pressuposto de independência forte ("ingénuo") entre as caraterísticas. Apesar desta simplificação, os classificadores Naive Bayes são amplamente utilizados na aprendizagem automática (ML) devido à sua eficiência, facilidade de implementação e desempenho surpreendentemente bom em muitos cenários do mundo real, particularmente em tarefas relacionadas com texto. São uma escolha popular para modelos de base em problemas de classificação.

Conceito central: O pressuposto "ingénuo

A ideia fundamental por detrás do Naive Bayes é calcular a probabilidade de um ponto de dados pertencer a uma determinada classe, tendo em conta as suas caraterísticas. A parte "ingénua" vem do pressuposto central de que todas as caraterísticas que contribuem para a classificação são independentes umas das outras, dada a classe. Por exemplo, ao classificar um e-mail como spam ou não spam, o algoritmo assume que a presença da palavra "grátis" é independente da presença da palavra "dinheiro", dado que o e-mail é spam. Embora esta suposição raramente seja verdadeira na realidade (as palavras numa língua têm frequentemente dependências), simplifica drasticamente o cálculo, tornando o algoritmo rápido e exigindo menos dados de treino em comparação com modelos mais complexos. Pertence à categoria dos algoritmos de aprendizagem supervisionada.

Tipos de classificadores Naive Bayes

Existem diversas variações do Naive Bayes, adaptadas a diferentes tipos de dados:

  • Gaussian Naive Bayes: Assume que as caraterísticas seguem uma distribuição Gaussiana (normal). É normalmente utilizado quando as caraterísticas têm valores contínuos.
  • Multinomial Naive Bayes: Normalmente utilizado para contagens discretas, como a contagem de palavras na classificação de textos. Funciona bem com caraterísticas que representam frequências ou contagens.
  • Bernoulli Naive Bayes: Adequado para caraterísticas binárias/booleanas (por exemplo, se uma palavra aparece ou não num documento).

Os detalhes sobre estas variantes podem ser encontrados na documentação da biblioteca ML, como a secção Scikit-learn Naive Bayes.

Aplicações no mundo real

Os classificadores Naive Bayes destacam-se em várias aplicações, apesar da sua simplicidade:

  1. Filtragem de spam: Um dos casos de utilização clássicos. Os serviços de e-mail usam o Naive Bayes para classificar e-mails como "spam" ou "não spam" com base na frequência de determinadas palavras ou padrões identificados no conjunto de dados. Mais detalhes sobre esta abordagem podem ser encontrados em guias como "A Practical Guide to Naive Bayes Text Classification".
  2. Classificação de texto e análise de sentimentos: Utilizado extensivamente no Processamento de Linguagem Natural (PLN) para tarefas como a categorização de artigos de notícias por tópico(classificação de documentos), a identificação do género de um texto ou a análise de sentimentos (determinar se uma crítica é positiva ou negativa).

Vantagens e desvantagens

Vantagens:

  • Treina e prevê rapidamente.
  • Requer quantidades relativamente pequenas de dados de treino.
  • Tem um bom desempenho mesmo com dados de elevada dimensão (muitas caraterísticas), como texto.
  • Simples de implementar e compreender.

Desvantagens:

  • O pressuposto de independência forte é frequentemente violado em dados do mundo real, limitando potencialmente a precisão.
  • Pode ser sensível à forma como as caraterísticas são distribuídas (por exemplo, o pressuposto gaussiano pode não se adequar).
  • Para caraterísticas contínuas, o desempenho pode ser afetado se os dados não seguirem a distribuição assumida.

Comparação com outros classificadores

O Naive Bayes é um classificador probabilístico, que calcula probabilidades explícitas para classificações. Isto contrasta com modelos como as máquinas de vectores de suporte (SVM), que encontram um hiperplano ótimo para separar as classes, ou as árvores de decisão, que utilizam uma estrutura de regras em forma de árvore. Embora os SVM tenham frequentemente um melhor desempenho quando as interações entre caraterísticas são importantes e as classes estão bem separadas, e as Árvores de Decisão ofereçam uma elevada capacidade de interpretação, o Naive Bayes continua a ser uma linha de base sólida, especialmente para dados de texto, devido à sua rapidez e eficiência, mesmo quando o pressuposto de independência não é perfeitamente satisfeito. Ferramentas como o Ultralytics HUB fornecem plataformas para gerir vários projectos de ML, embora normalmente se concentrem em modelos de aprendizagem profunda para visão computacional em vez de algoritmos clássicos de ML como o Naive Bayes.

Lê tudo