¿Qué son los clasificadores Naïve Bayes?
Aplicar Naïve Bayes con watsonx.ai Suscríbase para recibir actualizaciones de IA
Ilustración con collage de pictogramas de nubes, gráfico circular, pictogramas gráficos
¿Qué son los clasificadores Naïve Bayes?

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.

El almacenamiento de datos para la IA

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.

Contenido relacionado

Regístrese para obtener el libro electrónico sobre IA generativa

Consulte nuestro tutorial para aprender cómo aplicar este clasificador usando Python.
Una breve revisión de las estadísticas bayesianas

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)

 

El regreso a Naïve Bayes

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.  

Probabilidades condicionales de clase 

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".

Probabilidades previas

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: 

Evaluación del clasificador Naïve Bayes 

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.

Tipos de clasificadores Naive Bayes

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: 

  • Gaussian Naïve Bayes (GaussianNB): esta es una variante del clasificador Naïve Bayes, que se utiliza con distribuciones gaussianas, es decir distribuciones normales y variables continuas. Este modelo se ajusta encontrando la media y la desviación estándar de cada clase. 
  • Multinomial Naïve Bayes (MultinomialNB): este tipo de clasificador Naïve Bayes asume que las características provienen de distribuciones multinomiales. Esta variante es útil cuando se utilizan datos diferenciados, como recuentos de frecuencia, y normalmente se aplica dentro de casos de uso de procesamiento de lenguaje natural, como la clasificación de spam. 
  • Bernoulli Naïve Bayes (BernoulliNB): esta es otra variante del clasificador Naïve Bayes, que se utiliza con variables booleanas, es decir, variables con dos valores, como Verdadero y Falso o 1 y 0. 

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).

Ventajas y desventajas del clasificador Naïve Bayes
Ventajas
  • Menos complejo: en comparación con otros clasificadores, Naïve Bayes se considera un clasificador más simple, ya que los parámetros son más fáciles de estimar. En consecuencia, es uno de los primeros algoritmos que se aprenden en los cursos de ciencia de datos y aprendizaje automático.  
  • Se escala bien: en comparación con la regresión logística, Naïve Bayes se considera un clasificador rápido y eficiente que es bastante preciso cuando se cumple el supuesto de independencia condicional. También tiene bajos requisitos de almacenamiento. 
  • Puede manejar datos de alta dimensión: los casos de uso, como la clasificación de documentos, pueden tener un gran número de dimensiones, lo que puede ser difícil de administrar para otros clasificadores. 
Desventajas:   
  • Sujeto a frecuencia cero: la frecuencia cero ocurre cuando una variable categórica no existe dentro del conjunto de entrenamiento. Por ejemplo, imagine que estamos tratando de encontrar el estimador de máxima verosimilitud para la palabra "señor" dada la clase "spam", pero la palabra "señor" no existe en los datos de entrenamiento. La probabilidad en este caso sería cero, y dado que este clasificador multiplica todas las probabilidades condicionales, esto también significa que la probabilidad posterior será cero. Para evitar este problema, se puede aprovechar el suavizado de Laplace. 
  • Suposición básica poco realista: aunque el supuesto de independencia condicional en general funciona bien, el supuesto no siempre se mantiene, lo que lleva a clasificaciones incorrectas. 
Aplicaciones del clasificador Naïve Bayes

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:

  • Filtrado de spam: la clasificación de spam es una de las aplicaciones más populares de Naïve Bayes citadas en la literatura. Para obtener una lectura más profunda sobre este caso de uso, consulte este capítulo de Oreilly (el enlace reside fuera de ibm.com).  
  • Clasificación de documentos: la clasificación de documentos y la de textos van de la mano. Otro caso de uso popular de Naïve Bayes es la clasificación de contenidos. Imagine las categorías de contenido de un sitio web de medios de noticias. Todas las categorías de contenido se pueden clasificar en una taxonomía temática basada en cada artículo del sitio. A Federick Mosteller y David Wallace se les atribuye la primera aplicación de la inferencia bayesiana en su artículo de 1963 (el enlace se encuentra fuera de ibm.com). 
  • Análisis de sentimientos: si bien esta es otra forma de clasificación de textos, el análisis de sentimientos se aprovecha comúnmente dentro del marketing para comprender y cuantificar mejor las opiniones y actitudes en torno a productos y marcas específicos. 
  • Predicciones del estado mental: utilizando datos de fMRI, se ha aprovechado el Naïve Bayes para predecir diferentes estados cognitivos entre los seres humanos. El objetivo de esta investigación (el enlace reside fuera de ibm.com) fue ayudar a comprender mejor los estados cognitivos ocultos, especialmente entre los pacientes con lesiones cerebrales.
Productos relacionados
IBM Cloud Pak para datos

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.

Obtenga más información sobre IBM Cloud Pak for Data
IBM Watson Studio

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.

Aprenda más sobre IBM Watson Studio
watsonx.ai

Dé el siguiente paso para comenzar a poner en marcha y escalar la IA generativa y el aprendizaje automático para empresas. 

Explore watsonx.ai
Recursos Aprendizaje práctico y gratuito para tecnologías generativas de IA

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.

Un análisis del clasificador Naïve Bayes en distribuciones de baja entropía

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.

Un análisis de las características de los datos que afectan el rendimiento de 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.

Aprenda algoritmos de clasificación utilizando Python y scikit-learn

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.

Clasificación de datos mediante el algoritmo Multinomial Naïve Bayes

Utilice scikit-learn para completar una tarea popular de clasificación de texto (filtrado de correo no deseado) utilizando Multinomial Naïve Bayes.

Dé el siguiente paso

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de aprendizaje automático con IBM® watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Explore watsonx.ai Reserve una demostración en vivo