Perché l'algoritmo di iterazione delle politiche converge in criteri e valori ottimali?


10

Stavo leggendo gli appunti di Andrew Ng sull'apprendimento per rinforzo e stavo cercando di capire perché l'iterazione politica convergesse alla funzione di valore ottimale e politica ottimale .V*π*

L'iterazione della politica di richiamo è:

Inizializzare π a casoRipetere{Let V: =Vπ \ per la politica corrente, risolvi le eqn di bellman e impostale sulla V correnteLet π(S): =un'rgmun'Xun'UNΣS'PSun'(S')V(S')}

Perché un algoritmo goloso porta a una politica ottimale e alla funzione di valore ottimale? (So ​​che algoritmi avidi non sempre lo garantiscono, o potrebbero rimanere bloccati negli optima locali, quindi volevo solo vedere una prova della sua ottimalità dell'algoritmo).

Inoltre, mi sembra che l'iterazione politica sia qualcosa di analogo al clustering o alla discesa gradiente. Al clustering, perché con l'attuale impostazione dei parametri, ottimizziamo. Simile alla discesa del gradiente perché sceglie solo un valore che sembra aumentare alcune funzioni. Questi due metodi non convergono sempre in massimi ottimali e stavo cercando di capire come questo algoritmo fosse diverso dai precedenti che ho menzionato.


Questi sono i miei pensieri finora:

Supponiamo che iniziamo con una politica , quindi dopo il primo passaggio, per quella politica fissa abbiamo che:π1

Vπ1(S)=R(S)+γΣS'PSπ1(S)(S')Vπ1(S')

V(1): =Vπ1(S)

Dove V ^ {(1)} è la funzione valore per la prima iterazione. Quindi dopo il secondo passaggio scegliamo alcune nuove politiche per aumentare il valore di . Ora, con la nuova politica , se facciamo il secondo passo dell'algoritmo, vale la seguente disuguaglianza:π2Vπ1(S)π2

R(S)+γΣS'PSπ1(S)(S')Vπ1(S')R(S)+γΣS'PSπ2(S)(S')Vπ1(S')

Poiché scegliamo nel secondo passaggio per aumentare la funzione valore nel passaggio precedente (ovvero per migliorare . Finora, è chiaro che la scelta di può solo aumentare V ^ {(1)}, perché è così che scegliamo . Tuttavia, la mia confusione arriva nel passaggio di ripetizione, poiché una volta ripetuti e tornati al passaggio 1, in realtà cambiamo completamente le cose perché ricalcoliamo per la nuova politica . Che dà:π2V(1)π2π2V2π2

Vπ2(S)=R(S)+γΣS'PSπ2(S)(S')Vπ2(S')

ma NON è:

Vπ1(S)=R(S)+γΣS'PSπ2(S)(S')Vπ1(S')

Il che sembra essere un problema perché stato scelto per migliorare e non questo nuovo . Fondamentalmente il problema è che garantisce di migliorare facendo invece di quando la funzione valore è . Ma nel passaggio ripetuto cambiamo in , ma non vedo come ciò garantisca che la funzione valore migliora monotonicamente ad ogni ripetizione perché stato calcolato per migliorare la funzione valore quando le funzioni valore rimangono suπ2V(1)Vπ2pio2R(S)+γΣS'PSπ1(S)(S')Vπ1(S')π2pio1Vπ1Vπ1Vπ2π2Vπ1 V π 1, ma il passaggio 1 modifica in (il che è negativo perché I migliorato solo la precedente funzione di valore che avevamo).Vπ1Vπ2π2


1
Solo una nota: l'avido non implica che un algoritmo non troverà una soluzione ottimale in generale.
Regenschein,

1
L'iterazione del valore è un algoritmo di programmazione dinamica, piuttosto che un avido. I due condividono alcune somiglianze, ma ci sono differenze. Dai un'occhiata a stackoverflow.com/questions/13713572/… .
francoisr,

@francoisr nessuno me lo ha mai detto. Forse è per questo che era così (inutilmente) misterioso per me. Conosco DP abbastanza bene. Grazie comunque! :)
Pinocchio,

Risposte:


4

Penso che la parte che ti manca sia che è garantito per lo stesso motivo per cui possiamo ordinare π 2π 1 . Questa è essenzialmente la definizione di una politica migliore di un'altra - che la sua funzione di valore è maggiore o uguale in tutti gli stati. Lo hai garantito scegliendo le azioni di massimizzazione: nessun valore di stato può eventualmente essere peggiore di prima, e se solo una scelta di azione è cambiata per scegliere un'azione di massimizzazione migliore, allora sai già (ma potresti non aver calcolato) che il V π 2 ( s ) per quello stato sarà più alto di quanto non fosse perVπ2Vπ1π2π1Vπ2(s) .Vπ1(s)

Quando scegliamo di massimizzare i risultati per generare , non sappiamo quale sarà il nuovo V π 2 ( s ) per qualsiasi stato, ma sappiamo che s : V π 2 ( s ) V π 1 ( s ) .π2Vπ2(s)s:Vπ2(s)Vπ1(s)

Pertanto, tornando indietro nel ciclo e calcolando per la nuova politica, si garantisce che abbia valori uguali o superiori a prima e quando si tratta di aggiornare nuovamente la politica, π 3π 2π 1 .Vπ2π3π2π1


4

Per prima cosa vediamo perché l'algoritmo di Iterazione delle politiche funziona. Ha due passaggi.

Fase di valutazione delle politiche:

è la forma vettoriale generale del sistema di equazioni lineari.vn=rdn+γPdnvn

Qui, i termini sono premi immediati e righe corrispondenti della matrice di transizione.rdn,Pdn

Questi termini dipendono dalla politica Πn

Risolvendo il sistema di equazioni sopra riportato possiamo trovare i valori di vn

Fase di miglioramento delle politiche:

Supponiamo che siamo riusciti a trovare una nuova politica tale cheΠn+1

rdn+1+γPdn+1vnrdn+γPdnvnrdn+1[io-γPdn+1]vndire che questo è eqn. 1

Ora, in base alla nuova politica , possiamo trovare v n + 1 = r d n + 1 + γ P d n + 1 v n + 1 , diciamo che questa è l'equazione 2.Πn+1vn+1=rdn+1+γPdn+1vn+1

Mostreremo che ;vn+1vn

cioè essenzialmente per tutti gli stati, la nuova politica scelta dà un valore migliore rispetto alla precedente politica Π nΠn+1Πn

Prova:

Da, equazione 2, abbiamo,

[io-γPdn+1]vn+1=rdn+1

1&2

vn+1vn

In sostanza, i valori aumentano monotonicamente ad ogni iterazione.

Questo è importante per capire perché l'Interazione politica non sarà bloccata al massimo locale.

Una politica non è altro che uno spazio di azione statale.

Πn+1Πnrdn+1+γPdn+1vnrdn+γPdnvn

Π*Π#

v*v#

Supponiamo che l'algoritmo sia bloccato sull'ottimale locale.

Π#Π*Π#v*v#

o, in altre parole,

[io-γPd*]v*[io-γPd*]v#

rd*[io-γPd*]v#

rd*+γPd*v#v#

rd*+γPd*v#rd#+γPd#v#

Pertanto, l'iterazione della politica non si ferma a un livello ottimale locale

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.