推荐系统之我读,我思,我惑

来源:互联网 发布:母亲的感情漫画知乎 编辑:程序博客网 时间:2024/05/03 14:58
年前,开始系统接触推荐系统。说到这,我想提下,最早知道推荐系统,是源于研一的时候,一次实验室组会,一个本科生的毕设。他是用周的Heat spread 方法,其实就是利用二部图方法进行推荐。数据是一个用户和物品的连接关系的二部图。其实,这个方法很简单,也很容易实现。
但是,后来,开始接触项亮的博士论文的时候,开始知道推荐系统主流的方法:协通滤波。这里用基于物品,基于用户的。值得提的是,Amazon主要是基于物品的。而Youtobe也利用了协同过滤方法,但是里面涉及到了一个图模型。
一个简单有效的推荐系统方法SlopeOne,主要是容易实现,时间,空间复杂度都得到了控制。
基于矩阵分解的推荐系统的方法,主要是利用SVD方法,由于SVD方法时间复杂度太高,随之,推出了RSVD这样的改进版本。矩阵分解模型是一个基于模型的推荐系统方法,需要线下的训练。在一些开源数据,movielens,netflix数据集上测试,基于这种模型的推荐系统的打分推荐,精度比较高。主要的评价标准有MSE,RMSE。
我主要是学习了yahoo研究院的koren的几篇推荐系统的文章。他文章首先是构造一个模型,模型里面有用户的偏置,物品的偏置,平均分,用户向量,物品向量等。用随机梯度的方法去优化这些参数。
2月份之前,我基本研究的推荐系统都是基于打分数据的推荐。
后期,开始思考Top-N问题,互联网中,有打分数据的资源是很少的。如微博,社交网站等,只要些连接关系。更多的是二元关系,如果从这些数据中做出很好的推荐呢? 这时候评价的标准已经不是RMSE了,而是Precision,Recall等。
这样的TOP-N问题,一方面,我们可以利用图模型,进行简单的推荐。但是,我感觉,那样的连接关系还是太弱了,根本说明不了什么?其实,可以,利用NLP技术,提取用户的特征,物品的特征。所以无论是进行物品的推荐(电子商务),还是人的推荐(微博,社交网站),也许是个方法。关键是如何进行提取有效特征,我们知道现在数据太多,太稀疏,怎么更有效。在得到特征后,如何建立模型,进行Top—N推荐,是个有价值的问题,不知道,学术界,工业界这块是怎么做的?
其实KDDCup2012,就是这个主题。期待,那些精英们给我解决方案!

不得不说,个性化推荐是个很难得问题!
原创粉丝点击