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. 考虑做网页版,方便使用

 


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