利用矩阵分解实现推荐算法

本文介绍了矩阵分解在推荐算法中的应用,如SVD、Funk-SVD、Bias-SVD、SVD++和NMF等,强调了矩阵分解在评分预测、非负性约束和模型扩展性方面的优势,同时也指出其训练时间长和推荐结果解释性差的不足。
摘要由CSDN通过智能技术生成

利用矩阵分解实现推荐算法

1.矩阵分解方法

矩阵分解在推荐算法中有着广泛的应用,提起矩阵分解我们首先想到的是SVD奇异值分解。
(1)因此这里我们首先介绍一下SVD分解,在推荐算法中,我们一般把评分矩阵进行SVD分解,然后,通过选择部分较大的奇异值进行降维,如果我们要计算用户i对物品j的评分则只需要计算分解后的矩阵的乘积,通过这种方法就可以将评分表中没有评分的位置得到一个预测评分,通过找到最高评分对应的物品推荐给用户。但是这里要注意,SVD分解要求矩阵是稠密的,也就是说矩阵中不能有大量的空白,一般的情况下是将缺失值进行简单的补全,比如用全局平均值,得到补全的矩阵后在进行SVD分解以进行降维。因此这个方法也存在着很多的问题。
(2)Funk-SVD
这是实际中用的比较多的算法,它的思想是用户的兴趣只受几个特定因素的影响,因而将稀疏的高维的评分矩阵分解为两个低维矩阵。即通过即通过学习得到的用户特征矩阵和物品特征矩阵,通过重构的地位矩阵预测用户对产品的评分。用户的特征向量代表着用户的兴趣,物品的特征向量代表着物品的特点,且每一个维度相互对应,两个向量的内机就表示用户对该物品的喜好程度。
它避开了求解负责的三个矩阵(SVD方法),同时也解决了稀疏性的问题,直接分解为了两个矩阵,如何求得分解后的两个矩阵呢,一般采用平方距离作为损失函数。
(3)Bias-SVD
我们把这些独立于⽤户或独⽴于物品的因素称为偏置(Bias)部分,将用户和物品的交互即⽤户对 物品的喜好部分称为个性化部分。事实上&#x

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值