¿Qué son los clasificadores Naive Bayes?

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

Diseño 3D de bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


Descubra ideas y noticias de expertos sobre IA, nube y mucho más en el boletín semanal Think. 

Breve repaso a la estadística bayesiana

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)

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

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 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:

Cómo evaluar un clasificador Naïve 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. Entre las que se incluyen:

  • Gaussian Naïve Bayes (GaussianNB): se trata de una variante del clasificador Naïve 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.
  • 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 discretos, como recuentos de frecuencia, y suele aplicarse en casos de uso de procesamiento del lenguaje natural, como la clasificación del spam.
  • Bernoulli Naïve Bayes (BernoulliNB): se trata de 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.

Todos ellos se pueden implementar a través de la biblioteca Python Scikit Learn (enlace externo a ibm.com) (también conocida como sklearn).

Mixture of Experts | Pódcast

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

Ventajas e inconvenientes del clasificador Naive Bayes

Ventajas

  • Menor complejidad: en comparación con otros clasificadores, el Naïve Bayes se considera uno 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, el Naïve 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 de uso, como la clasificación de documentos, pueden tener un gran número de dimensiones, lo que puede ser difícil de gestionar para otros clasificadores.

Desventajas:

  • Sujeto a frecuencia cero: la frecuencia cero se produce 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 dado 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 de Laplace.
  • Hipótesis central poco realista: aunque la hipótesis de independencia condicional funciona bien en general, 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 del Naïve Bayes citadas en los estudios. Para profundizar en este caso de uso, consulte este capítulo de Oreilly (enlace externo a ibm.com).
  • Clasificación de documentos: la clasificación de documentos y textos van de la mano. Otro caso de uso frecuente del Naïve Bayes es la clasificación de contenidos. Imaginemos las categorías de contenidos de un sitio web de noticias. 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 se les atribuye la primera aplicación de la inferencia bayesiana en su artículo de 1963 (enlace externo a ibm.com).
  • Análisis de sentimiento: aunque se trata de otra forma de clasificación de texto, 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 imagen por resonancia magnética funcional, se ha aprovechado el método Naïve Bayes para predecir diferentes estados cognitivos entre los seres humanos. El objetivo de esta investigación (enlace externo a ibm.com) era ayudar a comprender mejor los estados cognitivos ocultos, especialmente en pacientes con lesiones cerebrales.
Soluciones relacionadas
IBM watsonx.ai

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.

Descubra watsonx.ai
Soluciones de inteligencia artificial

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.

Explore las soluciones de IA
Consultoría y servicios de IA

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.

Explore los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida de desarrollo de la IA. Produzca potentes soluciones de IA con interfaces intuitivas, flujos de trabajo y acceso a API y SDK estándar del sector.

Explore watsonx.ai Solicite una demostración en directo