如果想觀看相關視頻可以在西瓜視頻(賬號zidea)或者嗶哩嗶哩(賬號zidea2015)找到我發布視頻解說,注意頭像和簡書使用頭像一致。
多搖臂老虎機
在強化學習中多搖臂老虎機相對比較簡單,所以我們就從這個多搖臂老虎機說起,看如何將解決多搖臂老虎機的方法應用到推薦系統中。一個賭徒,要去搖老虎機,走進賭場一看,一排老虎機,外表一模一樣,但是每個老虎機吐錢的概率可不一樣,他不知道每個老虎機吐錢的概率分布是什么,那么每次該選擇哪個老虎機可以做到最大化收益呢?這就是多臂老虎機問題 ( Multi-armed bandit problem, K-armed bandit problem, MAB )。
接下來我們數學的語言簡單描述一些搖臂老虎機問題,以及如何用強化學習方法來解決這個問題。多搖臂老虎機是一個單一狀態的蒙特卡洛規劃,是一種序列決策的問題,這種問題是在利用(exploitation)和探索(exploration)之間保持平衡。
在多搖臂老虎機是簡單強化學習問題
- 無需考慮狀態
- 沒有延時獎勵問題,不會考慮當前狀態對以后發生事情有任何影響
- 所以就只需要學習 State-Action Value 狀態行動價值函數
在搖臂老虎機中狀態、動作和獎勵
-
動作: 搖哪個臂,用
表示第
輪的行為
-
獎勵: 每次搖臂獲得的獎金
表示 t 時刻獲取的獎勵
-
狀態行動價值函數(State-Action Value)
假設搖臂 次,那么按照什么策略搖臂,才能使期望累積獎勵最大,當
已知時,每次都選擇
最大的
(貪心策略)
接下來介紹幾種策略來解決搖臂老虎機問題
貪心策略
- 一般情況下,
對于玩家而言是未知的或具有不確定性。
- 在玩家在第
輪時只能依賴于當時對
估計值
進行選擇
- 此時,貪心策略在第
輪選擇
最大的
利用和探索
利用(Exploitation)
所謂利用就是在保證過去的決策中得到最佳回報,按照貪心策略進行選擇的話,也就是選擇估計的 最大的行為
,這樣做雖然最大化即時獎勵,但是可能由于
只是對
的估計,估計的不確定性導致按照貪心策略選擇行為不一定
最大的行為
探索(Exploration)
所謂探索就是寄希望在未來得到跟大的回報,選擇貪心策略之外的行為(non-greedy actions) 可能短期獎勵會比較低,但是長期獎勵比較高,通過探索可以找到獎勵更大的行為,供后續選擇。
貪心策略和
貪心策略
貪心策略形式化地表示
貪心策略
- 以概率
按照貪心策略進行行為選擇
- 以概率
在所有行為中隨機選擇一個
-
的取值取決于
的方差,方差越大
取值應該越大
根據歷史觀測樣本的平均值對
進行估計
- 約定: 當分母等于 0 時,
- 當分母趨于無窮大時,
收斂于
行為估值的增量式
- 增量式實現
這一輪收益以及之前的均值,好處是無需每次求和。過去均值以及當前收益就可以計算出當前均值。而且可以看成更新就是將當前值更新到過去的值來實現更新。
-
是學習率,在梯度下降中設定
- 看起來是不是有點熟悉,