1. 矩阵的意义
这篇文章对矩阵的含义做了清晰的解释,以
为例介绍矩阵M的含义
- 从变换的角度来说,矩阵M可以理解为对向量 a做变换得到了 b
- 从坐标系的角度来说,M可以理解成是一个坐标系(常用的坐标是笛卡尔坐标系,即
),向量a就是在M这个坐标系下的坐标,a对应到
坐标系下的坐标是向量 b。
所以本质上说a和b是等价的,就好像我们给一个人拍照,站在楼上拍照和爬着拍照,角度不一样,但是拍的东西都是同一个东西,唯一的差别就是坐标系的不同。
2. 特征值和特征向量的意义
基于上面的解释后,我们再来看特征值和特征向量的定义:
设 A 是n阶方阵,如果存在数m和非零n维列向量 x,使得 Ax=mx 成立,则称 m 是A的一个特征值(characteristic value)或本征值(eigenvalue)。
那特征值和特征向量具体是什么含义呢?
我们假设矩阵A的某个特征值为 m1, 对应的特征向量是 x1。根据定义和上面对矩阵的理解可以知道,x1是以A为坐标系的坐标向量,将其变换到以
为坐标系后得到的坐标向量 与 它原来的坐标向量 永远存在一个 m1 倍的伸缩关系。
为了方便理解举一个简单的例子,假如矩阵A如下,可以看到它的特征值有2个,分别是1,100,分别对应2个特殊的特征向量,即 [1,0],[0,1]。
[A= left[begin{matrix} 1 & 0 \ 0 & 100 end{matrix}right] tag{1} ]
所以矩阵A左乘任意的一个向量x,其实都可以理解成是把向量x沿着这2个特征向量的方向进行伸缩,伸缩比例就是对应的特征值。可以看到这2个特征值差别是很大的,最小的只有1,最大的特征值为100。
看下图的例子,矩阵A和向量 [1,1]相乘得到 [1,100],这表示原来以A为坐标系的坐标[1,1],经过转换到以
为坐标系后 坐标变成了 [1,100]。我们直观地理解就是矩阵A把向量[1,1]更多地往y轴方向拉伸。
假如A是多维(n)矩阵,且有n个不同的特征值,那么就可以理解成这个矩阵A和一个向量x相乘其实就是把向量x往n个特征向量的方向进行拉伸,拉伸比例是对应的特征值。那这样有什么作用呢?
3. 特征值和特征向量的应用
意义就在于如果我们知道了特征值的大小,有时为了减少计算了,我们可以只保留特征值较大的,比如上面的图片中,我们可以看到变换后的向量x轴适合原来一样的,而y轴方向拉伸了100倍,所以通常为了实现压缩算法,我们可以只保留y轴方向的变换即可。 对应到高维情况也是类似的,多维矩阵会把向量沿着多个方向拉伸,有的方向可能拉伸幅度很小,而有的很大,我们只需要保留幅度大的即可达到压缩的目的。