高考考试网
当前位置: 首页 高考资讯

深度学习超大型矩阵求逆(机器学习SVD矩阵分解算法)

时间:2023-07-04 作者: 小编 阅读量: 5 栏目名: 高考资讯

今天是机器学习专题第28篇文章,我们来聊聊SVD算法。因此广泛利用在各个领域当中,例如信号处理、金融领域、统计领域。所以目前流行的PCA几乎都是以SVD为底层机制实现的,比如sklearn库中的PCA工具就是用的SVD。由于SVD可以实现并行化计算,使得在实际当中它更受欢迎。但SVD也不是万能的,它一个很大的缺点就是和PCA一样解释性很差,我们无法得知某些值或者是某些现象的原因。

今天是机器学习专题第28篇文章,我们来聊聊SVD算法。

SVD的英文全称是Singular Value Decomposition,翻译过来是奇异值分解。这其实是一种线性代数算法,用来对矩阵进行拆分。拆分之后可以提取出关键信息,从而降低原数据的规模。因此广泛利用在各个领域当中,例如信号处理、金融领域、统计领域。在机器学习当中也有很多领域用到了这个算法,比如推荐系统、搜索引擎以及数据压缩等等。

SVD简介

我们假设原始数据集矩阵D是一个mxn的矩阵,那么利用SVD算法,我们可以将它分解成三个部分:

这三个矩阵当中U是一个m x n的矩阵,∑是一个m x n的对角矩阵,除了对角元素全为0,对角元素为该矩阵的奇异值。V是一个n x n的矩阵。U和V都是酉矩阵,即满足U^TU = I, V^T V = I。也就是它乘上它的转置等于单位对角矩阵。

我们可以看下下图,从直观上感知一下这三个矩阵。

下面我们来简单推导一下SVD的求解过程,看起来很复杂,概念也不少,但是真正求解起来却并不难。会需要用到矩阵特征值分解的相关概念,如果不熟悉的同学可以先看下线性代数专题相关内容做个回顾:

线性代数精华——讲透矩阵的初等变换与矩阵的秩

首先,如果我们计算A^TA可以得到一个n x n的方阵。对于方阵我们可以对它进行特征分解,假设得到特征值是lambda_i,特征向量是v_i,代入特征值的性质可以得到:

这样的特征值和特征向量一共会有n个,我们把它所有的特征向量组合在一起,可以得到一个n x n的矩阵V。它也就是我们SVD分解结果之后的V,所以有些书上会把它叫做右奇异向量。

同理,我们计算AA^T可以得到一个m x m的方阵,我们同样可以对他进行特征值分解,得到一个特征矩阵U。U应该是一个m x m的矩阵,也就是SVD公式中的U,我们可以将它称为A的左奇异向量。

U和V都有了,我们只剩下∑还没求出来了。由于它是一个对角矩阵,除了对角元素全为0,所以我们只需要求出它当中的每一个对角元素,也就是奇异值就可以了,我们假设奇异值是 σ,我们对SVD的式子进行变形:

这个推导当中利用了V是酉矩阵的性质,所以我们乘上了V将它消除,就推导得到了奇异值的公式,∑矩阵也就不难求了。

整个推导的过程不难,但是有一个问题没解决,为什么AA^T的特征矩阵就是SVD中的U矩阵了,原理是什么?这一步是怎么推导来的?说实话我也不知道天才数学家们这一步是怎么推导得到的,我实在脑补不出来当时经过了怎样的思考才得到了这个结果,但是想要证明它是正确的倒不难。

这里也同样利用了酉矩阵的性质,还有对角矩阵乘法的性质。我们可以看出来,U的确是AA^T特征向量组成的矩阵,同样也可以证明V。其实如果眼尖一点还可以发现特征值矩阵等于奇异值矩阵的平方,所以

所以,我们求解∑矩阵可以不用很麻烦地通过矩阵去计算,而是可以通过AA^T的特征值取平方根来求了。

SVD的用途

我们推导了这么多公式,那么这个SVD算法究竟有什么用呢?

看来看去好像看不出什么用途,因为我们把一个矩阵变成了三个,这三个矩阵的规模也并没有降低,反而增加了。但是如果去研究一下分解出来的奇异值,会发现奇异值降低的特别快。只要10%甚至是1%的奇异值就占据了全部奇异值之和的99%以上的比例。

换句话说,我们并不需要完整的SVD分解结果,而是只需要筛选出其中很少的k个奇异值,和对应的左右奇异向量就可以近似描述原矩阵了。

我们看下下图,相当于我们从分解出来的矩阵当中筛选一小部分来代替整体,并且保留和整体近似的信息。

我们把式子写出来:

这里的k远小于n,所以我们可以大大降低SVD分解之后得到的矩阵参数的数量。

也就是说,我们通过SVD分解,将一个m x n的大矩阵,分解成了三个小得多的小矩阵。并且通过这三个小矩阵,我们可以还原出原矩阵大部分的信息。不知道大家有没有想到什么?是了,这个和我们之前介绍的PCA算法如出一辙。不仅思路相似,就连计算的过程也重合度非常高,实际上PCA算法的求解方法之一就是通过SVD矩阵分解。

SVD与PCA

我们来简单看看SVD和PCA之间的关联。

首先复习一下PCA算法,我们首先计算出原始数据的协方差矩阵X,再对X^TX进行矩阵分解,找到最大的K个特征值。然后用这K个特征值对应的特征向量组成的矩阵来对原始数据做矩阵变换。

在这个过程当中,我们需要计算X^TX,当X的规模很大的时候,这个计算开销也是很大的。注意到我们在计算SVD中V矩阵的时候,也用到了A^TA矩阵的特征值分解。然而关键是一些计算SVD的算法可以不先求出协方差矩阵X^TX也能得到V,就绕开了这个开销很大的步骤。

所以目前流行的PCA几乎都是以SVD为底层机制实现的,比如sklearn库中的PCA工具就是用的SVD。

代码实现

关于SVD算法我们并不需要自己实现,因为numpy当中封装了现成的SVD分解方法。

我们直接调用np.linalg.svd接口即能完成矩阵的分解:

这里的Sigma返回的是一个向量,代替了对角矩阵,节省了存储开销。我们可以通过找出最小的K,使得K个奇异值占据整体奇异值95%以上的和。这里可以看到,我们选出了5个奇异值就占据所有奇异值和的99%以上:

总结

我们今天和大家分享了SVD算法的原理,以及一种常规的计算方法。SVD和PCA一样底层都是基于矩阵的线性操作完成的,通过SVD的性质,我们可以对原数据进行压缩和转化。基于这一点,衍生出了许多的算法和应用场景,其中最经典的要属推荐系统中的协同过滤了。由于篇幅限制,我们将会在下一篇文章当中和大家分享这一点,实际了解一下SVD的应用,加深一下理解。

由于SVD可以实现并行化计算,使得在实际当中它更受欢迎。但SVD也不是万能的,它一个很大的缺点就是和PCA一样解释性很差,我们无法得知某些值或者是某些现象的原因。关于这一点,我们也会在下一篇文章当中加以体现。

今天的文章到这里就结束了,如果喜欢本文的话,请来一波素质三连,给我一点支持吧(关注、转发、点赞)。

本文始发于公众号:TechFlow

    推荐阅读
  • 信迪利单抗带不带输液器(进来看看)

    以下内容希望对你有帮助!信迪利单抗带不带输液器不带。本品中的辅料组成如下:甘露醇、组氨酸、枸橼酸钠(二水)、氯化钠、依地酸二钠、聚山梨酯枸橼酸(一水)、注射用水。

  • 学数学你最关注的是什么(那些年我们一起上过的课)

    那些年我们一起上过的课前几天,科小能在微博上看到一个话题,叫做青春伤痛文学用两个字就可以概括——数学数学,多少人在学生时期的噩梦,有多少人“闻数学而色变”但是数学是不是曾经“单纯”过呢,本期科小能给大家介绍一下数学的变迁史。

  • 白衣服为什么放着就变黄了(白衣服放着就变黄了的原因)

    白衣服为什么放着就变黄了?白衣服放着后变黄的原因是:衣服暴露在空气中;清洁剂未冲洗干净;环境潮湿衣服暴露在空气中:,我来为大家科普一下关于白衣服为什么放着就变黄了?以下内容希望对你有帮助!衣服暴露在空气中:衣服中的棉纤维长期暴露在空气中,与空气发生氧化,而且如果经常用洗衣粉或肥皂清洗衣物,产生的钙盐和镁盐会使纤维发黄变硬,减短衣物质量及使用寿命。

  • 短厚辣椒的腌制方法(短厚辣椒的腌制方法介绍)

    短厚辣椒的腌制方法将买到的厚皮辣椒,泡在水中约15分钟左右,在泡水中加一小汤勺盐,一是用来去残留农药,二是用来沙刹出辣椒中的表皮水分。然后,用清水冲洗干净,空水后捞出晾干,再将厚皮辣椒的把一一掰掉。将切好的厚皮辣椒放在一小盆中,然后将姜块洗干净,将水擦干后,切成姜丝,放在盆中。然后,放入盐、糖、红酒、生抽酱油、香油,再用筷子搅拌均匀,腌制2~3天即可挖出当小菜食用。

  • 海贼王1044情报图(橡胶果实拥有幻兽种尼卡形态)

    五老星谈起这个问题,表示他们与伊姆大人所在的势力,一直试图回收橡胶果实,因为它太可怕。路飞开始发动强大的攻击模式,士气势不可挡,他同时将地面橡胶化,并且拉扯这个地面,将凯多喷出的龙息,就这样轻易反弹给凯多自己。酱铺君只能说,慢慢等待尾田的进一步剧情展开,目前最好观望一下,不要过早下定论。

  • 有没有什么好玩的电脑游戏推荐(有哪些电脑游戏你会重温)

    有哪些经典的电脑游戏你会在那一刹那有种想来一把的冲动呢?今天就来盘点几部时至今日我仍存在硬盘中的游戏,不是3A大作,只为经典以及逝去的青春!4植物大战僵尸打发时间休闲一下玩玩也挺好,里面有些背景音乐其实听了很舒服,僵尸倒晓得很萌....好了,今天就说这几个了,想到再盘!

  • 未来的汽车电动车(这3款智能电动车)

    智能化作为九号电动车的最大亮点,在九号E110L身上体现的淋漓尽致。续航里程方面,台铃E35搭载F8高性能电机,动力强劲,能够应对各种路况,72V20AH高性能电池,续航里程可达百公里。新大洲臻武V63.0的核心部件坚持三年换新,恒压散热电机三年换新、石墨烯二代电池三年换新、能量控制回收器三年换新。

  • 大师画都有留白(设圈是什么东西)

    今天抛开原画、插画、漫画等等业界名词不说,就单纯来说说画画这件事本身。因为很多人设都是有版权不让转载的,所以我截了几张米画师排行榜上的图。后来画手和富婆也都现身了,退稿了。正我一开始所说,也许在10年前低龄触是非常罕见的,但是在现在的学习条件以及资源普遍的情况下。画手也是人,而技术也不等于成熟,更不等于人品。对被低龄触的无止境追捧,才有可能把这些未成年人毁了。

  • 腹黑的qq网名带符号男生男生 qq网名大全带符号霸气男生

    1、念抹浅笑@2、九兲炎魔3、仗ロ剑听雨4、渡春风5、法克ャ鱿小面包6、血战メ傲神7、霸气ヽ爵爷℡8、嗜レ血皇者9、風雨英雄10、凌傲↘天11、三尺ヒ青锋12、光影%神力13、英雄人物14、→骑刀锋寒15、ぃ嗜血战皇16、分钟ヒ前17、ヵ再逢卿18、冰鹰彡之眼19、ャ素颜TERAP20、龙之灬吟21、▽日光倾城22、刻苦彡銘心那段23、幻ヱ影逐风24、宁.缺毋滥25、墨跡箛羏26、%爷不寂寞27、重生的撒旦%

  • 欧元汇率怎么涨这么多(欧元汇率跌至20年新低)

    巴西雷亚尔受益于巴西央行的货币政策收紧。巴西通货膨胀仍然处于高水平,但正在放缓,这也有利于货币市场。7月份,巴西年通胀率保持在10%以内,甚至环比有所下降。油价的强劲上涨也支撑了巴西雷亚尔,巴西是第八大石油生产国。加拿大央行非常积极主动,迅速将政策利率上调至7月中旬的2.5%。澳大利亚经济环境强劲,国际货币基金组织预计该国2022年经济增长3.8%,2023年将增长2.2%。