在強化學習中,策略迭代和的值迭代有什麼區別?價值迭代和策略迭代有什麼區別?
據我所知,在價值迭代中,您使用Bellman方程來求解最優策略,而在策略迭代中,您隨機選擇一個策略π並找到該策略的回報。
我的疑問是,如果您在PI中選擇隨機策略π,它如何保證是最優策略。即使我們正在選擇幾項隨機政策。
在強化學習中,策略迭代和的值迭代有什麼區別?價值迭代和策略迭代有什麼區別?
據我所知,在價值迭代中,您使用Bellman方程來求解最優策略,而在策略迭代中,您隨機選擇一個策略π並找到該策略的回報。
我的疑問是,如果您在PI中選擇隨機策略π,它如何保證是最優策略。即使我們正在選擇幾項隨機政策。
在策略迭代算法,你開始用隨機的政策,然後發現策略(策略評估步驟)的值函數,然後找到基於以前的值函數一個新的(改進)的政策,等等。在這個過程中,每一項政策都保證對前一項政策進行嚴格的改進(除非它已經是最優的)。給定一個政策,其價值函數可以使用Bellman運營商獲得。
在值迭代,您從一個隨機值函數開始,然後在迭代過程中找到一個新的(改進的)值函數,直到達到最優值函數。請注意,您可以從最優值函數輕鬆推導出最優策略。這個過程是基於最佳的Bellman運營商的。
從某種意義上說,兩種算法都有相同的工作原理,可以看作是兩種情況的generalized policy iteration。然而,Bellman算子的最優性包含一個非線性算子,因此它具有不同的特徵。另外,可以在純數值迭代和純策略迭代之間使用混合方法。
很好的描述。那麼讓我在策略迭代中添加這個東西,它使用貝爾曼期望方程,並且在值迭代中使用梅爾曼最大方程。對於值迭代,它可以減少迭代次數,但是對於一次迭代,可以有很多工作。對於策略迭代更多的迭代 –
讓我們一起來看看它們。突出顯示比較的關鍵部分。數字來自Sutton和Barto的書:強化學習:簡介。
以我的經驗,策略迭代快於值迭代,作爲一項政策不是一個值函數收斂更快。我記得這在書中也有描述。
我想混淆主要來自所有這些有點相似的術語,這也讓我很困惑。
我同意策略迭代以更少的迭代收斂,而且我還在幾個地方看過它更快。我在Burlap中用兩種方法做了一些簡單的盒子世界和迷宮解決實驗。我發現價值迭代執行更多的迭代,但花費更少的時間來達到收斂。因人而異。 – Ryan
在https://ai.stackexchange.com/,https://stats.stackexchange.com或https://datascience.stackexchange.com等網站上提出此問題更爲合適。 – nbro