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

2021-09-22 11:06:25 浏览数 (2)

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= leftbegin{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轴方向的变换即可。

对应到高维情况也是类似的,多维矩阵会把向量沿着多个方向拉伸,有的方向可能拉伸幅度很小,而有的很大,我们只需要保留幅度大的即可达到压缩的目的。

<footer style="color:white;;background-color:rgb(24,24,24);padding:10px;border-radius:10px;">

<h3 style="text-align:center;color:tomato;font-size:16px;" id="autoid-2-0-0">

<center>

<span>微信公众号:AutoML机器学习</span>

<img src="https://pic4.zhimg.com/80/v2-87083e55cd41dbef83cc840c142df48a_720w.jpeg" style="width:200px;height:200px">

</center>

<b>MARSGGBO</b><b style="color:white;"><span style="font-size:25px;">♥</span>原创</b>

<span>如有意合作或学术讨论欢迎私戳联系~ 邮箱:marsggbo@foxmail.com</span>

<b style="color:white;">

</b><p><b style="color:white;"></b>

</p></h3>

</footer>

0 人点赞