标签:
在传统的协同过滤算法中,算法是基于如图一的用户评分矩阵对用户进行推荐的,其核心思想大致是利用相似用户或者相似商品的信息对用户进行推荐,拿图一举例,在这里我们要预测小红对《了不起的盖茨比》这部电影的评分是多少(1-5),一个最简单的想法就是从所有用户中找到跟小红的品味相似的人,一眼望过去,小明跟小红的品味最相近(都是小李子的粉丝?都比较喜欢看煽情一点的电影?),所以我们可以预测小红对《了不起的盖兹比》这部电影的评分应该是比较高的,所以在做电影推荐的时候,我们可以把《了不起的盖茨比》这部电影推荐给小红,这种利用相似用户的信息进行推荐的算法叫做user-based(基于用户的)协同过滤算法,这种而相对应的,就有item-based(基于商品的)协同过滤算法,基于商品协同过滤算法思想大致是,那些跟用户喜欢的商品相似的商品,在某种程度上说用户也应该喜欢,放在这里的话,小红喜欢《泰坦尼克号》这部电影,由于《泰坦尼克号》跟《了不起的盖茨比》比较相似,那么小红也理所当然地喜欢《了不起的盖茨比》这部电影。有关协同过滤算法,这篇博客进行了详细的介绍。
图三是用户对泰坦尼克号的评分,而图二是用户在看这部电影时的一些上下文信息,item-splitting方法的思想是利用某个上下文条件对项目尝试进行分割,尝试分割成两个向量后,如果这两个向量有显著地不同,则应该把原来这个项目进行分割,假设上面的上下文条件中,“是否跟恋人”这个上下文条件可以让泰坦尼克号这个列向量在分割之后有显著地不同,则应该将其划分为两个向量,如图四:
推荐系统(1)--splitting approaches for context-aware recommendation
标签:
原文地址:http://blog.csdn.net/jd_beatles/article/details/50996601