180 likes | 505 Views
百度电影系统推荐算法创新大赛. 钟文波 | 469351240@qq.com 2013-05-17, Friday. 2. 数据预处理分析. training_set 数据集: 训练集大小: 1262741 用户数: 9722 (平均每用户评分 130 部电影) 电影数: 7889 (平均每部电影被 160 用户评分) 全局评分平均数: 3.678 ( RMSE : 0.6900 ) 评分分布:. 2. 数据预处理分析. movie_tag 数据集: 标签数量范围:( 1~ 52 ). 2. 数据预处理分析. user_history 数据集:
E N D
百度电影系统推荐算法创新大赛 钟文波 | 469351240@qq.com 2013-05-17, Friday
2. 数据预处理分析 training_set数据集: • 训练集大小:1262741 • 用户数:9722(平均每用户评分130部电影) • 电影数:7889(平均每部电影被160用户评分) • 全局评分平均数:3.678 (RMSE:0.6900) • 评分分布:
2. 数据预处理分析 movie_tag数据集: • 标签数量范围:(1~ 52)
2. 数据预处理分析 user_history数据集: • 历史记录数量:987W • 历史记录用户ID及电影ID在训练集中:1577431 猜测用户观看历史数据中用户对于电影的评分: • 如果用户ID&&电影ID在训练集中的平均评分大于全局平均评分,则取对应的评分值为大于全局平均数的值。 • 如果用户ID&&电影ID在训练集中的平均评分小于全局平均评分,则取对应的评分值为小于全局平均数的值。 • 其余取全局平均分或者介于以上两个评分的评分。
2. 数据预处理分析 user_social数据集 • 单向关注的社交网路数据 ;类似于新浪微博,用户A可以关注用户用户B而不需要得到用户B的允许,这种社交网络中的用户关系是单向的,可以用有向图表示。
3. 主要推荐算法 基于物品的协同过滤推荐算法: (1)计算电影相似度,得到K个最近邻居 (2)预测用户对于电影的打分 改进的余弦计算公式: 皮尔逊相似度计算公式:
3. 主要推荐算法 (1)基于物品的协同过滤相似度压缩: 例如计算item1,item2之间的相似度,如果A表示对item1评分过的用户集合,B表示对item2评分过的用户集合,压缩系数公式表示如下: 增加压缩系数后皮尔逊相似度计算公式:
3. 主要推荐算法 (2)利用电影标签信息改进相似度的计算: 基于邻居的协同过滤推荐算法(Item-Base)当中,对于数据集movie_tag,利用这个数据集来求两部movie之间的相似度。我们可以这么认为如果两部电影具有相同的标签,那么这两部电影之间是具有一定的相似度的,相同标签越多它们则具有更高的相似度。在标签系统中,两部电影之间的相似度用两部电影的共同标签数除以两部电影的总标签数成正比。 如果用A表示movie1的标签,B表示movie2的标签,则在标签系统中两部电影的相似度可以表示为:
3. 主要推荐算法 (3)利用用户观看电影历史记录信息改进相似度的计算: 基于邻居的协同过滤推荐算法(Item-Base)当中,对于数据集user_history。我们可以这么认为如果两部电影具有相同的观看用户,那么这两部电影之间是具有一定的相似度的,相同观看用户越多它们则具有更高的相似度。 如果用A表示观看过movie1的用户,B表示观看过movie2的用户,则利用用户观看电影历史记录,两部电影的相似度可以表示为:
3. 主要推荐算法 最终item相似度的计算公式: 惩罚系数: 通过标签计算的相似度: 观看历史计算的相似度:
3. 主要推荐算法 预测评分阶段: (1)预测评分计算公式(以电影平均分作为基准评分): (2)最终预测评分计算公式(以SVD预测作为基准评分):
3. 主要推荐算法 加入偏置后的LFM计算公式: (2)Netflix Prize——BiasSVD 实际情况下,一个评分系统有些固有属性和用户物品无关,而用户也有些属性和物品无关,物品也有些属性和用户无关。 mean训练集中所有记录的评分的全局平均数。网站不同,网站的整体评分分布也会显示出一些差异。 bu用户偏置项。这一项表示了用户的评分习惯中和物品没有关系的那种因素。 bi物品偏置项。这一项表示了物品接受评分中和用户没有什么关系的因素。
3. 主要推荐算法 加入偏置后的LFM计算公式: (2)Netflix Prize——BiasSVD 定义损失函数: 最小化上边的损失函数,根据随机梯度下降法,得到递推公式。
3. 主要推荐算法 加入偏置后的LFM计算公式: (1)梯度下降法(参数Gamma1,Lambda1,Gamma2,Lambda2),最小化损失函数,根据随机梯度下降法,得到如下递推公式: γ是学习速度,取值需要通过反复试验获取,每一次迭代对γ进行衰减(γ*=0.9),这是随机梯度下降算法要求的,目的是使算法尽快收敛。
3. 主要推荐算法 加入偏置后的LFM计算公式: (1)影响算法的主要因素: • 1、Dimension数(factor数) • 2、P、Q矩阵的初始值(nextFloat()/Math.sqrt(factor)) • 3、学习速率与正则化系数(Gamma1,Lambda1,Gamma2, Lambda2) • 4、bi[]、bu[]初始化,bi[]、bu[]一般初始化为0
3. 主要推荐算法 模型拟合: (1)预测值线性拟合 method:假设我们有K个不同的预测器。
5. 主要参考文献 (1)《推荐系统实践》项亮 (2)《Netflix Prize 中的协同过滤算法》吴金龙 (3) Baidu URL:http://www.baidu.com (4)《How we won the Netflix progress prize》YehudaKoren