BPRPlus:基於多種隱式反饋的BPR變形算法開源庫

很快,寒假就要過去了,在這15天的時間裏,小編一直在做一件事:開發一個支持多種隱式反饋的BPR變形算法框架。

終於,功夫不負有心人。在經過了每天晚上的編寫,近3400行代碼的BPRPlus框架初步形成。github地址:https://github.com/liuchenailq/BPRPlus.

 

BPR算法簡介

推薦系統有兩大問題:評分預測和排序優化。評分預測一般使用顯示數據集,如評分數據,目標是預測缺失的評分。排序優化一般使用隱式數據集,如用戶行爲(購買、點擊、分享)記錄,目標給用戶推薦一個排序的物品集。

BPR( Bayesian Personalized Ranking)算法是解決排序優化問題經典算法,它假設用戶有過行爲的物品應該排在沒有行爲的物品之前,所以它使用用戶行爲數據來訓練模型。但它只使用一種行爲數據,比如你的目標是提高購買率,那麼BPR只用購買行爲數據來訓練算法。

爲了充分利用隱式數據(點擊、瀏覽等行爲數據),基於多種隱式反饋的BPR變形算法被相繼提出。實驗表明,充分利用輔助隱式反饋確實能提升BPR算法的效果。

本系統BPRPlus就是基於此背景下產生的,目標就是爲基於多種隱式反饋的各種BPR變形算法提供快速實現。

到目前,系統已經完成了主反饋數據讀取模塊、輔助反饋數據讀取模塊、數據集劃分模塊、推薦算法模塊、評價模塊。

 

BPRPlus主要特性如下:

   1. 基於配置文件:通過配置文件控制系統的所有參數

   2. 並行計算:系統內部應用並行計算解決性能問題

   3.支持多種隱式反饋:支持多種隱式反饋數據的讀取

   4. 結果可視化:訓練過程的loss可視化、評價指標可視化

 

接下來主要做如下工作:

  1. 增加其他評價指標

  2. 增加其他變形BPR算法

  3. 考慮做網頁版,方便使用

 


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