Explicación de Naive Bayes: función, ventajas y desventajas, aplicaciones en 2022

Publicado: 2021-01-05

Naive Bayes es un algoritmo de aprendizaje automático que utilizamos para resolver problemas de clasificación. Se basa en el Teorema de Bayes. Es uno de los algoritmos ML más simples pero poderosos en uso y encuentra aplicaciones en muchas industrias.

Suponga que tiene que resolver un problema de clasificación y ha creado las características y generado la hipótesis, pero sus superiores quieren ver el modelo. Tiene numerosos puntos de datos (miles de puntos de datos) y muchas variables para entrenar el conjunto de datos. La mejor solución para esta situación sería usar el clasificador Naive Bayes, que es bastante más rápido en comparación con otros algoritmos de clasificación.

En este artículo, discutiremos este algoritmo en detalle y descubriremos cómo funciona. También discutiremos sus ventajas y desventajas junto con sus aplicaciones del mundo real para comprender cuán esencial es este algoritmo.

Únase al curso de aprendizaje profundo en línea de las mejores universidades del mundo: maestrías, programas ejecutivos de posgrado y programa de certificado avanzado en ML e IA para acelerar su carrera.

Empecemos:

Tabla de contenido

Bayes ingenuo explicado

Naive Bayes usa el Teorema de Bayes y asume que todos los predictores son independientes. En otras palabras, este clasificador asume que la presencia de una característica particular en una clase no afecta la presencia de otra.

Aquí hay un ejemplo: consideraría que la fruta es naranja si es redonda, naranja y tiene alrededor de 3,5 pulgadas de diámetro. Ahora, incluso si estas características se requieren mutuamente para existir, todas contribuyen de forma independiente a su suposición de que esta fruta en particular es naranja. Es por eso que este algoritmo tiene 'Naive' en su nombre.

Construir el modelo Naive Bayes es bastante simple y lo ayuda a trabajar con grandes conjuntos de datos. Además, esta ecuación es popular por superar muchas técnicas de clasificación avanzadas en términos de rendimiento.

Aquí está la ecuación para Naive Bayes:

P(c|x) = P(x|c) P(c) / P(x)

P(c|x) = P(x1 | c) x P(x2 | c) x … P(xn | c) x P(c)

Aquí, P (c|x) es la probabilidad posterior según el predictor (x) para la clase (c). P(c) es la probabilidad previa de la clase, P(x) es la probabilidad previa del predictor y P(x|c) es la probabilidad del predictor para la clase particular (c).

Además de considerar la independencia de cada característica, Naive Bayes también asume que contribuyen por igual. Este es un punto importante a recordar.

¿Cómo funciona Naïve Bayes?

Para entender cómo funciona Naive Bayes, deberíamos discutir un ejemplo.

Supongamos que queremos encontrar autos robados y tenemos el siguiente conjunto de datos:

Número de serie. Color Escribe Origen ¿Fue robado?
1 rojo Deportes Doméstico
2 rojo Deportes Doméstico No
3 rojo Deportes Doméstico
4 Amarillo Deportes Doméstico No
5 Amarillo Deportes Importado
6 Amarillo todoterreno Importado No
7 Amarillo todoterreno Importado
8 Amarillo todoterreno Doméstico No
9 rojo todoterreno Importado No
10 rojo Deportes Importado

Según nuestro conjunto de datos, podemos entender que nuestro algoritmo hace las siguientes suposiciones:

  • Asume que cada característica es independiente. Por ejemplo, el color 'Amarillo' de un automóvil no tiene nada que ver con su Origen o Tipo.
  • Le da a cada característica el mismo nivel de importancia. Por ejemplo, conocer solo el Color y el Origen predeciría el resultado correctamente. Es por eso que cada característica es igualmente importante y contribuye igualmente al resultado.

Ahora, con nuestro conjunto de datos, tenemos que clasificar si los ladrones roban un automóvil según sus características. Cada fila tiene entradas individuales y las columnas representan las características de cada automóvil. En la primera fila, tenemos un Auto Deportivo Rojo de Origen Nacional robado. Descubriremos si los ladrones robarían un SUV doméstico rojo o no (nuestro conjunto de datos no tiene una entrada para un SUV doméstico rojo).

Podemos reescribir el Teorema de Bayes para nuestro ejemplo como:

P(y | X) = [P(X | y) P(y)P(X)]/P(X)

Aquí, y representa la variable de clase (¿Fue robado?) para mostrar si los ladrones robaron el auto no de acuerdo con las condiciones. X representa las características.

X = x1, x2, x3, …., xn)

Aquí, x1, x2,…, xn representan las características. Podemos mapearlos para que sean Tipo, Origen y Color. Ahora, reemplazaremos X y expandiremos la regla de la cadena para obtener lo siguiente:

P(y | x1, …, xn) = [P(x1 | y) P(x2 | y) … P(xn | y) P(y)]/[P(x1) P (x2) … P(xn )]

Puede obtener los valores de cada uno utilizando el conjunto de datos y poniendo sus valores en la ecuación. El denominador permanecerá estático para cada entrada en el conjunto de datos para eliminarlo e inyectar proporcionalidad.

P(y | x1, …, xn) ∝ P(y) i = 1nP(xi | y)

En nuestro ejemplo, y solo tiene dos resultados, sí o no.

y = argmaxyP(y) i = 1nP(xi | y)

Podemos crear una tabla de frecuencias para calcular la probabilidad posterior P(y|x) para cada característica. Luego, moldearemos las tablas de frecuencia a tablas de probabilidad y usaremos la ecuación bayesiana ingenua para encontrar la probabilidad posterior de cada clase. El resultado de nuestra predicción sería la clase que tiene la probabilidad posterior más alta. Aquí están las tablas de probabilidad y frecuencia:

Tabla de frecuencias de color:

Color ¿Fue robado? (Sí) ¿Fue robado? (No)
rojo 3 2
Amarillo 2 3

Tabla de probabilidad de color:

Color ¿Fue robado [P (Sí)] ¿Fue robado [P (No)]
rojo 3/5 2/5
Amarillo 2/5 3/5

Tabla de frecuencias de tipo:

Escribe ¿Fue robado? (Sí) ¿Fue robado? (No)
Deportes 4 2
todoterreno 1 3

Tabla de probabilidad de tipo:

Escribe ¿Fue robado [P (Sí)] ¿Fue robado [P (No)]
Deportes 4/5 2/5
todoterreno 1/5 3/5

Tabla de frecuencias de origen:

Origen ¿Fue robado? (Sí) ¿Fue robado? (No)
Doméstico 2 3
Importado 3 2

Tabla de probabilidad de origen:

Origen ¿Fue robado [P (Sí)] ¿Fue robado [P (No)]
Doméstico 2/5 3/5
Importado 3/5 2/5

Nuestro problema tiene 3 predictores para X, por lo que según las ecuaciones que vimos anteriormente, la probabilidad posterior P(Sí | X) sería la siguiente:

P(Sí | X) = P(Rojo | Sí) * P(SUV | Sí) * P(Doméstico | Sí) * P(Sí)

= ⅗ x ⅕ x ⅖ x 1

= 0.048

P(No | X) sería:

P(No | X) = P(Rojo | No) * P(SUV | No) * P(Doméstico | No) * P(No)

= ⅖ x ⅗ x ⅗ x 1

= 0,144

Entonces, como la probabilidad posterior P(No | X) es mayor que la probabilidad posterior P(Sí | X), nuestro SUV Doméstico Rojo tendrá 'No' en el '¿Fue robado?' sección.

El ejemplo debería haberte mostrado cómo funciona el Clasificador Naive Bayes. Para obtener una mejor imagen de Naive Bayes explicada, ahora deberíamos discutir sus ventajas y desventajas:

Ventajas y desventajas de Naive Bayes

ventajas

  • Este algoritmo funciona rápidamente y puede ahorrar mucho tiempo.
  • Naive Bayes es adecuado para resolver problemas de predicción multiclase.
  • Si su suposición de la independencia de las características es cierta, puede funcionar mejor que otros modelos y requiere muchos menos datos de entrenamiento.
  • Naive Bayes es más adecuado para variables de entrada categóricas que variables numéricas.

Desventajas

  • Naive Bayes asume que todos los predictores (o características) son independientes y rara vez suceden en la vida real. Esto limita la aplicabilidad de este algoritmo en casos de uso del mundo real.
  • Este algoritmo enfrenta el 'problema de frecuencia cero' donde asigna probabilidad cero a una variable categórica cuya categoría en el conjunto de datos de prueba no estaba disponible en el conjunto de datos de entrenamiento. Sería mejor si usara una técnica de suavizado para superar este problema.
  • Sus estimaciones pueden ser incorrectas en algunos casos, por lo que no debe tomar muy en serio sus resultados de probabilidad.

Pago: Explicación de los modelos de aprendizaje automático

Explicación de las aplicaciones de Naive Bayes

Aquí hay algunas áreas donde este algoritmo encuentra aplicaciones:

Clasificación de texto

La mayoría de las veces, Naive Bayes encuentra usos de clasificación en el texto debido a su suposición de independencia y alto rendimiento en la resolución de problemas de múltiples clases. Goza de una alta tasa de éxito que otros algoritmos debido a su velocidad y eficiencia.

Análisis de los sentimientos

Una de las áreas más destacadas del aprendizaje automático es el análisis de sentimientos, y este algoritmo también es muy útil allí. El análisis de sentimiento se enfoca en identificar si los clientes piensan positiva o negativamente sobre un determinado tema (producto o servicio).

Sistemas de recomendación

Con la ayuda de Collaborative Filtering, Naive Bayes Classifier construye un poderoso sistema de recomendación para predecir si a un usuario le gustaría un producto (o recurso) en particular o no. Amazon, Netflix y Flipkart son empresas destacadas que utilizan sistemas de recomendación para sugerir productos a sus clientes.

Más información Algoritmos de aprendizaje automático

Naive Bayes es un algoritmo de aprendizaje automático simple y efectivo para resolver problemas de varias clases. Encuentra usos en muchas áreas destacadas de las aplicaciones de aprendizaje automático, como el análisis de sentimientos y la clasificación de textos.

Consulte el Programa de certificación avanzada en aprendizaje automático y nube con IIT Madras, la mejor escuela de ingeniería del país para crear un programa que le enseñe no solo el aprendizaje automático sino también la implementación efectiva del mismo utilizando la infraestructura de la nube. Nuestro objetivo con este programa es abrir las puertas del instituto más selectivo del país y brindar a los estudiantes acceso a profesores y recursos increíbles para dominar una habilidad que está en alto y en crecimiento.

¿Qué es el algoritmo bayesiano ingenuo?

Para manejar las dificultades de categorización, empleamos la técnica de aprendizaje automático Naive Bayes. El Teorema de Bayes lo sustenta. Es uno de los algoritmos de aprendizaje automático más básicos pero potentes en uso, con aplicaciones en una variedad de industrias. Supongamos que está trabajando en un problema de clasificación y ya ha establecido las características y la hipótesis, pero su jefe quiere ver el modelo. Para entrenar el conjunto de datos, tiene una gran cantidad de puntos de datos (miles de puntos de datos) y una gran cantidad de variables. El clasificador Naive Bayes, que es mucho más rápido que otros algoritmos de clasificación, sería la mejor opción en esta circunstancia.

¿Cuáles son algunas de las ventajas y desventajas de los bayes ingenuos?

Para problemas de predicción multiclase, Naive Bayes es una buena opción. Si la premisa de la independencia de características sigue siendo cierta, puede superar a otros modelos utilizando muchos menos datos de entrenamiento. Las variables de entrada categóricas son más adecuadas para Naive Bayes que las variables de entrada numéricas.

En Naive Bayes, se supone que todos los predictores (o rasgos) son independientes, lo que rara vez ocurre en la vida real. Esto limita la usabilidad del algoritmo en escenarios del mundo real. No debe tomar en serio sus salidas de probabilidad porque sus estimaciones pueden estar equivocadas en algunos casos.

¿Cuáles son algunas aplicaciones del mundo real de naive bayes?

Debido a su premisa de autonomía y alto rendimiento para abordar problemas de múltiples clases, Naive Bayes se usa con frecuencia en la clasificación en el texto. El análisis de sentimientos es una de las aplicaciones más populares del aprendizaje automático, y esta técnica también puede ayudar con eso. El objetivo del análisis de sentimientos es determinar si los clientes tienen sentimientos favorables o negativos sobre un tema en particular (producto o servicio). Naive Bayes Classifier utiliza Filtrado colaborativo para crear un sistema de recomendación sofisticado que puede predecir si un usuario disfrutará o no de un producto (o recurso) determinado.