9.1 基于内容的推荐系统-机器学习笔记-斯坦福吴恩达教授
基于内容的推荐系统推荐系统是机器学习最重要的应用之一,你所知道的淘宝、亚马逊、facebook、豆瓣这些网站都把推荐系统作为了核心。在某个电影资讯的网站,有那么一份用户对于电影的打分(1 - 5 分),? 代表用户没有评价过该电影:该网站对于每部电影都给出了两个评价指数,构成了电影的二维特征向量xxx :x1=电影的浪漫指数x_1=电影的浪漫指数x1=电影的浪漫指数x2=电影的动作指...
基于内容的推荐系统
推荐系统是机器学习最重要的应用之一,你所知道的淘宝、亚马逊、facebook、豆瓣这些网站都把推荐系统作为了核心。在某个电影资讯的网站,有那么一份用户对于电影的打分(1 - 5 分),? 代表用户没有评价过该电影:
该网站对于每部电影都给出了两个评价指数,构成了电影的二维特征向量 xxx :
x1=电影的浪漫指数x_1=电影的浪漫指数x1=电影的浪漫指数x2=电影的动作指数x_2=电影的动作指数x2=电影的动作指数

假设用户 iii 对于每个指数的偏好程度由向量 θ(i)θ^{(i)}θ(i) 所衡量,则我们估计该用户对电影 jjj 的打分为:
y(i,j)=(θ(i))Tx(i)y^{(i,j)}=(θ^{(i)})^Tx^{(i)}y(i,j)=(θ(i))Tx(i)
这就是基于内容的推荐系统,我们根据商品内容来判断用户可能对某个商品的偏好程度,本例中,商品内容就是电影具有的一些指数。我们也知道了,推荐系统中两个重要的维度:人和物。
另外,我们引入 r(i,j)r(i,j)r(i,j) 表示第 iii 个用户是否对第 jjj 部电影进行了打分:
r(i,j)={1,用户 i 对电影 j 打过分0,otherwiser(i,j)=\begin{cases}1,用户\ i\ 对电影\ j\ 打过分\\0,otherwise\end{cases}r(i,j)={1,用户 i 对电影 j 打过分0,otherwise
目标优化
为了对用户 jjj 打分状况作出最精确的预测,我们需要:
minθ(j)12∑i:r(i,j)=1((θ(j))T−y(i,j))2+λ2∑k=1n(θk(j))2\min_{\theta^{(j)}} \frac12 \sum_{i:r(i,j)=1} ((\theta^{(j)})^T-y^{(i,j)})^2 + \frac \lambda 2 \sum_{k=1}^n(\theta^{(j)}_k)^2θ(j)min21i:r(i,j)=1∑((θ(j))T−y(i,j))2+2λk=1∑n(θk(j))2
那么对于所用用户 1,2,...,nu1,2,...,n_u1,2,...,nu ,我们就需要:
minθ(1),θ(2),...,θ(nu)=12∑j=1nu∑i:r(i,j)=1((θ(j))Tx(i)−y(i,j))2+λ2∑j=1nu∑k=1n(θk(j))2\min_{\theta^{(1)},\theta^{(2)},...,\theta^{(n_u)}}= \frac12 \sum_{j=1}^{n_u} \sum_{i:r(i,j)=1} ((\theta^{(j)})^Tx^{(i)}-y^{(i,j)})^2 + \frac \lambda 2 \sum_{j=1}^{n_u} \sum_{k=1}^n(\theta^{(j)}_k)^2θ(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(\theta^{(1)},\theta^{(2)},...,\theta^{(n_u)})J(θ(1),θ(2),...,θ(nu)) 就为:
J(θ(1),θ(2),...,θ(nu))=12∑j=1nu∑i:r(i,j)=1((θ(j))Tx(i)−y(i,j))2+λ2∑j=1nu∑k=1n(θk(j))2J(\theta^{(1)},\theta^{(2)},...,\theta^{(n_u)}) = \frac12 \sum_{j=1}^{n_u} \sum_{i:r(i,j)=1} ((\theta^{(j)})^Tx^{(i)}-y^{(i,j)})^2 + \frac \lambda 2 \sum_{j=1}^{n_u} \sum_{k=1}^n(\theta^{(j)}_k)^2J(θ(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) \theta_0^{(j)}:=\theta_0^{(j)} - \alpha \sum_{i:r(i,j)=1} ((\theta^{(j)})^Tx^{(i)}-y^{(i,j)})x_0^{(i)}θ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 \theta_k^{(j)}:=\theta_k^{(j)} - \alpha (\sum_{i:r(i,j)=1} ((\theta^{(j)})^Tx^{(i)}-y^{(i,j)})x_k^{(i)} + \lambda\theta_k^{(j)}),\quad\quad k\ne0θk(j):=θk(j)−α(i:r(i,j)=1∑((θ(j))Tx(i)−y(i,j))xk(i)+λθk(j)),k=0
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)