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.
Descubra el poder de integrar una estrategia basada en un lakehouse de datos en su arquitectura de datos, incluidas las mejoras para escalar la IA y las oportunidades de optimización de costes.
Regístrese para recibir el libro electrónico sobre IA generativa
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 un suceso dado que ha ocurrido algún otro suceso, lo que se representa con la siguiente fórmula:
El Teorema de Bayes se distingue por su uso de sucesos secuenciales, en los que la información adicional adquirida posteriormente influye en 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 en una determinada condición, o la probabilidad marginal. La probabilidad posterior es la probabilidad de un suceso después de observar un dato.
Un ejemplo popular en statistics and machine learning literature (el enlace reside fuera de 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 global de tener diabetes es del 5 %; ésta sería nuestra probabilidad a priori. Sin embargo, si obtiene un resultado positivo en su prueba, la probabilidad a priori se actualiza para tener en cuenta esta información adicional, y se convierte entonces en nuestra probabilidad a posteriori. Este ejemplo puede representarse con la siguiente ecuación, gracias a 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 esta suposición en mente, ahora podemos volver a examinar más detenidamente las partes de un clasificador Naive Bayes. De forma similar al Teorema de Bayes, utilizará las 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:
A continuación, se evalúa la precisión del algoritmo de aprendizaje a partir del conjunto de datos de entrenamiento en función del rendimiento obtenido en el set 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 antes 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 "peso" sobre la probabilidad condicional de clase cuando los dos valores se multiplican entre sí, dando lugar a 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 ecuación final de la ecuación Naive Bayes puede representarse de las siguientes formas:
Como alternativa, puede representarse en el espacio logarítmico, ya que Naive Bayes se suele utilizar 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. Algunos de ellos son:
Todos ellos pueden implementarse a través del Scikit Learn (el enlace reside fuera de ibm.com) Biblioteca de Python (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 Cloud Pak for Data es una plataforma de datos abierta y extensible que proporciona una estructura de datos para que todos los datos estén disponibles para la IA y el análisis, en cualquier nube.
Cree, ejecute y gestione modelos de IA. Prepare datos y construya modelos en cualquier nube utilizando código abierto o modelado visual. Pronostique y optimice sus resultados.
Dé el siguiente paso para empezar a operacionalizar y ampliar la IA generativa y el aprendizaje automático para las empresas.
Aprenda los conceptos fundamentales de la IA y la IA generativa, incluida la ingeniería de avisos, los grandes modelos lingüísticos y los mejores proyectos de código abierto.
En este documento, IBM Research demuestra empíricamente cómo la entropía decreciente de las distribuciones de características condicionales de clase afecta al error del clasificador Naive Bayes.
Mediante simulaciones de Monte Carlo, IBM Research demuestra que Naive Bayes funciona mejor en dos casos: características completamente independientes y características funcionalmente dependientes.
Explore los fundamentos de la resolución de un problema de machine learning basado en la clasificación y obtenga un estudio comparativo de algunos de los algoritmos actuales más populares.
Utilice scikit-learn para completar una popular tarea de clasificación de texto (filtrado de spam) mediante Naive Bayes multinomial.