top-N推荐中以recall为指标的实验设计
来源:互联网 发布:乌克兰少年 知乎 编辑:程序博客网 时间:2024/06/07 01:01
[27]的实验方法:
记处理后的(隐式)评分矩阵为S,其中用户u有过隐式反馈的物品集为u+,没有的集合为u-。对于每个用户u,作者从u+中随机抽取10个相关的物品,作为测试集u_test。作者从u-中随机抽取K|u+|个物品,记为u* ——由于增加K,算法的性能不会上升,因此文中K取2。为了评测,算法在不同数据系数程度下的性能,作者又从u+中,随机抽取最多m(5,10,20,30,50,ALL)个隐式评分,记为u#,最终得到训练集u_train= u#∪u*, given m。为了实验结果不受个别数据影响,对于每个given m,作者重复5次随机抽样的过程,以产生不同的u_test和u_train。最终,将5次结果的平均值作为given m的最终结果。
实验结果用recall@N来衡量。首先对于每个用户u,用上述训练出来的模型对u*和u_test进行评分。接着,对于每个u_test中的物品i,从u*中随机选取100个,然后将这101个物品排序。如果i的位置pos <= N那么就算是一个hit。整个测试集的recall@N = #hit/|test|。
[28]的实验方法:
大致与[27]一致。只不过测试集合和训练集是不相互交的:除去用户训练的implicit feedback,剩下的都作为测试集。值得一提的是,[28]使用的1-recall@5,是用来衡量推荐列表前5位有没有用户相关的物品。这其实跟上述[27]计算recall的方法是一样的。
[24]采用leave one out的方法,即对每个用户,只抽出一个implicit feedback作为测试集。然而,它采用的measure 是AUC。因此虽然跟[27],[28]一样都是learning to rank, 在recall计算上没有可比性。
总结:不知是论文里的疏漏,还是方法本身问题,按[27]得到的training set和test set有可能是不相交的,这个不可取。除了这个,[27]的其他做法都值得参考。比如,测试时,它随机选取100个无反馈的物品来测试一个相关物品i的排序,而不是所有无反馈物品。因为,无反馈不能代表不相关。因此,只要i的能排在大多数无反馈物品的前面,就足够了。另外,这样还能提高测试的性能。
[24] BPR: Bayesian Personalized Ranking from Implicit Feedback
[27] Top-N Recommendations from Implicit Feedback leveraging Linked Open Data
[28] CLiMF: Learning to Maximize Reciprocal Rank with Collaborative Less-is-More Filtering
- top-N推荐中以recall为指标的实验设计
- 评估指标中IoU/precision/recall/tp/fp/fn/tn的个人理解
- 动态执行SQL语句,“SELECT TOP N *”语句中“N”不能为变量的解决方案
- “SELECT TOP N *”语句中“N”不能为变量的解决方案
- Top-N推荐算法-简介
- Top-N Recommendation——基于用户的推荐实验
- 信息检索的评价指标:Recall,Precision,AP,MAP,ROC
- 信息检索的评价指标(Precision, Recall, F-score, MAP)
- 信息检索的评价指标(Precision, Recall, F-score, MAP)
- 几个常见的指标总结precision,recall,accuracy
- 信息检索的评价指标(Precision, Recall, F-score, MAP)
- 机器学习中分类器的评价指标:召回率(recall), 精度(precision), 准确率(accuracy), F1分数(F1-score)
- MYSQL中查询TOP N的问题
- 推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
- 推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
- 推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
- 推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
- 推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
- android 使用广播监听网络状态
- 常见的Http代码含义
- network: android 网络判断
- neon优化h264的idct 代码
- 如何在ScrollView中嵌套ListView
- top-N推荐中以recall为指标的实验设计
- IOS 数组初始化 NSMutableArray、NSArray(个人)
- 启动工作原理(网上看到的,对什么是操作系统 讲的比较通俗,就摘草过来做个记录)
- HTML练习
- 关于对C++不支持自动垃圾回收的探讨
- windows batch 文件书写笔记
- 设置MFC中EditBox为自动换行
- window.open弹出窗口居中显示
- 将数组作为参数进行传递