Algoritmo ingenuo de Bayes en aprendizaje automático

Algoritmo clasificador ingenuo de Bayes

Algoritmo clasificador ingenuo de Bayes

El clasificador es un algoritmo de aprendizaje automático que clasifica los datos en una o más de un conjunto de “clases”. El clasificador de correo electrónico es un ejemplo de un clasificador que analiza los correos electrónicos para filtrarlos por etiqueta de clase: spam o no spam.

El clasificador Naive Bayes en aprendizaje automático es un aprendizaje automático supervisado para tareas de clasificación.

Algoritmo clasificador ingenuo de Bayes

Naive Bayes se utiliza para resolver problemas de clasificación. Predice sobre la base de la probabilidad de un objeto. Naive Bayes se basa en el teorema de Bayes y se utiliza principalmente para la clasificación de textos. Naive Bayes es un algoritmo de clasificación probabilística que es fácil de implementar y rápido de entrenar.

Dado que el clasificador Naive Bayes se basa en el teorema de Bayes, se le conoce como clasificador de probabilidad. Predice basándose en la probabilidad de un artículo.

¿Razón para ser llamado Naïve Bayes?

El clasificador Naive Bayes tiene dos palabras: Naive y Bayes. ¿Por qué Navia? Este algoritmo trata todas las oraciones de palabras como iguales. Por ejemplo, "Tú eres" y "Eres tú" son lo mismo para este algoritmo. No depende de las características ni de la aparición de características. Si desea identificar la fruta manzana, entonces necesita color rojo, forma esférica y sabor dulce para reconocerla como una manzana. Significa que estas características son independientes entre sí.

  • El clasificador Naive Bayes supone que las características son independientes entre sí. Dado que esto rara vez es posible en datos de la vida real, el clasificador se denomina ingenuo.
  • Este algoritmo de clasificación se basa en el teorema de Bayes, conocido como clasificador ingenuo de Bayes.

Teorema del ingenuo Bayes

El teorema de Bayes se utiliza para encontrar la probabilidad de una hipótesis con probabilidades condicionales que dependen del conocimiento previo. Este teorema lleva el nombre de Thomas Bayes. El clasificador ingenuo de Bayes funciona según el principio de probabilidad condicional, tal como lo establece el teorema de Bayes.

Para comprender el teorema de Bayes, veamos un ejemplo simple e ingenuo del clasificador de Bayes: lanzar dos monedas. Podemos obtener estos espacios muestrales lanzando dos monedas: {HH, HT, TH, TT}. Entonces, las probabilidades de estos eventos serán:

  • Obtener dos caras = 1/4
  • Al menos una cola = 3/4
  • La segunda moneda es cara dado que la primera moneda es cruz = 1/2
  • Obtener dos caras dada la primera moneda es cara = 1/2

El teorema de Bayes calcula la probabilidad de que ocurra un evento en función de la probabilidad de que ya haya ocurrido un evento diferente. La fórmula del teorema de Bayes viene dada por:

P(A|B) = (P(B|A) * P(A)) / P(B)

P(A|B) Probabilidad de que ocurra A incluso cuando B ya ha ocurrido. La probabilidad P(B) no debería ser cero.

  • Necesita encontrar la probabilidad del evento A, que se da cuando el evento B (evidencia) es verdadero.
  • P(A) es a priori (a priori, es decir, la probabilidad de un evento observado antes de la prueba) de A. Aquí, el evento B es el valor de una instancia desconocida.
  • P(A|B) es la probabilidad posterior del evento B, es decir, la probabilidad del evento después de observar la evidencia.

Ejemplo práctico del clasificador Naïve Bayes

Tomemos un ejemplo de compras para comprender el funcionamiento del Clasificador Naive de Bayes. En este conjunto de datos, hay un pequeño conjunto de datos de muestra de 30 filas para este ejemplo.

Conjunto de datos

Ejemplo práctico del clasificador Naïve Bayes

El problema es predecir si una persona comprará un producto en una combinación específica de día, descuento y entrega gratuita utilizando el teorema ingenuo de Bayes.

Ejemplo práctico del clasificador Naïve Bayes

Paso 1) Crearemos tablas de frecuencia para cada atributo utilizando los tipos de entrada mencionados en el conjunto de datos, como días, descuento y envío gratuito.

Ejemplo práctico del clasificador Naïve Bayes

Denominemos el evento "Comprar" como "A" y las variables independientes, a saber, "Descuento", "Entrega gratuita" y "Día", como "B". Usaremos estos eventos y variables para aplicar el teorema de Bayes.

Paso 2) Ahora calculemos las tablas de probabilidad una por una.

Ejemplo práctico del clasificador Naïve Bayes

Ejemplo 1:

Con base en esta tabla de probabilidad, calcularemos las probabilidades condicionales como se muestra a continuación.

P(A) = P(No Buy) = 6/30 = 0.2
P(B) = P(Weekday) = 11/30 = 0.37
P(B/A) = P(Weekday / No Buy) = 2/6 = 0.33

Y encuentre P(A/B) usando el teorema de Bayes,

P(A/B)
= P(No Buy / Weekday)
= P(Weekday / No Buy) * P(No Buy) / P(Weekday)
= (2/6 * 6/30) / (11/30)
= 0.1818

De manera similar, si A es Comprar, entonces

= P(Buy / Weekday)
= P(Weekday / Buy) * P(Buy) / P(Weekday)
= (9/24 * 24/30) / (11/30)
= 0.8181

Nota: Como P (Comprar | Día laborable) es mayor que P (No comprar | Día laborable), podemos concluir que lo más probable es que un cliente compre el producto en un día laborable.

Paso 3) De manera similar, podemos calcular la probabilidad de que ocurra un evento sobre la base de las tres variables. Ahora calcularemos tablas de probabilidad para las tres variables utilizando las tablas de frecuencia anteriores.

Ejemplo práctico del clasificador Naïve Bayes

Ejemplo 2:

Ahora, utilizando estas tres tablas de probabilidad, calcularemos si es probable que un cliente realice una compra en función de una combinación específica de "Día", "Descuento" y "Entrega gratuita".

Aquí, tomemos una combinación de estos factores:

  • Día = feriado
  • Descuento = Sí
  • Entrega gratuita = Sí

Cuando, A = Comprar

Calcula la probabilidad condicional de compra en la siguiente combinación de día, descuento y envío gratuito.

Donde B es:

  • Día = feriado
  • Descuento = Sí
  • Entrega gratuita = Sí

Y A = comprar

De esta manera, las

= P(A/B)
= P(Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes)
= ( P(Discount=(Yes/Buy)) * P(Free Delivery=(Yes/Buy)) * P(Day=(Holiday/Buy)) * P(Buy) )
/ ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) )
= (19/24 * 21/24 * 8/24 * 24/30) / (20/30 * 23/30 * 11/30)
= 0.986

Cuando, A = No comprar

De manera similar, calcule la probabilidad condicional de compra en la siguiente combinación de día, descuento y entrega gratuita.

Donde B es:

  • Día = feriado
  • Descuento = Sí
  • Entrega gratuita = Sí

Y A = No comprar

De esta manera, las

= P(A/B)
= P(No Buy / Discount=Yes, Day=Holiday, Free Delivery=Yes)
= ( P(Discount=(Yes/No Buy)) * P(Free Delivery=(Yes/No Buy)) * P(Day=(Holiday/No Buy)) * P(No Buy) )
/ ( P(Discount=Yes) * P(Free Delivery=Yes) * P(Day=Holiday) )
= (1/6 * 2/6 * 3/6 * 6/30) / (20/30 * 23/30 * 11/30)
= 0.027

Paso 4) Por lo tanto,

Probabilidad de compra = 0.986

Probabilidad de no compra = 0.027

Finalmente, tenemos probabilidades condicionales de compra en este día. Generalicemos ahora estas probabilidades para obtener la Probabilidad de los eventos.

  • Suma de probabilidades = 0.986 + 0.027 = 1.013
  • Probabilidad de compra = 0.986 / 1.013 = 97.33 %
  • Probabilidad de no compra = 0.027 / 1.013 = 2.67 %

Tenga en cuenta que 97.33% es mayor que 2.67%. Podemos concluir que el cliente medio comprará en un día festivo con descuento y envío gratuito.

Tipos de modelo ingenuo de Bayes

Hay muchos tipos de clasificadores Naive Bayes. Aquí hemos analizado los clasificadores multinomiales, Bernoulli y Gaussianos Naive Bayes.

1. Naive Bayes multinomial

Este tipo de modelo Naive Bayes se utiliza para problemas de clasificación de documentos. Funciona con funciones que representan la frecuencia de las palabras en un documento. El clasificador considera la aparición y el recuento de palabras para determinar la probabilidad de que un documento pertenezca a una categoría específica, como deportes, política o tecnología.

2. Bernoulli Bayes ingenuo

Esto es similar al multinomial Naive Bayes. El clasificador Bernoulli Naive Bayes se utiliza para tareas de clasificación de documentos. Sin embargo, utiliza predictores booleanos. Representa si una palabra está presente o no y solo toma valores Sí o No. El clasificador calcula las probabilidades en función de si una palabra aparece en el texto o no.

3. Bayes ingenuo gaussiano

Este clasificador se utiliza en caso de valor continuo pero no de valor discreto. Este clasificador calcula probabilidades utilizando los parámetros del Gauss distribución, es decir, media y varianza.

Bayes ingenuo gaussiano

La fórmula para la probabilidad condicional cambia a,

Bayes ingenuo gaussiano

Beneficios y limitaciones del clasificador Naive Bayes

Existen varias ventajas y desventajas del algoritmo Naive Bayes en el aprendizaje automático.

Beneficios del clasificador Naive Bayes

  • Simplicidad y Eficiencia: Naive Bayes es simple y fácil de entrenar e implementar. Es eficiente debido al bajo costo computacional. Puede manejar grandes conjuntos de datos de manera eficiente.
  • Entrenamiento rápido y predicción: Naive Bayes no requiere tantos datos de entrenamiento debido a la independencia entre funciones. Puede predecir rápidamente una vez que se entrena el modelo.
  • Escalabilidad: Naive Bayes puede manejar conjuntos de datos de alta dimensión con una gran cantidad de características. Funciona bien incluso cuando la cantidad de funciones es mayor que la cantidad de ejemplos de entrenamiento. Se escala con la cantidad de puntos de datos y predictores. Maneja datos tanto continuos como discretos.
  • Robustez ante características irrelevantes: No es sensible a características irrelevantes.
  • Funciona bien con conjuntos de entrenamiento pequeños: Naive Bayes puede proporcionar resultados razonables incluso con datos de entrenamiento limitados. Puede manejar situaciones en las que la cantidad de instancias de capacitación es pequeña. No requiere tantos datos de entrenamiento.

Limitación del clasificador Naive Bayes

Bayes ingenuo en máquina de aprendizaje Supone que todas las características son independientes entre sí. Por lo tanto, no puede aprender las relaciones entre diferentes características de los datos. Trata cada característica como si no tuviera relación con las demás.

Para superar este problema, puede utilizar Árboles de decisiónBosques aleatorios, máquinas de vectores de soporte (SVM), redes neuronales, etc. Estos algoritmos tienen la capacidad de aprender relaciones y dependencias complejas entre las características de los datos, por lo que pueden predecir resultados más precisos.

Aplicaciones del clasificador Naive Bayes

Dado que este algoritmo es rápido y eficiente, puede utilizarlo para realizar predicciones en tiempo real.

Detección de correo no deseado

Servicios de correo electronico (como Gmail) utilizan este algoritmo para determinar si un correo electrónico es spam. Este algoritmo es excelente para filtrar spam.

Análisis de los sentimientos

Puede clasificar el texto como positivo, negativo o neutral según características como la elección de palabras, la estructura de la oración y el contexto. Encuentra aplicaciones en monitoreo de redes sociales, reseñas de clientes e investigación de mercado.

Clasificación de documentos

Puede clasificar documentos en categorías como deportes, política, tecnología o finanzas según la frecuencia o presencia de palabras o características específicas dentro del documento.

Sistemas de recomendación

Puede analizar las preferencias del usuario, datos históricos y características de los artículos para predecir los intereses o preferencias del usuario al recomendar productos, películas o artículos.

Este algoritmo clasificador también se utiliza en reconocimiento facial, predicción del tiempo, diagnóstico médico, compras, clasificación de noticias, etc. Puede implementar Naive Bayes en Python. Existe el clasificador Naive Bayes sklearn, es decir, sklearn.naive_bayes. Es el módulo el que implementa este algoritmo.

Conclusión

Los algoritmos Naive Bayes en el aprendizaje automático son clasificadores que se utilizan principalmente en la detección de spam, la clasificación de noticias, el análisis de sentimientos, la predicción del tiempo, las compras, etc. Los algoritmos Naive Bayes se basan en el teorema de Bayes. algoritmo es simple y fácil de implementar. Como es rápido, podemos usarlo en aplicaciones en tiempo real. Su mayor desventaja es que asume características independientes (dado que las características independientes rara vez son posibles en la vida real, se lo conoce como ingenuo). Trata cada característica como igual. Para superar este inconveniente, puede utilizar otros clasificadores como Árbol de decisión, Bosque aleatorio, Máquina de vectores de soporte (SVM), etc.