Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Politiikan Arviointi | Dynaaminen Ohjelmointi
Vahvistusoppimisen Perusteet Pythonilla

Politiikan Arviointi

Pyyhkäise näyttääksesi valikon

Note
Määritelmä

Politiikan arviointi on prosessi, jossa määritetään annetun politiikan arvofunktio.

Note
Huomio

Politiikan arviointia voidaan käyttää sekä tilan arvofunktion että toiminnon arvofunktion arvioimiseen. Dynaamisen ohjelmoinnin menetelmissä käytetään kuitenkin tilan arvofunktiota.

Kuten tiedät, annetun politiikan tilan arvofunktio voidaan määrittää ratkaisemalla Bellmanin yhtälö:

vπ(s)=aπ(as)s,rp(s,rs,a)(r+γvπ(s))v_\pi(s) = \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)

Jos ympäristön täydellinen malli on käytettävissä (eli siirtymätodennäköisyydet ja odotetut palkkiot kaikille tila-toiminto -pareille tunnetaan), ainoat tuntemattomat muuttujat yhtälössä ovat tilojen arvot. Näin ollen yllä oleva yhtälö voidaan muotoilla järjestelmäksi, jossa on S|S| lineaarista yhtälöä ja S|S| tuntematonta.

Esimerkiksi, jos MDP:ssä on 2 tilaa (s1s_1, s2s_2) ja 2 toimintoa (siirry s1s_1:een, siirry s2s_2:een), tilan arvofunktio voidaan määritellä seuraavasti:

{V(s1)=0.5(5+0.9V(s1))+0.5(10+0.9V(s2))V(s2)=0.7(2+0.9V(s1))+0.3(0+0.9V(s2))\begin{cases} V(s_1) = 0.5 \cdot (5 + 0.9 \cdot V(s_1)) + 0.5 \cdot (10 + 0.9 \cdot V(s_2)) \\ V(s_2) = 0.7 \cdot (2 + 0.9 \cdot V(s_1)) + 0.3 \cdot (0 + 0.9 \cdot V(s_2)) \end{cases}

Tämä voidaan ratkaista tavanomaisilla lineaarialgebran menetelmillä.

Tällaiselle lineaariselle yhtälöryhmälle on olemassa yksikäsitteinen ratkaisu, jos vähintään yksi seuraavista ehdoista täyttyy:

  • Alennustekijä täyttää ehdon γ<1γ < 1;
  • Politiikka π\pi takaa, että mistä tahansa tilasta ss aloitettaessa episodi päättyy lopulta.

Iteratiivinen politiikan arviointi

Ratkaisu voidaan laskea suoraan, mutta iteratiivinen lähestymistapa on yleisemmin käytetty sen helpon toteutettavuuden vuoksi. Menetelmässä annetaan aluksi satunnaiset alkuarvot kaikille tiloille, paitsi päättäväisille tiloille, jotka asetetaan arvoon 0. Arvoja päivitetään tämän jälkeen iteratiivisesti käyttäen Bellmanin yhtälöä päivityssääntönä:

vk+1(s)aπ(as)s,rp(s,rs,a)(r+γvk(s))v_{k+1}(s) \gets \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_k(s')\Bigr)

Arvioitu tilan arvon funktio vkv_k lähestyy lopulta todellista tilan arvon funktiota vπv_\pi, kun kk \to \infty, jos vπv_\pi on olemassa.

Arvon varmistusstrategiat

Arvioita päivitettäessä uudet arviot lasketaan aiempien arvojen perusteella. Prosessia, jossa aiemmat arviot säilytetään, kutsutaan varmistukseksi. Varmistuksen suorittamiseen on kaksi yleistä strategiaa:

  • Täysi varmistus: tässä menetelmässä uudet arviot tallennetaan erilliseen taulukkoon, joka on eri kuin aiemmat (varmistetut) arvot sisältävä taulukko. Näin ollen tarvitaan kaksi taulukkoa — toinen aiempien arvioiden ylläpitämiseen ja toinen uusien arvojen tallentamiseen;
  • Paikallinen varmistus: tässä lähestymistavassa kaikki arvot säilytetään yhdessä taulukossa. Jokainen uusi arvio korvaa välittömästi aiemman arvon. Tämä menetelmä vähentää muistinkäyttöä, koska tarvitaan vain yksi taulukko.

Yleensä paikallinen varmistus on suositeltavampi, koska se vaatii vähemmän muistia ja lähestyy ratkaisua nopeammin, koska uusimmat arviot otetaan heti käyttöön.

Milloin lopettaa päivitys?

Iteratiivisessa politiikan arvioinnissa ei ole tarkkaa hetkeä, jolloin algoritmin tulisi pysähtyä. Vaikka konvergenssi on taattu ääriarvossa, käytännössä laskentaa ei tarvitse jatkaa tietyn pisteen jälkeen. Yksinkertainen ja tehokas pysäytyskriteeri on seurata absoluuttista erotusta peräkkäisten arvoestimaattien välillä, vk+1(s)vk(s)|v_{k+1}(s) - v_k(s)|, ja verrata sitä pieneen kynnysarvoon θ\theta. Jos täyden päivityskierroksen (kun kaikkien tilojen arvot on päivitetty) jälkeen mikään muutos ei ylitä θ\theta:a, prosessin voi lopettaa turvallisesti.

Pseudokoodi

Politiikan arvioinnin pseudokoodi
question mark

Mikä seuraavista väittämistä pitää paikkansa iteratiivisesta politiikan arviointimenetelmästä?

Valitse oikea vastaus

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 3. Luku 4
some-alt