Policyförbättring
Policysförbättring är en process för att förbättra policyn baserat på aktuella värdefunktionsuppskattningar.
Precis som vid policysutvärdering kan policysförbättring användas med både tillståndsvärdefunktion och aktionsvärdefunktion. Men för DP-metoder kommer tillståndsvärdefunktionen att användas.
Nu när du kan uppskatta tillståndsvärdefunktionen för en godtycklig policy, är ett naturligt nästa steg att undersöka om det finns några policys som är bättre än den nuvarande. Ett sätt att göra detta är att överväga att ta en annan handling a i ett tillstånd s, och sedan följa den nuvarande policyn. Om detta låter bekant, är det för att det liknar hur vi definierar aktionsvärdefunktionen:
qπ(s,a)=s′,r∑p(s′,r∣s,a)(r+γvπ(s′))Om detta nya värde är större än det ursprungliga tillståndsvärdet vπ(s), indikerar det att att välja åtgärd a i tillstånd s och därefter fortsätta med policyn π leder till bättre utfall än att strikt följa policyn π. Eftersom tillstånd är oberoende är det optimalt att alltid välja åtgärd a när tillstånd s påträffas. Därför kan vi konstruera en förbättrad policy π′, identisk med π förutom att den väljer åtgärd a i tillstånd s, vilket skulle vara överlägset den ursprungliga policyn π.
Sats om policyförbättring
Resonemanget som beskrivs ovan kan generaliseras som satsen om policyförbättring:
⟹qπ(s,π′(s))≥vπ(s)vπ′(s)≥vπ(s)∀s∈S∀s∈SBeviset för denna sats är relativt enkelt och kan uppnås genom en upprepad substitution:
vπ(s)≤qπ(s,π′(s))=Eπ′[Rt+1+γvπ(St+1)∣St=s]≤Eπ′[Rt+1+γqπ(St+1,π′(St+1))∣St=s]=Eπ′[Rt+1+γEπ′[Rt+2+γvπ(St+2)]∣St=s]=Eπ′[Rt+1+γRt+2+γ2vπ(St+2)∣St=s]...≤Eπ′[Rt+1+γRt+2+γ2Rt+3+...∣St=s]=vπ′(s)Förbättringsstrategi
Att uppdatera åtgärder för vissa tillstånd kan leda till förbättringar, men det är mer effektivt att uppdatera åtgärder för alla tillstånd samtidigt. Specifikt, för varje tillstånd s, välj den åtgärd a som maximerar åtgärdsvärdet qπ(s,a):
π′(s)←aargmaxqπ(s,a)←aargmaxs′,r∑p(s′,r∣s,a)(r+γvπ(s′))där argmax (förkortning för argumentet för maximum) är en operator som returnerar värdet på den variabel som maximerar en given funktion.
Den resulterande giriga policyn, betecknad med π′, uppfyller villkoren för policyförbättringssatsen genom konstruktion, vilket garanterar att π′ är minst lika bra som den ursprungliga policyn π, och vanligtvis bättre.
Om π′ är lika bra som, men inte bättre än π, så är både π′ och π optimala policies, eftersom deras värdefunktioner är lika och uppfyller Bellmans optimalitetsekvation:
vπ(s)=amaxs′,r∑p(s′,r∣s,a)(r+γvπ(s′))Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 2.7
Policyförbättring
Svep för att visa menyn
Policysförbättring är en process för att förbättra policyn baserat på aktuella värdefunktionsuppskattningar.
Precis som vid policysutvärdering kan policysförbättring användas med både tillståndsvärdefunktion och aktionsvärdefunktion. Men för DP-metoder kommer tillståndsvärdefunktionen att användas.
Nu när du kan uppskatta tillståndsvärdefunktionen för en godtycklig policy, är ett naturligt nästa steg att undersöka om det finns några policys som är bättre än den nuvarande. Ett sätt att göra detta är att överväga att ta en annan handling a i ett tillstånd s, och sedan följa den nuvarande policyn. Om detta låter bekant, är det för att det liknar hur vi definierar aktionsvärdefunktionen:
qπ(s,a)=s′,r∑p(s′,r∣s,a)(r+γvπ(s′))Om detta nya värde är större än det ursprungliga tillståndsvärdet vπ(s), indikerar det att att välja åtgärd a i tillstånd s och därefter fortsätta med policyn π leder till bättre utfall än att strikt följa policyn π. Eftersom tillstånd är oberoende är det optimalt att alltid välja åtgärd a när tillstånd s påträffas. Därför kan vi konstruera en förbättrad policy π′, identisk med π förutom att den väljer åtgärd a i tillstånd s, vilket skulle vara överlägset den ursprungliga policyn π.
Sats om policyförbättring
Resonemanget som beskrivs ovan kan generaliseras som satsen om policyförbättring:
⟹qπ(s,π′(s))≥vπ(s)vπ′(s)≥vπ(s)∀s∈S∀s∈SBeviset för denna sats är relativt enkelt och kan uppnås genom en upprepad substitution:
vπ(s)≤qπ(s,π′(s))=Eπ′[Rt+1+γvπ(St+1)∣St=s]≤Eπ′[Rt+1+γqπ(St+1,π′(St+1))∣St=s]=Eπ′[Rt+1+γEπ′[Rt+2+γvπ(St+2)]∣St=s]=Eπ′[Rt+1+γRt+2+γ2vπ(St+2)∣St=s]...≤Eπ′[Rt+1+γRt+2+γ2Rt+3+...∣St=s]=vπ′(s)Förbättringsstrategi
Att uppdatera åtgärder för vissa tillstånd kan leda till förbättringar, men det är mer effektivt att uppdatera åtgärder för alla tillstånd samtidigt. Specifikt, för varje tillstånd s, välj den åtgärd a som maximerar åtgärdsvärdet qπ(s,a):
π′(s)←aargmaxqπ(s,a)←aargmaxs′,r∑p(s′,r∣s,a)(r+γvπ(s′))där argmax (förkortning för argumentet för maximum) är en operator som returnerar värdet på den variabel som maximerar en given funktion.
Den resulterande giriga policyn, betecknad med π′, uppfyller villkoren för policyförbättringssatsen genom konstruktion, vilket garanterar att π′ är minst lika bra som den ursprungliga policyn π, och vanligtvis bättre.
Om π′ är lika bra som, men inte bättre än π, så är både π′ och π optimala policies, eftersom deras värdefunktioner är lika och uppfyller Bellmans optimalitetsekvation:
vπ(s)=amaxs′,r∑p(s′,r∣s,a)(r+γvπ(s′))Tack för dina kommentarer!