MF,PMF算法比较

两者都是推荐算法中的经典算法,在此依照自己的理解描述二者的思想及求解过程,希望以此促进理解二者的联系和区别。MF 矩阵分解算法矩阵分解,顾名思义,将一个矩阵分解成多个矩阵相乘的形式,如评分矩阵Ri∗jRi∗jR_{i*j} 分解成 用户矩阵 Ui∗kUi∗kU_{i*k} 与物品矩阵Vk∗jVk∗jV_{k*j} 的乘积。而用户矩阵中的k,代表每个用户i对物品k个属性的偏好程度,物品矩阵中...
摘要由CSDN通过智能技术生成

两者都是推荐算法中的经典算法,在此依照自己的理解描述二者的思想及求解过程,希望以此促进理解二者的联系和区别。

MF 矩阵分解算法

矩阵分解,顾名思义,将一个矩阵分解成多个矩阵相乘的形式,如评分矩阵 Rij R i ∗ j 分解成 用户矩阵 Uik U i ∗ k 与物品矩阵 Vkj V k ∗ j 的乘积。而用户矩阵中的k,代表每个用户i对物品k个属性的偏好程度,物品矩阵中的k,则代表每个物品j具有对应的k个属性的程度。要使得分解后得到的 Uik U i ∗ k Vkj V k ∗ j 能尽可能还原 Rij R i ∗ j ,即

RijRij^=Uik×Vkj R i ∗ j ≈ R i ∗ j ^ = U i k × V k j
, 具体地, Rij R i ∗ j 中已有评分值,与 Rij^ R i ∗ j ^ 中对应位置的值尽可能接近,这样,可以由 Rij^ R i ∗ j ^ 预测 Rij R i ∗ j 中没有值的位置可能的评分。
为了“尽可能接近”,需要对U和V矩阵的值进行训练选择,于是需要设计损失函数,和优化方法。

损失函数

在此,可以选择平方误差函数作为损失函数,即

E2=e2ij=Iij(Rij^Rij)2=Iij(Rij^kUikVkj)2 E 2 = ∑ e i j 2 = ∑ I i j ( R i j ^ − R i j ) 2 = ∑ I i j ( R i j ^ − ∑ k U i k V k j ) 2

其中 Iij I i j 为指示函数,当 Rij R i j 有评分时则为1,否则为0.

损失函数求解

在此,用梯度下降的方式求解,即

E2Uik=2Iij(Rij^kUikVkj)Vkj ∂ E 2 ∂ U i k = − 2 ∑ I i j ( R i j ^ − ∑ k U i k V k j ) V k j

E2Vkj=2Iij(Rij^kUikVkj)Uik ∂ E 2 ∂ V k j = − 2 ∑ I i j ( R i j ^ − ∑ k U i k V k j ) U i k

根据梯度,更新变量
Uik=
  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值