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.
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)
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.
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".
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:
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.
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:
Todos esses recursos podem ser implementados por meio da biblioteca Scikit Learn (link fora de ibm.com), também conhecida como sklearn.
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:
O IBM® Granite é nossa família de modelos de IA abertos, de alto desempenho e confiáveis, personalizados para a empresa e otimizados para escalar suas aplicações de IA. Explore as opções de linguagem, código, séries temporais e proteções.
Entrevistamos duas mil organizações a respeito de suas iniciativas de IA para descobrir o que está funcionando, o que não está e como se preparar.
Explore abordagens de aprendizado supervisionado, como máquinas de vetores de suporte e classificadores probabilísticos.
Aprenda conceitos fundamentais e desenvolva suas habilidades com laboratórios práticos, cursos, projetos guiados, avaliações e muito mais.
Saiba como selecionar o modelo de base de IA mais adequado para seu caso de uso.
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.
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.
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.