1.写在前面
学习机器学习的过程中,必须学习数学,其中非常重要的一部分莫过于矩阵分解。而矩阵分解的重中之重在于特征值分解和奇异值分解。但是这部分资料或书籍多晦涩难懂,或浮于表面,不能深入,故产生了写下这篇文章的想法。如果写得不对,欢迎指正!
2.特征值分解
2.1特征方程
令A∈Rn×nA\in R^{n \times n}A∈Rn×n为一个方阵, λ∈R\lambda \in Rλ∈R是AAA的特征值,x∈Rnx \in R^nx∈Rn是对应的特征向量(注意不能是0向量)当且仅当:
Ax=λx Ax = \lambda x Ax=λx
2.2 定理
给定一个矩阵A∈Rm×nA \in R^{m \times n}A∈Rm×n,我们总能够得到一个对称半正定的矩阵S∈Rn×nS \in R^{n \times n}S∈Rn×n,通过下面这种方式:
S=ATAS = A^TAS=ATA
若rank(A)=nrank(A)=nrank(A)=n,则SSS是对称正定的。
证明:
- 对称性
S=ATA=AT(AT)T=(ATA)T=STS = A^TA=A^T(A^T)^T = (A^TA)^T = S^TS=ATA=AT(AT)T=(ATA)T=ST - 正定性
xTSx=xTATAx=(Ax)TAx≥0x^TSx=x^TA^TAx=(Ax)^TAx \ge 0 xTSx=xTATAx=(Ax)TAx≥0
注意最后一个大于号用到了内积的正定性,但是限于篇幅我就不展开讲了,可能以后会写。
2.3 定理2:谱定理(实数) spectral theorem
若A∈Rn×nA \in R^{n \times n}A∈Rn×n 是对称矩阵,则一定存在由AAA的特征向量组成的一组标准正交基,组成了一个对应的向量空间VVV,且每个特征值都是实的。
2.4 特征值分解
令A∈Rn×nA \in R^{n \times n}A∈Rn×n, λ1,λ2,λn\lambda_1,\lambda_2,\lambda_nλ1,λ2,λn为一组标量,p1,p2,...,pnp_1, p_2,...,p_np1,p2,...,pn为一组RnR^nRn上向量,我们定义P=[p1p2⋯pn]P = \begin{bmatrix} p_1&p_2 \cdots p_n \end{bmatrix}P=[p1p2⋯pn] 并令D∈Rn×nD \in R^{n \times n}D∈Rn×n为一个对角阵,对角元素为λ1,λ2,⋯λn\lambda_1 ,\lambda_2 ,\cdots \lambda_nλ1,λ2,⋯λn。
则当且仅当λ1,λ2,⋯λn\lambda_1 ,\lambda_2 ,\cdots \lambda_nλ1,λ2,⋯λn为AAA的特征值且p1,p2,...,pnp_1, p_2,...,p_np1,p2,...,pn为对应特征向量时,有:
AP=PDAP= PDAP=PD
证明:
AP=A[p1p2⋯pn]AP=A\begin{bmatrix}p_1&p_2 \cdots p_n \end{bmatrix}AP=A[p1p2⋯pn]
PD=[p1p2⋯pn][λ1⋱λn]=[λ1p1λ2p2⋯λnpn]PD=\begin{bmatrix}p_1&p_2 \cdots p_n \end{bmatrix}\begin{bmatrix}\lambda_1\\&\ddots\\&&\lambda_n\end{bmatrix}=\begin{bmatrix} \lambda_1p_1 & \lambda_2p_2 & \cdots & \lambda_np_n \end{bmatrix}PD=[p1p2⋯pn]⎣⎡λ1⋱λn⎦⎤=[λ1p1λ2p2⋯λnpn]
由上面两个等式:
A[p1p2⋯pn]=[λ1p1λ2p2⋯λnpn]A\begin{bmatrix}p_1&p_2 \cdots p_n \end{bmatrix}=\begin{bmatrix} \lambda_1p_1 & \lambda_2p_2 & \cdots & \lambda_np_n \end{bmatrix}A[p1p2⋯pn]=[λ1p1λ2p2⋯λnpn]
进而等价于:
Ap1=λ1p1Ap2=λ2p2⋮Apn=λnpnAp_1 = \lambda_1p_1\\Ap_2 = \lambda_2p_2\\\vdots\\Ap_n = \lambda_np_nAp1=λ1p1Ap2=λ2p2⋮Apn=λnpn
因此PPP一定由AAA的特征向量组成,而DDD的对角线元素必为对应特征值。
进一步的,当且仅当AAA的特征向量都是独立的时候 ⇔\Leftrightarrow⇔AAA是non-defective matrix ⇔\Leftrightarrow⇔ PPP满秩 ⇔\Leftrightarrow⇔PPP可逆 的时候,有:
AP=PDA=PDP−1AP=PD\\A=PDP^{-1}AP=PDA=PDP−1
2.5 对称矩阵的特征值分解
已经有:A=PDP−1A=PDP^{-1}A=PDP−1
又由于谱定理(定理2),对称矩阵的特征向量是一组标准正交基ONB,故而PPP是一个正交阵,因此:
PT=P−1P^T=P^{-1}PT=P−1
进而对于对称矩阵AAA,存在:
A=PDPTA=PDP^TA=PDPT
Reference:
- 《Mathematics For Machine Learning》by Marc Peter Deisenroth, A.Aldo Faisal and Cheng Soon Ong