El clasificador Naïve Bayes es un algoritmo de aprendizaje automático supervisado que se utiliza para tareas de clasificación, como la clasificación de texto. Utiliza principios de probabilidad para realizar tareas de clasificación.
Naïve Bayes es parte de una familia de algoritmos de aprendizaje generativo, lo que significa que busca modelar la distribución de 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 más importantes para diferenciar entre clases.
Descubra el poder de integrar una estrategia de data lakehouse (arquitectura que combina los beneficios de los data lakes [lagos de datos] y de los almacenes de datos) en su arquitectura de datos, incluyendo mejoras para escalar la IA y oportunidades de optimización de costos.
Regístrese para obtener 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 esclarecer primero los conceptos básicos de las estadísticas bayesianas. 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 suceda un evento dado que ha ocurrido otro evento, y se representa con la siguiente fórmula:
El teorema de Bayes se distingue por el uso de eventos secuenciales, en los que la información adicional adquirida posteriormente afecta la probabilidad inicial. Estas probabilidades se denominan probabilidad previa y probabilidad posterior. La probabilidad previa es la probabilidad inicial de un evento antes de que sea contextualizado bajo una determinada condición, o probabilidad marginal. La probabilidad posterior es la probabilidad de que ocurra un evento después de observar un dato.
Un ejemplo popular en la bibliografía de estadística y aprendizaje automático (el enlace reside fuera de ibm.com) para demostrar este concepto son las pruebas médicas. Por ejemplo, imagine que hay una persona, llamada Jane, que se hace una prueba para determinar si tiene diabetes. Digamos que la probabilidad general de tener diabetes es del 5%; esta sería nuestra probabilidad previa. No obstante, si obtiene un resultado positivo de su prueba, se actualiza la probabilidad previa para dar cuenta de esta información adicional, y entonces se convierte en nuestra probabilidad posterior. Este ejemplo se puede representar con la siguiente ecuación, usando el Teorema de Bayes:
Sin embargo, dado que no es probable que nuestro conocimiento de las probabilidades previas sea exacto dadas otras variables, como la dieta, la edad, los antecedentes familiares, etc., normalmente aprovechamos las distribuciones de probabilidad de muestras aleatorias, simplificando la ecuación a P(Y|X) = P(X|Y)P(Y) / P(X)
Los clasificadores Naïve Bayes funcionan de manera diferente en el sentido de que operan bajo un par de suposiciones clave, lo que les valió el título de "naïve" o "ingenuos". Asume que los predictores en un modelo Naïve Bayes son condicionalmente independientes o 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. Si bien estas suposiciones a menudo se violan 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 al hacerlo más manejable desde el punto de vista computacional. Es decir, ahora solo se requerirá 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, especialmente con tamaños de muestra pequeños.
Con esa suposición en mente, ahora podemos reexaminar más de cerca las partes de un clasificador Naïve Bayes. De forma similar al teorema de Bayes, utilizará probabilidades condicionales y previas para calcular las probabilidades posteriores mediante la siguiente fórmula:
Ahora, imaginemos un caso de uso de clasificación de texto para ilustrar cómo funciona el algoritmo Naïve Bayes. Imagine un proveedor de correo electrónico que busca mejorar su filtro de spam. Los datos de entrenamiento consistirían en palabras de correos electrónicos que se han clasificado como "spam" o "no spam". A partir de ahí, se calculan las probabilidades condicionales de clase y las probabilidades previas para obtener la probabilidad posterior. El clasificador Naïve Bayes operará devolviendo la clase que tiene la máxima probabilidad posterior de un grupo de clases (es decir, “spam” o “not 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:
Luego, la precisión del algoritmo de aprendizaje basado en el conjunto de datos de entrenamiento se evalúa en función del rendimiento del conjunto de datos de prueba.
Para desglosar esto un poco más, profundizaremos un nivel más en las partes individuales 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 em categoría, es decir, “spam” o “not spam”, 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", simplemente calcularíamos la frecuencia con la que esas palabras aparecen en todo el correo electrónico spam y no spam. Esto se puede representar mediante la siguiente fórmula, donde y es "Estimado señor" y x es "spam".
Las probabilidades previas son exactamente lo que describimos anteriormente con el teorema de Bayes. Con base en el conjunto de entrenamiento, podemos calcular la probabilidad general de que un correo electrónico sea "spam" o "no spam". La probabilidad previa de la etiqueta de clase "spam" se representaría mediante la siguiente fórmula:
La probabilidad previa actúa como "peso" de la probabilidad condicional de la clase cuando se multiplican los dos valores y se obtienen las probabilidades individuales posteriores. 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 naïve bayesiana se puede representar de las siguientes formas:
Alternativamente, se puede representar en el espacio de registro puesto que Naïve Bayes se usa comúnmente en esta forma:
Una forma de evaluar su clasificador es trazar una matriz de confusión, que trazará los valores reales y predichos dentro de una matriz. Las filas generalmente 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 estuviera prediciendo imágenes del cero al 9, tendría una gráfica de 10 x 10. Si quisiera saber la cantidad de veces que ese clasificador “confundió” imágenes de 4 con otras de 9, solo necesitaría verificar la cuarta fila y la novena columna.
No hay un solo tipo de clasificador Naïve Bayes. Los tipos más populares difieren en función de las distribuciones de los valores de las características. Por ejemplo:
Todo esto se puede implementar a través de Scikit Learn (el enlace es externo a ibm.com) Biblioteca Python (también conocida como sklearn).
Junto con otros algoritmos, Naïve 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 Naïve 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 los analytics, en cualquier nube.
Cree, ejecute y gestione modelos de IA. Prepare datos y cree modelos en cualquier cloud utilizando código abierto o modelado visual. Prediga y optimice sus resultados.
Dé el siguiente paso para comenzar a poner en marcha y escalar la IA generativa y el aprendizaje automático para empresas.
Aprenda los conceptos fundamentales de la IA y la IA generativa, incluida la ingeniería rápida, los modelos de lenguaje de gran tamaño y los mejores proyectos de código abierto.
En este documento, IBM Research demuestra empíricamente cómo la disminución de la entropía de las distribuciones de características condicionales de clase afecta el error del clasificador Naïve Bayes.
Utilizando simulaciones de Monte Carlo, IBM Research muestra que Naïve Bayes funciona mejor en dos casos: con características completamente independientes y con características funcionalmente dependientes.
Explore los conceptos básicos para resolver un problema de aprendizaje automático basado en clasificación y obtenga un estudio comparativo de algunos de los algoritmos más populares en la actualidad.
Utilice scikit-learn para completar una tarea popular de clasificación de texto (filtrado de correo no deseado) utilizando Multinomial Naïve Bayes.