Policyutvärdering
Svep för att visa menyn
Policy evaluation är en process för att bestämma värdefunktionen för en given policy.
Policyutvärdering kan användas för att uppskatta både state value function och action value function. För DP-metoder kommer dock state value function att användas.
Som du vet kan en state value function för en given policy bestämmas genom att lösa en Bellman-ekvation:
vπ(s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvπ(s′))Om du har en fullständig modell av miljön (dvs. kända övergångssannolikheter och förväntade belöningar för alla tillstånd-handlingspar), är de enda okända variablerna som återstår i ekvationen tillståndsvärdena. Därför kan ekvationen ovan omformuleras som ett system av ∣S∣ linjära ekvationer med ∣S∣ okända.
Till exempel, om en MDP har 2 tillstånd (s1, s2) och 2 handlingar (flytta till s1, flytta till s2), kan tillståndsvärdesfunktionen definieras så här:
{V(s1)=0.5⋅(5+0.9⋅V(s1))+0.5⋅(10+0.9⋅V(s2))V(s2)=0.7⋅(2+0.9⋅V(s1))+0.3⋅(0+0.9⋅V(s2))Detta kan lösas med standardtekniker inom linjär algebra.
En unik lösning för ett sådant linjärt system garanteras om minst ett av följande villkor uppfylls:
- Diskonteringsfaktorn uppfyller γ<1;
- Policyn π, när den följs från ett godtyckligt tillstånd s, säkerställer att episoden så småningom avslutas.
Iterativ policyevaluering
Lösningen kan beräknas direkt, men en iterativ metod används oftare på grund av dess enkla implementering. Denna metod börjar med att tilldela godtyckliga initialvärden till alla tillstånd, förutom terminala tillstånd, vilka sätts till 0. Värdena uppdateras sedan iterativt med hjälp av Bellmans ekvation som uppdateringsregel:
vk+1(s)←a∑π(a∣s)s′,r∑p(s′,r∣s,a)(r+γvk(s′))Den uppskattade tillståndsvärdesfunktionen vk konvergerar så småningom till en sann tillståndsvärdesfunktion vπ när k→∞ om vπ existerar.
Strategier för värdebackup
Vid uppdatering av värdeuppskattningar beräknas nya uppskattningar baserat på tidigare värden. Processen att bevara tidigare uppskattningar kallas en backup. Det finns två vanliga strategier för att utföra backups:
- Full backup: denna metod innebär att de nya uppskattningarna lagras i en separat array, skild från den som innehåller de tidigare (backupade) värdena. Följaktligen krävs två arrayer — en för att behålla de tidigare uppskattningarna och en annan för att lagra de nyberäknade värdena;
- In-place backup: detta tillvägagångssätt behåller alla värden i en enda array. Varje ny uppskattning ersätter omedelbart det tidigare värdet. Denna metod minskar minnesanvändningen, eftersom endast en array behövs.
Vanligtvis föredras metoden in-place backup eftersom den kräver mindre minne och konvergerar snabbare tack vare den omedelbara användningen av de senaste uppskattningarna.
När ska uppdateringen stoppas?
Vid iterativ policyevaluering finns det ingen exakt punkt där algoritmen bör stoppas. Även om konvergens är garanterad i gränsen, är det onödigt i praktiken att fortsätta beräkningarna efter en viss punkt. Ett enkelt och effektivt stoppkriterium är att spåra den absoluta skillnaden mellan på varandra följande värdeuppskattningar, ∣vk+1(s)−vk(s)∣, och jämföra den med en liten tröskel θ. Om, efter en fullständig uppdateringscykel (där värden för alla tillstånd uppdateras), inga förändringar överstiger θ, kan processen avslutas säkert.
Pseudokod
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