[关闭]
@fsfzp888 2018-04-15T12:37:21.000000Z 字数 3941 阅读 3217

(五)方阵的特征分解

线性代数 机器学习基础


这篇总结可以看作是对Gilbert Strang的线性代数教材Introduction to Linear Algebra的特征值和特征向量一章的总结,详细的讲解,在这本书里边已经有所体现,在这里我只是想要总结如下几点:

  • 特征分解的直观代数形式以及理解
  • 特征值存在的条件是什么?有没有直观的理解?
  • 方阵的对角化

这里不会包含诸如对称矩阵的特性理解,虚数在矩阵中的意义等方面的总结,这些应该会在以后进行总结学习。其实如果谈论到特征分解,本身就很容易涉及到对称矩阵,虚数,共轭等内容,不过这里暂时不想讨论那一些内容,只是想从特征分解这个问题上设法给出一些直观的问题的想法。

特征分解的表达形式

特征分解书面定义是,对于方阵,存在非零的向量使得

成立,那么称为方阵的特征向量,为方阵的特征值。
首先从公式形式来看,毫无疑问,必须是方阵,因为向量的列空间中,与此同时,的维度和的行空间向量相同。从这样的角度来说,所有特征向量,必定会在这个矩阵的列空间中。所以如果一个矩阵的列空间满秩,那么,是不是就会有个互相正交的特征向量存在?当这个矩阵的列空间的秩,,由于我们允许特征值的存在,假若我们在列空间中找到了个正交的特征向量,那么我们其实也可以从零空间中互相正交,并且和列空间这叫的剩余个特征向量,所以也可以找到个互相正交的特征向量?这些问题可能不有自主的就会冒出来。
另外一方面,虽然特征向量的列空间中,但并非所有的行空间的向量都可以被表示成上边那样的形式。然而,我们却可以把这些向量表示成特征向量线性组合的形式,假若矩阵个特征向量,而某个向量可以被表示成它们线性组合的形式,即
那么实际上

我们可以把任何可以被特征向量表示的向量拆解成特征向量的表达形式。而且矩阵可以看做是对向量进行了线性变换。当同一个现行变换被多次作用到同一个向量的时候,会发生什么?

可以看到,得到的结果可以被表示成各个特征向量方向的组合形式,而且只是特征值进行了求幂运算。
这有时候不得不让人浮想联翩,过去在求解力学问题的时候,我们都会把复杂的力进行分解,表达成了各个简单的力向量的组合形式,力可以分解,本身是因为力的特性可以被向量来描述。而在这里边,由于线性变换在多个特征向量方向的作用只是相当于把向量进行了伸缩变换(不考虑虚数存在的情况,虚数存在时则还进行了旋转变换,但实际情况中即使是实数矩阵也很容易得到虚特征向量,以后再总结虚数究竟在矩阵变换中起到了什么作用),而且其它的一些向量还可以被这些特征向量表达,那么,对于这个变换对于任意向量的作用,很自然的就会考虑到可不可以通过组合这些简单变换的形式来得到。也就是一个变换的作用,可以被分解成在各个特定方向上作用的组合。把复杂的问题分解成简单问题的组合,是对问题的一种简化,所以特征分解之所以叫"特征"分解,也就是设法得到一个矩阵的基础变换特征,然后它对于任意向量的作用,都可以用这些特征来表示。
上边的说明只是简单的阐述,没有对于问题有很深入的理解,详细的在教材里边都有。
但毫无疑问,特征分解可以帮助深入理解一个矩阵变换的特性,这里有一个关键问题没有阐述清楚,那么就是一个方阵,特征向量可以有几个?它们可以两两正交吗?

特征分解的存在条件

从公式出发,存在条件其实就是

由于零向量不可以作为特征向量(那样没有任何意义),所以可以得到行列式表达式,最终可以转化为对于特征值的代数多项式的求解。说实话,到了这一步,转化成了代数表达式,然后又是求解行列式,能有什么直观的理解呢?求解多项式方程,就是纯粹代数的过程,可能得到虚数解,所以这也是特征值和特征向量可能为虚数的原因。但就从行列式为零,只知道了此时矩阵不可以满秩,此时才有非零解。从上边的等式3来看,一个矩阵减去单位矩阵,实际上有
一个矩阵减去单位矩阵相当于矩阵的变换在各个特征方向的特征值减去了1,当移动到某一个特征值位置的时候,等式右边的某一项变成了,这个时候如果刚好是那一个特征向量的时候,其实也就得到了行列式等于零的关系。
不过这个理解本质上也没有说明什么。但是更加深入的几何形式的理解我目前还不清楚,这就是个代数表达式,也许有更高层次的理论可以形象地表达它吧。

方阵的对角化

对于上边的表达式3和4,实际上这样表达并不理想。过去在没有矩阵的时候,很多代数表达式经常使用连加符,导致阅读起来不方便直观,其实矩阵表达更加直白。把各个特征向量罗列成,那么

特征值则被罗列到了对角矩阵的对角线上,如果这个特征向量线性无关,那么
所以
如果这写特征向量全部都是标准正交的,那么会有

方阵的秩(Rank)和特征值的代数重数的关系

方阵的秩和特征值的重数存在一定的联系,从可以看出,

即特征向量的所构成的特征空间实际上是的零空间,这没有问题,那么假如呢?这个时候,
此时,的零空间实际上就是当特征值为0的时候,零特征值对应的特征向量所构成的特征空间,此时的重数是,那是不是矩阵的秩就是呢?实际上并不行,这个是常犯的一个错误。

其它问题

回顾上边的总结,仔细想想,其实还有很多问题值得探讨:

  • 特征向量什么时候正交、线性无关?
  • 什么时候方阵存在n个标准正交的特征向量?
  • 什么时候方阵可以对角化?

需要说明的是,线性无关和正交是属于不同的两个概念,线性无关的向量之间不一定点乘为零,但是这些向量之间具有不同维度的成分,谁也取代不了谁,正交则是在此基础上更加严格,还要求点乘为零,也就是对应到几何上的垂直,而在几何上,线性无关只需要向量位于不同的方向即可。

在这一篇总结中,我只能够先给出线性无关的特征向量的一个条件,其实也就是总结了教材中的相关内容,至于更加细节的,可以参考教材。另外一方面,线性代数中有一个主轴定理(Principal Axis Theorem),对于实对称矩阵来说,可以选择各个特征向量,使得它们两两正交,但这也可以看作是实对称矩阵自身的特性,所以将会在实对称矩阵这篇文档中总结。具体的这些问题毕竟也是过于数学化,对于程序员来说,以后用到了再深思吧。

不同特征值对应线性无关的特征向量

当矩阵存在不同特征值的时候,它们对应的特征向量是线性无关的。假如存在两个不同的特征值,它们对应的特征向量线性相关,也就是说

有解,且,两边乘以矩阵则可以得到
,但是如果把式11两边乘以,那么可以得到
两式相减,可以得到
由于这两个特征值是不同的,而且向量,所以只能够是,同理可以得到,但是这和原来的假设矛盾,所以一个方阵不同的特征值,对应的只能是线性无关的向量。
那从另外一个角度上来说,如果两个特征向量线性无关,那么可不可以推导出它们对应的特征值不同呢?事实是并不可以,举个例子,
,其中
都是矩阵特征值-1的两个特征向量,且重数为2,所以线性无关的两个特征向量不一定对应不同的特征值。

对角化的存在条件

至于什么时候一定可以对角化,我只能说这和方阵线性无关的特征向量的数目以及特征值的重数有关,由于我目前也没有什么多么好的理解,本质上也就是代数上的推导,所以这里我就不班门弄斧了。

@fsfzp888
2018 年 04月 15日

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注