Almacenes y Minería de datos 2026-2
Supongamos que participamos en el programa en familia con chabelo:
La probabilidad inicial de encontrar el auto detrás de cada puerta es de \frac{1}{3}.
Suponiendo que elegimos la puerta 1, el presentador nos muestra que detrás de la puerta 3 hay una cabra. La pregunta es ¿debemos cambiar a la puerta 2 o quedarnos con la puerta 1?
Definimos:
Probabilidades iniciales:
P(C_1)=P(C_2)=P(C_3)=\frac{1}{3}
La información clave es cómo actúa Chabelo:
P(M_3 \mid C_1)=\frac{1}{2}, \qquad P(M_3 \mid C_2)=1, \qquad P(M_3 \mid C_3)=0
Entonces:
P(M_3)=\frac{1}{2}\cdot\frac{1}{3} +1\cdot\frac{1}{3} +0\cdot\frac{1}{3} =\frac{1}{2}
Probabilidad de ganar si te quedas con la puerta inicial (C_1):
P(C_1 \mid M_3) = \frac{P(M_3 \mid C_1)P(C_1)}{P(M_3)} = \frac{\frac{1}{2}\cdot \frac{1}{3}}{\frac{1}{2}} = \frac{1}{3}
Probabilidad de ganar si cambias a la otra puerta cerrada (C_2):
P(C_2 \mid M_3) = \frac{P(M_3 \mid C_2)P(C_2)}{P(M_3)} = \frac{1\cdot \frac{1}{3}}{\frac{1}{2}} = \frac{2}{3}
La conclusión es que debemos de cambiar de puerta, ya que la probabilidad de ganar el auto es mayor si cambiamos a la puerta 2.
Imagina dos clases:
Una prueba da un resultado raro, más compatible con enfermedad que con salud.
¿Debemos clasificar automáticamente como enfermedad?
La respuesta depende de tres cosas: prevalencia, verosimilitud y costo del error.
Un clasificador determinista aprende una función
f(\mathbf{x}) \to \hat{y}.
Un clasificador probabilístico estima
P(\omega_i\mid \mathbf{x}).
La etiqueta final puede ser:
\hat{\omega}(\mathbf{x}) = \arg\max_i P(\omega_i\mid\mathbf{x}),
pero ahora tenemos una cantidad adicional: incertidumbre.
Para una observación \mathbf{x} y una clase \omega_i:
P(\omega_i\mid\mathbf{x})= \frac{p(\mathbf{x}\mid\omega_i)P(\omega_i)}{p(\mathbf{x})}.
Donde:
Para c clases:
p(\mathbf{x})=\sum_{j=1}^{c} p(\mathbf{x}\mid\omega_j)P(\omega_j).
Como p(\mathbf{x}) es igual para todas las clases, para decidir basta comparar:
p(\mathbf{x}\mid\omega_i)P(\omega_i).
Tip
En cómputo real se trabaja casi siempre con logaritmos para evitar subdesbordamiento numérico.
Esta persona dejó caer su boleto en el pasillo.
¿Le dices?
“Disculpe, señora”
o
“Disculpe, señor”
Tienes que hacer una conjetura.

P(\text{sexo}\mid \text{cabello}) = \frac{ P(\text{cabello}\mid \text{sexo})P(\text{sexo}) }{ \sum_{\text{sexo}} P(\text{sexo})P(\text{cabello}\mid \text{sexo}) }
De cada 100 mujeres en el cine
De cada 100 hombres en el cine
Hagamos los calculos paso a paso, si asumimos que la proporción de hombres y mujeres en el cine es la misma, entonces las probabilidades previas son:
P(H)=P(M)=0.5
Mientras que las verosimilitudes son: P(\text{cabello largo}\mid H)=0.04 P(\text{cabello largo}\mid M)=0.50
teniendo esto, Entonces los numeradores son:
P(\text{largo}\mid H)P(H)=0.04(0.5)=0.02 P(\text{largo}\mid M)P(M)=0.50(0.5)=0.25
Si las probabilidades previas son:
P(H)=P(M)=0.5
donde (H) representa “hombre” y (M) representa “mujer”, entonces:
P(H\mid \text{cabello largo}) = 0.02A \approx 0.07
P(M\mid \text{cabello largo}) = 0.25A \approx 0.93
donde
A=\frac{1}{0.02+0.25}
\Rightarrow \textbf{Decisión: mujer}
Nota
La idea central es que no decidimos solo por la característica observada, sino por cómo esa característica modifica nuestras creencias previas sobre cada clase.
Esta persona dejó caer su boleto en el pasillo.
¿Le dices?
“Disculpe, señora”
o
“Disculpe, señor”
Tienes que hacer una conjetura.
¿Qué pasa si esto ocurre mientras estás formado en la fila del baño de hombres? 
P(\text{sexo}\mid \text{cabello}) = \frac{ P(\text{cabello}\mid \text{sexo})P(\text{sexo}) }{ \sum_{\text{sexo}} P(\text{sexo})P(\text{cabello}\mid \text{sexo}) }
Ahora las probabilidades previas cambian:
P(H)=0.98, \qquad P(M)=0.02
donde (H) representa “hombre” y (M) representa “mujer”.
De cada 2 mujeres en la fila
De cada 98 hombres en la fila
De los datos anteriores:
P(\text{cabello largo}\mid H)=\frac{4}{98}
P(\text{cabello largo}\mid M)=\frac{1}{2}
Calculamos los numeradores de Bayes:
P(\text{cabello largo}\mid H)P(H) = \frac{4}{98}(0.98) = 0.04
P(\text{cabello largo}\mid M)P(M) = \frac{1}{2}(0.02) = 0.01
La constante de normalización es:
B= \frac{1}{0.04+0.01} = 20
Entonces:
P(H\mid \text{cabello largo}) = 0.04B = 0.04(20) = 0.80
P(M\mid \text{cabello largo}) = 0.01B = 0.01(20) = 0.20
Como:
P(H\mid \text{cabello largo}) > P(M\mid \text{cabello largo})
la decisión bayesiana es:
\Rightarrow \textbf{Decisión: hombre}
Importante
La misma evidencia observada —cabello largo— puede llevar a una decisión distinta cuando cambian las probabilidades previas.
En clasificación bayesiana, el contexto modifica la inferencia.
Con p(x\mid\omega_1)=0.20 y p(x\mid\omega_2)=0.40:
La regla de máxima posterior asigna:
\hat{\omega}(\mathbf{x}) = \arg\max_{\omega_i} P(\omega_i\mid\mathbf{x}).
Usando Bayes:
\hat{\omega}(\mathbf{x}) = \arg\max_{\omega_i} p(\mathbf{x}\mid\omega_i)P(\omega_i).
Si todos los errores cuestan lo mismo, MAP minimiza la probabilidad promedio de error.
Para dos clases:
P(e\mid\mathbf{x})= \begin{cases} P(\omega_2\mid\mathbf{x}), & \text{si decidimos }\omega_1,\\ P(\omega_1\mid\mathbf{x}), & \text{si decidimos }\omega_2. \end{cases}
Minimizar el error en cada \mathbf{x} equivale a elegir la posterior mayor.
P(e)=\int P(e\mid\mathbf{x})p(\mathbf{x})\,d\mathbf{x}.
Para dos clases:
\ell(\mathbf{x})= \frac{p(\mathbf{x}\mid\omega_1)}{p(\mathbf{x}\mid\omega_2)}.
La regla es:
\ell(\mathbf{x}) \gtrless_{\omega_2}^{\omega_1} \frac{P(\omega_2)}{P(\omega_1)}.
En logaritmos:
\log \ell(\mathbf{x}) = \log p(\mathbf{x}\mid\omega_1)-\log p(\mathbf{x}\mid\omega_2).
Supón:
P(\omega_1)=0.8,\quad P(\omega_2)=0.2,
p(x\mid\omega_1)=0.15,\quad p(x\mid\omega_2)=0.50.
Calcula:
p(x\mid\omega_1)P(\omega_1),\qquad p(x\mid\omega_2)P(\omega_2).
Resultado: 0.12 contra 0.10. La regla MAP decide \omega_1.
Ahora suponemos que, dentro de cada clase, los datos siguen una distribución normal multivariada:
p(\mathbf{x}\mid\omega_i)= \frac{1}{(2\pi)^{d/2}|\Sigma_i|^{1/2}} \exp\left[-\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu}_i)^T \Sigma_i^{-1}(\mathbf{x}-\boldsymbol{\mu}_i)\right].
Esto produce fronteras de decisión interpretables.
La función discriminante logarítmica es:
g_i(\mathbf{x})= -\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu}_i)^T\Sigma_i^{-1}(\mathbf{x}-\boldsymbol{\mu}_i) -\frac{1}{2}\log|\Sigma_i| +\log P(\omega_i).
Decidimos:
\hat{\omega}(\mathbf{x})=\arg\max_i g_i(\mathbf{x}).
| Supuesto | Frontera | Modelo clásico |
|---|---|---|
| \Sigma_i=\sigma^2 I y priors iguales | Hiperplano por cercanía al centro | Distancia euclidiana |
| \Sigma_i=\Sigma común | Lineal | LDA generativo |
| \Sigma_i diferente por clase | Cuadrática | QDA generativo |
Nota
La forma de la covarianza determina la geometría de la frontera.
En 2D, cada clase tiene:
La frontera se obtiene donde:
g_1(\mathbf{x})=g_2(\mathbf{x}).
La cantidad
(\mathbf{x}-\boldsymbol{\mu}_i)^T\Sigma_i^{-1}(\mathbf{x}-\boldsymbol{\mu}_i)
es una distancia de Mahalanobis.
Significa que el modelo no mide sólo cercanía euclidiana, sino cercanía relativa a la forma de la nube de datos.
Tip
La covarianza codifica orientación, escala y correlación.
Tres preguntas prácticas:
No se trata de que la normalidad sea perfecta, sino de si produce una frontera útil y estable.
En secuencias, la observación no es un vector continuo sino una cadena:
\mathbf{x}=(x_1,x_2,\ldots,x_T).
Ejemplos:
Una opción simple es modelar transiciones con cadenas de Markov.
El supuesto es:
P(x_1,x_2,\ldots,x_T\mid\omega_i) = P(x_1\mid\omega_i)\prod_{t=2}^{T}P(x_t\mid x_{t-1},\omega_i).
La decisión MAP compara:
\log P(\omega_i)+\log P(x_1\mid\omega_i)+ \sum_{t=2}^{T}\log P(x_t\mid x_{t-1},\omega_i).
Score ω1: -8.228
Score ω2: -19.328
Decisión: ω1
El supuesto central: dada la clase, las características son independientes entre sí.
p(\mathbf{x}\mid\omega_i)=\prod_{j=1}^{d}p(x_j\mid\omega_i).
En lugar de estimar una distribución conjunta en d dimensiones, estimamos d marginales de 1D:
\log P(\omega_i\mid\mathbf{x}) = C + \log P(\omega_i)+\sum_{j=1}^{d}\log p(x_j\mid\omega_i).
Tip
El supuesto rara vez es exacto, pero reduce el número de parámetros de O(d^2) a O(d), lo que lo hace estable con pocas muestras.
| Variante | Modelo de p(x_j \mid \omega_i) | Cuándo usarlo |
|---|---|---|
| Gaussiano | \mathcal{N}(\mu_{ij},\,\sigma_{ij}^2) | Variables continuas |
| Multinomial | \theta_{ij}^{n_j} (proporcional) | Conteos de palabras / frecuencias |
| Bernoulli | \theta_{ij}^{x_j}(1-\theta_{ij})^{1-x_j} | Variables binarias (presencia/ausencia) |
| Complemento | Usa la clase complementaria | Texto con clases desbalanceadas |
Nota
La elección de la variante depende del tipo de dato, no de preferencias: equivocarse aquí puede degradar el modelo significativamente.
Un documento se representa como vector de conteos de palabras:
\mathbf{x}=(n_1,n_2,\ldots,n_V), \quad \text{donde }V\text{ es el tamaño del vocabulario.}
En Naïve Bayes Multinomial:
\log P(\mathbf{x}\mid\omega_i)=\sum_{j=1}^{V}n_j\log\theta_{ij}+\text{constante.}
Cada palabra contribuye de forma aditiva e independiente con su peso logarítmico.
Nota
Con V=50{,}000 palabras, estimar la distribución conjunta es imposible. La independencia lo hace tratable con miles de documentos.
Para evitar probabilidades cero cuando una palabra no aparece en entrenamiento:
\hat{\theta}_{ij}= \frac{N_{ij}+\alpha}{\displaystyle\sum_{k=1}^V N_{ik}+\alpha V}.
Advertencia
Sin suavizado, una sola palabra no vista convierte toda la probabilidad del documento en cero, sin importar el resto del texto.
Ventajas
Límites
Tip
Para mejorar calibración: aplicar regresión logística sobre las salidas de NB (calibración de Platt).
Hasta ahora asumimos que todos los errores cuestan lo mismo.
Pero en problemas reales:
Necesitamos minimizar riesgo esperado, no sólo error.
Sea \lambda(\alpha_i\mid\omega_j) la pérdida por decidir acción \alpha_i cuando la clase verdadera es \omega_j.
El riesgo condicional es:
R(\alpha_i\mid\mathbf{x})= \sum_j \lambda(\alpha_i\mid\omega_j)P(\omega_j\mid\mathbf{x}).
Decidimos:
\alpha^*(\mathbf{x})=\arg\min_i R(\alpha_i\mid\mathbf{x}).
Supón:
Si los aciertos tienen pérdida cero:
R(\alpha_1\mid x)=\lambda_{12}P(\omega_2\mid x),
R(\alpha_2\mid x)=\lambda_{21}P(\omega_1\mid x).
Si el falso negativo cuesta más, se requiere una posterior menor para decidir enfermedad.
Con aciertos de costo cero:
\text{decidir enfermedad si}\quad P(\omega_2\mid x)> \frac{\lambda_{21}}{\lambda_{12}+\lambda_{21}}.
Donde:
A veces no queremos minimizar error total, sino imponer una restricción:
P(\text{falso positivo})\leq \alpha.
Esto aparece en:
La decisión se convierte en elegir un umbral que respete la restricción.
Cuando los priors no son confiables, una alternativa es minimizar el peor caso.
En lugar de minimizar:
R = \sum_i P(\omega_i)R_i,
se busca:
\min_\delta \max_i R_i(\delta).
Intuición: elegir una regla que no dependa demasiado de una estimación incierta del prior.
MAP responde:
¿Cuál decisión minimiza el error promedio dado mi prior?
Minimax responde:
¿Cuál decisión evita que una clase quede con un error excesivamente malo?
Esto es útil cuando:
| Enfoque | Qué optimiza | Cuándo usarlo |
|---|---|---|
| MAP | Error promedio con costos iguales | Clases y costos estables |
| Riesgo mínimo | Costo esperado | Errores asimétricos |
| Restricción FPR/TPR | Error bajo restricción | Seguridad, medicina, fraude |
| Minimax | Peor caso | Priors inciertos |
Tienes un clasificador que devuelve:
P(\text{fraude}\mid x)=0.18.
Costos:
¿Bloqueas la transacción?
El umbral para decidir fraude es:
\frac{\lambda_{FP}}{\lambda_{FN}+\lambda_{FP}} =\frac{1}{8+1}=0.111.
Como
0.18>0.111,
conviene bloquear según riesgo mínimo.
Nota
Con MAP puro y umbral 0.5, no bloquearíamos. Con costos, sí.
Los clasificadores bayesianos son una familia de modelos que combinan:
\text{posterior} \propto \text{verosimilitud}\times\text{prior}.
La decisión puede buscar:
Si tuvieras que usar un clasificador bayesiano en un proyecto real, ¿qué sería más delicado: estimar la verosimilitud, estimar el prior o definir la matriz de costos?

Minería de datos · Clasificación probabilística