0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

奇异值分解和矩阵分解傻傻分不清楚?一文帮你理清两者差异!

电子工程师 来源:lq 2019-05-05 11:26 次阅读

推荐系统的相关研究中,我们常常用到两个相关概念:矩阵分解和奇异值分解。这两个概念是同一种算法吗?两者到底有什么差别?在本文中,作者梳理了两种算法的概念、来源和内容,并进行了比较。通过对相关内容的梳理,作者提出,矩阵分解是推荐系统中最初使用的概念,奇异值分解是对该方法的进一步发展。在现在的讨论中,一般将两种方法统一成为奇异值分解。

在 Andrew Ng 教授的机器学习课程中,介绍推荐系统时经常涉及矩阵分解、奇异值分解等数学知识,这些概念并不是很好理解。在 Andrew Ng 教授的课程提到了一种称为称为 (低因子) 矩阵分解的方法,而在 Google 搜索会得到另一个名称:奇异值分解。网络资源中对于该算法的解释和 Andrew Ng 教授存在差异,但很多人都认为这两个名称指的是同一种算法。为了更好的梳理这两个概念,在本文中,我对两者进行了分别介绍,并对比了它们的不同。

推荐系统

推荐系统 (Recommender Systems, RS) 是一种自动化的针对用户的内容推荐方式,被广泛用于电子商务公司,流媒体服务 (streaming services) 和新闻网站等系统。根据用户的喜好,推荐系统能够投其所好,为用户推荐一些合适的内容,以便减少用户筛选过程中一些不必要的麻烦。

推荐系统并不是一种全新的技术,相关概念最晚在1990年就出现了。事实上,当前的机器学习热潮,一部分要归因于人们对 RS 的广泛关注。 在2006年,Netflix 赞助了一场为电影寻找最佳推荐系统的竞赛,在当时引起了一片轰动,也让推荐系统再次得到了广泛的关注。

矩阵表示

我们可以有很多种方式来向别人推荐一部电影。其中一种效果较好的策略,是将用户对电影的评分看做一个用户 x 电影矩阵,如下所示:

在该矩阵中,问号代表用户未评分的电影。随后,只需要以某种方式预测来用户对电影评分,并向用户推荐他们可能喜欢的电影。

矩阵分解

在 Netflix 举办的比赛上,参赛者 Simon Funk 提出了一个很好的想法,即用户对电影的评分不是随给出的。用户会基于一定的逻辑,针对电影中他所所喜欢的部分 (如特定的女演员或类型) 和不喜欢的情节 (长时间或糟糕的笑话) 赋予不同的权重,并进行加权计算,最后得到一个分数作为该电影的评分。这个过程可以用如下公式表示:

其中 xm 是电影 m 特征值的一个列向量,而 θᵤ 是另一个列向量,表示用户 u 赋予每个电影特征的权重。每个用户都有不同的权重集合,而每个电影的特征也对应不同的特征集合。

事实证明,如果能够任意地修改特征的数量并忽略所缺失的那部分电影评分,那么就可以找到一组权重和特征值,依据这些值所创建新矩阵与原始的评分矩阵是很接近的。这一过程可以通过梯度下降来实现,且类似于线性回归中所使用的梯度下降,只不过我们需要同时优化权重和特征这两组参数。以上文提供的用户-电影矩阵为例,优化后得到的结果将生成如下新的矩阵:

值得注意的是,在大多数真实数据集中,生成的结果矩阵并不会精确地与原始矩阵保持一致。因为在现实生活中,用户不会对通过矩阵乘法和求和等操作对电影进行评分。大多数情况下,用户对电影进行评分只是一种主观性的行为,且可能受到各种外部因素的影响。尽管如此,这里所介绍的方法还是希望通过数学公式来表达用户在电影评分时的主要逻辑。

通过上面的计算,现在我们已经得到了一个近似矩阵,那该如何来预测缺失的电影评级呢?通过回顾上面的计算过程,我们可以发现,为了构建这个新矩阵,这里定义了一个公式来填充矩阵中的所有值,包括原始矩阵中的缺失值。因此,如果想要预测缺失的用户电影评分,这里只需获取该缺失电影的所有特征值,再乘以该用户的所有权重并将所有内容相加,就能得到用户对该电影的评分。因此在这里,如果想要预测用户2对电影1的评级,可以通过以下计算:

     

为了简化表达式,在这里可以对 θ 和 x 进行分离,并将它们放入各自的矩阵(比如 P 和 Q)。

以上就是 Funk 所提出的矩阵分解方法,也是 Andrew Ng 教授在课上所提到的矩阵分解。该方法在当时 Netflix 竞赛中获得第三名,引起了广泛的关注,并在当前许多应用中仍被使用。

奇异值分解

下面介绍奇异值分解 (Singular Value Decomposition, SVD)。SVD 方法是将一个矩阵分解为三个矩阵的矩阵分解方法,即 A =UΣVᵀ,且三个分解矩阵会具有一些较好的数学特性。

SVD 方法具有广泛的应用,其中之一就是主成分分析(Principal Component Analysis, PCA) ,该方法能够将维度 n 的数据集减少到 k 个维度 (k

这里不再展开介绍 SVD 方法的详细信息。我们只需要记住,奇异值分解与矩阵分解的处理方式不同。使用SVD 方法会得到三个分解矩阵,而 Funk 提出的矩阵分解方式只创建了两个矩阵。

那为什么在每次搜索推荐系统时总会弹出 SVD 的相关内容呢? Luis Argerich 认为原因在于:

事实上,矩阵分解是推荐系统中首先使用的方法,而 SVD++ 可视为是对它的一种扩展形式。正如 Xavier Amatriain 所说的那样:

而 Wikipedia 在对矩阵分解(推荐系统)的相关条目中也有类似的表述:

最后,简单进行一下总结:

奇异值分解(SVD)是一种相对复杂的数学技术,它将矩阵分解为三个新的矩阵,并广泛应用于当前许多的应用中,包括主成分分析(PCA)和推荐系统(RS)。

Simon Funk 在2006年的 Netflix 竞赛中提出并使用了一个非常好的策略,改方法将矩阵分解为两个权重矩阵,并使用梯度下降来找到特征和权重所对应的的最优值。实质上,这是不同于 SVD 方法的另一种技术,将其称为矩阵分解更为合适。

随着这两种方法的广泛应用,研究者并没有严谨地在术语上区分这两种方法,而是统一将其称为 SVD。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 矩阵
    +关注

    关注

    0

    文章

    422

    浏览量

    34494
  • 机器学习
    +关注

    关注

    66

    文章

    8373

    浏览量

    132391
  • 奇异值分解
    +关注

    关注

    0

    文章

    4

    浏览量

    6351

原文标题:一文帮你梳理清楚:奇异值分解和矩阵分解 | 技术头条

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MATLAB线性方程和特征奇异命令

    逆 特征奇异 Eig 求特征和特征向量 Poly 求特征多项式 Hess Hes***erg形式 Qz 广义特征 Cdf
    发表于 09-22 16:01

    工业互联网和工业4.0傻傻分不清楚

    工业互联网是什么?工业互联网的网速快吗?工业互联网是物联网概念的重新包装么?工业互联网和工业4.0,傻傻分不清楚?工业互联网已经渗透到了哪些领域?
    发表于 07-12 06:51

    不要再对各种电机、舵机傻傻分不清楚了 精选资料分享

    你是否和木木样,想要自己diy个机器人,却对电机、舵机、步进电机、伺服电机、数字舵机、模拟舵机、串行总线舵机……大堆名词傻傻分不清楚
    发表于 09-01 08:31

    基于改进奇异值分解的人耳识别算法研究

    提出了基于特征矩阵和改进的奇异值分解的人耳识别算法。采用特征矩阵及Fisher最优鉴别分析方法将原始样本向最优鉴别矢量投影,有效地降低了维数,再进行奇异值分解后所得
    发表于 06-29 08:53 18次下载

    采用奇异值分解的数字水印嵌入算法

    提出种新的数字水印嵌入算法,采用奇异值分解(SVD)算法对数据进行分解变换。利用正交矩阵作为容器进行水印嵌入,并通过参数的选择和纠错码的使用提高水印的隐蔽性和鲁棒性
    发表于 07-30 14:30 29次下载

    基于整体与部分奇异值分解的人脸识别

    针对原有奇异值分解的不足,本文将图像矩阵进行投影,并对整体与三组局部奇异结合进行改进,再利用BP 神经网络进行分类识别,对该文提出的方法进行了人脸识别实验。结
    发表于 01-13 14:36 10次下载

    基于奇异值分解的车牌特征提取方法研究

    研究了基于小波分析的车牌图像定位、分割、大小归化方法,并分析了奇异值分解算法的数学原理和算法。利用奇异值分解作为代数特征提取方法,获得图像的有效特征描述。以Mat
    发表于 10-17 11:08 28次下载
    基于<b class='flag-5'>奇异值分解</b>的车牌特征提取方法研究

    基于FPGA的高光谱图像奇异值分解降维技术

    基于FPGA的高光谱图像奇异值分解降维技术
    发表于 08-30 15:10 2次下载

    科普:石墨烯电池、石墨烯基电池二有何不同?别傻傻分不清

    很多吃瓜群众是不是已经对“石墨烯电池”和“石墨烯基电池”傻傻分不清楚了。
    发表于 01-23 15:40 5376次阅读

    基于BP神经网络和局部与整体奇异值分解的人脸识别

    基于BP神经网络和局部与整体奇异值分解的人脸识别matlab
    发表于 07-29 13:46 24次下载

    基于矩阵分解的手机APP推荐

    (包括奇异值分解(SVD)和非负矩阵分解(NMF))的推荐算法、奇异值分解推荐算法以及因子分解机推荐算法进行手机App推荐。实验表明,因子
    发表于 12-22 16:43 0次下载

    芯片、半导体、集成电路还在傻傻分不清楚

    芯片,半导体,集成电路,傻傻分不清楚? 很多人都会有这样的烦恼,希望今天分享的文章能帮助到大家~起学习!起进步! 、什么是芯片? 芯片
    的头像 发表于 09-28 17:13 3w次阅读

    基于奇异值分解的时空序列分解模型ST-SVD

    针对传统时空序列建模过程中估计空间权重矩阵时难度较髙的冋题,提岀种基于奇异值分解(SVD)的时空序列分解模型ST-sSVD。对原始时空序列矩阵
    发表于 03-23 16:39 19次下载
    基于<b class='flag-5'>奇异值分解</b>的时空序列<b class='flag-5'>分解</b>模型ST-SVD

    基于奇异值分解和引导滤波的低照度图像增强

    基于奇异值分解和引导滤波的低照度图像增强
    发表于 06-18 11:53 4次下载

    别再傻傻分不清楚光纤和网线了

    目前网线和光纤就成为了网络信号传输中最重要的种载体,如何选择你清楚吧?这两者的区别你了解吗?下面就看看clan通讯小编的解答吧。
    的头像 发表于 12-20 09:54 6038次阅读