ElemedexEnciclopedia de bolsillo de arquitecturas de IA
N.º 005

Bayes ingenuo

Naïve Bayes classifier

Clasificador ingenuo

Supone que cada palabra de un correo es independiente de todas las demás, lo cual es falso, y aun así atrapa spam desde hace décadas. Multiplica probabilidades con tanto entusiasmo que tuvo que aprender logaritmos para no desvanecerse en cero.

Altura
ninguna: una tabla de probabilidades por clase
Peso
de KB a pocos MB
Parámetros
clases × vocabulario (Maron 1961: 32 × 90 + priors)
Contexto
una bolsa de palabras, sin orden
Datos de entrenamiento
Maron 1961: 260 resúmenes (≈ 20.000 palabras) · filtros de spam: miles de correos
Año
1961
Generación
1 · Cibernética y símbolos
Creadores
M. E. Maron (RAND Corporation), on Bayes' theorem (Bayes 1763, Laplace)
Clase
Algoritmo

Estadísticas base

Total
153

Escalas ordinales y aproximadas, pensadas para comparar especies entre sí; los números duros están en la ficha.

Debilidades

  • Los atributos redundantes cuentan doble: con diez copias de la temperatura, decide solo por la temperatura.
  • Sus probabilidades son poco confiables; acierta porque le alcanza con que la clase correcta quede primera.
  • Con una bolsa de palabras, «el perro mordió al hombre» y «el hombre mordió al perro» son el mismo documento.
  • Es blanco fácil de adversarios: los spammers disfrazan las palabras delatoras.

Hábitat

Debutó en la RAND Corporation clasificando 405 resúmenes de literatura sobre computadoras publicados en 1959. Se hizo famoso en los filtros de spam de los años 2000 y hoy sobrevive como línea de base obligatoria en clasificación de textos y en sistemas que aprenden de flujos de datos.

Movimientos

Habilidades

Independencia condicional
Supone que, dada la clase, los atributos son independientes: la probabilidad conjunta se vuelve un producto de factores que se estiman contando.
Suavizado de Laplace
Sumar 1 a cada conteo impide que una palabra nunca vista junto a una clase vete toda la evidencia restante.
Aprender es contar
El entrenamiento es una sola pasada de conteo, lineal en ejemplos y atributos, y puede actualizarse ejemplo por ejemplo.

Anatomía

tablas estimadasCorreos etiquetadosContar palabras por claseSuavizado de Laplace (+1)P(clase) y P(palabra|clase)Correo nuevoBolsa de palabrasΣ log P(p|spam)+ priorΣ log P(p|nospam) + priorGana el puntaje mayorEntrenamientoClasificación

Entrenar es contar y suavizar. Para clasificar, cada clase suma el logaritmo de su probabilidad a priori y los de P(palabra | clase) de las palabras del correo; sumar logaritmos equivale a multiplicar probabilidades sin que el número se vuelva cero. Multiplicar es legítimo solo si las palabras son independientes dada la clase: esa es la suposición «ingenua».

Cadena evolutiva

No se le conocen evoluciones.

005 Bayes ingenuo

El clasificador bayesiano ingenuo (naive Bayes) decide a qué clase pertenece un objeto (un correo, un documento, el pronóstico de un día) combinando la evidencia de cada uno de sus atributos mediante el teorema de Bayes, con una simplificación deliberada: supone que, dada la clase, los atributos son independientes entre sí. Witten y colegas lo admiten sin rodeos: es irreal, y aun así funciona sorprendentemente bien (Witten et al., 2017, p. 96).

Cómo funciona

La regla es P(clase | x₁…xₙ) ∝ P(clase) · P(x₁ | clase) · … · P(xₙ | clase). El denominador, P(x₁…xₙ), es el mismo para todas las clases y desaparece al normalizar; P(clase) es la probabilidad a priori (Witten et al., 2017, p. 98). Cada factor se estima contando. En el ejemplo meteorológico de Witten y colegas, un día soleado, fresco, húmedo y ventoso da una verosimilitud de 2/9 × 3/9 × 3/9 × 3/9 × 9/14 ≈ 0,0053 para «se juega» y de 0,0206 para «no se juega»; normalizadas, 20,5 % contra 79,5 % (Witten et al., 2017, pp. 96–98).

Hay dos arreglos indispensables. Si un valor nunca apareció con una clase, su probabilidad es cero y «veta» a todas las demás; el estimador de Laplace suma 1 a cada conteo (Witten et al., 2017, p. 99). Y como un documento largo multiplica cientos de números pequeños, se suman logaritmos para evitar el desbordamiento por debajo (Witten et al., 2017, p. 104). Para textos, el documento se representa como una bolsa de palabras: se tokeniza, se arma un vocabulario y se cuenta, sin orden ni significado (Alammar y Grootendorst, 2024, pp. 6–7). La versión multinomial usa las frecuencias: P(E | H) = N! × ∏ Pᵢ^nᵢ / nᵢ! (Witten et al., 2017, pp. 103–104).

Historia

El modelado probabilístico es una de las formas más antiguas de aprendizaje automático; el cálculo bayesiano se hacía a mano mucho antes de las computadoras (Chollet, 2021, sec. 1.2.1). Suele citarse como su primer uso para textos el trabajo de Maron (1961) en la RAND: 405 resúmenes de literatura sobre computadoras, 32 categorías y 90 «palabras clave» elegidas por no ser ni muy frecuentes ni muy raras (1961, pp. 407–409). Maron describía la inferencia como una «inverse transition from evidence to hypothesis» [transición inversa de la evidencia a la hipótesis] (1961, p. 409) y admitía que la independencia era claramente falsa, aunque cómoda para calcular (1961, p. 410). Acertó la categoría en el 84,6 % de los documentos con los que había estimado las probabilidades, pero solo en el 51,8 % de los documentos nuevos con al menos dos palabras clave (1961, pp. 411–413): una brecha de generalización de manual. Para evitar ceros, insertó un valor pequeño en las celdas vacías, idea de Paul Baran (1961, p. 413). Cuatro décadas después, los filtros de spam adoptaron clasificadores bayesianos, y los spammers respondieron con faltas de ortografía deliberadas y texto blanco sobre fondo blanco (Witten et al., 2017, pp. 524–525).

Por qué funciona, y cuándo no

Para clasificar no hacen falta probabilidades exactas: basta con que la clase correcta reciba la mayor (Witten et al., 2017, p. 105). Por eso resiste los atributos irrelevantes, a diferencia de k vecinos más cercanos, pero sufre con los redundantes: agregar diez copias de la temperatura hace que decida solo por ella (Witten et al., 2017, pp. 105, 289). Entrena en tiempo lineal y puede actualizarse de a un ejemplo, como el perceptrón (Witten et al., 2017, pp. 507, 510).

Un detalle taxonómico: modela cómo cada clase genera sus atributos, P(x | clase), lo que lo hace un modelo generativo; la insignia «discriminativo» se refiere a su uso como clasificador. Comparte con el modelo de n-gramas el conteo y el suavizado, pero tira el orden que aquel conserva.

Fuentes

  • Alammar, J., & Grootendorst, M. (2024). Hands-on large language models: Language understanding and generation. O’Reilly Media. §
  • Buckner, C. J. (2024). From deep learning to rational machines: What the history of philosophy can teach us about the future of artificial intelligence. Oxford University Press. https://doi.org/10.1093/oso/9780197653302.001.0001 §
  • Carnap, R. (1952). The continuum of inductive methods. University of Chicago Press. §
  • Chollet, F. (2021). Deep learning with Python (2nd ed.). Manning Publications. §
  • Maron, M. E. (1961). Automatic indexing: An experimental inquiry. Journal of the ACM, 8(3), 404–417. https://doi.org/10.1145/321075.321084 §
  • Witten, I. H., Frank, E., Hall, M. A., & Pal, C. J. (2017). Data mining: Practical machine learning tools and techniques (4th ed.). Morgan Kaufmann. https://doi.org/10.1016/C2015-0-02071-8 §