美文网首页
2020-On the Difficulty of Evalua

2020-On the Difficulty of Evalua

作者: andyham | 来源:发表于2021-05-19 18:29 被阅读0次

作者以及单位

Rendle 谷歌(FM的作者)
预出版。

解决问题

涉及的问题很简单,就是推荐系统到底用什么数据和指标来测评是最好的。
结论是:
如果是movielens,就要选10m,效果比1m,100k,20m都要好。
但是比movielens更好的是Netflix数据集,因为算法在这个数据集上做好,难度更大。
然后指标建议使用rmse,这个和普通的topN(准确率、召回率)有一定区别

研究动机

觉得之前很多的工作选的baseline都不靠谱,作者Rendle 觉得“选择一个好baseline,不容易!”

原文是: In this work, we question this practice and show that running baselines properly is difficult.

研究方法

第一步,在movielens-10m上把过去12年的推荐系统算法在rmse指标上排了个序,结论是最近提出的算法其实都没有大幅度提高基准rmse=0.7523.

文章的提到的基准是这篇timeSVD++
Koren, Y. Collaborative filtering with temporal dynamics. In Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (New York, NY, USA, 2009), KDD ’09, ACM, pp. 447–456
新一些的是这个timeSVD++ flipped(效果比上面好一些些):
Rendle, S. Scaling factorization machines to relational data. In Proceedings of the 39th international conference on Very Large Data Bases (2013), PVLDB’13, VLDB Endowment, pp. 337–348.

注:我发现这个timeSVD++算法的提出者,是本文第三作者,也是google。

原文是:Our results question conclusions drawn from previous experimental results on ML10M. Instead of improving over the baselines by a large margin, all recently proposed methods underperform well-known baselines substantially.

ml-10的rmse

第二步,在Netflix上整理了排序的结果,最好的结果是:Zhou, Y., Wilkinson, D., Schreiber, R., and Pan, R. Large-scale parallel collaborative filtering for the netflix prize. In Proceedings of the 4th International Conference on Algorithmic Aspects in Information and Management (Berlin, Heidelberg, 2008), AAIM ’08, Springer-Verlag, pp. 337–348.
作者rendle谈为什么提及Netflix数据集,是因为在movielens上很多旧方法都比新方法好,但是可能审稿人不认为有贡献(不好说故事),所以不容易发表(换言之,Netflix更公平一些)

原文是2.3节的discussion:In terms of publications, which motivates current work on rating prediction, achieving good results with old approaches is usually not seen as a scientific contribution worth publishing.
Our experiments on ML10M show that all the patterns learned on the Netflix Prize hold also on ML10M, and the best Netflix Prize methods perform also best on ML10M. In this sense, the Netflix Prize was successful and ML10M benchmark was not (so far).

Netflix的rmse

我发现rendle特别热衷关注传统算法(2个数据集上,都没有提到深度学习方法),可能和2020提出这个Neural Collaborative Filtering vs. Matrix Factorization Revisited文章有关。

回到作者建议上,作者提出了写推荐系统的4个方法
1.统计要有意义。原文谈的意义,句子写的比较高大上。我揣摩的意思,想证明a算法比b算法好,如果只统计a比b的参数好,这只是虚荣心(false confidence),要真的a的算法比b好,才是好(可能是心法和技法的意思)。例如要证明a国比b国好,只罗列类似gdp等没有用,要老百姓真的觉得好,对比才有意义,即参数不能完全说明问题。
2.代码要公开。
3.神经网络不要把重点放在超参(Hyperparameters)的优化来提高最终的结果。这样的贡献微不足道。

原文是:Such knobs might be trivial and not even worth reporting for someone with experience in a method.

创新点

因为这是一篇略带综述性的文章,并没有提及contribution。但是谈到了一些未来做推荐系统值得借鉴的点:
1.标准化benchmarks:谈了2点,其一,使用movielens的话,最起码就选10 fold 的rmse(如果论文重点是突出 冷启动,可解释性,活跃用户等,再谈其他基准测试。movielens可能会出现过拟合,所以想证明算法好,你一定要测试Netflix,这个正真可以检验推荐系统好不好。

原文是:
Netflix Prize are also those best performing on ML10M.

2.不要去发明新方法,用旧方法调出好结果的回报很少,所以科研人员都不搞,都去搞cnn,gnn,attention。其实研究新颖性是未来一个可以做的贡献点。

原文是:
Novelty is a key criterion to judge research contributions. Achieving good results with a well known method gets little reward, so researchers do not spend much effort on it – and even if good results would be achieved, it is hard to publish them.

结论

第一条结论,movielens是次优的,Netflix Prize是最好的。

原文是:ML10M benchmark are suboptimal.

第二条结论,SVD++是最好的(大佬就是大佬,要是普通老百姓投一篇svd++的优化论文出去,你看拒不拒你)。

原文是:Other well-known models such as SVD++ provide an even higher gain.

最后作者还给了一个彩蛋Appendix,给了他认为几个优化好的传统算法baseline,用的是movielens-10m,fold10比例,metric选的是rmse。图表就不罗列了,其中有FM(是作者自己的,rmse是0.75),Bayesian,MF(SGD,ALS), 几个算法rmse的结果都差不多,我看是在参数,学习率,正则和收敛上有一些区别)

值得一提的是,本文建议使用rmse,但是也有的论文有不同意见,认为现实生活中,更加常用的是TopN推荐。TopN推荐的指标(准确率、召回率)和RMSE有时并不一致。以下论文给出了两种协同过滤方法的改进,它们的RMSE都没有那么好,但是在TopN推荐中做的很好。
论文解读——Performance of Recommender Algorithms on Top-N Recommendation Tasks_百载文枢江左的博客-CSDN博客

相关文章

网友评论

      本文标题:2020-On the Difficulty of Evalua

      本文链接:https://www.haomeiwen.com/subject/lgupjltx.html