Inicio Topics Naive Bayes ¿Qué son los clasificadores Naive Bayes?
Aplicar Naive Bayes con watsonx.ai Suscríbase para conocer lo último en IA
Ilustración con collage de pictogramas de nubes, gráfico circular, pictogramas gráficos
¿Qué son los clasificadores Naive Bayes?

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 almacén de datos para la IA

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.

Contenido relacionado

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

Consulte nuestro tutorial para aprender a aplicar este clasificador utilizando Python
Breve repaso a la estadística bayesiana

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)

 

El retorno a Naïve Bayes

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.  

Probabilidades condicionales de clase 

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

Probabilidades a priori

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: 

Cómo evaluar su clasificador Naive Bayes 

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.

Tipos de clasificadores Naive Bayes

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: 

  • Naive Bayes Gaussiano (GaussianNB): Se trata de una variante del clasificador Naive Bayes, que se utiliza con distribuciones gaussianas, es decir, distribuciones normales y variables continuas. Este modelo se ajusta hallando la media y la desviación típica de cada clase. 
  • Naive Bayes Multinomial (MultinomialNB): Este tipo de clasificador Naive Bayes asume que las características proceden de distribuciones multinomiales. Esta variante es útil cuando se utilizan datos discretos, como el recuento de frecuencias, y suele aplicarse en casos de uso con procesamiento del lenguaje natural, como la clasificación del spam. 
  • Naive Bayes Bernoulli (BernoulliNB): Se trata de otra variante del clasificador Naive Bayes, que se utiliza con variables booleanas, es decir, variables con dos valores, como Verdadero y Falso o 1 y 0.

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

Ventajas e inconvenientes del clasificador Naive Bayes
Ventajas
  • Menor complejidad: En comparación con otros clasificadores, Naive Bayes se considera un clasificador más sencillo, ya que los parámetros son más fáciles de estimar. Como resultado, es uno de los primeros algoritmos que se aprenden en los cursos de ciencia de datos y machine learning.  
  • Escala bien: en comparación con la regresión logística, Naive Bayes se considera un clasificador rápido y eficiente que es bastante preciso cuando se cumple la suposición de independencia condicional. Además, requiere poco almacenamiento. 
  • Puede manejar datos de alta dimensión: Los casos prácticos, como la clasificación de documentos, pueden presentar un elevado número de dimensiones, lo que puede resultar difícil de manejar para otros clasificadores. 
Desventajas:   
  • Sujeto a frecuencia cero: la frecuencia cero ocurre cuando una variable categórica no existe dentro del conjunto de entrenamiento. Imaginemos, por ejemplo, que intentamos encontrar el estimador de máxima verosimilitud, dada la clase "spam", para la palabra "señor", pero que la palabra "señor" no exista en los datos de entrenamiento. La probabilidad en este caso sería cero, y puesto que este clasificador multiplica todas las probabilidades condicionales juntas, esto también significa que la probabilidad posterior sería cero. Para evitar este problema, se puede aprovechar el suavizado o descuento de Laplace. 
  • Suposición básica poco realista: Aunque en general la presunción de independencia condicional funciona bien, no siempre se cumple, lo que da lugar a clasificaciones incorrectas. 
Aplicaciones del clasificador Naive Bayes

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:

  • Filtrado de spam: La clasificación del spam es una de las aplicaciones más populares de Naive Bayes citadas en la bibliografía. Para profundizar en 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 de textos van de la mano. Otro caso de uso frecuente de Naive Bayes es la clasificación de contenidos. Imaginemos las categorías de contenidos de un sitio web de medios de comunicación. Todas las categorías de contenido puede clasificarse en una taxonomía de temas 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 trabajo de 1963 (el enlace reside fuera de ibm.com). 
  • Análisis de sentimiento: Aunque se trata de otra forma de clasificación de textos, el análisis de sentimiento se aprovecha con frecuencia en el ámbito del marketing para comprender y cuantificar mejor las opiniones y actitudes en torno a productos y marcas específicos. 
  • Predicciones sobre el estado mental: Gracias a los datos de IRMf, se ha aprovechado Naive Bayes para predecir diferentes estados cognitivos entre los seres humanos. El objetivo de esta investigación (el enlace reside fuera de ibm.com) era ayudar a comprender mejor los estados cognitivos ocultos, en particular entre los pacientes con lesiones cerebrales.
Productos relacionados
IBM Cloud Pak for Data

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.

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

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.

Más información sobre IBM Watson Studio
watsonx.ai

Dé el siguiente paso para empezar a operacionalizar y ampliar la IA generativa y el aprendizaje automático para las empresas.

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

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.

Un análisis del clasificador Naive Bayes en distribuciones de baja entropía

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.

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

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

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.

Clasificación de datos mediante el algoritmo Naive Bayes multinomial

Utilice scikit-learn para completar una popular tarea de clasificación de texto (filtrado de spam) mediante Naive Bayes multinomial.

Dé el siguiente paso

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para constructores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Explore watsonx.ai Solicite una demostración en directo