推荐系统
一、什么是推荐系统
学习用户的轨迹,然后推荐用户尚未用过的,但是可能喜欢的东西。
二、基于内容的推荐算法
对于一个电影网站,有若干用户对几部电影的评分,现在想要预测用户对没看过电影的评分。
那么基于内容的推荐算法,意思就是我们现在已经知道电影的特征向量,然后用来拟合用户的喜爱曲线,来预测用户评分。
参数:
r ( i , j ) = 1 r(i,j)=1 r(i,j)=1,表示用户 i i i评价过电影 j j j
y ( i , j ) y^{(i,j)} y(i,j),表示用户 i i i给电影 j j j的评分
Θ ( j ) \Theta^{(j)} Θ(j),表示用户 j 的向量(其中向量的分量就表示了用户对电影特征的喜欢程度)
x ( i ) x^{(i)} x(i),表示电影 i 的特征。
那么对于用户 j ,电影 i ,预测该用户对电影的评分为 ( Θ ( j ) ) T ( x ( i ) ) (\Theta^{(j)})^T(x^{(i)}) (Θ(j))T(x(i)),也就是内积。
例如电影有两个特征:动作成分、爱情成分,则视n=2。因此 x ( i ) x^{(i)} x(i)可以是[1, 0.99, 0]^T,第一个是偏置项。然后对于用户 j 的评分习惯来学习出参数 Θ ( j ) \Theta^{(j)} Θ(j)=[0, 5, 0]^T,这说明用户对动作特征喜爱程度高达5,而对爱情特征喜爱程度为0。所以两个向量内积得到的分数5*0.99=4.95,就表示对电影的预测评分(因为该电影动作成分很高,因此预测用户很喜欢)。
m ( j ) m^{(j)} m(j)表示用户 j 评分过的电影数量。
因此为了学习到 Θ ( j ) \Theta^{(j)} Θ(j),求一个参数使得这个loss最小(类似于线性回归&#