机器学习——推荐算法

推荐算法

n u : n_u: nu:用户数量
n m : n_m: nm:电影数量
n : n: n:电影特征数量
x i = ( x 1 i , x 2 i , . . . , x n i ) T x^i=(x^i_1,x^i_2,...,x^i_n)^T xi=(x1i,x2i,...,xni)T:电影i的特征矩阵
y ( i , j ) : y^{(i,j)}: y(i,j):用户j对电影i的评分
r ( i , j ) : r(i,j): r(i,j):用户j是否对电影i进行打分,打分了为1,未打分为0
预测用户j对电影i的评分: w j ⋅ x i + b j w^j·x^i+b^j wjxi+bj
                      

学习 w j , b j w^j,b^j wj,bj:
成本函数: J ( w j , b j ) = 1 2 m j ∑ i , r ( i , j ) = 1 ( w j ⋅ x i + b j − y ( i , j ) ) 2 + λ 2 m j ∑ k = 1 n ( w j ) 2 J(w^j,b^j)=\frac{1}{2m^j}\sum_{i,r(i,j)=1}(w^j·x^i+b^j-y^{(i,j)})^2+\frac{λ}{2m^j}\sum_{k=1}^{n}(w^j)^2 J(wj,bj)=2mj1i,r(i,j)=1(wjxi+bjy(i,j))2+2mjλk=1n(wj)2
J ( w j , b j ) = 1 2 ∑ i , r ( i , j ) = 1 ( w j ⋅ x i + b j − y ( i , j ) ) 2 + λ 2 ∑ k = 1 n ( w j ) 2 J(w^j,b^j)=\frac{1}{2}\sum_{i,r(i,j)=1}(w^j·x^i+b^j-y^{(i,j)})^2+\frac{λ}{2}\sum_{k=1}^{n}(w^j)^2 J(wj,bj)=21i,r(i,j)=1(wjxi+bjy(i,j))2+2λk=1n(wj)2
w : m i n 1 2 ∑ j = 1 n u ∑ i , r ( i , j ) = 1 ( w j ⋅ x i + b j − y ( i , j ) ) 2 + λ 2 ∑ j = 1 n u ∑ k = 1 n ( w j ) 2 w:min\frac{1}{2}\sum_{j=1}^{n_u}\sum_{i,r(i,j)=1}(w^j·x^i+b^j-y^{(i,j)})^2+\frac{λ}{2}\sum_{j=1}^{n_u}\sum_{k=1}^{n}(w^j)^2 w:min21j=1nui,r(i,j)=1(wjxi+bjy(i,j))2+2λj=1nuk=1n(wj)2
                        

学习 x j x^j xj:
成本函数: x : m i n 1 2 ∑ i = 1 n m ∑ i , r ( i , j ) = 1 ( w j ⋅ x i + b j − y ( i , j ) ) 2 + λ 2 ∑ i = 1 n m ∑ k = 1 n ( x i ) 2 x:min \frac{1}{2}\sum_{i=1}^{n_m}\sum_{i,r(i,j)=1}(w^j·x^i+b^j-y^{(i,j)})^2+\frac{λ}{2}\sum_{i=1}^{n_m}\sum_{k=1}^{n}(x^i)^2 x:min21i=1nmi,r(i,j)=1(wjxi+bjy(i,j))2+2λi=1nmk=1n(xi)2
                      

协同过滤算法
相加得到成本函数: J ( w , b , x ) = 1 2 ∑ ( i , j ) , r ( i , j ) = 1 ( w j ⋅ x i + b j − y ( i , j ) ) 2 + λ 2 ∑ j = 1 n u ∑ k = 1 n ( w j ) 2 + λ 2 ∑ i = 1 n m ∑ k = 1 n ( x i ) 2 J(w,b,x)=\frac{1}{2}\sum_{(i,j),r(i,j)=1}(w^j·x^i+b^j-y^{(i,j)})^2+\frac{λ}{2}\sum_{j=1}^{n_u}\sum_{k=1}^{n}(w^j)^2+\frac{λ}{2}\sum_{i=1}^{n_m}\sum_{k=1}^{n}(x^i)^2 J(w,b,x)=21(i,j),r(i,j)=1(wjxi+bjy(i,j))2+2λj=1nuk=1n(wj)2+2λi=1nmk=1n(xi)2
梯度下求最优解:
w i j = w i j − α ə ə w i j J ( w , b , x ) w_i^j=w_i^j-α\frac{ə}{əw_i^j}J(w,b,x) wij=wijαəwijəJ(w,b,x)
b j = b j − α ə ə b j J ( w , b , x ) b^j=b^j-α\frac{ə}{əb^j}J(w,b,x) bj=bjαəbjəJ(w,b,x)
x k i = x k i − α ə ə x k i J ( w , b , x ) x_k^i=x_k^i-α\frac{ə}{əx_k^i}J(w,b,x) xki=xkiαəxkiəJ(w,b,x)
                      

推荐标签:1:喜欢/肯定 ,0:不喜欢/否定 ?:还未接触
将推荐算法的线性回归看作逻辑回归,求预测的 w j ⋅ x i + b j w^j·x^i+b^j wjxi+bj为1的概率
将成本函数中的平方误差替换为逻辑回归的误差
L ( f ( w , b , x ) ( x ) , y ( i , j ) ) = − y ( i , j ) l o g ( f ( w , b , x ) ( x ) ) − ( 1 − y ( i , j ) ) l o g ( 1 − f ( w , b , x ) ( x ) ) L(f_{(w,b,x)}(x),y^{(i,j)})=-y^{(i,j)}log(f_{(w,b,x)}(x))-(1-y^{(i,j)})log(1-f_{(w,b,x)}(x)) L(f(w,b,x)(x),y(i,j))=y(i,j)log(f(w,b,x)(x))(1y(i,j))log(1f(w,b,x)(x))

J ( w , b , x ) = 1 2 ∑ ( i , j ) , r ( i , j ) = 1 L ( f ( w , b , x ) ( x ) , y ( i , j ) ) + λ 2 ∑ j = 1 n u ∑ k = 1 n ( w j ) 2 + λ 2 ∑ i = 1 n m ∑ k = 1 n ( x i ) 2 J(w,b,x)=\frac{1}{2}\sum_{(i,j),r(i,j)=1}L(f_{(w,b,x)}(x),y^{(i,j)})+\frac{λ}{2}\sum_{j=1}^{n_u}\sum_{k=1}^{n}(w^j)^2+\frac{λ}{2}\sum_{i=1}^{n_m}\sum_{k=1}^{n}(x^i)^2 J(w,b,x)=21(i,j),r(i,j)=1L(f(w,b,x)(x),y(i,j))+2λj=1nuk=1n(wj)2+2λi=1nmk=1n(xi)2

均值归一化:
将特征矩阵每一项减去其均值: x = x − μ x=x-μ x=xμ
则预测的电影评分为 w j ⋅ x i + b j + μ i w^j·x^i+b^j+μ_i wjxi+bj+μi
避免当用户的w,b均为0时出现预测值均为0的情况

“电影”的特征 x 1 l , x 2 l x_1^l,x_2^l x1l,x2l…可能没有具体含义,但可以根据 ∣ ∣ x k − x l ∣ ∣ 2 ||x^k-x^l||^2 ∣∣xkxl2判断相似的“电影”

基于内容的过滤
x u j x_u^j xuj user j的特征        —计算出—>     v u j v_u^j vuj      代表user j有多喜欢电影的某特征
x m i x_m^i xmi movie i的特征     —计算出—>     v m i v_m^i vmi     代表movie i的含有多少某特征
则用 v u j ⋅ v m i v_u^j·v_m^i vujvmi来预测评分
在这里插入图片描述
分别构造两个神经网络计算 v u j 和 v m i v_u^j和v_m^i vujvmi
cost function: J = 1 2 ∑ ( i , j ) , r ( i , j ) = 1 ( v u j ⋅ v m i − y ( i , j ) ) 2 J=\frac{1}{2}\sum_{(i,j),r(i,j)=1}(v_u^j·v_m^i-y^{(i,j)})^2 J=21(i,j),r(i,j)=1(vujvmiy(i,j))2+正则化参数
同样利用 ∣ ∣ x k − x l ∣ ∣ 2 ||x^k-x^l||^2 ∣∣xkxl2查找相似的“电影”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值