Thompson Sampling for Contextual Bandits with Linear Payoffs(線性收益)
參考論文:
Agrawal S , Goyal N . Thompson Sampling for Contextual Bandits with Linear Payoffs[J]. 2012.
摘要
有關Thompson Sampling理論性能的許多問題仍未解決
本文設計和分析
- Thompson Sampling algorithm
- 隨機 contextual multi-armed bandit 問題(上下文信息由自適應的adversary提供)
- 線性收益函數
Introduction
MAB問題主要用於爲許多順序決策問題中固有的勘探/開發權衡建模。
1. contextual MAB
在這個問題中,在每輪T輪中,一個learner會從N個action中選擇一個最好的,N個action稱爲N個arms。
在選擇要哪個arms之前,learner會看到與每個arm i相 關聯的d維特徵向量bi,稱爲“上下文”。
learner將這些特徵向量與她過去使用過的arm的特徵向量和reward一起使用,以選擇在當前回合中要選擇的arm。
隨着時間的流逝,learner的目標是收集有關特徵向量和reward如何相互關聯的足夠信息,以便她可以確定地通過觀察特徵向量來預測哪條arm可能會提供最佳reward。
learner與一類預測變量競爭,其中每個預測變量都接受特徵向量並預測哪條arm會獲得最佳回報。如果learner可以保證在事後預測中所做的工作與最佳預測者的預測幾乎一樣(即,regret很低——用於評判該learner(算法)的有效性),那麼該learner可以成功地與該類競爭。
pridictor由d爲參數μˉ來定義,然後根據biTμˉ來將arms排序
即:假設有個未知參數μ,則每個arm對應的reward爲biTμˉ,學習者的目標就是學習該未知參數μ
2. Thompson sampling(TS)
基本思想是:假設每個arm的reward分佈的基礎參數具有簡單的先驗分佈,並且在每個時間步長,根據該先驗分佈成爲最佳arm的後驗概率來選擇arm
主要包含以下參數:
- 一組參數μ
- 關於這些參數的先驗分佈p(μˉ)
- 過去的觀察結果D,由t-1時刻的上下文b,獎勵r組成
- 似然函數P(r∣b,μ~)
,即給定上下文b和參數μ的情況下得到獎勵的概率
- 後驗分佈P(μ~∣D)∝P(D∣μ~)P(μ~),其中P(D∣μ~)是似然函數
在每一輪中,TS根據具有最好參數的後驗概率來選擇arm。
一種簡單的方法是使用後驗分佈爲每個arm生成參數樣本,然後選擇生成最佳樣本的arm。
使用高斯先驗和高斯似然函數
在本文中,我們使用基於鞅的分析技術(novel martingale-based analysis techniques)來證明TS對具有線性收益函數的隨機contextual bandits實現了高概率,接近最優的regret界限。
3.問題設置和算法描述
3.1 問題設置
- N個arms,每個arm i
- 時間t
- 上下文向量biT(t)
- 要學習的參數μ
- 時間t內選擇的動作a(t)
- 歷史信息Ht−1={a(τ),ra(τ)(τ),bi(τ),i=1,…,N,τ=1,…,t−1},包括t-1時刻之前已經選擇的arm及其對應的rewards,和t-1時刻觀察到的上下文向量bi(τ)
給定bi(t),時間t內arm i 的獎勵是通過平均量biT(t)的(未知)分佈生成的,其中
μˉ∈Rd是一個固定但未知的參數:
E[ri(t)∣{bi(t)}i=1N,Ht−1]=E[ri(t)∣bi(t)]=bi(t)Tμ
- 時間t內最優的arma∗(t),a∗(t)=argmaxibi(t)Tμ
- Δi(t) 爲時間t時最優arm和arm i的平均reward之間的差值:
Δi(t)=ba∗(t)(t)Tμ−bi(t)Tμ
則時間t內的regret定義爲:
regret(t)=Δa(t)(t)
regret(t)=ra∗(t)(t)−ra(t)(t)
算法的目標是最小化時間T內總的regret
且假設(對所有t和i):
∥bi(t)∥≤1,∥μ∥≤1, and Δi(t)≤1
使得regret界限無標度。
3.2 Thompson Sampling 算法
使用高斯似然函數和高斯先驗設計湯普森採樣算法。
更精確地,假設在給定上下文bi(t)和參數μ的情況下,在時間t處:
- ri(t)的似然由高斯分佈N(bi(t)Tμ,v2)的概率密度函數給出。(v是給定的值)
令:
B(t)μ^(t)=Id+τ=1∑t−1ba(τ)(τ)ba(τ)(τ)T=B(t)−1(τ=1∑t−1ba(τ)(τ)ra(τ)(τ))
- μ 的先驗分佈服從~N(μ^(t),v2B(t)−1),則TS算法需要從N(μ^(t),v2B(t)−1)分佈中採樣,得到採樣值μ~(t);μ^(t)是要學習的參數μ在時間t內的均值。
- 則t+1時刻的後驗分佈可根據Pr(μ~∣ri(t))∝Pr(ri(t)∣μ~)P(μ~)計算得出。
1)算法一
是對每個時間t內的所有arm,從所給分佈採樣整體的參數miu
然後再對每個arm i 求reward:bi(t)Tμ~(t)
2)算法二
是在每個時隙t內,針對每個arm t 直接根據獎勵的分佈採樣得到每個arm的獎勵採樣值。
3)算法三
首先所有上下文向量以及要學習的參數都是獨立於每個arm i的,有新的定義:
即不同的arm會有不同的參數μ,該算法會爲每個arm i 的均值μi(t)和Bi(t)維持單獨的估計。