El clasificador Naive Bayes es un algoritmo de machine learning supervisado que se utiliza para tareas de clasificación como la clasificación de textos. Utiliza principios de probabilidad para realizar tareas de clasificación.
Naïve Bayes forma parte de una familia de algoritmos de aprendizaje generativo, lo que significa que busca modelar la distribución de las entradas de una clase o categoría determinada. A diferencia de los clasificadores discriminativos, como la regresión logística, no aprende qué características son las más importantes para diferenciar entre clases.
El Naïve Bayes también se conoce como clasificador probabilístico, ya que se basa en el teorema de Bayes. Sería difícil explicar este algoritmo sin explicar los fundamentos de la estadística bayesiana. Este teorema, también conocido como regla de Bayes, nos permite "invertir" las probabilidades condicionales. Como recordatorio, las probabilidades condicionales representan la probabilidad de que un evento se produzca dado que se ha producido algún otro evento, lo que se representa con la siguiente fórmula:
El teorema de Bayes se distingue por su uso de sucesos secuenciales, donde la información adicional adquirida posteriormente afecta a la probabilidad inicial. Estas probabilidades se denominan probabilidad a priori y probabilidad a posteriori. La probabilidad a priori es la probabilidad inicial de un suceso antes de que se contextualice bajo una determinada condición, o la probabilidad marginal. La probabilidad a posteriori es la probabilidad de un suceso después de observar un dato.
Un ejemplo popular en el campo de la estadística y el machine learning (enlace externo a ibm.com) para demostrar este concepto son las pruebas médicas. Imaginemos, por ejemplo, que hay una persona, llamada Jane, que se somete a una prueba para determinar si padece diabetes. Digamos que la probabilidad general de tener diabetes es del 5 %; ésta sería nuestra probabilidad a priori. Sin embargo, si obtiene un resultado positivo en la prueba, la probabilidad a priori se actualiza para tener en cuenta esta información adicional, y entonces se convierte en nuestra probabilidad a posteriori. Este ejemplo puede representarse con la siguiente ecuación, gracias al teorema de Bayes:
Sin embargo, dado que no es probable que nuestro conocimiento de las probabilidades a priori sea exacto si tenemos en cuenta otras variables, como la dieta, la edad, los antecedentes familiares, etc., solemos aprovechar las distribuciones de probabilidad de muestras aleatorias, lo que simplifica la ecuación a P(Y|X) = P(X|Y)P(Y) / P(X)
Los clasificadores Naive Bayes funcionan de forma diferente, ya que operan bajo un par de supuestos clave, lo que le ha valido el título de "ingenuo" (o "naïve" en inglés). Supone que los predictores de un modelo Naïve Bayes son condicionalmente independientes, es decir, que no están relacionados con ninguna de las otras características del modelo. También supone que todas las características contribuyen por igual al resultado. Aunque estas suposiciones se incumplen a menudo en escenarios del mundo real (por ejemplo, una palabra posterior en un correo electrónico depende de la palabra que la precede), simplifica un problema de clasificación, haciéndolo más manejable desde el punto de vista computacional. Es decir, ahora sólo se necesitará una única probabilidad para cada variable, lo que, a su vez, facilita el cálculo del modelo. A pesar de esta suposición de independencia poco realista, el algoritmo de clasificación funciona bien, sobre todo con muestras de pequeño tamaño.
Con esa suposición en mente, ahora podemos reexaminar más de cerca las partes de un clasificador Naïve Bayes. De manera similar al teorema de Bayes, utilizará probabilidades condicionales y a priori para calcular las probabilidades a posteriori mediante la siguiente fórmula:
Imaginemos ahora un caso práctico de clasificación de textos para ilustrar cómo funciona el algoritmo Naive Bayes. Supongamos que un proveedor de correo electrónico quiere mejorar su filtro antispam. Los datos para entrenar al algoritmo consistirían en palabras de correos electrónicos que han sido clasificados como "spam" o "no spam". A partir de ahí, se calculan las probabilidades condicionales de clase y las probabilidades a priori para obtener la probabilidad posterior. El clasificador Naive Bayes funcionará devolviendo la clase que tenga la máxima probabilidad posterior de entre un grupo de clases (es decir, "spam" o "no spam") para un correo electrónico determinado. Este cálculo se representa con la siguiente fórmula:
Dado que cada clase se refiere al mismo fragmento de texto, podemos eliminar el denominador de esta ecuación, simplificándola a:
La precisión del algoritmo de aprendizaje en base al conjunto de datos de entrenamiento se evalúa entonces en función del rendimiento del conjunto de datos de prueba.
Para desgranar esto algo más, profundizaremos en cada una de las partes que componen esta fórmula. Las probabilidades condicionales de clase son las probabilidades individuales de cada palabra en un correo electrónico. Se calculan determinando la frecuencia de cada palabra para cada categoría, es decir, "spam" o "no spam", lo que también se conoce como estimación de máxima verosimilitud (MLE). En este ejemplo, si estuviéramos examinando la frase "Estimado señor", nos limitaríamos a calcular la frecuencia con la que esas palabras aparecen en todos los correos electrónicos spam y no spam. Esto puede representarse mediante la fórmula siguiente, donde y es "Estimado señor" y x es "spam".
Las probabilidades a priori son exactamente las que hemos descrito anteriormente con el teorema de Bayes. Basándonos en el conjunto de entrenamiento, podemos calcular la probabilidad global de que un correo electrónico sea "spam" o "no spam". La probabilidad a priori para la etiqueta de clase, "spam", se representaría con la siguiente fórmula:
La probabilidad a priori ejerce de "ponderación" de la probabilidad condicional de clase cuando los dos valores se multiplican entre sí, dando como resultado las probabilidades individuales a posteriori. A partir de ahí, se calcula la estimación máxima a posteriori (MAP) para asignar una etiqueta de clase de spam o no spam. La expresión final de la ecuación Naïve Bayes puede representarse de las siguientes maneras:
Como alternativa, puede representarse en el espacio logarítmico, ya que la metodología bayesiana ingenua se utiliza comúnmente de esta forma:
Para evaluar su clasificador, una forma consiste en trazar una matriz de confusión, que representará los valores reales y los predichos dentro de una matriz. .Por lo general, las filas representan los valores reales, mientras que las columnas representan los valores previstos. Muchas guías ilustrarán esta figura como un gráfico de 2 x 2, como el siguiente:
Sin embargo, si predijese imágenes de cero a nueve, dispondría de una parcela de 10 x 10. Si quisiera saber el número de veces que ese clasificador "confundió" imágenes de 4s con 9s, sólo tendría que comprobar la 4ª fila y la 9ª columna.
No existe un único tipo de clasificador Naive Bayes. Los tipos más conocidos difieren en la distribución de los valores característicos. Entre las que se incluyen:
Todos ellos se pueden implementar a través de la biblioteca Python Scikit Learn (enlace externo a ibm.com) (también conocida como sklearn).
Junto con otros algoritmos, Naive Bayes pertenece a una familia de algoritmos de minería de datos que convierten grandes volúmenes de datos en información útil. Algunas aplicaciones de Naive Bayes incluyen:
IBM Granite es nuestra familia de modelos de IA abiertos, eficaces y de confianza, adaptados a la empresa y optimizados para escalar sus aplicaciones de IA. Explore las opciones de idioma, código, series de tiempo y salvaguardas.
Hemos encuestado a 2000 organizaciones sobre sus iniciativas de IA para descubrir qué funciona, qué no y cómo puede adelantarse.
Explore enfoques de aprendizaje supervisado, como las máquinas de vectores de soporte y los clasificadores probabilísticos.
Aprenda los conceptos fundamentales y desarrolle sus habilidades con laboratorios prácticos, cursos, proyectos guiados, pruebas y mucho más.
Aprenda a seleccionar el modelo fundacional de IA más adecuado para su caso de uso.
Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.
Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.
Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.