強化學習第一課:像學自行車一樣的強化學習

機器學習算法主要可以分爲監督式,非監督式,強化學習三類。

在監督式學習中,我們有數據 x 和標籤 y。我們想要找到一個函數來連接 x 和 y。可以選擇決策樹,線性迴歸等模型,然後訓練這些模型使損失函數達到最小。

例如我們有一個橫幅廣告預測點擊率的問題:

橫幅的特徵可以是,主題,想要推廣的內容,掛在哪個頁面,會瀏覽這個頁面的用戶的特徵。 想要預測的變量只有一個,就是用戶是否會點擊這個橫幅廣告。

這時我們可能想要用一些監督式學習的模型,但是有個問題是我們並沒有那麼多數據,沒辦法知道每個橫幅每個頁面每個用戶的行爲。

雖然在沒有數據的情況下,也可以想辦法用監督式學習。

例如,可以隨機發一些廣告,隨機的給一些人,隨機的選擇位置,來生成一些數據, 然後記錄用戶是否點擊進去,不過大多數情況下用戶是不點擊的。 這樣有了這些數據後,就可以應用一些算法,進行預測。

但是有個問題,就算你用這些數據進行預測了,訓練了模型了,但是並不敢直接用這個模型得出的決策, 就算用戶第一次點擊了你發送的廣告,但是如果太頻繁地發送同樣的廣告,就會失去用戶的信任, 所以我們可能想要嘗試一些對用戶有益的內容,想要讓用戶更開心,這樣用戶可以停留更久,你也可以收穫更多的信任, 這種情況下會有很多變化,需要不斷的調整。如果繼續用監督式方法,可能會產生非常糟糕的結果。

例如,聖誕節前一週開始訓練我們的點擊預測模型,由於是聖誕節,每個人都會看關於聖誕節禮物的內容,我們的模型也會展示很多相關的廣告,那麼很可能在這段時間裏,有一些相關物品獲得了非常多的點擊,獲得了很多利潤,但聖誕節結束後,模型並沒有辦法重新調整,於是繼續展示聖誕節的橫幅廣告,就沒有機會展示其他的廣告內容。 所以不要百分百相信你的模型,可以留一部分數據是隨機地展示 top100 的橫幅或一些其他的廣告。

但這種解決方案,就像是在用膠帶去填補,雖然有足夠的膠帶的話肯定能解決問題, 但是會有更多的隱藏問題出現,

這時就可以用強化學習, 一句話概括就是通過反覆試驗來學習。

就像你學習自行車,不會去通過看一本書來學習,不會去看 1000 個樣本,看每種場景是如何騎車的,然後就會了。

而是只需要有個自行車,想要學習如何騎就去騎,雖然可能會失敗幾次,可能會受傷,但是通過受傷,最終就學會了,並且騎得越來越好。

學習資料: Practical Reinforcement Learning

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章