MF,PMF算法比较

本文对比分析了推荐系统中的MF(矩阵分解)和PMF(概率矩阵分解)算法,详细阐述了它们的损失函数、求解过程、正则化以及预测评分的方法。MF通过最小化平方误差进行优化,而PMF从概率角度出发,假设观测误差和矩阵元素服从高斯分布,从而提供了一种不同的解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

MF 矩阵分解算法

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

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

损失函数

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

E2=e2ij=Iij(Rij^Rij)2=Iij(Rij^kUikVkj)2E2=∑eij2=∑Iij(Rij^−Rij)2=∑Iij(Rij^−∑kUikVkj)2

其中 IijIij 为指示函数,当 RijRij 有评分时则为1,否则为0.

损失函数求解

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

E2Uik=2Iij(Rij^kUikVkj)Vkj∂E2∂Uik=−2∑Iij(Rij^−∑kUikVkj)Vkj

E2Vkj=2Iij(Rij^kUikVkj)Uik∂E2∂Vkj=−2∑Iij(Rij^−∑kUikVkj)Uik

根据梯度,更新变量
U
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值