让我们从小时候玩过的翻绳游戏开始这个问题的讲解。
一、翻绳
对于翻绳的这个花型而言,是由四只手完成的:
图1
我们可以认为这个花型是由两个方向的力合成的:
图2
容易想象,如果其中一个力(相比另外一个力而言)比较小的话,那么绳子的形状基本上由大的那个力来决定:
图3
二、奇异值分解与奇异值
类比于翻绳,我们可以认为:
奇异值分解,就是把矩阵分成多个“分力”
奇异值的大小,就是各个“分力”的大小
1. 奇异值分解
下面通过一个具体的矩阵例子来解释下,比如:
根据之前的类比,矩阵是“力”,“力”怎么画出来呢?
翻绳游戏中的“力”要通过绳子的形状来观察。很显然要观察矩阵也需要一个载体。
我们通过单位圆来观察矩阵:
图4
把这个单位圆的每一点都通过A进行变换,得到一个椭圆(我把单位圆保留下来了,作为一个比较):
图5
对A进行奇异值分解:
实际上,将A分为了两个“分力”:
我们来看看第一个“分力”
作用在单位圆这个“橡皮筋”上的效果:
图6
可怜的“橡皮筋”被拉成了一根线段。
我们来看看第二个“分力”
作用在单位圆这个“橡皮筋”上的效果:
图7
可怜的“橡皮筋”被拉成了另外一根线段。
这两个“分力”一起作用的时候,可以想象(画面自行脑补),单位圆这个“橡皮筋”被拉成了椭圆:
图8
2. 奇异值的大小
刚才举的矩阵的两个“分力”大小,只相差一倍,如果相差很大会怎么样?
换一个矩阵A,对它进行奇异值分解:
这两个“分力”的奇异值相差就很大,大概相差了40倍。
单位圆被A映射成了短轴和长轴相差太大的椭圆,看起来和直线差不多:
图9
我们试试,把小的那个奇异值去掉会怎么样:
把单位圆变为了一根直线:
图10
这个直线和之前的椭圆看上去差不多。
回到之前的比喻,两个相差很大的分力作用在“橡皮筋”上,“橡皮筋”的形状可以说完全取决于大的那个分力。
3. 奇异值为什么这么神奇?
奇异值分解实际上把矩阵的变换分为了三部分:
● 旋转
● 拉伸
● 投影
拿刚才的:
举例子(方阵没有投影,不过不影响这里思考):
图11
单位圆先被旋转,是没有形变的:
图12
再进行拉伸,这里决定了单位圆的形状,奇异值分别是椭圆的长轴和短轴:
图13
最后,被旋转到最终的位置,这一过程也没有发生形变:
图14
所以,奇异值决定了形变,大小决定在形变中的重要性。
三、总结
根据奇异值分解、以及奇异值的特点,有很多应用。
比如,可以把图片转为矩阵,通过丢弃不重要的奇异值,进行压缩:
图15
比如,可以把很多数据放在矩阵中,通过丢弃不重要的奇异值,来减小处理量。
还比如,可以从矩阵中,找到最大的奇异值,从而得到数据最重要的特征。
声明:文章转自【马同学高等数学】微信公众号,版权归原作者所有,转载仅供学习使用,不用于任何商业用途,如有侵权请联系删除,谢谢。