专栏名称: 机器学习研究会
机器学习研究会是北京大学大数据与机器学习创新中心旗下的学生组织,旨在构建一个机器学习从事者交流的平台。除了及时分享领域资讯外,协会还会举办各种业界巨头/学术神牛讲座、学术大牛沙龙分享会、real data 创新竞赛等活动。
目录
相关文章推荐
黄建同学  ·  MetaGPT ... ·  2 天前  
爱可可-爱生活  ·  本文提出了一种名为eva的开放式强化学习来自 ... ·  3 天前  
人工智能那点事  ·  雷军回应“夜里偷喝员工酸奶”,更让他惊讶的是…… ·  4 天前  
51好读  ›  专栏  ›  机器学习研究会

【学习】机器学习系列-SVD篇

机器学习研究会  · 公众号  · AI  · 2017-03-16 20:35

正文



点击上方“机器学习研究会”可以订阅哦


摘要
 

转自:Datartisan数据工匠

SVD全称 Singular value decomposition,奇异值分解。线性代数里重要的一种分解形式,其矩阵的特殊含义可以用来做处理线性相关。如在自然语言处理中,对新闻的分类,就可以采用SVD的方法,而且已取得不错的效果。把新闻中的核心词,用一个向量进行表示,每条新闻一个向量,组成一个矩阵,对矩阵进行SVD分解。如:可以用一个大矩阵A来描述这一百万篇文章和五十万词的关联性。这个矩阵中,每一行对应一篇文章,每一列对应一个词。


在上面的图中,M=1,000,000,N=500,000。第 i 行,第 j 列的元素,是字典中第 j 个词在第 i 篇文章中出现的加权词频(比如,TF/IDF)。读者可能已经注意到了,这个矩阵非常大,有一百万乘以五十万,即五千亿个元素。


奇异值分解就是把上面这样一个大矩阵,分解成三个小矩阵相乘,如下图所示。比如把上面的例子中的矩阵分解成一个一百万乘以一百的矩阵X,一个一百乘以一百的矩阵B,和一个一百乘以五十万的矩阵Y。这三个矩阵的元素总数加起来也不过1.5亿,仅仅是原来的三千分之一。相应的存储量和计算量都会小三个数量级以上。

三个矩阵有非常清楚的物理含义:

  • 第一个矩阵X中的每一行表示意思相关的一类词,其中的每个非零元素表示这类词中每个词的重要性(或者说相关性),数值越大越相关。

  • 第三个矩阵Y中的每一列表示同一主题一类文章,其中每个元素表示这类文章中每篇文章的相关性。

  • 第二个矩阵B则表示类词和文章之间的相关性。因此,我们只要对关联矩阵A进行一次奇异值分解,我们就可以同时完成了近义词分类和文章的分类。(同时得到每类文章和每类词的相关性)。


特征向量物理意义

我国著名数学家华罗庚曾说过:“数缺形时少直观,形少数时难入微;数形结合百般好,隔离分家万事休”。数学中,数和形是两个最主要的研究对象,它们之间有着十分密切的联系,在一定条件下,数和形之间可以相互转化,相互渗透。 数形结合的基本思想,就是在研究问题的过程中,注意把数和形结合起来考察,斟酌问题的具体情形,把图形性质的问题转化为数量关系的问题,或者把数量关系的问题转化为图形性质的问题,使复杂问题简单化,抽象问题具体化,化难为易,获得简便易行的成功方案。


我们知道,矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在这个变换的过程中,原向量主要发生旋转、伸缩的变化。如果矩阵对某一个向量或某些向量只发生伸缩变换,不对这些向量产生旋转的效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值。


来看一个只有两行两列的简单矩阵。第一个例子是对角矩阵:

从几何的角度,矩阵可以描述为一个变换:用矩阵乘法将平面上的点(x, y)变换成另外一个点(3x, y):

这种变换的效果如下:平面在水平方向被拉伸了3倍,在竖直方向无变化。

再看下这个矩阵 

它会产生如下的效果

这其实是在平面上对一个轴进行的拉伸变换(如蓝色的箭头所示),在图中,蓝色的箭头是一个最主要的变化方向(变化方向可能有不止一个)。如果我们想要描述好一个变换,那我们就描述好这个变换主要的变化方向就好了。


如果说一个向量v是方阵A的特征向量,这时候λ就被称为特征向量v对应的特征值。


其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值。



原文链接:

https://mp.weixin.qq.com/s/DA7fHKNISpHu3W4GFzYjQA

“完整内容”请点击【阅读原文】
↓↓↓