Prob-03 — Random variables & distributions

Un modelo de ML produce y consume random variables: la etiqueta es una variable aleatoria, la predicción es una distribución sobre clases, el ruido de los datos es aleatorio. Distinguir variables discretas de continuas y manejar PMF/PDF/CDF es el vocabulario básico para todo lo que sigue (expectation, MLE, gaussianas).

Why this matters for ML

Un modelo de ML produce y consume random variables: la etiqueta es una variable aleatoria, la predicción es una distribución sobre clases, el ruido de los datos es aleatorio. Distinguir variables discretas de continuas y manejar PMF/PDF/CDF es el vocabulario básico para todo lo que sigue (expectation, MLE, gaussianas).

Concepts covered

  • Random variable (discreta vs. continua)
  • PMF (probability mass function)
  • PDF (probability density function)
  • CDF (cumulative distribution function)
  • Support de una distribución
  • Relación PDF ↔ CDF (derivada/integral)

Intuition first

🎬 Stat 110 Lecture 5. Idea: una random variable asigna un número a cada resultado; su distribución dice cómo se reparte la probabilidad entre esos números.

Theory & key results

Random variable (RV): una función X:ΩRX:\Omega\to\mathbb{R} que asigna un número a cada resultado. Ejemplos: número de caras en 3 lanzamientos (discreta), altura de una persona (continua).

Discreta — PMF: pX(x)=P(X=x)p_X(x)=P(X=x). Cumple pX(x)0p_X(x)\ge0 y xpX(x)=1\sum_x p_X(x)=1. La probabilidad "vive" en puntos.

Continua — PDF: fX(x)0f_X(x)\ge0 con fX(x)dx=1\int_{-\infty}^\infty f_X(x),dx=1. Ojo: fX(x)f_X(x) no es una probabilidad (puede ser >1>1); la probabilidad es el área: P(aXb)=abfX(x)dx,P(X=x)=0.P(a\le X\le b)=\int_a^b f_X(x),dx,\qquad P(X=x)=0.

CDF (para ambas): FX(x)=P(Xx)F_X(x)=P(X\le x). Es no decreciente, va de 0 a 1. Relaciones:

  • Continua: FX(x)=xfX(t)dtF_X(x)=\int_{-\infty}^x f_X(t),dt y fX(x)=FX(x)f_X(x)=F_X'(x) (¡conexión con Calc-04!).
  • Discreta: FX(x)=txpX(t)F_X(x)=\sum_{t\le x}p_X(t).

Support: el conjunto de valores donde la distribución es positiva.

Worked example

XX = número de caras en 2 lanzamientos de moneda justa. PMF: p(0)=1/4p(0)=1/4, p(1)=1/2p(1)=1/2, p(2)=1/4p(2)=1/4 (suma 1 ✓). CDF: F(0)=1/4F(0)=1/4, F(1)=3/4F(1)=3/4, F(2)=1F(2)=1.

Continua: densidad uniforme en [0,2][0,2], f(x)=1/2f(x)=1/2. P(0.5X1.5)=0.51.512dx=12(1)=0.5P(0.5\le X\le1.5)=\int_{0.5}^{1.5}\tfrac12 dx=\tfrac12(1)=0.5. CDF: F(x)=x/2F(x)=x/2 en [0,2][0,2].

Notebook exercises (by hand)

  1. XX = suma de 2 dados. Escribe su PMF y verifica que suma 1.
  2. Para el XX del ej. 1, calcula F(4)=P(X4)F(4)=P(X\le4).
  3. f(x)=2xf(x)=2x en [0,1][0,1]: verifica que es densidad y calcula P(X0.5)P(X\le0.5).
  4. Obtén la CDF de f(x)=2xf(x)=2x en [0,1][0,1] y deriva para recuperar ff.
  5. Explica por qué para una RV continua P(X=c)=0P(X=c)=0 pero aún tiene sentido hablar de densidad.
  6. Da un ejemplo de ML donde la salida del modelo sea una PMF (pista: softmax sobre clases).

Python lab

import numpy as np
import matplotlib.pyplot as plt

# PMF de suma de 2 dados
from itertools import product
omega = list(product(range(1,7), repeat=2))
sums = np.array([sum(o) for o in omega])
vals, counts = np.unique(sums, return_counts=True)
pmf = counts/len(omega)
print("PMF suma dados:", dict(zip(vals, np.round(pmf,3))))
print("CDF en 4:", pmf[vals <= 4].sum())

# densidad f(x)=2x en [0,1]: verifica normalización y P(X<=0.5)
import sympy as sp
x = sp.symbols("x")
print("integra a 1:", sp.integrate(2*x, (x, 0, 1)))
print("P(X<=0.5):", sp.integrate(2*x, (x, 0, 0.5)))   # 0.25

# muestrea y compara histograma con la densidad (método de la CDF inversa: X = sqrt(U))
u = np.random.rand(100_000); samples = np.sqrt(u)
plt.hist(samples, bins=50, density=True);
plt.plot(np.linspace(0,1,100), 2*np.linspace(0,1,100))
plt.savefig("prob03.png")

Examen final 📝

Intenta cada nivel antes de abrir las soluciones.

🟡 Medio

  1. XX = número de caras en 3 lanzamientos. Escribe su PMF y verifica que suma 1.
  2. Para f(x)=3x2f(x)=3x^2 en [0,1][0,1]: confirma que es densidad y calcula P(X0.5)P(X\le0.5).

🟠 Medio-difícil

  1. Obtén la CDF de f(x)=3x2f(x)=3x^2 en [0,1][0,1] y derívala para recuperar ff.
  2. Para la exponencial f(x)=λeλxf(x)=\lambda e^{-\lambda x}: obtén la CDF F(x)=1eλxF(x)=1-e^{-\lambda x} y úsala para calcular P(X>t)P(X>t).

🔴 Difícil

  1. Inverse transform sampling: demuestra que si UUniform(0,1)U\sim\text{Uniform}(0,1) y FF es una CDF invertible, entonces X=F1(U)X=F^{-1}(U) tiene CDF FF. Aplícalo para muestrear de una exponencial.
  2. La salida de un softmax es una PMF sobre clases. Explica por qué ksk=1\sum_k s_k=1 y sk>0s_k>0 siempre se cumplen, y qué random variable modela esa PMF en clasificación.
✅ Soluciones
  1. p(0)=1/8, p(1)=3/8, p(2)=3/8, p(3)=1/8p(0)=1/8,\ p(1)=3/8,\ p(2)=3/8,\ p(3)=1/8; suman 8/8=18/8=1.
  2. 013x2dx=[x3]01=1\int_0^1 3x^2dx=[x^3]_0^1=1 ✓. P(X0.5)=[x3]00.5=0.125P(X\le0.5)=[x^3]_0^{0.5}=0.125.
  3. F(x)=0x3t2dt=x3F(x)=\int_0^x 3t^2dt=x^3 en [0,1][0,1]; F(x)=3x2=f(x)F'(x)=3x^2=f(x) ✓.
  4. F(x)=0xλeλtdt=1eλxF(x)=\int_0^x\lambda e^{-\lambda t}dt=1-e^{-\lambda x}. P(X>t)=1F(t)=eλtP(X>t)=1-F(t)=e^{-\lambda t}.
  5. P(Xx)=P(F1(U)x)=P(UF(x))=F(x)P(X\le x)=P(F^{-1}(U)\le x)=P(U\le F(x))=F(x) (última igualdad porque UU es uniforme y F(x)[0,1]F(x)\in[0,1]). Para exponencial: F1(u)=1λln(1u)F^{-1}(u)=-\frac1\lambda\ln(1-u), así que X=1λln(1U)X=-\frac1\lambda\ln(1-U).
  6. sk=ezkjezjs_k=\frac{e^{z_k}}{\sum_j e^{z_j}}: cada ezk>0e^{z_k}>0sk>0s_k>0; y la suma del numerador sobre kk es el denominador ⇒ ksk=1\sum_k s_k=1. Modela una Categorical RV (una etiqueta entre KK clases).