1 基于内容的推荐系统
设定推荐的东西有一定的特征数据,使用表示第i个推荐物的特征向量
使用表示第j个用户的参数向量 (这里产生了不同,对于每个用户有自己的参数向量)
则该用户线性模型代价函数可表示为:
(i:r(i,j)表示只纳入用户参与评价的推荐物进行计算,r(i,j)=1代表用户对推荐物评价过)
(y(i,j)代表用户j对推荐物i的评分)
综合所有用户代价函数求得:
(nu代表用户数)
梯度下降求解:
如果我们掌握用户参数,类似的可以训练出电影的特征:
(nm代表推荐物数)
2 协同过滤
当我们对推荐物特征及用户参数都未知时候,需要使用协同过滤:
1. 初始化 x(1),x(2),...,x(nm), θ(1),θ(2),...,θ(nu)为一些随机小值
2. 代价函数定义如下,同时最小化特征与参数
3. 梯度下降法计算
4. 训练完成,用户j对推荐物的评分可预测为
当我们寻找推荐物i的相似物为用户推荐,可以使用x(i)和 x(j)之间的距离来表示两个推荐物的相似性,取尽可能
距离小的来作为推荐。
3 均值归一化
有用户评分数据如下:
均一化处理将评分减去电影评分均值更新评分表:
使用新的评分表进行训练,模型结果为预测均值偏差,需要加上均值为最终预测值如下:
------------------------------------------------------------------------------------------------------------------------------------
文章内容学习整理于吴教授公开课课程与黄博士笔记,感谢!