前言
我們知道,只有方陣才有特征值和特征向量,因此只有方陣才能特征值分解, 那么非方陣怎么辦?
奇異值和奇異值分解
特征值分解只適用于方陣, 奇異值分解適用于任意的矩陣.
奇異值分解 ???????????????? ?????????? ??????????????????????????篡腌,?????? 症虑,一種重要的矩陣分解方法以一種方便快捷的方式將我們感興趣的矩陣分解成更簡(jiǎn)單且有直觀意義的矩陣的乘積
??, ??是兩個(gè)正交陣[1]义黎,??是對(duì)角陣洒琢,對(duì)角元是??的奇異值
例:
想分解的形式:
.
分解步驟:
1. 求轉(zhuǎn)置矩陣
2. 求特征值:
<font color='red'></font>
3. <font color='red'>求奇異值:
針對(duì)特征值,計(jì)算特征向量:
得:
同理可得
我們想分解的形式為:
代碼實(shí)例:
import numpy as np
x2 = np.array([[4, 0], [3, 5]])
u, sigma, vt = np.linalg.svd(x2)
print('u', u)
print('sigma', sigma)
print('vt', vt)
u [[-0.4472136 -0.89442719]
[-0.89442719 0.4472136 ]]
sigma [6.32455532 3.16227766]
vt [[-0.70710678 -0.70710678]
[-0.70710678 0.70710678]]
尋找有效特征,數(shù)據(jù)壓縮
image
image
-
如果:
(
為單位矩陣赶么,
表示“矩陣A的轉(zhuǎn)置矩陣”甥捺。)或
去件,則n階實(shí)矩陣A稱為正交矩陣荠医。 ?