HMMs, clusterização
e MS-VAR
Como descobrir padrões quando o mecanismo que os produz não é diretamente observado?
Use as setas do teclado ou os botões para navegar.
O que é uma cadeia de Markov?
Imagine que uma certa dinâmica admite estados/regimes evoluindo com o tempo. Denote por $S_t$ o regime no instante $t$. A hipótese de Markov diz que, conhecido o estado atual, o passado anterior não acrescenta informação para escolher o próximo estado:
Cada linha de $P$ é uma distribuição de probabilidades: $P_{ij}\geq0$ e $\sum_jP_{ij}=1$. A distribuição inicial $\pi_i=\Pr(S_1=i)$ começa a história.
Se $P_{ii}$ é grande, o estado $i$ tende a persistir.
Três estados, nove transições
De cada estado, as setas mostram para onde a cadeia pode ir no próximo passo. O número junto à seta é a probabilidade da transição; por exemplo, de $A$ para $B$ a chance é $20\%$.
Linhas = estado de origem; colunas = destino. Em cada linha, as probabilidades somam $100\%$.
Quanto tempo ficamos em um estado?
Numa cadeia homogênea, seja $q=P_{ii}<1$. A cada passo no estado $i$, permanecemos nele com probabilidade $q$ e saímos com probabilidade $1-q$.
Uma duração geométrica
$D$ conta os instantes consecutivos no estado $i$ durante uma visita, incluindo o instante de entrada.
Para durar $d$ instantes: fazemos $d-1$ autotransições e depois saímos.
Duração média, via série geométrica
Somamos cada duração $d$, ponderada por sua probabilidade. Como $0\le q<1$:
É uma duração média, esperada. A unidade é o intervalo entre observações.
Likelihood de uma trajetória observada
Observamos $s_0,\ldots,s_T$. Para $\theta=(\pi,P)$, a probabilidade da trajetória, vista como função de $\theta$, é:
Likelihood: produto de probabilidades
O fator $\pi_{s_0}$ escolhe o estado inicial. Cada $P_{s_{t-1},s_t}$ corresponde a uma transição observada.
Loss: negativo do logaritmo
Maximizar a likelihood equivale a minimizar essa loss.
A propriedade de Markov permite usar apenas o estado anterior. Esta independência nos permite escrever a likehood como produtório.
Da cadeia ao HMM
Em um hidden Markov model, não observamos diretamente $S_t$. Observamos $Y_t$, cuja distribuição depende desse estado.
Mecanismo
$S_1\sim\pi$, depois $S_t\mid S_{t-1}\sim P_{S_{t-1},:}$.
Em seguida $Y_t\mid S_t=k\sim \phi_k$. No exemplo, $\phi_k=\mathcal N(c_k,\Sigma_k)$.
Pergunta inversa
Vendo apenas $y_{1:T}$, quais parâmetros e estados são plausíveis?
O modelo pressupõe emissões independentes condicionadas à trajetória de estados.
A hipótese é sobre o modelo, não uma garantia de que os dados reais obedeçam a ela.
Cada estado tem sua gaussiana
A cadeia percorre os estados ocultos. No estado $k$, a observação é amostrada da densidade $\phi_k$.
Um HMM gaussiano em 2D
Altere N, as variâncias dos centros ou a diagonal e sorteie novamente. As variâncias de emissão por estado valem imediatamente.
Controles e detalhes da simulação
Sorteie um modelo para começar.
Elipses tracejadas mostram as emissões circulares; os centros são amostrados com variâncias distintas em x e y.
Centros $c_k\sim\mathcal N(0,\operatorname{diag}(\sigma_x^2,\sigma_y^2))$; emissões circulares $Y_t\mid S_t=k\sim\mathcal N(c_k,v_k I_2)$. Os controles $\sigma_x^2$ e $\sigma_y^2$ mudam a dispersão dos centros; cada estado tem uma única variância de emissão.
Qual é a loss do HMM?
Para uma trajetória hipotética $s_{1:T}$, a densidade conjunta é um produto de probabilidades de estado e densidades de emissão:
Mas só observamos $y_{1:T}$. Somamos sobre todas as trajetórias possíveis e minimizamos o negativo do logaritmo:
Para dados contínuos, $p_\theta(y)$ é uma densidade, não a probabilidade do ponto. $N$ e a família das emissões são escolhas do modelo.
O algoritmo forward soma caminhos
Definimos $\alpha_t(j)$ como a probabilidade conjunta de o estado atual ser $j$ e termos observado o prefixo até $t$:
Como $Y$ é contínuo, $p_\theta$ aqui denota uma densidade conjunta em $y_{1:t}$ e uma probabilidade no estado discreto $S_t$. A soma sobre todos os estados finais recupera a densidade do prefixo observado.
A recorrência custa $O(TN^2)$. Em implementações, usamos reescala ou log-sum-exp para evitar underflow.
EM em duas ideias
Se os estados fossem conhecidos, ajustar transições e emissões seria mais direto. Como não são, alternamos:
E · Expectation
Com os parâmetros atuais, calculamos as probabilidades posteriores dos estados e pares de transições, usando toda a sequência observada.
$\gamma_t(k)=\Pr(S_t=k\mid Y_{1:T}=y_{1:T})$.
M · Maximization
Maximizamos $Q(\theta\mid\theta^{\mathrm{ant}})$, a expectativa da log-verossimilhança completa sobre as trajetórias de estados. As probabilidades do passo E ficam fixas.
Ex.: $\pi_k\leftarrow\gamma_1(k)$.
EM exato não reduz a verossimilhança observada, mas pode chegar a um ótimo local. Reinicializações podem ajudar; covariâncias degeneradas exigem cuidados.
Uma média sobre trajetórias de estados
Para os parâmetros atuais $\theta^{\mathrm{ant}}$, o passo E obtém a distribuição posterior das trajetórias, usando toda a sequência observada:
O passo M procura aumentar a expectativa da log-verossimilhança completa, mantendo $q$ fixa:
No passo E, usamos $\theta^{\mathrm{ant}}$ para determinar $q$. No passo M, variamos $\theta$ dentro do logaritmo, mantendo os pesos $q(s_{1:T})$ fixos.
Da expectativa à verossimilhança observada
Nos dados observados, somamos sobre as trajetórias possíveis e depois tomamos o logaritmo:
Com o posterior exato dos parâmetros atuais no passo E, temos:
Assim, aumentar $Q$ no passo M garante que $\ell$ não diminua. Equivalentemente, a loss $-\ell$ não aumenta.
A desigualdade vem do limite inferior de Jensen: para $q$ fixo, $\ell(\theta)\ge Q(\theta\mid\theta^{\mathrm{ant}})+H(q)$, com igualdade em $\theta^{\mathrm{ant}}$. Aqui $H(q)=-\sum_s q(s)\log q(s)$ é a entropia do posterior e fica constante no passo M.
A expectativa vira contagens suaves
O logaritmo da densidade conjunta separa estado inicial, emissões e transições. A média de cada termo usa as probabilidades posteriores:
Pesos calculados no passo E
O forward–backward calcula $\gamma$ e $\xi$. Esses pesos ficam fixos no passo M.
Objetivo maximizado no passo M
Ajustamos a distribuição inicial $\pi$, as emissões $\phi_k$ e as transições $P$.
Numerador: número esperado de transições $i\to j$. Denominador: número esperado de oportunidades de sair de $i$, incluindo autotransições. A fórmula vale quando o denominador é positivo.
GMM: uma mistura de gaussianas
Para observações independentes, cada ponto recebe um rótulo latente $Z_i$; não há matriz de transição.
Os pesos $w_k$ somam 1. O posterior $\Pr(Z_i=k\mid y_i)$ é uma associação suave: um ponto pode pertencer parcialmente a vários grupos.
EM também se aplica: calcula responsabilidades no passo E e atualiza pesos, médias e covariâncias no passo M.
Da amostra ao ajuste de uma mistura
Primeiro escolha um modelo e amostre. No ajuste, o EM alterna: E calcula responsabilidades; M atualiza pesos, médias e variâncias. Aqui usamos covariâncias diagonais e variância mínima $0{,}03$ por eixo.
A amostra é compartilhada com o outro widget. O ajuste recebe apenas os pontos.
Parâmetros do modelo gerador
K-means: proximidade aos centros
Alternamos: atribuir cada ponto ao centro mais próximo; atualizar cada centro como a média dos pontos atribuídos. A atribuição é rígida.
GMM: modelo probabilístico, grupos com covariâncias e incerteza.
K-means: objetivo geométrico, distância euclidiana, sem probabilidades posteriores.
Ambos dependem da escala das variáveis e da inicialização; K-means pode ter grupos vazios.
Classificar, recalcular, repetir
1 · Atribuição: associe cada ponto ao centro mais próximo. 2 · Atualização: mova cada centro para a média de seu grupo. Repita até as atribuições estabilizarem. As regiões do fundo mostram a classificação pelo centro mais próximo.
A amostra é compartilhada com o outro widget. O ajuste recebe apenas os pontos.
Parâmetros do modelo gerador
MS-VAR: cada estado tem sua regressão
Agora a média da observação depende também do passado observado. Para $t=p,\ldots,T-1$:
$Y_t\in\mathbb R^d$; $x_t$ representa covariáveis dadas. $p$ é o número de defasagens, e cada estado tem seus próprios coeficientes e covariância.
Assim, um regime pode representar uma dinâmica diferente, não apenas uma nuvem em torno de outra média.
Verossimilhança do MS-VAR
Condicionamos no prefixo observado $y_{0:p-1}$ e nas covariáveis $x$. Para cada regime, a densidade local é
O forward é o mesmo, trocando $\phi_k(y_t)$ por $\psi_{t,k}$. O prefixo fornece as defasagens: não entra como observação adicional na loss condicional. Aqui $\pi$ é a distribuição do primeiro estado modelado, $S_p$.
Uma família de perguntas
K-means: quais pontos estão próximos?
GMM: quais distribuições explicam as nuvens?
HMM: como os grupos evoluem no tempo?
MS-VAR: como a própria dinâmica muda entre regimes?
Para discutir: se dois regimes têm emissões semelhantes, como a persistência pode ajudar a distingui-los? Quando ela pode nos induzir ao erro?
Base conceitual: notas pessoais em_and_direct.tex, seções sobre HMM, MS-VAR, verossimilhança marginal e EM. Nesta aula usamos índices de HMM de 1 a T e MS-VAR de 0 a T−1.
Onde uma rede neural entra?
Os estados continuam sendo regimes discretos. As redes podem dar mais flexibilidade a duas partes do modelo:
Escolha do próximo estado
Num HMM homogêneo, a linha $P_{i,:}$ depende apenas do estado atual $i.$
A chance de trocar de regime passa a depender do que acabou de acontecer.
Dinâmica dentro do estado
No MS-VAR, cada regime tem uma regressão linear sobre o passado.
A média condicional $m_{t,k}$ pode descrever uma dinâmica não linear.
Podemos elaborar cada parte separadamente. Nas fórmulas a seguir, $K$ é o número de estados, $p$ é o número de defasagens e $Y_t\in\mathbb R^d$.
Referência para transições condicionadas por entradas: Bengio e Frasconi, An Input Output HMM Architecture (1994).
Uma rede produz cada linha de Pₜ
Antes de gerar $Y_t$, montamos o contexto $h_t=(Y_{t-1},\ldots,Y_{t-p},x_t)$, com covariáveis $x_t$ disponíveis nesse instante. Para cada estado anterior $i$, uma rede produz $K$ números reais $a_{t,i,1:K}$.
O softmax transforma esses números em probabilidades positivas que somam $1$ em cada linha. O estado $i$ pode entrar por uma codificação one-hot, um vetor com $1$ na posição $i$ e $0$ nas demais.
Os pesos $\eta$, incluindo $b,w$ no exemplo, são aprendidos. Se a rede ignorar $h_t$, recuperamos uma matriz de transição constante.
Da regressão linear à dinâmica não linear
MS-VAR
Cada regime transforma linearmente o passado observado.
Elaboração neural
Uma rede por regime, ou uma rede compartilhada que também recebe $k$, prevê a média de $Y_t$.
Uma opção gradual é manter o MS-VAR e acrescentar uma correção neural $r_{\omega,k}$:
Com $r_{\omega,k}=0$, recuperamos o MS-VAR. Com médias constantes e covariâncias por estado, recuperamos as emissões gaussianas do HMM. A letra $f$ aqui denota uma rede; a densidade de emissão continua sendo $\psi_{t,k}$.
Referência: Tsuboka e Takada, Neural Predictive Hidden Markov Model (1995).
A rede muda os fatores; o forward ainda soma
Para a sequência observada, $h_t$ é conhecido. A densidade local e a soma das trajetórias tornam-se:
O forward continua exato porque cada fator depende apenas do estado atual, do anterior e de um contexto comum a todas as trajetórias. A soma de transições custa $O((T-p)K^2)$, além de avaliar as redes.
Condicionamos no prefixo $y_{0:p-1}$ e nas covariáveis; $\pi$ é a distribuição inicial de $S_p$. Aqui $\theta$ reúne parâmetros das redes, covariâncias e distribuição inicial. Usamos log-sum-exp ou reescala na implementação.
Derivar a loss ou continuar usando EM?
Diferenciar o forward
As redes, o softmax, as densidades gaussianas e o forward formam uma computação diferenciável.
O gradiente atravessa a soma dos caminhos; não é necessário sortear estados discretos para calcular essa loss.
EM com passo M numérico
O forward–backward calcula $\gamma_t(k)$ e $\xi_t(i,j)$ com os parâmetros atuais.
Com esses pesos fixos, usamos gradientes para aumentar $Q$, ajustando as redes de transição e de emissão.
Isso é EM generalizado se o passo M de fato aumentar $Q$. Um passo arbitrário de gradiente não garante monotonicidade.
Em $Q$, usamos $\psi_{t,k}(\theta)$ e $P_t(i,j;\theta)$ recalculados com os parâmetros candidatos, mas mantemos $\gamma$ e $\xi$ fixos no passo M.