Czytałem notatki z wykładu Andrew Ng na temat uczenia się przez wzmacnianie i próbowałem zrozumieć, dlaczego iteracja polityki jest zbieżna z funkcją optymalnej wartości i optymalną polityką .
Przypomnijmy, że iteracja zasad to:
Dlaczego algorytm zachłanny prowadzi do optymalnej polityki i funkcji optymalnej wartości? (Wiem, że zachłanne algorytmy nie zawsze to gwarantują lub mogą utknąć w lokalnych optymach, więc chciałem tylko zobaczyć dowód na jego optymalność algorytmu).
Wydaje mi się również, że iteracja polityki jest czymś analogicznym do klastrowania lub spadku gradientu. Do klastrowania, ponieważ przy obecnym ustawieniu parametrów optymalizujemy. Podobne do opadania gradientu, ponieważ po prostu wybiera wartość, która wydaje się zwiększać jakąś funkcję. Te dwie metody nie zawsze są zbieżne z optymalnymi maksimami i próbowałem zrozumieć, w jaki sposób ten algorytm różni się od poprzednich, o których wspomniałem.
Oto moje dotychczasowe myśli:
Powiedzmy, że zaczynamy od zasady , a następnie po pierwszym kroku, dla tej ustalonej zasady mamy:
Gdzie V ^ {(1)} jest funkcją wartości dla pierwszej iteracji. Następnie po drugim kroku wybieramy nowe zasady aby zwiększyć wartość . Teraz, przy nowej polityce , jeśli zrobimy drugi krok algorytmu, zachowa się następująca nierówność:
Ponieważ wybieramy w drugim kroku, aby zwiększyć funkcję wartości w poprzednim kroku (tj. Poprawić . Jak dotąd jasne jest, że wybranie może tylko zwiększyć V ^ {(1)}, bo tak właśnie wybieramy . Jednak moje zamieszanie pojawia się w kroku powtarzania, ponieważ gdy powtórzymy i wrócimy do kroku 1, faktycznie zmieniamy wszystko całkowicie, ponieważ ponownie obliczamy dla nowej zasady . Co daje:
ale to NIE jest:
Co wydaje się być problemem, ponieważ wybrano do poprawy , a nie tej nowej . Zasadniczo problem polega na tym, że gwarantuje poprawę wykonując w zamian z gdy funkcja wartości to . Ale w kroku powtarzania zmieniamy na , ale nie widzę, jak to gwarantuje, że funkcja wartości poprawia się monotonicznie przy każdym powtórzeniu, ponieważ obliczono, aby poprawić funkcję wartości, gdy funkcje wartości pozostają na poziomie, ale krok 1 zmienia na (co jest złe, ponieważ poprawiłem tylko poprzednią funkcję wartości, którą mieliśmy).