2009年12月19号,我们在豆瓣的新办公室举办了第三次resys的线下聚会。这次聚会由豆瓣主办,在这里我和谷文栋首先要感谢一下豆瓣,他们提供了很好的环境,还有好多吃的以及纪念品。

这次活动主要有三个话题,一个是豆瓣的王守崑对豆瓣中推荐系统的总结,一个是百度的张栋博士,介绍分布式和并行算法在互联网中的应用,一个是孙超的推荐也是一种产品。下面我详细说一下我对他们报告的体会。
1. 豆瓣在推荐系统领域的实践和思考 王守崑
这个报告很不错,王守崑对推荐系统的问题做了很好的总结,他根据稀疏性,多样性,时效性,反馈将推荐问题进行分类。这个分类我觉得还是很科学的,在目前的学术研究中,系统研究这几个问题的我还没有见到,在这里我也谈谈我的看法。
一般来说所有的用户喜好数据都是稀疏的,只是程度不同而已,在数据方面,我倒是觉得还有一个指标也很重要,就是item数比上用户数。在电影推荐中,一般用户数都是远远大于item数的,而在文章推荐中,文章数却是远远大于用户数。当然我这里都是说的一个成熟的网站,如果是一个刚出来的网站,用户数显然是很少的。我的研究发现,同一个推荐算法在不同的item/user比下效果会相差很大,所以我觉得item/user是一个对稀疏性和多样性描述的不错的指标。item/user 小的系统一般比较稠密,多样性比较差。item/user大的系统一般比较稀疏,多样性比较好。
时效性的问题其实在于系统的速度和服务器的能力,这个问题基本是靠钱解决的,服务器越多应该解决的越好。最近这几年已经有关于实时推荐的研究,我相信如果google来做这个问题,可能会解决的比较好。
反馈是个重要问题,我和王守崑一样,都是做自动控制出身的,控制的特点在于不需要精确的控制器,好的反馈系统可以弥补控制器的缺陷。反馈依靠的主要是日志,但是如何通过日志来调节推荐系统的参数,这个因为我没有做过实际系统,所以不好说,但是结合后面孙超的报告,我倒是有一个想法。Netflix Prize有3大贡献:Funk SVD, RBM, Ensemble。其中的Ensemble的意思是说,好的推荐系统需要融合各种不同的算法。一个推荐系统可能有很多参数,如果这些参数都要靠日志来调节,显然是不现实的。但是我们可以设计几套典型的参数,从而做出几个不同的推荐器,而调的参数仅仅是这些推荐器的权重,这样反馈可能会比较迅速的起到作用。
2. 推荐也是一种产品 孙超
说实话,这个topic也是我去了IBM后的一个研究方向,这个topic有一个英文词: recommend recommenders,就是推荐推荐器。其实这个idea的起点也是来自于Netlfix Prize的模型融合,但是Netflix Prize的模型融合算法还不是完全个性化的,因为在那个问题中,完全个性化的推荐器会产生过拟合的问题。推荐器其实和特征是联系起来的,比如对一个用户,他比较喜欢和他同年的人的推荐,这就算一个推荐器,或者他比较喜欢和他一个学校毕业的人的推荐,这也是一个推荐器。所以我们认为,recommend recommender的问题其实是多特征推荐的问题。
当然也有推荐算法的不同,比如KNN,SVD,但个人认为,这些算法的差别其实很小,如果你用同样的特征的话,用不同的算法做推荐,推荐Top-N,可能推荐列表相差不大。真正影响推荐列表的可能还是特征的不同。比如内容推荐,还是collaborative filtering。
目前我们正在研究如果给一个多特征的系统建模,已经如何在模型上做推荐,等有相关结果时,我会和大家share我们的研究成果。
3. 大规模机器学习算法在互联网上的应用
首先惊讶的是张栋博士原来在自动化所呆过,所以首先在这里说一声,师兄好。嘿嘿。张栋以前在google呆过一段时间,众所周知,google的强项就在于规模。所以我们戏称,评价一个工程师的指标不应该是懂多少算法,而是处理过多大的数据。同样两个工程师,都用过LDA,显示不出水平,显出水平的是在什么规模的数据上用过LDA。数据超过一定的规模必然就要分布式,并行化。我目前的水平基本在1000W网页这个水平上,1亿还达不到,主要是没见过这么大的数据,所以就没有经验。
张栋博士讲的所有东西,相信大家最终记住的可能就是在machine learning中,MPI的模型好于Map Reduce。不过我也赞同SiXianCe说的,如果同样两个大牛,不用现有的MPI和Map Reduce的实现,自己重新实现一下,最终谁牛,可能还真说不准。
此外,张栋博士总结了machine-learning发展的轨迹,这也是一个高屋建瓴的总结,相信对大家学习machine learning也会有不少帮助。不过我感觉机器学习这几年的发展是越来越实用了,早期的神经网络有点牵强附会,非得把所有问题往神经上扯。其实如果从数学的角度看,不同的算法基本可以归为矩阵和概率,当然我个人私下里怀疑矩阵和概率可能在数学上最终也是等价的。我比较喜欢爱因斯坦的简单理论,不同的算法只是在解决不同问题时强调了不同的方面,他们本质上可能是一样的东西。就像广义相对论方程那样,形式很简单,但不同的物理学家却可以得到不同的数学解,而每种数学解都有一定的适用范围。上次参加Netflix Prize,算是把流行的算法都在那个问题的框架里都实现了一下,最后却发现,把所有的算法合在一起才是个最好的算法,看来还是那句话:存在即合理。嘿嘿。
就说这么多吧,有关这次活动的详细信息可以在 http://www.douban.com/event/11356069/ 看到,PPT和照片都有。
最后要提一下,这次活动有很多人特地从外地赶来,特别是来自台湾的Loeb,不容易。Loeb在文栋的陪同下看了天安门,吃了北京烤鸭,嘿嘿。
最后再次感谢豆瓣主办此次活动。给大家提供了一个交流的平台。
Related Posts
- ResysChina on Douban (1.000)
- 试用Douban电台 (0.786)
- 2009年resys第3次线下活动:会议PPT放出 (0.214)
- OpenLab数据集开放 (0.214)
- Context Recommendation 了解用户的环境 (0.214)
Trackbacks & Pingbacks 3
[...] 张栋博士的这个presentation还是理论深度比较强的,我自己功力还不是很够,呵呵;张栋博士首先阐述了机器学习算法的前世今生:从NN到SVM到Graphical Model到CRF到DeepNet再回到NN,这是一种高屋建瓴的表述,让我们对机器学习这个领域有个比较全面的轮廓印象,xlvector在他的这次活动的回顾里面也给出了对ML的独到见解。 [...]
[...] 从张栋博士的报告中可以看到,顶级互联网公司对大规模计算极其重视,他们将传统的算法进行改造,使其能够适应互联网上的庞大数据量。目前业界云计算概念火热,抛开滥竽充数者,大规模数据计算能力绝对是评价云计算的硬指标之一。 Google 公司的研究总监 Peter Norvig 先生有句名言,“Worry about the data first before you worry about the algorithm”,即是在说大规模数据对于解决问题非常重要。xlvector 同学的感概,很让与会者共鸣,“评价一个(Research)工程师的指标不应该仅是懂多少种算法,还要看处理过多大规模的数据”。 [...]
[...] 从张栋博士的报告中可以看到,顶级互联网公司对大规模计算极其重视,他们将传统的算法进行改造,使其能够适应互联网上的庞大数据量。目前业界云计算概念火热,抛开滥竽充数者,大规模数据计算能力绝对是评价云计算的硬指标之一。 Google 公司的研究总监 Peter Norvig 先生有句名言,“Worry about the data first before you worry about the algorithm”,即是在说大规模数据对于解决问题非常重要。xlvector 同学的感概,很让与会者共鸣,“评价一个(Research)工程师的指标不应该仅是懂多少种算法,还要看处理过多大规模的数据”。 [...]
Post a Comment