本篇接續《Online learning — introduction》,我們給出一個 online learning 十分常見的架構,以及從它衍伸出來的 regret 的定義做更充分的討論。
Expert Advice
在 introduction 中有提到,面對 online learning 的問題,我們在乎的通常是 regret ,也就是跟「後見之明」比起來希望不要太差。但在 online learning 中,我們早已脫離了「有一個最好的 」這種後見之明了,也就是說,並不一定真的有一個什麼 hypothesis 可以適用於所有資料,頂多只能說「有一個決定策略的人」。這兩者個差別是上面的 是跟時間無關的函數,而「決定策略的人」可以隨時間改變自己做決定的心意。因此在 online learning 中,更常討論另一種設定:專家意見﹝Prediction with Expert Advice﹞,以下正式來介紹。
專家意見 Expert advice
雖然在 online learning 一開始,玩家對問題一竅不通,但幸運的是現在玩家身邊有 K 個專家願意為他做預測,不過究竟哪個專家才是最厲害的也不知道。無論如何,現在的目標是玩家看能不能有一個策略,使得他最終的獲利﹝reward﹞跟最厲害的專家相去不遠。前句的『最終』,在 online learning ,大家約定成俗就是經過 時間後的總獲利狀況。這裡先介紹最普遍的『專家意見』,當然裡面的每個要素都可以有很多種自然的變形,但這之後遇到了再提。準確來說:
玩家身邊有 K 個專家:,(他們在每個時間 都會給出意見 ,其中 表示第 個專家的意見。)玩家每一回合都選擇相信一個專家 ,而環境也(根據專家在當回合的意見)選擇了這回合的 loss vector , 代表第 個專家在第 回合收到的失誤(loss),其中因為玩家選擇第 個專家,因此 也是玩家這回合的失誤。玩家的目標是最小化 regret
玩家在做選擇的時候,只知道從 步環境給專家們的回饋,以及專家們從 步的意見。
這裡有一些東西需要補充。上面有講到獲利(reward),還有失誤(loss),在文獻中兩種都會出現,但這其實很容易處理,跟失誤相反,獲利是越高越好,因此 regret 就會訂成
這樣寫也是因為 regret 約定成俗就是一個非負實數,不過用兩種方式得出來的 regret 是一樣的。通常通常,在大部分的情境看到的都是 loss,除了 stochastic setting,當初在發展這方面的研究時,用的就是獲利,因此現在很多時候還沿用此習慣。
第二,上面有兩個打()的部分,在很多變形的設定,這些並不一定會被特別寫出來。第一個()是因為有時候是不一定有這個東西,有時候是有沒有都無所謂。無所謂是因為玩家在做決定時,就只知道 的真正狀況,而第 步專家的意見,因為環境還沒公佈答案,也不知道這個意見的可信度多少,因此最終玩家還是只能從前 的結果判斷這回合到底應該聽哪個專家的。第二個()牽涉到這個環境到底會不會『針對』這些專家。如果文章說環境是 oblivious 的,那就是假設環境不會針對專家做調整,也就是 loss 只跟『時間』和『專家』有關,而跟『專家的意見 』無關。你可以把它想成是, loss 是遊戲開始前就決定好的,只是還沒公佈而已,當玩家玩了以後才會公布。但如果文章說環境是 non-oblivious 的,那就意味著第 回合的 loss 會根據專家的預測決定,這其實就是 online learning 的最壞狀況(worst-case)了。不過在 online learning 領域,學者給出的 regret upper bound 其實都已經包含這種狀況,也就是說當你在設計演算法,然後進行 regret 分析的時候,也必須把最糟的狀況考慮進去。
Regret
regret 看似很單純,但其實也有值得著墨的地方。現在採用失誤(loss)的形式,並把 (1) 寫成
(1) 跟 (2) 是一樣的,只是寫成 (2) 比較方便接下來的討論。通常玩家的策略會有隨機的因素在裡頭,而有時環境也有一些隨機性,因此我們不太會直接說 regret 是多少,而是會去問 expected regret bound 或是 high probability bound。現在說的 expected regret 其實是比較廣義的,就是要考慮所有 random bit 加權的情況,但它其實還可以再細分成兩種,分別對應到 adversarial setting 和 stochastic setting 常用的 regret。
在 adversarial setting 下常用 expected regret ,它定義成
其中 就是那個在 回合中 total loss 是最小的專家;另外期望值是對玩家和環境所有的 randomness 取的。在 stochastic setting 下,每個專家的 loss 是出自於某個未知的 distribution ,distribution 的 mean 寫成 ,而。在這裡大家常考慮 pseudo regret ,定義成
其中 是對應到 mean 是 $\mu^*$ 的那個專家。這裡的 跟 可能是不一樣的。以結論來說,,pseudo regret 比較弱,但很多時候在 stochastic setting 大家只會做 pseudo regret。這兩種定義差在哪裡呢?expected regret 的定義中,玩家的比較對象是已經固定了一組 random bit 後,『真正在這 步之內 total loss 最小的專家』。或是可以看成,在期望值的 [ ] 裡面,其實那些 randomness 都已經確定了,而在外面取期望值只是看在不同組 random bit 下,把 regret 做加權平均。但是 pseudo regret 的定義中,玩家的比較對象,是『mean 最小』的專家。但是 mean 最小的玩家,在這 步內並不一定是 total loss 最小的專家。因此知道 。
大家常常又會把 pseudo regret 繼續改寫成
其中 表示在 時間內,專家 總共被選擇幾次。這樣寫有什麼好處,可以看到 其實是個 constant,雖然玩家不知道,但是每個專家的 mean 早就固定了。所以剩下的任務就是去 upper bound 每個專家平均而言會被選擇幾次。
如果希望 pseudo regret 很低,那意味著那些『不好的』專家不能被選擇太多次,而要盡量選擇那個最好的專家,因為他的 mean 正是 。很多很多時候,作者在寫證明的時候,不會把 pseudo regret 的推演寫的太詳細,而是直接說明他如何處理每個專家平均而言會被選擇幾次,就結束證明了。
Reference
- Bubeck 跟 Cesa-Bianchi 寫的 “Regret Analysis of Stochastic and Nonstochastic Multi-armed Bandit Problems",在 Introduction 中寫的蠻清楚的。
- Shai Shalev-Shwartz 的 “Online Learning and Online Convex Optimization" .
- V.Vovk 的 “A game of prediction with expert advice".