Inicio · Parte 09 — Probabilidad y procesos aleatorios
P(Xₙ₊₁ | Xₙ, …, X₀) = P(Xₙ₊₁ | Xₙ)
distribución tras n pasos: v·Pⁿ
estacionaria: πP = π, con Σπᵢ = 1
Una cadena de Markov es un proceso en el que el futuro depende del presente pero no del pasado. Esa propiedad de Markov es una simplificación drástica y sorprendentemente útil: basta con la matriz de transición P, donde Pᵢⱼ es la probabilidad de pasar del estado i al j, y cada fila suma 1.
La evolución es álgebra lineal pura. Si v es la distribución actual sobre los estados, tras un paso es vP y tras n pasos es vPⁿ. Toda la parte 06 se vuelve relevante aquí: las potencias de la matriz se calculan con su diagonalización, y la velocidad de convergencia la marca el segundo autovalor en módulo.
La distribución estacionaria π cumple πP = π: es un autovector izquierdo con autovalor 1, y describe el régimen de equilibrio. Si la cadena es ergódica —se puede llegar de cualquier estado a cualquier otro y no hay ciclos rígidos— entonces la estacionaria es única y la cadena converge a ella desde cualquier inicio. La condición inicial se olvida.
Esa propiedad es la base de MCMC: si se quiere muestrear de una distribución imposible de muestrear directamente, se construye una cadena cuya estacionaria sea esa distribución y se la deja correr. PageRank es exactamente lo mismo aplicado al grafo de la web, y los modelos de difusión son un proceso estocástico cuyo reverso se aprende con una red.
Cadena de dos estados y su equilibrio.
P = [[0,9 0,1] filas suman 1 ✓
[0,5 0,5]]
inicio v = [1,0 0,0] seguro en el estado A
paso 1: [0,9000 0,1000]
paso 2: [0,8600 0,1400]
paso 5: [0,8346 0,1654]
paso 20: [0,8333 0,1667]
Estacionaria exacta: resolver πP = π con π₀ + π₁ = 1
0,9π₀ + 0,5π₁ = π₀ → 0,5π₁ = 0,1π₀ → π₀ = 5π₁
π = [5/6 1/6] = [0,833333 0,166667] ✓
Desde v = [0,0 1,0] la cadena converge al mismo π.
Cadena de Markov: matriz de transición y distribución estacionaria.
python classes/part-09-probabilidad-y-procesos-aleatorios/199-cadenas-de-markov/lab.py
compmath run 199
matriz_de_transicionfilas_suman_1estado_inicialtrayectoriadistribucion_finalestacionaria_teoricaconvergeolvida_el_estado_inicial{
"matriz_de_transicion": [
[
0.9,
0.1
],
[
0.5,
0.5
]
],
"filas_suman_1": true,
"estado_inicial": [
1.0,
0.0
],
"trayectoria": [
{
"paso": 1,
"distribucion": [
0.9,
0.1
]
},
{
"paso": 2,
"distribucion": [
0.86,
0.14
]
},
{
"paso": 5,
"distribucion": [
0.83504,
0.16496
]
},
{
"paso": 10,
"distribucion": [
0.83335081,
0.16664919
]
},
{
"paso": 60,
"distribucion": [
0.83333333,
0.16666667
]
}
],
"distribucion_final": [
0.83333333,
0.16666667
],
"estacionaria_teorica": [
0.83333333,
0.16666667
]
}
PageRank, MCMC, modelos ocultos de Markov, aprendizaje por refuerzo con procesos de decisión markovianos y procesos de difusión.
Un modelo de lenguaje es una distribución condicional sobre el siguiente token; la difusión es un proceso estocástico con reverso aprendido.