2021 重啓強化學習(5) 多搖臂老虎機(UCB)

如果想觀看相關視頻可以在西瓜視頻(賬號zidea)或者嗶哩嗶哩(賬號zidea2015)找到我發佈視頻解說,注意頭像和簡書使用頭像一致。

通過一個問題引入置信區間

老虎機
1 1,0,0,1,1,0,0,1,0,1 0.5
2 1 1
3 1,1,0,1,1,1,0,1,1,1 0.8
  • 不只是看平均贏率,還要看贏率的置信度(confidence)

置信區間

其實置信區間沒有那麼複雜,這裏簡單用語言描述一下,就是對 MAB(多搖臂老虎機)我們都是通過嘗試來得到值去推測其概率分佈,那麼我們看到均值是否接近真實值是和我們做實驗次數多少有關係的,也就是實驗次數越多這個值就越準確,這是我們想的,如何用數學嚴謹表達這件事,就引入置信區間的概念。

  • 定義一個範圍,均值會以一定概率落在這個範圍,例如會 0.95 的概率,落在在 0.2 到 0.5 內
  • 實驗次數少,置信區間大,也就是不可靠
  • 實驗次數增加,置信區間變窄,估計越來越準確

樂觀策略

  • 選擇置信區間上界最大搖臂老虎機
  • 通過線性迴歸估計出 \hat{p} 通常會

置信區間的上界

  • 假設已經對老虎機 i 實驗了 m
  • 對其均值的估計
    \hat{\mu}_m = \frac{1}{m} \sum_{i=1}^m R_i
  • 一定概率的置信區間
    |\mu - \hat{\mu}_m| \le b
  • 一定置信區間的概率
    P(|\mu - \hat{\mu}_m| \le b)

Heoffding's inequality

  • X_1,\cdots,X_m 爲獨立同分布的隨機變量,取值範圍爲 [0,1]
  • 真實均值 \mu =\mathbb{E}[X]
  • 實驗估計 \hat{\mu}_m \frac{1}{m} \sum_{i=1}^m X_i
    P(|\mu - \hat{\mu}_m| \le b) \le 2 \exp(-2b^2 m) = \delta
  • 置信區間 b,其中 \delta 是超參數

2 e^{-2b^2m} \le \delta \rightarrow b \ge \sqrt{\frac{\ln(\frac{2}{\delta})}{2m}}

UCB(Upper confidence smapling) 算法

  • 初始化 \hat{\mu}_1 = \cdots = \hat{\mu}_k = 0 以及 n_1 = \cdots = n_k = 0
  • 每一步,計算搖臂的 UCB
    UCB(i) = \hat{\mu}_i + \sqrt{\frac{2 \ln t}{n_i}}
  • 總實驗次數 t 越多,置信區間的 bound 就越大
  • 搖臂老虎機 i 嘗試次數 n_i 越多,置信區間就越窄
  • 讓每個搖臂老虎機總被試,但又考慮已經發現的舉止
UCB 具體操作流程
  • 初始化:對每一臂都嘗試一次
  • 按照如下公式計算每個臂的分數,然後選擇分數最大的臂作爲選擇

UCB(i) = \hat{\mu}_i + \sqrt{\frac{2 \ln t}{n_i}}

  • 觀察結果更新 n_it
  • \hat{\mu}_i 這個臂到目前的收益均值
  • \sqrt{\frac{2 \ln t}{n_i}} 是上界,本質上是均值的標準差
  • t 是實驗次數 n_i 是搖臂 i 臂的次數。
  • 這個公式反映一個特點:均值越大,標準差越小,被選中的概率會越來越大,同時哪些被選次數較少的臂也會得到試驗機會。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章