特征值和特征向量的意义
从定义出发,Ax=cx:A为n阶矩阵,c为特征值,x为特征向量。
矩阵A乘以x表示,对向量x进行一次转换(旋转或拉伸)(是一种线性转换),而该转换的效果为常数c乘以向量x(即只进行拉伸)。
我们通常求特征值和特征向量即为求出该矩阵能使哪些向量(当然是特征向量)只发生拉伸,使其发生拉伸的程度如何(特征值大小)。这样做的意义在于,看清一个矩阵在那些方面能产生最大的效果(power),并根据所产生的每个特征向量(一般研究特征值最大的那几个)进行分类讨论与研究。
什么意思呢?
比如Ax = cx
x是一个向量,c是一个常数,那么cx只是使得这个向量发生了拉伸,而Ax = cx,所以Ax只是使x这个向量发生了一次拉伸操作,拉伸的幅度就是c,那么换句话来说呢,矩阵A的特征向量x,向量x可以认为是一个方向,那么可以说矩阵A的特征向量x就是矩阵A能够发挥作用的方向,作用的力度是c,如果x这个向量有多列的话,那么说明A能够发挥作用的方向有很多个(多个列向量),对应多个特征值c,那么我们一般作用力度比较大(c比较大)的那几个方向(特征向量)来研究
注意:上面的矩阵是n阶矩阵,也就是方阵,只有方阵才有特征值和特征向量
特征分解
前提,A必须是可对角化的,如果A是可对角化,并且是对称矩阵,那么
w 是A的所有特征向量构成的正交矩阵,thegma是特征值构成的对角阵
一个向量乘以A那么代表的意思是什么呢?
X * A = X * W * Thelma * W (T)
W是正交阵,一个向量乘以一个正交阵的话,向量大小不会改变,只会改变方向
所以X * W结果改变了X的方向,那么具体改变到那个方向了呢?
W是A的特征向量,意思就是A能在W这个方向对它进行缩放操作,或者只有在W这个方向上A矩阵才有对向量缩放的能力,
所以X * W它其实是将X转到W这个方向,因为只有转到X这个方向,A才能对X进行缩放或者起作用,
转到了X 这个方向后然后就是* Thelma,这个其实具体对X的每个维度缩放多少了,
最终* W (T),因为 W (T)也是正交的,所以也是转一个方向,他的方向肯定和W方向相反,所以* W (T)又将X转回了原来的方向,所以
X * A = X * W * Thelma * W (T)的含义是?
先讲X旋转到A矩阵可以缩放的(起作用)方向,然后进行缩放操作,然后在转回来
其实按照这个说法,那么只有一个矩阵A能被特征分解的话,那么它一定能够对某个向量进行缩放了
结论:
如果A只是一个方阵的话,那么A只能在它的特征向量的方向上对向量进行缩放,但是如果A是个对称方阵,并且能够对角化,也就是能够被特征分解为
上面的式子的话,那么A可以对任意方向的向量进行缩放了,它的过程是先旋转到它能够缩放的方向,然后进行缩放操作,然后再转回来
svd分解
我们上面也说了,只有方阵,并且是可对角化的,才能进行特征分解,那么不是方阵呢?能不能呢?答案是可以的
假设我们的矩阵A是一个
m×n
的矩阵,那么我们定义矩阵A的SVD为:
它的思路是,既然A不是方阵,那么A * A T ,肯定是方阵,A T * A肯定是方阵,上面的V矩阵就是A T * A的n个特征向量了,U矩阵就是A * A T的m个特征向量构成的矩阵了 中间的thegma是它们的特征值开根号
其中U和V都是正交阵
那么X * A = X * U * thegma * V T它的意义是什么呢?
先* U,因为 U也是正交阵,所以也是转一个方向,它这个方向是A * A T能够作用的方向
然后* thegma也就是进行缩放操作,也就是在A * A T能够作用的方向进行缩放
然后* V T,因为V也是个正交阵,所以也是进行旋转方向,但是因为 U和V不一样,也不是互为对称关系,所以它并不是转回来,而是转到另一个方向
就像下面过程: