SVD及其在PCA中的应用

2020-04-16  本文已影响0人  不贪心_9eab

正在网上各种学习,把学到的分散的内容暂时总结在此处。可能有些错误,会在发现后改正。
摘自:https://baijiahao.baidu.com/s?id=1628584413921520630&wfr=spider&for=pc

一、基础知识

1.矩阵 x 向量

(一)用一个矩阵乘以向量,如Ax,表述如下:
\begin{bmatrix}p_1&p_2&p3\\q_1&q_2&q_3\\r_1&r_2&r_3\end{bmatrix}\begin{pmatrix}x\\y\\z\end{pmatrix}=\begin{pmatrix}p_1x+p_2y+p_3z\\q_1x+q_2y+q_3z\\r_1x+r_2y+r_3z\end{pmatrix}
如果把矩阵的行解释为坐标系的基向量,矩阵与向量相乘(或向量与矩阵相乘)相当于执行一次坐标转换,Ax=y可表述为x经矩阵A变换后变为y。

(二)相当于对该向量做了一个线性变换。在这个变换中,大部分的向量都发生了偏移,脱离了原“轨道”。如下图,向量w(2,3) 在矩阵 \begin{bmatrix}-1 & 1 \\ 2 & -2\\ \end{bmatrix} 的作用下,线性变换为另一个向量p(1,-2)pw明显不在一条直线上,发生了偏移。

2f738bd4b31c8701599d546f9b04122b0608ff95.jpeg
那有没有一个矩阵,恰好使线性变换之后新向量和原来的向量在同一条直线上呢?我们再看一个例子:
4afbfbedab64034f94b136a313b8f5350b551d93.jpeg
如上图,还是向量,此时线性变换的矩阵变成了 ,产生的新向量跟还在同一条直线上。我们用公式可以表示成:

\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Aw=\lambda w(1)

2. 方阵: 特征值、特征向量、特征方程

也就是说,矩阵A对向量w所做的线性变换,就相当于对向量w做了拉伸或者压缩,λ就是拉伸或者缩放的倍数。此时,我们将λ称作特征值,而向量w称作特征向量。(不是任何一个矩阵都有特征值和特征向量)

再仔细观察(1)式,是否可以把等式两边的w消去,得到A=λ呢?首先,涉及到向量的乘法是不可以直接消元的;其次,A是一个矩阵,λ是一个标量,这俩是不可能相等的。

这时,单位矩阵E派上用场了。已知:Ew=wE=w,可以在(1)式的右边乘以E,得到:Aw=\lambda Ew, 把等式右边的项移到左边,再提取出公共的w,可以得到:

\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (A-\lambda E)w=0 (2)

Note: 等式右边的0是一个向量,而不是标量。(2)式说明,矩阵乘以向量,结果是0向量(向量w经过一个线性变换后,被压缩成了一个点)。

因为:向量w是非0向量

所以:求(A-\lambda E)X=0方程组的非零解 (非0向量w就是齐次线性方程组的解)

即约束条件比未知数要少

所以:\gamma (\lambda E-A) < n(降秩) <=> \begin{vmatrix}\lambda E -A\end{vmatrix}=0 降秩等价于行列式为0

解行列式,求出\lambda

特征方程\begin{vmatrix}\lambda E -A\end{vmatrix}=0

<=> \ \begin{vmatrix}\lambda-a_{11}\ -a_{12}\ -a_{13}\ \cdots\ -a_{1n}\\ \cdots \\ \cdots \\-a_{n1}\ -a_{n2}\ -a_{n3}\ \cdots\ \lambda-a_{nn}\end{vmatrix}=0

<=>\ \ 行列式的最高次出现在对角线上(需要学习)
\ \ \ \ \ \ \ \ \ \ \ \ \ \lambda^n-(a_{11}+a_{22}+a_{33}+\cdots+a_{nn})\lambda^{n-1}+\cdots=0

所以:\ \begin{vmatrix}\lambda E-A\end{vmatrix}=0 <=> \lambda_1, \lambda2, \cdots, \lambda_n *n\lambda中可能有相等的

Notes:
1.\lambda_1+\lambda_2+\cdots+\lambda_n=a_{11}+a_{22}+\cdots+a_{nn}=tr(A) 矩阵的
2.\ \lambda_1\lambda_2\cdots\lambda_n=\begin{vmatrix}A\\\end{vmatrix}
3.设\lambda_0E为特征值,\lambda_0对应特征向量为(\lambda_0 E-A)X=0的非零解
(一个齐次线性方程组如果有非零解,有无数个,所以任何一个特征值,有无数个特征向量,但我只要线性无关的,只要这个方程组的基础解系)

3.矩阵相似

A、B为n阶方阵,若存在可逆阵P,使P^{-1}AP=B,称A、B相似,记 A~B
Note:
(一个矩阵的左边或右边乘以一个可逆矩阵,矩阵的秩不变)
1.If A~B, 则\gamma(A)=\gamma(B),反之不一定成立(因为两个矩阵相似条件极其苛刻)。
2.A~A, A~B => B~A, AB、BC => A~C
3.A~B => \begin{vmatrix}\lambda E-A\\\end{vmatrix}=\begin{vmatrix}\lambda E-B\\\end{vmatrix},反之不一定成立。
4..A~B => \begin{vmatrix}\lambda E-A\\\end{vmatrix}=\begin{vmatrix}\lambda E-B\\\end{vmatrix} => AB的特征值相同 => tr(A)=tr(B),\begin{vmatrix}A\end{vmatrix}=\begin{vmatrix}B\end{vmatrix}
(相似矩阵的特征值相同,行列式相同)
性质
(一)、
1.A_{nxn}, 两个不相等的特征值对应的线性无关的特征向量α_1,α_2, α_3,\cdots,α_s, β_1,β_2, β_3,\cdots,β_t继续线性无关 >>> 应用:P=(α_1,α_2,α_3), P可逆(因为所有特征向量拼起来线性无关,向量组的秩为3,又三秩相等,矩阵的秩=列秩,矩阵满秩=矩阵可逆)。

Aα_1=\lambda_1α_1, \cdots,Aα_n=\lambda_nα_n
(Aα_1,\cdots,Aα_n)=(\lambda_1α_1, \cdots,\lambda_nα_n)
A(α_1,\cdots,α_n)=(α_1, \cdots,α_n)\begin{pmatrix}\lambda_1 \ \ \ \ \ \ \ \ \ \\ \cdots\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \lambda_n\end{pmatrix}
P=(α_1, \cdots, α_n)可逆
AP=P^{-1}\begin{pmatrix}\lambda_1 \ \ \ \ \ \ \ \ \ \\ \cdots\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \lambda_n\end{pmatrix}
P^{-1}AP=\begin{pmatrix}\lambda_1\ \ \ \ \ \ \ \ \ \\ \ \ \lambda_2 \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \cdots \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \lambda_s \end{pmatrix}

*满秩的矩阵才能对角化;有几个\lambda就有几个特征向量,其中\lambda可以相等。
2.A可逆时,A、A^{-1}、A^*共用特征向量,特征值不一样但可以换算
3.A_{nxn}, 则A可相似对角化的充要条件是An个线性无关的特征向量
(二)、
1.A^T=A 实对称矩阵,不同特征值对应的特征向量两两正交。
两个列向量(α,β)=(a_1b_1+\cdots+a_nb_n), 左转右不转是数=内积;
内积可以交换(α, β)=(β, α)=α^Tβ=β^Tα=0
2.实对称矩阵的特征值一定是实数
3.实对称矩阵一定可以对角化,一般的矩阵不一定可以对角化。
4.如果一个向量组非零且两两正交,则线性无关

4.正交化、规范化

施密特正交化:
正交化:对线性无关的特征向量,进行加工,变成两两正交;
单位化:长度为1,\cfrac{1}{\begin{vmatrix}β_1\end{vmatrix}}β_1

5.正交矩阵(单位且正交)

(一)def - n阶方阵A, 如果A^TA=E,称A为正交阵。
(二)性质:
1.若A^T=E, 则A^{-1}=A^T
2.若A^TA=E \ \ => \ \ \begin{vmatrix}A^T\end{vmatrix}*\begin{vmatrix}A\end{vmatrix}=1\ \ \ =>\ \ \ \begin{vmatrix}A\end{vmatrix}^2=1\ \ =>\ \ \begin{vmatrix}A\end{vmatrix}=+-1
\begin{vmatrix}A^T\end{vmatrix}\begin{vmatrix}A\end{vmatrix}互为倒数 \ \ \ \正交阵的行列式不是1就是-1
(矩阵乘积的行列式等于矩阵行列式的乘积)(拉普拉斯法则)
(三)正交阵等价条件:
Th1. 若Q^TQ=E\ \ \ \ \ \ \ \ \ \ Q=(\gamma_1, \gamma_2, \cdots, \gamma_n), \gamma_1, \gamma_2, \cdots, \gamma_n两两正交且单位
则有AQ=Q\Lambda \ \ \ \ \ \ \ \ \ \ Q^{-1}AQ=\Lambda \ \ \ \ \ \ \ \ Q^TAQ=\Lambda\ \ \ \ \ \ \ \ A=Q\Lambda Q^T
(行列式不为0的方阵可逆)
(实对称矩阵一定可以对角化)
(如果不是实对称矩阵,求特征值。如果特征值都是单值,或每个特征值的重数与无关特征向量个数一致)
(n接矩阵A可对角化 充要条件 A存在n个线性无关的特征向量)
(不同特征值对应的特征向量线性无关/正交)

6.二次型

1.def: 二次型 f=X^TAX, \ \ \ \ X=\begin{pmatrix}x_1\\x_2\\ \cdots \\ x_n \end{pmatrix}
标准二次型:A为对角阵;
非标准二次型:A为实对称矩阵,但不对角;
把非标转化成标,把实对称矩阵转化成对角阵,即实对称矩阵对角化。
2.标准化:把非标化成标
如果存在可逆阵P,令Y=\begin{pmatrix}y_1\\y_2\\ \cdots \\ y_n \end{pmatrix}X=PY,
f=Y^T(P^TAP)Y,P^TAP是对角阵,P^TAP=\begin{pmatrix}l_1\ \ \cdots \ \ \ \\ \cdots l_2 \cdots \ \ \\ \cdots \\ \ \ \ \cdots \ \ \ l_n \end{pmatrix},
f=l_1y_1^2+\cdots+l_ny_n^2

7.矩阵合同

def:如果Q^TAQ=B,则A、B合同。
1.配方法: 不需要验证,得到的肯定是对角阵
2.正交变换法:
(1)矩阵化f=X^TAX, A^T=A
(2)求矩阵A的特征值
(3)求出每个特征值对应的线性无关的特征向量
(4)实对称矩阵,正交化单位化,找正交阵 Q^TAQ = \Lambda
(5)对X进行正交变换 f=X^TAX\ \-->\ \ 令X=QY\--> f=Y^T(Q^TAQ)Y=\lambda_1y_1^2+\cdots+\lambda_ny_n^2

8.特征分解(eigenvalue decomposition):能相似对角化的方阵(要求高)

A = Q \Lambda Q^T. QA的特征向量组成的矩阵,\LambdaA的特征值\lambda组成的对角阵。

二、SVD(singular value decomposition)

SVD: 矩阵的奇异值分解,实质上是把矩阵分解为奇异值对应的特征向量组成的矩阵和奇异值组成的矩阵的乘积的形式。一种矩阵分解的方法,可以直接拿来降维。
降维:使矩阵的秩变小,而不是使矩阵变小。舍弃SVD结果中由奇异值组成的矩阵中数值很小的一部分奇异值,从而降低新得到矩阵的秩,同时保证得到的新矩阵和原矩阵的差异在一定范围内。

假设一个M_{m*n}的秩是r,则M存在如下形式的奇异值分解:
M=U\Sigma V^T

U和V是酉矩阵,\Sigma 的主轴是奇异值。
分解行数不等于列数的矩阵,无需多余步骤一步出结果,但是要分清楚谁是样本谁是特征。

三、

上一篇下一篇

猜你喜欢

热点阅读