抄来的:奇异值分解
困惑1:特征值和特征向量,和原矩阵是怎样的关系,需要一个栗子进行更具象的认识
困惑2:为什么多个特征向量组合成的矩阵,可以构成矩阵A的特征分解?需要推导
困惑3:为什么要特征向量标准化?
困惑4:标准正交基是什么,为什么满足 W T W = I W^TW=I WTW=I
为什么。。。。
太多why,只能自己来解决吗。。。涕泪横流。。。
先来看看特征值和特征向量
A x = λ x Ax=λx Ax=λx,λ是特征值,但特征值可能会有多个,每个特征值都有对应的特征向量
根据 ( A − λ E ) x = 0 (A-λE)x=0 (A−λE)x=0,而需要x是非零向量,则要求A-λE的行列式为0,即 ∣ A − λ E ∣ = 0 |A-λE|=0 ∣A−λE∣=0,就可以求出多个λ值
分别将λ值代入 ∣ A − λ E ∣ x = 0 |A-λE|x=0 ∣A−λE∣x=0,就可以求出对应的特征向量x
question:为什么x是非零向量, ∣ A − λ E ∣ = 0 |A-λE|=0 ∣A−λE∣=0的行列式就为0呢?而不是 A − λ E = 0 A-λE=0 A−λE=0向量呢?
still,why?
毫不避讳地说:我大学线性代数是老师给的同情分,60分飘过
但我后来,有自己学习过的,现在也忘个精光了,现在还是重新梳理一遍吧,省的回头海马体又不争气
首先,先从求解矩阵的行列式方法,推导出【非零解与行列式值的关系】
求解行列式,要从【消元法】求解齐次方程组的权重系数w的过程讲起:
通过消元法,求解 w 1 、 w 2 、 w 3 w_1、w_2、w_3 w1、w2、w3:
通过消元法后:
稍微整理,下列的a\b\c系列都是已知数,求出w
这种情况下,方程只有无解,零解和非零解三种情况
将系数写成矩阵 ∣ a 1 a 2 a 3 0 b 2 b 3 0 0 c 3 ∣ \begin{vmatrix}a_{1}&a_{2}&a_{3}\\0&b_{2}&b_{3}\\0&0&c_{3}\\\end{vmatrix} a100a2b20a3b3c3 ,要使w1、w2、w3三个中有非零解,那就至少需要c3=0-
我觉得我在放屁。。。应该不是这样的,我再衡量衡量
还是偷别的up主教学吧
找个正解的线性代数(三)行列式的来历
好,即使上述关系能体现出,行列式不为零,则有非齐次线性方程组有非零解
但跟求特征根有什么关系呢? ( A − λ E ) x = 0 (A-λE)x=0 (A−λE)x=0
求特征根是求齐次线性方程组的解,但原本求行列式时的方程是非齐次方程组
特征根λ的行列式是:
∣ x 11 − λ x 12 x 13 x 21 x 22 − λ x 23 x 31 x 32 x 33 − λ ∣ \begin{vmatrix}x_{11}-λ&x_{12}&x_{13}\\x_{21}&x_{22}-λ&x_{23}\\x_{31}&x_{32}&x_{33}-λ\\\end{vmatrix} x11−λx21x31x12x22−λx32x13x23x33−λ
然后我又去翻其他的资料,果然。。。前边的分析方向搞错了,只能证明非齐次线性方程组的非零解条件是:行列式≠0
继续论证,齐次线性方程组的非零解条件是:行列式=0,才能说明行列式与特征根的关系
所以,求解非零特征根,是要求齐次线性方程组对应的系数矩阵的秩小于元素个数,也就等同于矩阵的行列式为0。
衍生出新的问题:为什么行列式是这样算的,行列式的本质到底是什么?它的计算有什么代数或几何意义吗?
我觉得,我需要知道它。。。然后去找到知乎一篇文行列式本质
我粗看一遍,感觉这篇文章一定藏着我想要的答案,但首先,我要能看懂它…
我很绝望,行列式的定义是总结归纳出来的吗?
它没有个因果关系吗?
头疼。。。。。
任意矩阵,都可以通过【交换】、【倍乘】、【倍加】的方式,变成上三角矩阵,且不改变行列式的值
B站up主的俗说矩阵,非常好!
呜呜呜呜呜呜,经过我坚持不懈地在B站摸鱼划水,终于在众说纷纭中,打通了任督二脉
我好像是懂了,懂了n阶行列式的定义,为什么是这样的了!!!!
I don’t know why,how,what
二阶、二阶推导到三阶,我还能理解,但是怎么推出n阶的???
非常头疼,看了很多解释,有些看起来很专业,但我还是不理解
直到回顾到B站的俗说矩阵的行列式按行按列展开
我才有种灵光一闪的开窍!!!哦!!!!
首先,在行列式的二、三阶定义中,可以推导出【数乘】【交换】【数加】三种变换时的行列式变化
二阶可以由余子式累加得到
通过拆分成三角形式的行列式,可以更好地求的行列式
∣ a b x 21 x 22 ∣ = ∣ a 0 x 21 x 22 ∣ + ∣ 0 b x 21 x 22 ∣ \begin{vmatrix}a&b\\x_{21}&x_{22}\\\end{vmatrix}=\begin{vmatrix}a&0\\x_{21}&x_{22}\\\end{vmatrix}+\begin{vmatrix}0&b\\x_{21}&x_{22}\\\end{vmatrix} ax21bx22 = ax210x22 + 0x21bx22
下三角无需更换行列,直接求得行列式
∣ a 0 x 21 x 22 ∣ = a ∣ x 22 ∣ = a x 22 \begin{vmatrix}a&0\\x_{21}&x_{22}\\\end{vmatrix}=a\begin{vmatrix}x_{22}\\\end{vmatrix}=ax_{22} ax210x22 =a x22 =ax22
将行列式通过【变换】,变换成下三角后,再求行列式
∣ 0 b x 21 x 22 ∣ = − ∣ b 0 x 22 x 21 ∣ = − b ∣ x 21 ∣ = − b x 21 \begin{vmatrix}0&b\\x_{21}&x_{22}\\\end{vmatrix}=-\begin{vmatrix}b&0\\x_{22}&x_{21}\\\end{vmatrix}=-b\begin{vmatrix}x_{21}\\\end{vmatrix}=-bx_{21} 0x21bx22 =− bx220x21 =−b x21 =−bx21
相邻变换,行列式值会变为相反值,因此变换过程有负号产生
三阶也是如此,但三阶是可以由二阶推导来的
∣ x 11 x 12 x 13 x 21 x 22 x 23 x 31 x 32 x 33 ∣ = ∣ x 11 0 0 x 21 x 22 x 23 x 31 x 32 x 33 ∣ + ∣ 0 x 12 0 x 21 x 22 x 23 x 31 x 32 x 33 ∣ + ∣ 0 0 x 13 x 21 x 22 x 23 x 31 x 32 x 33 ∣ \begin{vmatrix}x_{11}&x_{12}&x_{13}\\x_{21}&x_{22}&x_{23}\\x_{31}&x_{32}&x_{33}\\\end{vmatrix}=\begin{vmatrix}x_{11}&0&0\\x_{21}&x_{22}&x_{23}\\x_{31}&x_{32}&x_{33}\\\end{vmatrix} +\begin{vmatrix}0&x_{12}&0\\x_{21}&x_{22}&x_{23}\\x_{31}&x_{32}&x_{33}\\\end{vmatrix}+\begin{vmatrix}0&0&x_{13}\\x_{21}&x_{22}&x_{23}\\x_{31}&x_{32}&x_{33}\\\end{vmatrix} x11x21x31x12x22x32x13x23x33 = x11x21x310x22x320x23x33 + 0x21x31x12x22x320x23x33 + 0x21x310x22x32x13x23x33
第一个直接构成下三角
第二个需要变换1次,才成为下三角
第三个需要变换2次,才成为下三角
为什么要变换的这么详细呢?因为这个过程,恰好展现了n阶行列式的定义!
首先,每一次的变换,都是先把首行中的元素,逐一变换到左上角,这个变换的过程主要与列有关
如果首行元素在奇数列(如第3列),则变换到左上角时,行列式值是不变号的
如果首行元素在偶数列(如第2列),则变换到左上角时,行列式值会变成负号
因此,我脑子不够用了,但好在世界上有很多优秀的阿婆主,能讲清楚一些
n阶特征公式解释
当然,可能我只是哦!但实际还不是很清晰,但。。。不想特别去深究行列式的定义,大概理解就好
我。。。又快要忘记前边思考的是什么问题了
已理解:行列式是什么,行列式和非零解的关系,可知道当行列式不为零时,求解特征值时,特征值也是非零解
如果从坐标系固定,矩阵向量变换的角度看,矩阵A与向量x相乘 A x Ax Ax,通常是对向量x进行【旋转】+【伸缩】的变换,这个变换过程中,并伴随有【升降维】的作用。
如果从矩阵向量固定,坐标系变换的角度看,矩阵A与向量x相乘 A x Ax Ax,则表示向量x是在A坐标系下,(相当于声明:x是火星A上的人)
而矩阵与特征向量、特征值的关系 A x = λ x Ax=λx Ax=λx,右侧的 λ x λx λx没有矩阵相乘,则表示标准正交基坐标系 I I I下的向量x,只不过这个向量x中每个值都乘以λ倍
而 A x = λ x Ax=λx Ax=λx,则表示,在A坐标系下的特征向量x,实际等同于标准正交基坐标系 I I I里的向量x伸缩λ倍,相当于当坐标系A旋转伸缩变换成标准正交基坐标系 I I I后,向量x的方向没有发生旋转,只是进行了伸缩变换。
向量x,正是特征向量,而特征值λ相当于向量x伸缩的倍数
例如A有一个特征向量 x 1 x_1 x1及对应特征值 λ 1 λ_1 λ1,则 A x 1 = λ 1 x 1 Ax_1=λ_1x_1 Ax1=λ1x1
∣ a 11 x 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ ∣ x 11 x 21 x 31 ∣ = λ 1 ∣ x 11 x 21 x 31 ∣ \begin{vmatrix}a_{11}&x_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\\\end{vmatrix}\begin{vmatrix}x_{11}\\x_{21}\\x_{31}\\\end{vmatrix}=λ_1\begin{vmatrix}x_{11}\\x_{21}\\x_{31}\\\end{vmatrix} a11a21a31x12a22a32a13a23a33 x11x21x31 =λ1 x11x21x31
再例如A的第2 个特征向量 x 2 x_2 x2及对应特征值 λ 2 λ_2 λ2,则 A x 2 = λ 2 x 2 Ax_2=λ_2x_2 Ax2=λ2x2
∣ a 11 x 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ ∣ x 12 x 22 x 32 ∣ = λ 1 ∣ x 12 x 22 x 32 ∣ \begin{vmatrix}a_{11}&x_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\\\end{vmatrix}\begin{vmatrix}x_{12}\\x_{22}\\x_{32}\\\end{vmatrix}=λ_1\begin{vmatrix}x_{12}\\x_{22}\\x_{32}\\\end{vmatrix} a11a21a31x12a22a32a13a23a33 x12x22x32 =λ1 x12x22x32
将A的所有特征向量x组成矩阵W,则有
W = ∣ x 11 x 12 x 13 x 21 x 22 x 23 x 31 x 32 x 33 ∣ W=\begin{vmatrix}x_{11}&x_{12}&x_{13}\\x_{21}&x_{22}&x_{23}\\x_{31}&x_{32}&x_{33}\\\end{vmatrix} W= x11x21x31x12x22x32x13x23x33
要让 λ 1 、 λ 2 、 λ 3 λ_1、λ_2、λ_3 λ1、λ2、λ3对应乘以到W中,则需要将λ形成对角矩阵
Σ = ∣ λ 1 0 0 0 λ 2 0 0 0 λ 3 ∣ Σ=\begin{vmatrix}λ_1&0&0\\0&λ_2&0\\0&0&λ_3\\\end{vmatrix} Σ= λ1000λ2000λ3
则 W Σ = ∣ λ 1 x 11 λ 2 x 12 λ 3 x 13 λ 1 x 21 λ 2 x 22 λ 3 x 23 λ 1 x 31 λ 2 x 32 λ 3 x 33 ∣ WΣ=\begin{vmatrix}λ_1x_{11}&λ_2x_{12}&λ_3x_{13}\\λ_1x_{21}&λ_2x_{22}&λ_3x_{23}\\λ_1x_{31}&λ_2x_{32}&λ_3x_{33}\\\end{vmatrix} WΣ= λ1x11λ1x21λ1x31λ2x12λ2x22λ2x32λ3x13λ3x23λ3x33
而 A W = ∣ a 11 x 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ ∣ x 11 x 12 x 13 x 21 x 22 x 23 x 31 x 32 x 33 ∣ = W Σ = ∣ x 11 x 12 x 13 x 21 x 22 x 23 x 31 x 32 x 33 ∣ ∣ λ 1 0 0 0 λ 2 0 0 0 λ 3 ∣ AW=\begin{vmatrix}a_{11}&x_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\\\end{vmatrix}\begin{vmatrix}x_{11}&x_{12}&x_{13}\\x_{21}&x_{22}&x_{23}\\x_{31}&x_{32}&x_{33}\\\end{vmatrix}=WΣ=\begin{vmatrix}x_{11}&x_{12}&x_{13}\\x_{21}&x_{22}&x_{23}\\x_{31}&x_{32}&x_{33}\\\end{vmatrix}\begin{vmatrix}λ_1&0&0\\0&λ_2&0\\0&0&λ_3\\\end{vmatrix} AW= a11a21a31x12a22a32a13a23a33 x11x21x31x12x22x32x13x23x33 =WΣ= x11x21x31x12x22x32x13x23x33 λ1000λ2000λ3
A W W − 1 = W Σ W − 1 AWW^{-1}=WΣW^{-1} AWW−1=WΣW−1,因此就有 A = W Σ W − 1 A=WΣW^{-1} A=WΣW−1
这就是矩阵特征分解的推导
因此,一个矩阵,可以由它的所有特征向量和特征值来表示
矩阵(方阵),可以由它的所有特征向量和特征值来表示,
例如A是mxm的方阵,它所有的特征向量为mxm的方阵W,对应的特征值矩阵为mxm的对角矩阵Σ
则 A = W Σ W T A = WΣW^T A=WΣWT
特征分解后,可以选择删除一些不重要的特征,对方阵A进行降维。
那怎么知道哪些特征是不重要的呢?
这里的特征,其实指的就是特征向量和特征值,主要看特征值。
如果特征值相对而言特别特别小,接近于0,则这个特征向量对原方阵A的影响相应比较小。
A = ∣ a 11 x 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ = ∣ x 11 x 12 x 13 x 21 x 22 x 23 x 31 x 32 x 33 ∣ ∣ λ 1 0 0 0 λ 2 0 0 0 λ 3 ∣ ∣ x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 ∣ A=\begin{vmatrix}a_{11}&x_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\\\end{vmatrix}=\begin{vmatrix}x_{11}&x_{12}&x_{13}\\x_{21}&x_{22}&x_{23}\\x_{31}&x_{32}&x_{33}\\\end{vmatrix}\begin{vmatrix}λ_1&0&0\\0&λ_2&0\\0&0&λ_3\\\end{vmatrix}\begin{vmatrix}x_{11}&x_{21}&x_{31}\\x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{vmatrix} A= a11a21a31x12a22a32a13a23a33 = x11x21x31x12x22x32x13x23x33 λ1000λ2000λ3 x11x12x13x21x22x23x31x32x33
A = ∣ λ 1 x 11 λ 2 x 12 λ 3 x 13 λ 1 x 21 λ 2 x 22 λ 3 x 23 λ 1 x 31 λ 2 x 32 λ 3 x 33 ∣ ∣ x 11 x 21 x 31 x 12 x 22 x 32 x 13 x 23 x 33 ∣ A=\begin{vmatrix}λ_1x_{11}&λ_2x_{12}&λ_3x_{13}\\λ_1x_{21}&λ_2x_{22}&λ_3x_{23}\\λ_1x_{31}&λ_2x_{32}&λ_3x_{33}\\\end{vmatrix}\begin{vmatrix}x_{11}&x_{21}&x_{31}\\x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{vmatrix} A= λ1x11λ1x21λ1x31λ2x12λ2x22λ2x32λ3x13λ3x23λ3x33 x11x12x13x21x22x23x31x32x33
A = ∣ λ 1 x 11 2 + λ 2 x 12 2 + λ 3 x 13 2 λ 1 x 11 x 21 + λ 2 x 12 x 22 + λ 3 x 13 x 23 λ 1 x 11 x 31 + λ 2 x 12 x 32 + λ 3 x 13 x 33 λ 1 x 21 x 11 + λ 2 x 22 x 12 + λ 3 x 23 x 13 λ 1 x 21 x 21 + λ 2 x 22 x 22 + λ 3 x 23 x 23 λ 1 x 21 x 31 + λ 2 x 22 x 32 + λ 3 x 32 x 33 λ 1 x 31 x 11 + λ 2 x 32 x 12 + λ 3 x 33 x 13 λ 1 x 31 x 21 + λ 2 x 32 x 22 + λ 3 x 33 x 23 λ 1 x 31 x 31 + λ 2 x 32 x 32 + λ 3 x 33 x 33 ∣ A=\begin{vmatrix} λ_1x^2_{11}+λ_2x^2_{12}+λ_3x^2_{13} &λ_1x_{11}x_{21}+λ_2x_{12}x_{22}+λ_3x_{13}x_{23} &λ_1x_{11}x_{31}+λ_2x_{12}x_{32}+λ_3x_{13}x_{33}\\ λ_1x_{21}x_{11}+λ_2x_{22}x_{12}+λ_3x_{23}x_{13} &λ_1x_{21}x_{21}+λ_2x_{22}x_{22}+λ_3x_{23}x_{23} &λ_1x_{21}x_{31}+λ_2x_{22}x_{32}+λ_3x_{32}x_{33}\\ λ_1x_{31}x_{11}+λ_2x_{32}x_{12}+λ_3x_{33}x_{13} &λ_1x_{31}x_{21}+λ_2x_{32}x_{22}+λ_3x_{33}x_{23} &λ_1x_{31}x_{31}+λ_2x_{32}x_{32}+λ_3x_{33}x_{33}\\\end{vmatrix} A= λ1x112+λ2x122+λ3x132λ1x21x11+λ2x22x12+λ3x23x13λ1x31x11+λ2x32x12+λ3x33x13λ1x11x21+λ2x12x22+λ3x13x23λ1x21x21+λ2x22x22+λ3x23x23λ1x31x21+λ2x32x22+λ3x33x23λ1x11x31+λ2x12x32+λ3x13x33λ1x21x31+λ2x22x32+λ3x32x33λ1x31x31+λ2x32x32+λ3x33x33
如果将特征值非常小的特征值和对应的特征向量去掉,如删掉λ1和x2,则有
A = ∣ λ 2 x 12 λ 3 x 13 λ 2 x 22 λ 3 x 23 λ 2 x 32 λ 3 x 33 ∣ ∣ x 12 x 22 x 32 x 13 x 23 x 33 ∣ A = \begin{vmatrix}λ_2x_{12}&λ_3x_{13}\\λ_2x_{22}&λ_3x_{23}\\λ_2x_{32}&λ_3x_{33}\\\end{vmatrix}\begin{vmatrix}x_{12}&x_{22}&x_{32}\\x_{13}&x_{23}&x_{33}\\\end{vmatrix} A= λ2x12λ2x22λ2x32λ3x13λ3x23λ3x33 x12x13x22x23x32x33
这样还原出来的A,就不是完完全全的A矩阵了,但相对而言,如果λ1比较小,那么还原出来的矩阵与A矩阵差别也不会太大
看过一个推导的非常详实的知乎大神:奇异值分解(SVD)
看过理解,不代表真的理解,自己去推导一下吧,搞不好会有一些新的认识
A是mxn的矩阵,U是mxm的方阵,V是nxn的方阵,∑是一个mxn的矩阵,且只有对角线上的元素为非零元素。
那么A、U、V、∑之间有什么关系,才能形成奇异值分解 A = U Σ V T A=UΣV^T A=UΣVT的关系呢?
首先,U是 A A T AA^T AAT方阵的特征向量,特征值为 λ u λ_u λu: A A T U = λ u U AA^TU=λ_uU AATU=λuU
其次,V是 A T A A^TA ATA方阵的特征向量,特征值为 λ v λ_v λv: A T A V = λ v V A^TAV=λ_vV ATAV=λvV
要知道,不同特征值对应的特征向量是线性无关的,因此,它的转置乘以它本身 V T V = U T U = E V^TV=U^TU=E VTV=UTU=E
进而,可以求出奇异矩阵∑, A = U Σ V T → A V = U Σ V T V = U Σ A=UΣV^T→AV=UΣV^TV=UΣ A=UΣVT→AV=UΣVTV=UΣ
Σ Σ Σ只有对角线上的元素是非零,因此逐一求出对角线上的元素 α i α_i αi即可
A v 1 = U α 1 Av_1=Uα_1 Av1=Uα1、 A v 2 = U α 2 Av_2=Uα_2 Av2=Uα2…
又或者, A = U Σ V T → A T = V Σ U T A=UΣV^T→A^T=VΣU^T A=UΣVT→AT=VΣUT, A A T = U Σ V T V Σ U T = U Σ 2 U T AA^T=UΣV^TVΣU^T=UΣ^2U^T AAT=UΣVTVΣUT=UΣ2UT
由于U是 A A T AA^T AAT的特征向量,因此 A A T U = λ u U → A A T = U Σ u U T = U Σ 2 U T AA^TU=λ_uU→AA^T=UΣ_uU^T=UΣ^2U^T AATU=λuU→AAT=UΣuUT=UΣ2UT
因此有 Σ 2 = Σ u Σ^2=Σ_u Σ2=Σu,奇异值²=特征值
奇异值可以直接通过特征值开根号得到。
为什么奇异值分解,可以进行降维呢?
主要还是参考矩阵的特征分解时的降维意义。
不过,这只是一种比较数理方面的解释,B站有个博主,用了非常生动形象的动画效果,演示了降维的操作及意义!
B站小学长课堂
当时我在高铁的渣渣网络上看到时,虽然卡的一匹,但依然惊叹到:世间有如此博主,实乃学渣之幸事!
总之,到这里,奇异值分解内容,算是学习结束了
撒花~