基于非负矩阵分解的多视图学习——协同非负矩阵分解(Collaborative Non-negative Matrix Factorization, CNMF)

协同非负矩阵分解(Collaborative Non-negative Matrix Factorization, CNMF)是结合了非负矩阵分解(NMF)协同过滤(CF)思想的一种方法,主要用于处理用户-项目评分矩阵的推荐系统场景

这种方法特别适合于处理大型稀疏矩阵,因为用户往往只对一小部分项目进行过评分。

NMF基础

在非负矩阵分解中,给定一个非负矩阵 V V V (例如,用户-项目评分矩阵),目标是找到两个低秩的非负矩阵 W W W H H H ,使得它们的乘积 W H WH WH 大致等于 V V V 。数学上,可以表示为:

V ≈ W H V \approx WH VWH

其中,

  • V V V 是一个 n × m n \times m n×m 的非负矩阵。
  • W W W 是一个 n × k n \times k n×k 的非负矩阵,被称为基矩阵(basis matrix)。
  • H H H 是一个 k × m k \times m k×m 的非负矩阵,被称为混和矩阵(mixture matrix)或编码矩阵
  • k k k 是一个远小于 n n n m m m 的整数,代表分解后的矩阵的秩。

CNMF公式

在协同非负矩阵分解中,目标是通过最小化重构误差来估计 W W W H H H
对于存在评分的项,重构误差可以通过下面的公式来衡量:

min ⁡ W , H ∑ ( i , j ) ∈ Ω ( V i j − ( W H ) i j ) 2 \min_{W,H} \sum_{(i,j) \in \Omega} (V_{ij} - (WH)_{ij})^2 W,Hmin(i,j)Ω(Vij(WH)ij)2

其中,

  • Ω \Omega Ω 是所有已知评分的索引对的集合,即用户-项目评分矩阵中非空条目的位置。
  • V i j V_{ij} Vij 是用户 i i i 对项目 j j j评分。
  • ( W H ) i j (WH)_{ij} (WH)ij 是通过 W W W H H H 的乘积重构出来的用户 i i i 对项目 j j j预测评分。

求解CNMF

CNMF通常使用迭代优化算法来求解,其中一个流行的算法是交替非负最小二乘法(ANLS)

在每一步迭代中,固定其中一个矩阵,求解另一个矩阵,直到收敛为止。

公式中的每个字符

  • V V V : 用户-项目评分矩阵。
  • W W W : 基矩阵,每一列代表一个“原型”或“主题”,在推荐系统中可以理解为用户的偏好特征。
  • H H H : 混和矩阵,每一行代表一个项目在不同“原型”或“主题”上的贡献。
  • i i i : 用户索引。
  • j j j : 项目索引。
  • k k k : 分解的秩,即特征维度。
  • Ω \Omega Ω : 已知评分的索引对集合。
  • V i j V_{ij} Vij : 用户 i i i 对项目 j j j 的真实评分。
  • ( W H ) i j (WH)_{ij} (WH)ij : 用户 i i i 对项目 j j j 的预测评分。
  • ∑ \sum : 求和符号,表示对所有已知评分的误差求和。
  • 2 ^2 2 : 平方操作,用于计算误差的平方,确保误差值非负并惩罚大的偏差。

应用

CNMF在推荐系统中非常有用,因为它能够处理高维稀疏数据,并且能够通过学习用户和项目的隐含特征来预测未评分项目。

此外,由于NMF的非负性约束,它倾向于学习到易于解释的特征,这对于理解和优化推荐系统的性能很有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不易撞的网名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值