重複在k個選項或動做中進行選擇,每次作出選擇後,你都會獲得一個收益,收益由你選擇的動做決定的平穩機率分佈產生【action->P(val)】,你的目標是在某段時間內最大化總收益的指望算法
$A_t$:t時刻選擇的動做 $R_t:A_t$對應的收益 $q_* (a)$:任一動做a對應的價值,即給定動做a時,收益的指望 $$q_* (a)=E[R_t | A_t=a]$$ $Q_t(a)$:對$q_* (a)$的估計函數
每次選$Q_t(a)$最高的學習
選擇非貪心的動做優化
使用價值的估計來進行動做的選擇【估計價值->選擇動做】spa
一種天然的方式是經過實際收益的平均值來估計動做的價值,即動做a的總收益/a的次數 $$ Q_t(a)=\frac{\sum_{i=1}^{t-1} R_i* 1_{A_i=a}}{\sum_{i=1}^{t-1} 1_{A_i=a}} $$ 分母爲0時,咱們假定$Q_t(a)=0$,當分母趨向於無窮大時,根據大數定律,$Q_t(a)->q_* (a)$。 因爲每一次估計都是對相關利益樣本的平均,所以咱們稱其爲採樣平均方法,這是一種價值評估的方法,並非最好的方法,咱們暫時經過該評估方法來討論如何使用評估值來選擇動做。io
$$ A_t=\mathop{\arg\max}_ {a} Q_t(a) $$ 利用當前知識最大化眼前的利益,因爲不去試探,可能每次只是選擇了次優的動做,所以$Q_t(a)->q_* (a)$可能不成立搜索
$\epsilon$-貪心,以$\epsilon$的機率不使用貪心規則,而從全部動做中等機率作出選擇,這樣一來,若是時刻無限長,全部動做都會被無限次採樣,從而確保$Q_t(a)->q_* (a)$,即選擇最優動做的機率收斂於$1-\epsilon$技巧
$\epsilon$的選擇更依賴於任務,好比賭博機每一個臂收益的方差爲0,那麼每次選擇都是$q_* (a)$,貪心方法在嘗試一次後就知道每一個動做的真實價值,這種狀況下,貪心方法可能表現最好。方法
非平穩性im
動做的真實價值會隨着時間而變化,這種狀況下,即便是肯定性的狀況下,試探也是須要的
以高效的方式計算樣本均值進行估計 $$ Q_{n+1}=\frac{Q_n*(n-1)+R_n}{n}=Q_n+\frac{R_n-Q_n}{n} $$ 新估計值 <- 舊估計值 + 步長 x [ 目標 - 舊估計值 ]
給近期的收益賦予一個比過去好久的收益更高的權值是一種合理的處理方式,最流行的一種方法是使用固定步長即$\frac{1}{n}->\alpha\in(0,1]$,這個方法也被稱爲指數近因加權平均 $$ Q_{n+1}=Q_n+\alpha (R_n-Q_n)=\alpha R_n+(1-\alpha)Q_n=...=(1-\alpha)^nQ_1+\sum_{i=1}^n\alpha(1-\alpha)^{n-i}R_i $$ 有時候隨時刻一步步改變步長參數,即設$\alpha_n(a)$爲處理第n次選擇動做a後收益的步長參數。當$\alpha_n(a)=\frac{1}{n}$將會獲得採樣平均法 可見,估計是受到初值$Q_1$ 影響的,而$Q_1$ 只能由咱們的經驗設定,所以實際上估計是有偏的(可是漸進無偏)。合理選擇初值,有助於算法找到更好的解。對於採樣均值(sample-average)方法,這種誤差會隨着每一個動做被選擇而消失。對於常數步長方法來講,這種誤差則消失得慢不少。
用以下步長處理某個特定動做的第n個收益 $$ \beta_n=\frac{\alpha}{\bar{o_n}},\bar{o_n}=\bar{o_{n-1}}+\alpha(1-\bar{o_{n-1}}) $$ 證實:
$$ \begin{aligned} Q_{n+1} =& Q_n+\beta_n(R_n-Q_n)\ &=\beta_nR_n+(1-\beta_n)Q_n\ &=\beta_nR_n+(1-\beta_n)\beta_{n-1}R_{n-1}+(1-\beta_n)(1-\beta_{n-1})Q_{n-1}\ &=...\ &=\sum_{i=1}^n (\beta_iR_i \prod_{j=i+1}^{n}(1-\beta_j))+\prod_{i=1}^{n}(1-\beta_i)Q_1\ \beta_1&=\frac{\alpha}{\bar{o_1}}=\frac{\alpha}{0+\alpha}=1\ \Rightarrow\ Q_{n+1} =& \sum_{i=1}^n (\beta_iR_i \prod_{j=i+1}^{n}(1-\beta_j))\ \end{aligned} $$
初始化時對估計價值進行樂觀的選擇,這樣會讓學習器開始的時候對獲得的收益感到失望,即下次會選擇另外一個動做進行修正,這樣,全部動做在估計值收斂前都被嘗試好幾回,即便按照貪心法選擇動做,也相似於進行了大量的試探。 這個方法不適用與非平穩問題,由於它試探的驅動力是暫時的,開始時刻只出現一次。
非貪心動做中,根據他們的潛力來選擇可能事實上最優的動做,這須要考慮他們的估計有多接近最大值,以及這些估計的不肯定性。 一個有效的方式按以下公式選擇動做 $$ A_t=\mathop{\arg\max}_ {a} [Q_t(a)+c\sqrt{\frac{In\ t}{N_t(a)}} $$ $N_t(a)$是t時刻前a被選擇的次數,顯然若是沒被選擇過,則認爲是知足最大化條件的動做。c是大於0的一個數,用於控制試探的程度
和$\epsilon-$貪心相比,更難推廣到其餘研究的更通常的問題中,一個困難是處理非平穩問題時,須要更復雜的方法,另外一個困難是要處理大的狀態空間,即更復雜的問題時,目前尚未已知使用的方法利用UCB動做選擇的思想
使用估計值來選擇動做一般是個好方法,但不是惟一可以使用的方法
針對每一個動做a考慮學習一個數值化的偏好函數$H_t(a)$,偏好函數越大,動做就越頻繁的被選擇,其概念並非從收益意義上出發的,只有一個動做對另外一個動做的相對偏好纔是重要的,即若是咱們隊每一個動做偏好函數都加上1000,則對於下列分佈肯定的動做機率是沒有任何影響的 $$ \pi_t(a)=P(A_t=a)=\frac{e^{H_t(a)}}{\sum_{b=1}^{k} e^{H_t(b)}} $$ 其中,$\pi_t(a)$用來表示動做a在t時刻被選中的機率。
初始化:$H_1(a)=0,\forall a$,即每一個動做被選擇的機率是相同的 基於隨機梯度上升的思想的一種更新方式: 每一個步驟中,在選擇動做$A_t$並得到利益$R_t$以後,偏好函數按以下方式更新 $$ \begin{aligned} H_{t+1}(A_t) &=H_t(A_t)+\alpha(R_t-\bar{R_t})(1-\pi_t(A_t))\ H_{t+1}(a) &=H_t(a)-\alpha(R_t-\bar{R_t})\pi_t(a),a\neq A_t\ \end{aligned} $$ 其中$\alpha$是一個大於0的數,表示步長,$\bar{R_t}$是時刻t內全部收益的平均值,其做爲一個基準項,若收益高於它,那麼將來選擇$A_t$的機率會增長,反之機率會下降。 證實:
$$ \begin{aligned} H_{t+1}(a) &=H_t(a)+\alpha \frac{\partial E[R_t]}{\partial H_t(a)}\ \frac{\partial E[R_t]}{\partial H_t(a)} &=\frac{\partial}{\partial H_t(a)} [\sum_x\pi_t(x)q_* (x)]\ &=\sum_x(q_* (x))\frac{\partial \pi_t(x)}{\partial H_t(a)}\ &=\sum_x(q_* (x)-B_t)\frac{\partial \pi_t(x)}{\partial H_t(a)} ,because \sum_x\pi_t(x)=1\ &=\sum_x \pi_t(x)(q_* (x)-B_t)\frac{\partial \pi_t(x)}{\partial H_t(a)}/\pi_t(x)\ &=E_{A_t\sim \pi_t(x)}[(q_* (x)-B_t)\frac{\partial \pi_t(x)}{\partial H_t(a)}/\pi_t(x)]\ &=E_{A_t\sim \pi_t(x)}[(R_t-\bar{R_t})\frac{\partial \pi_t(x)}{\partial H_t(a)}/\pi_t(x)]\ \frac{\partial \pi_t(x)}{\partial H_t(a)}&=\frac{\partial}{\partial H_t(a)}[\frac{e^{}H_t(x)}{\sum_{y=1}^{k}e^{H_t(y)}}]\ &=\frac{1_{a=x}e^{H_t(x)}\sum_{y=1}^{k}e^{H_t(y)}-e^{H_t(x)}e^{H_t(a)}}{(\sum_{y=1}^{k}e^{H_t(y)})^2}\ &=1_{a=x}\pi_t(x)-\pi_t(x)\pi_t(a)\ &=\pi_t(x)(1_{a=x}-\pi_t(a))\ \frac{\partial E[R_t]}{\partial H_t(a)} &=E_{A_t\sim \pi_t(x)}[(R_t-\bar{R_t})\pi_t(x)(1_{a=x}-\pi_t(a))/\pi_t(x)]\ &=E_{A_t\sim \pi_t(x)}[(R_t-\bar{R_t})(1_{a=x}-\pi_t(a))]\ We\ assum\ &E_{A_t\sim \pi_t(x)}[(R_t-\bar{R_t})(1_{a=x}-\pi_t(a))]=(R_t-\bar{R_t})(1_{a=x}-\pi_t(a))\ H_{t+1}(a) &=H_t(a)+\alpha(R_t-\bar{R_t})(1_{a=x}-\pi_t(a))\ \end{aligned} $$
既採用試錯學習去搜索最有動做,又將這些動做與他們表現最優時的情境關聯起來。
一系列不一樣的k臂賭博機,每一步先隨機選擇其中的一個。所以須要學習一些任務相關的策略,即把每一個任務和該任務下的最有動做關聯起來。好比,若是選擇的賭博機是綠色的,那麼選擇2號臂,若是是紅色的,選1號臂。
關聯搜索處於k臂賭博機問題和完整強化學習問題之間 與賭博機的類似點:每一個動做隻影響吉時利益 與完整強化學習類似點:須要學習一種策略
若是容許動做能夠影響下一時刻的情境和收益,那麼就是完整的強化學習問題了。