Funcionamiento Matemático del Clasificador Naive Bayes

Clase 21 de 26Curso de Algoritmos de Clasificación de Texto

Contenido del curso

Resumen

Comprender la lógica matemática detrás de un algoritmo de clasificación es fundamental para aplicarlo con criterio. El clasificador de Naive Bayes es uno de los modelos más utilizados en procesamiento de lenguaje natural, y su funcionamiento se basa en principios de probabilidad que, una vez desglosados, resultan sorprendentemente accesibles.

¿Cómo asigna Naive Bayes una categoría a un documento?

Naive Bayes es un clasificador probabilístico [0:13]. Esto significa que, dado un documento cualquiera, el modelo no elige una categoría de forma directa, sino que calcula una probabilidad para cada categoría posible — deportes, videojuegos, política o cualquier otra — y selecciona aquella con la probabilidad más alta.

La fórmula central parte de la probabilidad condicional: dado un documento D, ¿cuál es la probabilidad de que pertenezca a una categoría C? El modelo evalúa esta expresión para todas las categorías y elige la que arroje el valor máximo, de manera análoga a como se trabaja con modelos de Markov [0:49].

¿Qué papel juega la regla de Bayes en este proceso?

El nombre del algoritmo proviene directamente de la regla de Bayes [1:09]. Esta regla establece que la probabilidad posterior — es decir, la probabilidad de una categoría dado un documento — se calcula combinando tres elementos:

  • La probabilidad condicional previa (likelihood): probabilidad de encontrar ese documento dada una categoría.
  • La probabilidad de la categoría (prior): qué tan frecuente es esa categoría en el corpus.
  • La probabilidad del documento: qué tan frecuente es ese documento en todo el corpus.

Aquí aparece un truco elegante [1:38]: como se comparan varias categorías y todas las probabilidades comparten el mismo denominador (la probabilidad del documento), este se puede eliminar. La relación de orden se preserva — el valor más grande sigue siendo el más grande sin importar que se divida por la misma cantidad. Esto simplifica el problema a calcular solo dos probabilidades.

¿Qué es la hipótesis de Naive Bayes y por qué simplifica los cálculos?

Un documento se caracteriza por un conjunto de atributos o features [2:52]: palabras, n-gramas, bigramas, trigramas, categorías gramaticales o incluso caracteres individuales. La probabilidad condicional de un documento completo dado una categoría involucra todas estas variables simultáneamente.

La hipótesis de Naive Bayes [3:27] introduce una suposición de independencia condicional: la probabilidad conjunta de todos los features dado una categoría se descompone en el producto de las probabilidades individuales de cada feature. En otras palabras, el modelo asume que cada atributo contribuye de forma independiente a la clasificación.

Con esta hipótesis, la fórmula final queda expresada como:

  • La probabilidad de la categoría multiplicada por el producto (representado con la letra pi mayúscula) de todas las probabilidades condicionales de cada feature dado esa categoría [4:12].

¿Por qué se trabaja en espacio logarítmico?

Cuando el número de features es muy grande, multiplicar muchas probabilidades menores que uno genera valores extremadamente pequeños [4:40]. Por ejemplo, 0.1 × 0.2 × 0.03 ya produce un número diminuto, y con cientos de atributos el resultado puede ser tan cercano a cero que la máquina lo interprete como cero. Este problema se conoce como underflow [7:09].

Para evitarlo, se aplica la función logaritmo [5:07]. La propiedad clave es que el logaritmo convierte productos en sumas:

  • El logaritmo de la probabilidad de la categoría más la sumatoria de los logaritmos de cada probabilidad condicional individual.

Esto transforma números extremadamente pequeños en valores negativos manejables. Un valor como 0.0001 se convierte en algo cercano a -4, que es mucho más fácil de procesar computacionalmente [5:52]. Trabajar en el espacio logarítmico garantiza estabilidad numérica sin alterar qué categoría resulta ser la más probable.

¿Cómo se calculan estas probabilidades en la práctica?

Cada una de las probabilidades involucradas se obtiene haciendo conteos sobre el dataset [7:20], de forma similar a los procedimientos usados en modelos markovianos y de máxima entropía. La frecuencia con la que aparece cada feature dentro de cada categoría, y la frecuencia de cada categoría en el corpus, son los datos que alimentan la fórmula.

Esta conexión entre la fórmula matemática y los conteos reales sobre los datos es lo que permite traducir toda esta lógica a código en Python, convirtiendo ecuaciones en instrucciones de programación ejecutables. ¿Te queda claro cómo la hipótesis de independencia simplifica los cálculos? Comparte tus dudas o reflexiones en los comentarios.

      Funcionamiento Matemático del Clasificador Naive Bayes