特征分解
概念
特征分解是矩阵的分解的一种,目的是将一个矩阵拆分成几个矩阵乘积的形式,就好像是我们对标量(scalar)做因式分解一样。
目的
之所以要做特征分解,一方面是要从矩阵的分解中找出隐含的规律,另一方面就是对矩阵进行转换。转成容易处理的形式。
矩阵初等变换
学过线型代数的人都知道,矩阵的初等变换其实就是对单位矩阵进行伸缩变换,行变换就是对矩阵进行单位矩阵进行左乘,相应列变换就是对矩阵进行右乘。
特征向量和特征值
如果一个矩阵A 满足如公式:
,则成
为特征向量,
就是特征值
从这个公式我们可以看出:
- 矩阵
和 向量
共线,
- 向量
经过N次初定初定变换(左乘A),可以变化成
- 根据1,2 可以知道,矩阵A 把向量
进行了拉长或者缩短,而这个拉长或者缩短的比例就是
- 矩阵A并没有改变向量
的方向,当
为负数时方向相反
矩阵分解
一个矩阵可以有多个特征值,如果是N维矩阵,则一定有n个特征值(包括重根)
将上面公式合并写成矩阵形式:
移项后得到
到此我们将矩阵A分解成三部分乘积形式,其中表示以所有特征向量为列向量组成的矩阵,
表示三角矩阵,对角线值为特征值,
表示
的逆矩阵。
限制
- 矩阵A必须是方阵,因为只有方阵才有逆矩阵
- 并不是所有方阵,都有逆矩阵
由以上两点可以看出特征分解虽好,但是并不通用
应用
因为特征值表示矩阵对向量的拉伸程度,所以可以直观的认为当特征值大时表示该向量方向占比比较大(主要),当特征小时该特征向量占比较小(次要)。所以特征分解可以对矩阵进行降维,去掉特征值较小的特征向量。具体做法如下:
- 求出矩阵A的所有特征值和特征向量
- 对特征值从大到小排列,并相应改变特征向量次序
- 截取给定阈值的特征值,舍弃小于阈值的特征向量
网友评论