低秩矩阵完备_从零学习可解释推荐系统2-矩阵分解介绍

a564d4248616af4d61614a53b3091742.png

从零学习可解释推荐系统(2)

作者:suy

由于矩阵分解内容非常多,我将分几章分别介绍,本章节主要整体介绍矩阵分解算法。

1. 介绍

矩阵分解是现今最为成功且广泛使用的协同过滤方法,矩阵分解的关键优点在于减少初始问题的复杂度,并且对于可观测用户产品提供一个稠密表达。通过把用户和产品信息嵌入到低维隐特征空间,这种方法同时可以用来做降维任务。

使用这种表达,用户和产品间的交互关系由简单的线性代数和向量计算即可表达,用户和产品间的交互可以通过在低维空间的向量内积表达,这也是矩阵分解模型的中心思想。通过几何学观点,用户向量与产品向量的夹角越小,越说明他们之间有关联。这个关系很好被cosine相似度获取,然后来建立更有效的邻近模型。

相对于邻近法的优点

相对于邻近方法,矩阵分解方法可以更好的解决“有限覆盖问题”,举个例子,使用近邻模型时,假如缺乏共有的偏好信息,就会导致预测结果的不稳定。而矩阵分解模型通过建立每个用户和单个产品间的联系,可以缓解这个问题。同时矩阵分解模型可以解决数据的稀疏性问题。

矩阵分解模型的核心:找寻效用函数

效用函数是矩阵分解模型的关键,它的目标是表达用户做未决定的决策的过程。这个过程由用户和产品间的交互信息表达。预测效用函数是矩阵分解模型的一个目标,效用函数不光与可观测数据有关,与未观察数据也有关。

在最简单的情况下,相关分数可以直接与用户反馈相关联,例如movielens数据中,用户对电影会有明确的评分,这时构造效用函数过程可以转换为一个矩阵补全问题。

模糊反馈问题

然而标准的矩阵补全可能不适用于模糊反馈,因为模糊反馈不是用户有意提供的,例如点击率和购买记录。对于模糊反馈和精确反馈的共同点在于,当没有某用户和产品的交互信息时,不代表负向偏好,然而对于模糊反馈,即使存在交互信息,也不一定可以表达用户的偏好,因此对于模糊反馈我们往往不能给与其与精确反馈一样的问题定义。

评分预测与top-n

除此之外,在很多实践应用中,主要目的是返回一系列排序的推荐,而不是返回预测值,这类问题被称为top-n问题,其中n是被推荐物品的个数。该问题与预测评分的主要区别在于,它只追求推荐物品的排序,而不追求预测评分的准确。综

上所述,推荐问题可分为两类,评分预测问题和top-n推荐问题,而矩阵补全模型适用于上述两种问题。

2. 定义问题

这一节主要通过数学公式来明确,矩阵分解法在解决什么问题。

正如已经提到的,在推荐系统中,降维方法可以仅用较少参数来描述用户偏好和产品偏好,伴随着数据的稠密表达,降维可以揭露数据的重要特征并生成推荐。一般有多种方法可以实现降维,例如神经网络,马尔科夫决策过程,LDA等,本文只会关注矩阵分解方法。

让我们从矩阵补全开始,假设我们已知所有用户对于所有物品的偏好情况,那么此时交互信息可以表达为完整矩阵

,每行代表一个用户,每列代表一个物品,矩阵的值代表用户与产品间的反馈信息。这个信息中可能包含一些噪音信息,噪音例如偏好的改变又或是非有意的交互,以及一些不可预测因素,这些噪音导致推荐变得十分复杂。

然而在大量数据下,通过较少的参数可以表达出一些共性特征,因此,降维虽然会损失一些信息,但也能抓取一些隐藏的共性特征,因此数据可以用下面公式表达:

其中E是噪音,R是近似的效用函数,因此推荐模型可以转换为恢复R。

在矩阵分解方法下,恢复R可以通过矩阵相乘:

其中矩阵

分别代表用户和产品。其中,两个矩阵的每一行代表某用户/物品的隐特征向量,而这两个向量又可以称为用户和物品在隐嵌入空间的嵌入(embedding)。对于用户i和产品j之间的效用函数
可以用向量积
表达。潜在特征维度r被称为近似的秩,该值远小于用户和产品数目。

这种将大矩阵分解成两个低秩小矩阵的方法被称作低秩估计,最终P和Q的得到可以转化为一个优化问题,损失函数L为:

其中

是一组参数,L的目的是最小化两者的偏差。

然而现实中的数据往往不能提供完整矩阵A,我们需要通过一些矩阵补全方式,来补全矩阵,因此损失函数L变为:

其中T代表数据转换函数,例如缺失值填充,或者其他数据预处理过程。

因为这周工作比较忙,只能抽周末时间,简单介绍一下矩阵分解。下一篇文章我会详细讲解一种最广为应用的矩阵分解方法SVD分解。

*学术环境从你我做起,引用本文请注明出处

Reference :Low Rank Models For Recommender Systems With Limited Preference Information -- EVGENY FROLOV(Moscow-2018)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值