推薦系統中如何使用強化學習呢?


一、推薦中如何定義強化學習的幾個元素

方式1:

Agent:推薦引擎。

Environment:用戶。

Reward:如果一條新聞被點擊,計+1,否則為0。一次推薦中10條新聞被點擊的新聞個數作為Reward。

State:包含3個部分,分別是用戶標簽、候選新聞的新聞標簽和用戶前4屏的點擊歷史(如果沒有就置0)。

Action:推出的10篇新聞。

方式2:

狀態S:定義為用戶的使用歷史,比如用戶過去在時間 t 前點擊、下載、安裝、購買過的 N 個 item。而且這個序列要按照時間順序。

動作A:被模型基於用戶狀態 s計算出來的一個推薦列表(多個item)

獎勵R:推薦智能體給出了at之后,用戶會給出他的反饋,他可以進行曝光、點擊、下單,智能體立即根據這些反饋計算出來獎勵

 

二、與ctr預估的區別

Ctr預估只考慮預測新聞的點擊率,不考慮具體的推薦策略。利用ctr進行的推薦的流程通常是預測候選新聞的ctr,策略部分是人為規定的規則,可以簡單的取top10或者經過各種過濾,去掉重復,規定不同大類下的新聞個數之后取10個新聞,然后推薦給用戶。強化學習可以說一方面在給新聞預測得分的同時,另一方面考慮了推薦的策略,也就是說策略部分也由模型自己學到。

Ctr模型的推薦過程只考慮了單次推薦里用戶的點擊率,對於不同的Session之間無法建模。相反,強化學習的本質是用於解決序列決策問題,在給用戶第一次推薦的時候,就可以考慮之后第5次、第10次推薦的收益(由參數決定),讓用戶在整個瀏覽app的過程中的點擊量最高,這一點是ctr完全無法勝任的。

當然強化學習也有缺點,就是訓練復雜,往往需要更細致的參數設置和更多訓練trick才可能有效。Ctr預測則是一個完全常規的有監督問題,輸入用戶和新聞特征,擬合ctr,訓練起來相對強化學習簡單許多。

 

參考:強化學習在新聞推薦中的應用

           Deep Reinforcement Learning for List-wise Recommendations(京東發表的論文中文理解)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM