基于内容的推荐系统
推荐系统是机器学习最重要的应用之一,你所知道的淘宝、亚马逊、facebook、豆瓣这些网站都把推荐系统作为了核心。在某个电影资讯的网站,有那么一份用户对于电影的打分(1 - 5 分),? 代表用户没有评价过该电影:

该网站对于每部电影都给出了两个评价指数,构成了电影的二维特征向量 x :
x1=电影的浪漫指数x2=电影的动作指数

假设用户 i 对于每个指数的偏好程度由向量 θ(i) 所衡量,则我们估计该用户对电影 j 的打分为:
y(i,j)=(θ(i))Tx(i)
这就是基于内容的推荐系统,我们根据商品内容来判断用户可能对某个商品的偏好程度,本例中,商品内容就是电影具有的一些指数。我们也知道了,推荐系统中两个重要的维度:人和物。
另外,我们引入 r(i,j) 表示第 i 个用户是否对第 j 部电影进行了打分:
r(i,j)={1,用户 i 对电影 j 打过分0,otherwise
目标优化
为了对用户 j 打分状况作出最精确的预测,我们需要:
θ(j)min21i:r(i,j)=1∑((θ(j))T−y(i,j))2+2λk=1∑n(θk(j))2
那么对于所用用户 1,2,...,nu ,我们就需要:
θ(1),θ(2),...,θ(nu)min=21j=1∑nui:r(i,j)=1∑((θ(j))Tx(i)−y(i,j))2+2λj=1∑nuk=1∑n(θk(j))2
代价函数 J(θ(1),θ(2),...,θ(nu)) 就为:
J(θ(1),θ(2),...,θ(nu))=21j=1∑nui:r(i,j)=1∑((θ(j))Tx(i)−y(i,j))2+2λj=1∑nuk=1∑n(θk(j))2
参数更新
我们使用梯度下降法来更新参数:
更新偏置(插值):θ0(j):=θ0(j)−αi:r(i,j)=1∑((θ(j))Tx(i)−y(i,j))x0(i)
更新权重:θk(j):=θk(j)−α(i:r(i,j)=1∑((θ(j))Tx(i)−y(i,j))xk(i)+λθk(j)),k=0