1.问题规划
图1.推荐系统在研究什么?
例子:预测电影的评分。
当知道n_u用户数,n_m电影数;r(i,j)用户j评价了电影i,那么就是1;y(i,j)如果r(i,j)为1,那么就给出评分。
问题就是根据现有数据训练学习算法,预测未评分的电影。
2.基于内容的推荐算法
图2.基于内容的推荐系统
对5部电影进行类型分析,有两个指标x_1,x_2,分别是爱情、动作,加上x_0之后形成指标。
从线性回归的角度来说,对每一个用户训练一个回归模型,每个用户都对应系数,对用户1Alice的参数[0,5,0]T,即对爱情片评分高,那么x电影参数输入后就得出大分为4.95.
图3.问题公式
这里引入了代价函数公式,介绍了参数的含义,r(i,j)即是否已经评分,y(i,j)是如果评分的分数。
θ(j)是对用户j的参数,x(i)是电影i的特征向量,m(j)是评分电影的数量,并且公式加入了正则项。
在优化时,由于m(i)是常数,所以可以将其去掉,优化时仍能得到最优的theta_j。
图4.最优化算法
第一个公式是对所有的参数进行求和并最小化,记作J(θ1,θ2,,,,θm)。
梯度下降更新,当k=0,也就是常数项;当k≠0,即需要正则化非常数项。
基于内容的推荐算法是有一个前提的,就是电影的所有特征指标类型都是已知的,但是这通常不会很符合正常情况,下节介绍不是基于内容的推荐算法。