Processi decisionali di Markov - utilità, equazione di Bellman, value e policy iteration
In questa pagina 11
In questa pagina 6
Fin qui l'agente decideva una azione alla volta (ricerca, logica) o ragionava soltanto sullo stato del mondo (reti bayesiane, filtraggio). Qui le due cose si uniscono: sequenze di decisioni in un ambiente incerto, dove ogni azione ha esiti probabilistici e conta il guadagno accumulato nel tempo. L'apprendimento per rinforzo (Cenni a reinforcement learning e reti per sequenzeapprofondimento: non nel programma di Telecomunicazioni, solo cenni (ultima lezione del corso). Reinforcement learning: un agente in uno stato $S_t$ sceglie azioni, l'ambiente restituisce ricompense; l'obiettivo non è minimizzare una loss ma massimizzare il ritorno $G_t=\sum_{k\ge0}\gamma^kR_{t+k+1}$ (fattore di sconto $\gamma\in[0,1)$) trovando la politica ottima $\pi^*=\arg\max G$. Apprendimento di sequenze: servono lunghezze variabili, dipendenze a lungo termine, ordine, parametri condivisi nel tempo; una rete ricorrente aggiorna uno stato $h_t=f_W(h_{t-1},x_t)$; le reti convolutive temporali (TCN) usano convoluzioni causali e dilatate con campo recettivo $1+(k-1)\sum d_\ell$. Chiude con i modelli generativi (VAE, GAN) già visti in Autoencoder.Cenni a reinforcement learning e reti per sequenze →) risolve lo stesso problema senza conoscere il modello; qui il modello è noto e si calcola la soluzione. Le esercitazioni sono Esercizio - Utilità attesa, maximax e maximin (laboratorio 9), Esercizio - MDP con value iteration, policy iteration e Q-learning (laboratorio 9), Esercizio - Quiz a domande crescenti e utilità degli stati (slide del corso), Esercizio - Value iteration sul mondo 4x3 (slide del corso) e Esercizio - Policy iteration sul mondo 4x3 (slide del corso).
1. Utilità attesa e decisioni sequenziali
Definizione (utilità attesa). Se l'azione porta nello stato con probabilità e misura quanto è desiderabile (di solito normalizzata tra 0 e 1, ma può essere in euro, punti, ...), l'utilità attesa dell'azione è Il principio di massima utilità attesa (MEU) sceglie l'azione con più alta. È un Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso → (Incertezza - probabilità, regola di Bayes e indipendenza condizionataUn agente con osservazioni parziali non può usare regole logiche rigide ("mal di denti implica carie" è falso): usa la probabilità come grado di credenza e, con la teoria dell'utilità, sceglie l'azione con utilità attesa massima. Strumenti: distribuzione congiunta completa (tabella di $2^n$ valori), marginalizzazione $P(Y\mid e)=\alpha\sum_h P(Y,e,h)$ con costante di normalizzazione $\alpha=1/P(e)$, regola del prodotto $P(a,b)=P(a\mid b)P(b)$, regola di Bayes $P(\text{causa}\mid\text{effetto})=\frac{P(\text{effetto}\mid\text{causa})P(\text{causa})}{P(\text{effetto})}$ e indipendenza condizionata $P(a,b\mid c)=P(a\mid c)P(b\mid c)$, che permette di scomporre la congiunta in tabelle più piccole. Un test con sensibilità 73% e falsi positivi 12% su una malattia con prior 1/700 dà una probabilità a posteriori di appena 0,9%.Incertezza - probabilità, regola di Bayes e indipendenza condizionata → per le probabilità).
Il MEU non è l'unico criterio. Il maximax valuta ogni azione con il suo miglior esito e sceglie il massimo (ottimista); il maximin la valuta con il suo peggior esito e sceglie il massimo (prudente). Possono dare scelte diverse dal MEU: lo si vede nell'esercizio del laboratorio 9.
Esempio (quiz a domande crescenti). Quattro domande da 100, 1 000, 10 000 e 50 000 euro, con probabilità di risposta esatta . A ogni domanda si può ritirarsi incassando quanto accumulato, oppure rispondere: se si sbaglia si perde tutto. Il montepremi accumulato dopo è 100, 1 100, 11 100 euro.
Si ragiona dall'ultima domanda all'indietro, perché il valore di una domanda dipende da quello della successiva:
- : ritirarsi vale 11 100; rispondere vale . Si ritira: .
- : ritirarsi vale 1 100; rispondere vale . Si risponde: .
- : ritirarsi vale 100; rispondere vale . .
- : ritirarsi vale 0; rispondere vale . .
Il numero accanto a ogni stato è la sua utilità: il guadagno atteso da quel punto in poi se si agisce sempre in modo ottimale. È l'idea dell'equazione di Bellman, applicata qui a un problema che non ha cicli.
2. La famiglia dei modelli di Markov
| Passivo (solo osservazioni) | Attivo (con azioni) | |
|---|---|---|
| Stato completamente osservabile | catena di Markov | MDP |
| Stato parzialmente osservabile | HMM | POMDP |
Catene di Markov e HMM sono in Ragionamento probabilistico nel tempo - catene di Markov, HMM, filtraggio e smoothingPer ragionare sul tempo il mondo è una sequenza di istanti: stato nascosto $X_t$ ed evidenza osservata $E_t$. Ipotesi di Markov del primo ordine $P(X_t\mid X_{0:t-1})=P(X_t\mid X_{t-1})$ (modello di transizione) e ipotesi del sensore $P(E_t\mid X_{0:t},E_{1:t-1})=P(E_t\mid X_t)$ (modello del sensore): congiunta $P(X_0)\prod_t P(X_t\mid X_{t-1})P(E_t\mid X_t)$. Un HMM ha uno stato discreto a $S$ valori: transizione = matrice $\mathbf T$ ($T_{ij}=P(X_t=j\mid X_{t-1}=i)$), sensore = matrici diagonali $\mathbf O_t$. Compiti: filtraggio $P(X_t\mid e_{1:t})$, predizione $P(X_{t+k}\mid e_{1:t})$, smoothing $P(X_{t-k}\mid e_{1:t})$, spiegazione più probabile $\arg\max P(x_{1:t}\mid e_{1:t})$. Filtraggio ricorsivo: $\mathbf f_t=\alpha,\mathbf O_t\mathbf T^\top\mathbf f_{t-1}$ (predizione, poi aggiornamento). Mondo dell'ombrello: $\mathbf f_1=\langle0{,}818;\ 0{,}182\rangle$, $\mathbf f_2=\langle0{,}883;\ 0{,}117\rangle$. Senza normalizzare, $\mathbf s_t=\mathbf O_t\mathbf T^\top\mathbf s_{t-1}$ dà la verosimiglianza $P(e_{1:t})$.Ragionamento probabilistico nel tempo - catene di Markov, HMM, filtraggio e smoothing →. Un MDP aggiunge a una catena di Markov le azioni e le ricompense; un POMDP aggiunge a un MDP un modello di sensore, come in un HMM.
3. Definizione di MDP
Definizione (MDP). Problema decisionale sequenziale in un ambiente completamente osservabile e stocastico, dato da
- un insieme di stati , con stato iniziale ;
- un insieme di azioni per ogni stato;
- un modello di transizione : probabilità di arrivare in eseguendo in ;
- una funzione di ricompensa , numero (positivo o negativo) assegnato alla transizione.
La proprietà di Markov dice che non dipende dalla storia passata.
Si distingue: la ricompensa è locale (riguarda una transizione), l'utilità è globale (somma anche tutto il futuro).
Modello di transizione e azioni incerte. Se l'agente ha una distribuzione sullo stato corrente, la probabilità di arrivare in con l'azione è che è la probabilità totale (Formula delle probabilità totali e formula di BayesSe (A_i) è una partizione di Ω, P(B) = Σ P(B ∣ A_i) P(A_i) (probabilità totali); la formula di Bayes inverte il condizionamento: P(A_k ∣ B) = P(B ∣ A_k) P(A_k) / P(B).Formula delle probabilità totali e formula di Bayes →) ed è la probabilità che serve per l'. Ha la stessa forma della formula di aggiustamento di Interventi e operatore do - criterio backdoor e aggiustamentoOsservare $X=x$ e forzare $X=x$ sono cose diverse: $P(y\mid x)\ne P(y\mid do(x))$ quando c'è un confondente. L'intervento $do(X=x)$ si calcola con la «chirurgia» del grafo (si tolgono le frecce entranti in X) e si traduce in probabilità osservazionali con la formula di aggiustamento $P(y\mid do(x))=\sum_z P(y\mid x,z)P(z)$, dove $Z$ sono i genitori di X, o più in generale un insieme S che soddisfa il criterio backdoor: blocca ogni cammino backdoor (cammino da X a Y che inizia con una freccia entrante in X) e non contiene discendenti di X. Effetto causale medio $ACE=P(y\mid do(x))-P(y\mid do(\neg x))$. Se il confondente non è osservabile ma c'è un mediatore Z con X→Z→Y, vale il front-door $P(y\mid do(x))=\sum_z P(z\mid x)\sum_{x'}P(y\mid x',z)P(x')$. Mediazione: effetto diretto controllato CDE con $do(x),do(z)$. Se due insiemi backdoor danno risultati diversi sui dati, il modello è sbagliato. Argomento del corso da 9 CFU.Interventi e operatore do - criterio backdoor e aggiustamento →: si media su ciò che non si controlla.
Esempio (il mondo 4x3). Griglia con 4 colonne e 3 righe; la cella è un muro. Le celle e sono terminali: entrare in dà ricompensa , entrare in dà . Ogni altra transizione ha ricompensa (qui , un piccolo costo per ogni passo). L'azione ha esito incerto: con probabilità il robot va nella direzione voluta, con probabilità per parte devia a sinistra o a destra rispetto alla direzione voluta. Un urto contro un muro o il bordo lascia fermi.
Grafico interattivo: Mondo 4x3: colonne 1-4 da sinistra, righe 1-3 dal basso; muro in (2,2), terminali (4,3) con +1 e (4,2) con −1. Con l'azione Su da (1,1) il robot va in (1,2) con probabilità 0,8 e devia in (2,1) con 0,1 (a sinistra c'è il bordo e resta in (1,1) con 0,1)
Politica. La soluzione di un MDP non è una sequenza di azioni (con esiti incerti non si sa dove si finirà) ma una politica : per ogni stato raggiungibile dice che azione eseguire, . Una politica si misura con l'utilità attesa delle sequenze di azioni che produce; la politica ottima è quella con utilità attesa massima.
Nel mondo 4x3 la politica ottima dipende da . Ricalcolata con value iteration, per la politica ottima è
| colonna 1 | colonna 2 | colonna 3 | colonna 4 | |
|---|---|---|---|---|
| riga 3 | Destra | Destra | Destra | +1 |
| riga 2 | Su | muro | Su | −1 |
| riga 1 | Su | Sinistra | Sinistra | Sinistra |
e per molto negativo (sotto circa ) restare in gioco costa troppo e da l'agente va Su, dritto nel , per finire subito; per appena sotto zero (tra circa e ) il passo costa poco e l'agente evita il con più prudenza, per esempio da va Giù e urta il bordo; con conviene non terminare mai. Le soglie sono quelle delle slide del corso.
4. Utilità nel tempo e fattore di sconto
L'orizzonte può essere finito (dopo passi non conta più nulla: la politica ottima dipende dal tempo rimasto, è non stazionaria) oppure infinito (nessun motivo di comportarsi diversamente nello stesso stato in momenti diversi: la politica è stazionaria, dipende solo dallo stato). Il corso tratta il caso infinito.
L'utilità di una sequenza di stati è la somma delle ricompense scontate con un fattore : vicino a 1: l'agente aspetta volentieri una ricompensa lontana; vicino a 0: non vuole aspettare. Con e ricompense limitate la serie converge (Cenni a reinforcement learning e reti per sequenzeapprofondimento: non nel programma di Telecomunicazioni, solo cenni (ultima lezione del corso). Reinforcement learning: un agente in uno stato $S_t$ sceglie azioni, l'ambiente restituisce ricompense; l'obiettivo non è minimizzare una loss ma massimizzare il ritorno $G_t=\sum_{k\ge0}\gamma^kR_{t+k+1}$ (fattore di sconto $\gamma\in[0,1)$) trovando la politica ottima $\pi^*=\arg\max G$. Apprendimento di sequenze: servono lunghezze variabili, dipendenze a lungo termine, ordine, parametri condivisi nel tempo; una rete ricorrente aggiorna uno stato $h_t=f_W(h_{t-1},x_t)$; le reti convolutive temporali (TCN) usano convoluzioni causali e dilatate con campo recettivo $1+(k-1)\sum d_\ell$. Chiude con i modelli generativi (VAE, GAN) già visti in Autoencoder.Cenni a reinforcement learning e reti per sequenze → per i passaggi); con serve che la politica raggiunga prima o poi uno stato terminale, altrimenti l'utilità diverge (come nel mondo 4x3).
5. L'equazione di Bellman
Definizione (equazione di Bellman). L'utilità di uno stato è la ricompensa attesa della prossima transizione più l'utilità scontata dello stato successivo, supponendo di scegliere l'azione ottima: La somma da massimizzare è la funzione azione-utilità (Q-function) La politica ottima si legge da : .
Con stati ci sono equazioni in incognite (le utilità), ma non sono lineari a causa del : non si risolvono con l'algebra lineare, e si risolvono iterando.
Esempio: lo stato del mondo 4x3 con , e le utilità finali , , . Le quattro azioni, tenendo presente che il muro o il bordo lasciano fermi:
- Su: ;
- Sinistra: (a sinistra c'è il bordo: restano fermi);
- Giù: ;
- Destra: .
Il massimo è Su, e vale proprio : l'equazione è soddisfatta. La politica in è Su (come nelle slide).
6. Value iteration
Idea. Si parte da utilità arbitrarie (di solito 0) e si applica l'equazione di Bellman come aggiornamento, finché le utilità non cambiano più: L'aggiornamento è simultaneo: si calcola per tutti gli stati usando solo . Si ferma quando la massima variazione scende sotto (garantisce che l'errore sulle utilità sia al più ). L'uscita serve poi a ricavare la politica con : questo è il passo in più che manca all'algoritmo.
Esempio completo: prime iterazioni nel mondo 4x3 (, , ovunque).
Iterazione 1. Con ogni vale la ricompensa attesa immediata. Per , azione Destra: (entra in ) (su: bordo, resta) (giù: va in ) . Gli stati lontani dai terminali valgono solo .
Iterazione 2. Ora propaga l'informazione. Per , Destra: . Per , Destra: .
Le utilità delle prime iterazioni (verificate con NumPy; per i terminali è scritta la ricompensa):
| iterazione | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | −0,0400 | −0,0400 | 0,7920 | −0,0400 | −0,0400 | −0,0400 | −0,0400 | −0,0400 | −0,0400 |
| 2 | −0,0800 | 0,5856 | 0,8672 | −0,0800 | 0,4936 | −0,0800 | −0,0800 | −0,0800 | −0,0800 |
| 3 | 0,4125 | 0,7709 | 0,9281 | −0,1200 | 0,6071 | −0,1200 | −0,1200 | 0,3389 | −0,1200 |
| 4 | 0,6060 | 0,8566 | 0,9455 | 0,2660 | 0,6672 | −0,1600 | 0,2071 | 0,4217 | 0,1231 |
| finale (40) | 0,8516 | 0,9078 | 0,9578 | 0,8016 | 0,7003 | 0,7453 | 0,6953 | 0,6514 | 0,4279 |
L'informazione parte dai terminali e si diffonde come un'onda: dopo iterazioni sono "informate" solo le celle a distanza al più dai terminali. Fermando l'iterazione quando servono 40 iterazioni e si ritrovano esattamente i valori delle slide. (Con la soglia si annulla: si fissa direttamente una tolleranza su .)
Pregi e limiti. Value iteration ha iterazioni semplici e veloci ma ne servono molte; i risultati intermedi non sono politiche utili; è adatto a spazi di stati piccoli.
import numpy as np
def value_iteration(P, R, gamma, eps=1e-6):
"""P: (A,S,S) probabilita' P[a,s,s'], R: (S,A) ricompensa attesa R[s,a]."""
V = np.zeros(P.shape[1])
while True:
Q = R.T + gamma * P @ V # Q[a,s] = R(s,a) + gamma * sum_s' P(s'|s,a) V(s')
V_new = Q.max(axis=0) # aggiornamento simultaneo di tutti gli stati
delta = np.abs(V_new - V).max()
V = V_new
if delta <= eps * (1 - gamma) / gamma:
return V, Q.argmax(axis=0) # utilita' e politica greedy7. Policy iteration
Idea. Si lavora direttamente sulle politiche. Partendo da una politica si alternano due passi:
- valutazione: dato fisso, si calcola , l'utilità di ogni stato se si seguisse ;
- miglioramento: con si calcola la politica .
Si termina quando il miglioramento non cambia la politica.
Valutazione. È la stessa equazione di Bellman senza il max, perché l'azione è fissata a : Sono equazioni lineari in incognite: si risolvono con l'algebra lineare, (con la matrice di transizione della politica, il vettore delle ricompense attese). Per esempio, con , , : e così per le altre celle. Nell'esercizio Esercizio - Policy iteration sul mondo 4x3 (slide del corso) il sistema è risolto per intero.
Esempio (riassunto). Partendo dalla politica "Su ovunque", policy iteration nel mondo 4x3 converge in 5 iterazioni: l'utilità di sotto la politica corrente vale ; poi ; ; e infine ancora (la politica non cambia più). La politica finale coincide con quella di value iteration.
def policy_iteration(P, R, gamma):
S = P.shape[1]
pi = np.zeros(S, dtype=int) # politica iniziale: azione 0 ovunque
while True:
P_pi = P[pi, np.arange(S)] # riga s = P(.|s, pi(s))
R_pi = R[np.arange(S), pi]
V = np.linalg.solve(np.eye(S) - gamma * P_pi, R_pi) # valutazione: sistema lineare
Q = R.T + gamma * P @ V
new = Q.argmax(axis=0) # miglioramento: azione greedy rispetto a V
if (new == pi).all():
return V, pi
pi = newConfronto.
value iteration policy iteration iterazione semplice e veloce (un aggiornamento di Bellman) più pesante (risolve un sistema lineare) numero di iterazioni molte per convergere a poche per convergere a politica serve un passo finale ogni iterazione dà una politica utilizzabile, anche se non ottima uso pochi stati molti stati
8. Cenno al Q-learning
Value e policy iteration richiedono di conoscere e . Se il modello è ignoto (apprendimento per rinforzo) si stima provando le azioni: dopo ogni passo ,
con passo di apprendimento. È l'algoritmo QLearning della libreria del laboratorio 9; con poche iterazioni la politica può restare sbagliata (vedi l'esercizio). Il quadro generale del RL è in Cenni a reinforcement learning e reti per sequenzeapprofondimento: non nel programma di Telecomunicazioni, solo cenni (ultima lezione del corso). Reinforcement learning: un agente in uno stato $S_t$ sceglie azioni, l'ambiente restituisce ricompense; l'obiettivo non è minimizzare una loss ma massimizzare il ritorno $G_t=\sum_{k\ge0}\gamma^kR_{t+k+1}$ (fattore di sconto $\gamma\in[0,1)$) trovando la politica ottima $\pi^*=\arg\max G$. Apprendimento di sequenze: servono lunghezze variabili, dipendenze a lungo termine, ordine, parametri condivisi nel tempo; una rete ricorrente aggiorna uno stato $h_t=f_W(h_{t-1},x_t)$; le reti convolutive temporali (TCN) usano convoluzioni causali e dilatate con campo recettivo $1+(k-1)\sum d_\ell$. Chiude con i modelli generativi (VAE, GAN) già visti in Autoencoder.Cenni a reinforcement learning e reti per sequenze →.
9. POMDP: quando lo stato non si vede
Un POMDP è un MDP con in più un modello di sensore : l'agente non conosce lo stato vero ma riceve osservazioni .
Definizione (stato di credenza, belief state). Distribuzione di probabilità sugli stati: . Si risolve il problema come un normale MDP i cui stati sono le credenze.
Ciclo decisionale. (1) dato , si esegue ; (2) si osserva ; (3) si aggiorna la credenza e si ripete. L'aggiornamento è il filtraggio con in più l'azione (stessa struttura di Ragionamento probabilistico nel tempo - catene di Markov, HMM, filtraggio e smoothingPer ragionare sul tempo il mondo è una sequenza di istanti: stato nascosto $X_t$ ed evidenza osservata $E_t$. Ipotesi di Markov del primo ordine $P(X_t\mid X_{0:t-1})=P(X_t\mid X_{t-1})$ (modello di transizione) e ipotesi del sensore $P(E_t\mid X_{0:t},E_{1:t-1})=P(E_t\mid X_t)$ (modello del sensore): congiunta $P(X_0)\prod_t P(X_t\mid X_{t-1})P(E_t\mid X_t)$. Un HMM ha uno stato discreto a $S$ valori: transizione = matrice $\mathbf T$ ($T_{ij}=P(X_t=j\mid X_{t-1}=i)$), sensore = matrici diagonali $\mathbf O_t$. Compiti: filtraggio $P(X_t\mid e_{1:t})$, predizione $P(X_{t+k}\mid e_{1:t})$, smoothing $P(X_{t-k}\mid e_{1:t})$, spiegazione più probabile $\arg\max P(x_{1:t}\mid e_{1:t})$. Filtraggio ricorsivo: $\mathbf f_t=\alpha,\mathbf O_t\mathbf T^\top\mathbf f_{t-1}$ (predizione, poi aggiornamento). Mondo dell'ombrello: $\mathbf f_1=\langle0{,}818;\ 0{,}182\rangle$, $\mathbf f_2=\langle0{,}883;\ 0{,}117\rangle$. Senza normalizzare, $\mathbf s_t=\mathbf O_t\mathbf T^\top\mathbf s_{t-1}$ dà la verosimiglianza $P(e_{1:t})$.Ragionamento probabilistico nel tempo - catene di Markov, HMM, filtraggio e smoothing →): dove normalizza. Si scrive : è deterministico perché , , sono dati.
Esempio. Tre stati in fila. L'azione "avanti" porta in avanti di una cella con probabilità e lascia fermi con ; da si resta in . Il sensore dice "muro davanti" con probabilità in e in e . Credenza iniziale , azione "avanti", osservazione "muro".
- Predizione : : ; : ; : .
- Aggiornamento con il sensore: ; ; . La somma è (è ).
- Normalizzazione: .
Le probabilità di transizione tra credenze e la ricompensa definiscono un MDP osservabile sullo spazio delle credenze, la cui politica ottima è ottima anche per il POMDP. Però anche con pochi stati ci sono infinite credenze (sono numeri reali): si discretizza oppure si usano metodi approssimati, come point-based value iteration (PBVI), perché la soluzione esatta è in generale intrattabile.
Applicazioni. Un sistema di guida per persone con demenza durante il lavaggio delle mani (MDP con oltre 20 milioni di stati, 20 istruzioni vocali come azioni); un dispositivo per cercare oggetti a persone ipovedenti (POMDP con stati "oggetto in vista, passi, tappa" e azioni Sinistra, Destra, Su, Giù).
Errori tipici
- Applicare la regola "ritirarsi o rispondere" confrontando solo il guadagno immediato: l'utilità conta anche il futuro.
- Aggiornare gli stati uno alla volta usando valori già nuovi: in value iteration l'aggiornamento è simultaneo (usa solo ).
- Dimenticare che un urto contro un muro lascia nella stessa cella e contribuisce con alla somma.
- Confondere ricompensa (locale) e utilità (globale).
- Usare senza stati terminali raggiungibili: le utilità divergono.
- Pensare che policy iteration abbia il max nella valutazione: lì l'azione è fissa e il sistema è lineare.
- Dare la politica senza il passo finale dopo value iteration.
Domande d'esame
- Un'azione ha tre esiti con probabilità 0,5, 0,3, 0,2 e utilità 8, 1, 5; un'altra ha esiti 10 e −20 con probabilità 0,95 e 0,05. Quale sceglie il MEU? La prima vale ; la seconda . Il MEU sceglie la seconda.
- Quale differenza c'è tra value iteration e policy iteration? Value iteration applica l'aggiornamento di Bellman (con max) a tutti gli stati finché le utilità si stabilizzano, e ricava la politica alla fine; policy iteration alterna valutazione lineare di una politica fissa e miglioramento greedy, fino a politica stabile. Poche iterazioni ma più costose.
- Perché in un POMDP non si può usare lo stato? Perché non è osservabile: si usa lo stato di credenza , aggiornato con , e si risolve l'MDP sulle credenze.
- In value iteration con e , a quale soglia di ci si ferma? .
Versione ripasso
Utilità attesa e decisioni sequenziali
Utilità attesa e MEU. (Valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso →, Incertezza - probabilità, regola di Bayes e indipendenza condizionataUn agente con osservazioni parziali non può usare regole logiche rigide ("mal di denti implica carie" è falso): usa la probabilità come grado di credenza e, con la teoria dell'utilità, sceglie l'azione con utilità attesa massima. Strumenti: distribuzione congiunta completa (tabella di $2^n$ valori), marginalizzazione $P(Y\mid e)=\alpha\sum_h P(Y,e,h)$ con costante di normalizzazione $\alpha=1/P(e)$, regola del prodotto $P(a,b)=P(a\mid b)P(b)$, regola di Bayes $P(\text{causa}\mid\text{effetto})=\frac{P(\text{effetto}\mid\text{causa})P(\text{causa})}{P(\text{effetto})}$ e indipendenza condizionata $P(a,b\mid c)=P(a\mid c)P(b\mid c)$, che permette di scomporre la congiunta in tabelle più piccole. Un test con sensibilità 73% e falsi positivi 12% su una malattia con prior 1/700 dà una probabilità a posteriori di appena 0,9%.Incertezza - probabilità, regola di Bayes e indipendenza condizionata →); si sceglie l'azione con massima. Maximax: si valuta ogni azione con il suo miglior esito; maximin: con il peggior esito. I tre criteri possono scegliere azioni diverse.
Quiz a domande crescenti (si va all'indietro, perché ogni stato dipende dal successivo).
- (ci si ritira);
- ;
- ;
- .
L'utilità di uno stato è il guadagno atteso da lì in poi, agendo sempre in modo ottimale.
MDP
Definizione (MDP). Ambiente osservabile e stocastico, con stati (stato iniziale ), azioni , modello , ricompensa ; proprietà di Markov. La soluzione è una politica , non una sequenza di azioni. Ricompensa locale, utilità globale.
- Famiglia dei modelli: catena di Markov e HMM (passivi, Ragionamento probabilistico nel tempo - catene di Markov, HMM, filtraggio e smoothingPer ragionare sul tempo il mondo è una sequenza di istanti: stato nascosto $X_t$ ed evidenza osservata $E_t$. Ipotesi di Markov del primo ordine $P(X_t\mid X_{0:t-1})=P(X_t\mid X_{t-1})$ (modello di transizione) e ipotesi del sensore $P(E_t\mid X_{0:t},E_{1:t-1})=P(E_t\mid X_t)$ (modello del sensore): congiunta $P(X_0)\prod_t P(X_t\mid X_{t-1})P(E_t\mid X_t)$. Un HMM ha uno stato discreto a $S$ valori: transizione = matrice $\mathbf T$ ($T_{ij}=P(X_t=j\mid X_{t-1}=i)$), sensore = matrici diagonali $\mathbf O_t$. Compiti: filtraggio $P(X_t\mid e_{1:t})$, predizione $P(X_{t+k}\mid e_{1:t})$, smoothing $P(X_{t-k}\mid e_{1:t})$, spiegazione più probabile $\arg\max P(x_{1:t}\mid e_{1:t})$. Filtraggio ricorsivo: $\mathbf f_t=\alpha,\mathbf O_t\mathbf T^\top\mathbf f_{t-1}$ (predizione, poi aggiornamento). Mondo dell'ombrello: $\mathbf f_1=\langle0{,}818;\ 0{,}182\rangle$, $\mathbf f_2=\langle0{,}883;\ 0{,}117\rangle$. Senza normalizzare, $\mathbf s_t=\mathbf O_t\mathbf T^\top\mathbf s_{t-1}$ dà la verosimiglianza $P(e_{1:t})$.Ragionamento probabilistico nel tempo - catene di Markov, HMM, filtraggio e smoothing →), MDP e POMDP (attivi).
- Esito incerto: , stessa forma della formula di aggiustamento di Interventi e operatore do - criterio backdoor e aggiustamentoOsservare $X=x$ e forzare $X=x$ sono cose diverse: $P(y\mid x)\ne P(y\mid do(x))$ quando c'è un confondente. L'intervento $do(X=x)$ si calcola con la «chirurgia» del grafo (si tolgono le frecce entranti in X) e si traduce in probabilità osservazionali con la formula di aggiustamento $P(y\mid do(x))=\sum_z P(y\mid x,z)P(z)$, dove $Z$ sono i genitori di X, o più in generale un insieme S che soddisfa il criterio backdoor: blocca ogni cammino backdoor (cammino da X a Y che inizia con una freccia entrante in X) e non contiene discendenti di X. Effetto causale medio $ACE=P(y\mid do(x))-P(y\mid do(\neg x))$. Se il confondente non è osservabile ma c'è un mediatore Z con X→Z→Y, vale il front-door $P(y\mid do(x))=\sum_z P(z\mid x)\sum_{x'}P(y\mid x',z)P(x')$. Mediazione: effetto diretto controllato CDE con $do(x),do(z)$. Se due insiemi backdoor danno risultati diversi sui dati, il modello è sbagliato. Argomento del corso da 9 CFU.Interventi e operatore do - criterio backdoor e aggiustamento →.
- Orizzonte finito: politica non stazionaria; infinito: stazionaria (caso del corso).
- Utilità di una sequenza: , con : vicino a 1 si aspetta volentieri (Cenni a reinforcement learning e reti per sequenzeapprofondimento: non nel programma di Telecomunicazioni, solo cenni (ultima lezione del corso). Reinforcement learning: un agente in uno stato $S_t$ sceglie azioni, l'ambiente restituisce ricompense; l'obiettivo non è minimizzare una loss ma massimizzare il ritorno $G_t=\sum_{k\ge0}\gamma^kR_{t+k+1}$ (fattore di sconto $\gamma\in[0,1)$) trovando la politica ottima $\pi^*=\arg\max G$. Apprendimento di sequenze: servono lunghezze variabili, dipendenze a lungo termine, ordine, parametri condivisi nel tempo; una rete ricorrente aggiorna uno stato $h_t=f_W(h_{t-1},x_t)$; le reti convolutive temporali (TCN) usano convoluzioni causali e dilatate con campo recettivo $1+(k-1)\sum d_\ell$. Chiude con i modelli generativi (VAE, GAN) già visti in Autoencoder.Cenni a reinforcement learning e reti per sequenze →). Con servono terminali raggiungibili.
- Mondo 4x3: muro in , terminali con e con , ogni altro passo ; esito voluto con , deviazione laterale con ; l'urto lascia fermi. Politica ottima per : riga 3 Destra, Destra, Destra; riga 2 Su, muro, Su; riga 1 Su, Sinistra, Sinistra, Sinistra. Con molto negativo da si va Su nel ; con appena sotto zero da si va Giù.
Equazione di Bellman
Bellman. , con la funzione azione-utilità . Politica ottima: . Sono equazioni non lineari (per il max) in incognite.
Esempio del 4x3 (, , utilità finali): Su (massimo, uguale a ); Sinistra ; Giù ; Destra .
Value iteration
Algoritmo. . Ripetere: per tutti gli stati insieme (aggiornamento simultaneo, si usa solo ). Stop quando . Poi (passo in più).
Esempio 4x3. Iter. 1: , gli altri stati valgono . Iter. 2: ; . Valori finali (40 iterazioni): riga 3 ; riga 2 e ; riga 1 . L'informazione si propaga dai terminali come un'onda.
V = np.zeros(S)
while True:
Q = R.T + gamma * P @ V # Q[a,s]; P: (A,S,S), R: (S,A)
V_new = Q.max(axis=0)
done = np.abs(V_new - V).max() <= eps * (1 - gamma) / gamma
V = V_new
if done: break
policy = Q.argmax(axis=0)Policy iteration
Algoritmo. Da si alternano valutazione (con fisso, senza max, sistema lineare ) e miglioramento . Si termina quando la politica non cambia.
Esempio. Con , , : , e così per le altre celle. Da "Su ovunque" nel 4x3: (5 iterazioni), politica finale uguale a value iteration.
| value iteration | policy iteration | |
|---|---|---|
| iterazione | semplice e veloce | pesante (sistema lineare) |
| numero | molte | poche |
| intermedi | inutili | politiche usabili |
| uso | pochi stati | molti stati |
Q-learning (modello ignoto): .
POMDP
Stato di credenza. Distribuzione sugli stati. Ciclo: esegui , osserva , aggiorna . Si risolve l'MDP sulle credenze, che sono infinite: soluzione approssimata (PBVI).
Esempio. ; predizione ; con il sensore , somma ; .
Errori tipici: aggiornare gli stati in sequenza; senza terminali; il max nella valutazione; dimenticare l' finale; confondere ricompensa e utilità; dimenticare che l'urto contro un muro contribuisce con .
Esercizi su questo argomento
- Esercizio - MDP con pymdptoolbox, matrici di transizione e ricompensa (esempio d'esame 2)
- Esercizio - MDP con value iteration, policy iteration e Q-learning (laboratorio 9)
- Esercizio - Policy iteration sul mondo 4x3 (slide del corso)
- Esercizio - Quiz a domande crescenti e utilità degli stati (slide del corso)
- Esercizio - Utilità attesa, maximax e maximin (laboratorio 9)
- Esercizio - Utilità attesa, MEU, maximax e maximin (esempio d'esame 1)
- Esercizio - Value iteration di Mario nel grid world (esempio d'esame 2)
- Esercizio - Value iteration sul mondo 4x3 (slide del corso)