Naive Bayes es básicamente un conteo avanzado. Imaginemos que estamos tratando de clasificar si jugar al golf, y observamos dos atributos: el clima (soleado, nublado, lluvioso) y la temperatura (caliente, medio, frío, bajo cero).
Los ingenuos Bayes se pueden representar como canicas que se colocan en cajas. En total para este problema tenemos 14 cajas.
Sunny-Play, Overcast-Play, Raining-Play Hot-Play, Medium-Play, Cold-Play, Sub-Zero-Play Sunny-NoPlay, Overcast-NoPlay, Raining-NoPlay Hot-NoPlay, Medium-NoPlay, Cold-NoPlay, Subzero-NoPlay
Cada vez que vemos un ejemplo, ponemos algunas canicas en las cajas. Si vemos un ejemplo de entrenamiento, colocamos algunas canicas en algunas cajas. Por ejemplo, si vemos un día soleado y caluroso con la etiqueta “Play”, colocamos una canica en la casilla Sunny-Play y una canica en la casilla Hot-Play.
- ¿El aprendizaje automático como campo todavía está en su infancia, o ya es sofisticado y está bien desarrollado?
- ¿Cuál es la diferencia entre la agrupación de texto y la clasificación de texto?
- ¿Cómo se puede utilizar el aprendizaje automático para construir un sistema de predicción del comportamiento del cliente?
- ¿Cuáles son las preguntas más importantes en el aprendizaje automático?
- En vista de los nuevos temas de TI (AI, IoT, datos grandes / rápidos, análisis, blockchain, etc.), ¿hay alguna ventaja en aprender la programación de Python?
Digamos que después de 20 ejemplos de “Jugar” y 20 ejemplos de “No jugar”, el conteo de canicas se ve así:
Sunny-Play: 15 Overcast-Play: 4 Lluvia-Juego: 1 Juego caliente: 7 Juego medio: 7 Juego en frío: 5 Juego bajo cero: 1 Sunny-NoPlay: 2 Overcast-NoPlay: 8 Raining-NoPlay: 10 Hot-NoPlay: 4 Medium-NoPlay: 4 Cold-NoPlay: 6 Subzero-NoPlay: 6
Ahora, para ver un ejemplo, hago una suposición de independencia condicional, en otras palabras P (juego | clima, temperatura) = P (juego | clima) P (juego | temperatura).
¡Eso significa que todo lo que necesito hacer para resolver la clase es multiplicar! Digamos que tengo un día lluvioso y frío.
Puntuación de juego = 1 * 5 = 5.
Puntuación de no jugar = 10 * 6 = 60.
Entonces elegiríamos no jugar. ¡Todo lo que hicimos fue contar canicas y tenemos un clasificador!
Algunas notas sobre cómo falta esta analogía:
- Esto ignora la normalización y supone números iguales de ambas clases, tendría que incluir un factor de ajuste adicional.
- Esto no incluye cosas como la corrección de Laplace (por ejemplo, si nunca ve un día bajo cero).
- Un ejercicio interesante es comparar esto con el clasificador óptimo bayesiano. Eso tendría 24 cajas en lugar de 14. Pero eso queda para otra pregunta :-).