Prob-01 — Foundations & combinatorics

Toda medida de incertidumbre en ML (la probabilidad de una clase, la verosimilitud de unos datos) se construye sobre estos cimientos: espacios muestrales, eventos y los axiomas de la probabilidad. La combinatoria aparece al contar configuraciones y al derivar distribuciones como la binomial (Prob-05).

Why this matters for ML

Toda medida de incertidumbre en ML (la probabilidad de una clase, la verosimilitud de unos datos) se construye sobre estos cimientos: espacios muestrales, eventos y los axiomas de la probabilidad. La combinatoria aparece al contar configuraciones y al derivar distribuciones como la binomial (Prob-05).

Concepts covered

  • Sample space Ω\Omega y events
  • Axiomas de Kolmogorov
  • Probabilidad en espacios equiprobables (contar)
  • Combinatoria: reglas de la suma/producto, permutaciones, combinaciones
  • Complemento, unión, intersección

Intuition first

🎬 Harvard Stat 110 (Blitzstein) Lectures 1–2, o Khan Academy "Probability". Idea: la probabilidad es "casos favorables / casos posibles" cuando todo es equiprobable, y algo más general cuando no.

Theory & key results

Sample space Ω\Omega: conjunto de todos los resultados posibles de un experimento. Un event AΩA\subseteq\Omega es un subconjunto de resultados.

Axiomas (Kolmogorov):

  1. P(A)0P(A)\ge0.
  2. P(Ω)=1P(\Omega)=1.
  3. Si A1,A2,A_1,A_2,\dots son disjuntos, P(iAi)=iP(Ai)P(\bigcup_i A_i)=\sum_i P(A_i).

De ahí se deducen: P()=0P(\varnothing)=0; P(Ac)=1P(A)P(A^c)=1-P(A) (complemento); e inclusión–exclusión P(AB)=P(A)+P(B)P(AB)P(A\cup B)=P(A)+P(B)-P(A\cap B).

Espacios equiprobables: si Ω\Omega es finito y todos los resultados son igual de probables, P(A)=AΩP(A)=\frac{|A|}{|\Omega|}contar lo es todo.

Combinatoria (herramientas de conteo):

  • Regla del producto: si una tarea tiene aa formas y otra bb, juntas hay aba\cdot b.
  • Permutaciones (orden importa): formas de ordenar kk de nn: P(n,k)=n!(nk)!P(n,k)=\frac{n!}{(n-k)!}.
  • Combinaciones (orden NO importa): elegir kk de nn: (nk)=n!k!(nk)!\binom{n}{k}=\frac{n!}{k!(n-k)!}.

El binomial coefficient (nk)\binom{n}{k} reaparecerá en la distribución binomial (número de formas de tener kk éxitos en nn intentos).

Worked example

Baraja de 52 cartas, saco 5. ¿Probabilidad de exactamente 2 ases?

  • Formas de elegir 2 ases de 4: (42)=6\binom{4}{2}=6.
  • Formas de elegir las otras 3 de las 48 no-ases: (483)=17296\binom{48}{3}=17296.
  • Total de manos: (525)=2598960\binom{52}{5}=2598960.
  • P=61729625989600.0399P = \frac{6\cdot17296}{2598960}\approx0.0399.

Notebook exercises (by hand)

  1. Lanzo 2 dados. Escribe Ω\Omega y calcula P(suma=7)P(\text{suma}=7).
  2. P(AB)P(A\cup B) si P(A)=0.5P(A)=0.5, P(B)=0.4P(B)=0.4, P(AB)=0.2P(A\cap B)=0.2.
  3. ¿De cuántas formas ordeno 5 libros en un estante? ¿Y si elijo y ordeno 3 de 5?
  4. (103)\binom{10}{3} a mano.
  5. En una clase de 30, ¿cuántos comités distintos de 4 personas hay?
  6. Demuestra P(Ac)=1P(A)P(A^c)=1-P(A) desde los axiomas.
  7. (Clásico) Probabilidad de que en un grupo de 23 personas dos cumplan años el mismo día (usa complemento).

Python lab

import numpy as np
from math import comb, perm, factorial
from itertools import product

print("C(10,3):", comb(10,3), " P(5,3):", perm(5,3), " 5!:", factorial(5))

# suma de 2 dados = 7 por enumeración
omega = list(product(range(1,7), repeat=2))
favorable = [o for o in omega if sum(o) == 7]
print("P(suma=7):", len(favorable)/len(omega))     # 6/36

# verifica por simulación (Monte Carlo)
rolls = np.random.randint(1, 7, size=(1_000_000, 2))
print("MC P(suma=7):", np.mean(rolls.sum(axis=1) == 7))

# problema del cumpleaños
def birthday(n, trials=200_000):
    days = np.random.randint(0, 365, size=(trials, n))
    dup = [len(set(row)) < n for row in days]
    return np.mean(dup)
print("P(coincidencia, n=23):", birthday(23))       # ~0.507

Examen final 📝

Intenta cada nivel antes de abrir las soluciones.

🟡 Medio

  1. Lanzo 3 monedas justas. P(exactamente 2 caras)P(\text{exactamente 2 caras}).
  2. ¿De cuántas formas elijo un comité de 3 de un grupo de 8?

🟠 Medio-difícil

  1. En una mano de póker de 5 cartas, P(full house)P(\text{full house})... empieza por algo más simple: P(exactamente un par)P(\text{exactamente un par}) no; calcula P(todas de distinto valor)P(\text{todas de distinto valor}) conceptualmente (esboza el conteo).
  2. P(ABC)P(A\cup B\cup C) por inclusión–exclusión si cada uno tiene prob 0.3, cada par 0.1, y los tres juntos 0.05.

🔴 Difícil

  1. Deriva la fórmula del binomial coefficient (nk)\binom{n}{k} contando de dos maneras (permutaciones con y sin importar el orden) y conéctala con la distribución binomial (Prob-05).
  2. Problema del cumpleaños: deriva la fórmula P(coincidencia)=1365!(365n)!365nP(\text{coincidencia})=1-\frac{365!}{(365-n)!,365^n} y explica por qué con solo n=23n=23 ya supera 50% (intuición: número de pares (n2)\binom{n}{2}).
✅ Soluciones
  1. (32)(0.5)3=3/8=0.375\binom{3}{2}(0.5)^3=3/8=0.375.
  2. (83)=56\binom{8}{3}=56.
  3. P(5 valores distintos)=(135)45(525)P(\text{5 valores distintos})=\frac{\binom{13}{5}\cdot4^5}{\binom{52}{5}}: elige 5 valores de 13, cada uno con 4 palos posibles, sobre todas las manos. 0.507\approx0.507.
  4. 3(0.3)3(0.1)+0.05=0.90.3+0.05=0.653(0.3)-3(0.1)+0.05=0.9-0.3+0.05=0.65.
  5. Ordenar kk de nn da n!(nk)!\frac{n!}{(n-k)!} (permutaciones); pero cada subconjunto de kk se cuenta k!k! veces al variar el orden, así que sin orden hay n!k!(nk)!=(nk)\frac{n!}{k!(n-k)!}=\binom{n}{k}. En la binomial, (nk)\binom{n}{k} cuenta las secuencias de nn ensayos con exactamente kk éxitos.
  6. P(todos distintos)=365365364365365n+1365=365!(365n)!365nP(\text{todos distintos})=\frac{365}{365}\cdot\frac{364}{365}\cdots\frac{365-n+1}{365}=\frac{365!}{(365-n)!365^n}; el complemento es la coincidencia. Hay (232)=253\binom{23}{2}=253 pares, cada uno coincide con prob 1/3651/365; el número esperado de coincidencias ≈0.69, y con tantos pares la probabilidad de al menos una supera 0.5.