特征值和特征向量到底是个啥?能做什么用?

2021-09-23 14:33:59 浏览数 (1)

1. 矩阵的意义

这篇文章对矩阵的含义做了清晰的解释,以

Ma=b

为例介绍矩阵M的含义

  • 从变换的角度来说,矩阵M可以理解为对向量 a做变换得到了 b
  • 从坐标系的角度来说,M可以理解成是一个坐标系(常用的坐标是笛卡尔坐标系,即
I

),向量a就是在M这个坐标系下的坐标,a对应到

I

坐标系下的坐标是向量 b。

所以本质上说a和b是等价的,就好像我们给一个人拍照,站在楼上拍照和爬着拍照,角度不一样,但是拍的东西都是同一个东西,唯一的差别就是坐标系的不同。

2. 特征值和特征向量的意义

基于上面的解释后,我们再来看特征值和特征向量的定义:

设 A 是n阶方阵,如果存在数m和非零n维列向量 x,使得 Ax=mx 成立,则称 m 是A的一个特征值(characteristic value)或本征值(eigenvalue)。

那特征值和特征向量具体是什么含义呢?

我们假设矩阵A的某个特征值为 m1, 对应的特征向量是 x1。根据定义和上面对矩阵的理解可以知道,x1是以A为坐标系的坐标向量,将其变换到以

I

为坐标系后得到的坐标向量 与 它原来的坐标向量 永远存在一个 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],经过转换到以

I

为坐标系后 坐标变成了 [1,100]。我们直观地理解就是矩阵A把向量[1,1]更多地往y轴方向拉伸。

假如A是多维(n)矩阵,且有n个不同的特征值,那么就可以理解成这个矩阵A和一个向量x相乘其实就是把向量x往n个特征向量的方向进行拉伸,拉伸比例是对应的特征值。那这样有什么作用呢?

3. 特征值和特征向量的应用

意义就在于如果我们知道了特征值的大小,有时为了减少计算了,我们可以只保留特征值较大的,比如上面的图片中,我们可以看到变换后的向量x轴适合原来一样的,而y轴方向拉伸了100倍,所以通常为了实现压缩算法,我们可以只保留y轴方向的变换即可。 对应到高维情况也是类似的,多维矩阵会把向量沿着多个方向拉伸,有的方向可能拉伸幅度很小,而有的很大,我们只需要保留幅度大的即可达到压缩的目的。

0 人点赞