Deep Learning——矩陣分解

目錄

  • 矩陣分解簡(jiǎn)介

  • 矩陣分解用到的基礎(chǔ)知識(shí)

  • 矩陣的滿秩分解

  • 矩陣的LU分解

  • 矩陣的LDU分解

  • 矩陣的QR分解(正交分解)

  • 矩陣的特征分解(譜分解EVD)

  • 矩陣的Schur三角分解

  • 矩陣的奇異值分解(SVD)

  • 矩陣的極分解

  • PCA理盆、NMF的推導(dǎo)與應(yīng)用

矩陣分解簡(jiǎn)介

??由于最近在看機(jī)器學(xué)習(xí)相關(guān)書(shū)籍渐北,里面涉及到很多矩陣分解的知識(shí)點(diǎn),上網(wǎng)翻閱相關(guān)知識(shí)點(diǎn)欠雌,發(fā)現(xiàn)機(jī)器學(xué)習(xí)書(shū)上和網(wǎng)上相關(guān)解釋和推導(dǎo)非常簡(jiǎn)化像棘,不易從根本上理解矩陣分解的知識(shí)稽亏,從而不能發(fā)現(xiàn)矩陣分解的本質(zhì)。故我想以一個(gè)數(shù)學(xué)推導(dǎo)的角度(不是工科應(yīng)用的角度)缕题,從根本的概念來(lái)推導(dǎo)這些矩陣分解的定理截歉,從本質(zhì)理解矩陣分解。

??矩陣分解在數(shù)學(xué)烟零,機(jī)器學(xué)習(xí)瘪松,工程學(xué)中的意義和目的有以下幾點(diǎn):一、矩陣求逆锨阿,總所周知宵睦,在矩陣求逆時(shí),涉及到伴隨矩陣與行列式的復(fù)雜計(jì)算墅诡,如果對(duì)矩陣進(jìn)行適當(dāng)分解壳嚎,在求逆,就會(huì)省去這些運(yùn)算末早。二烟馅、矩陣的存儲(chǔ),矩陣分解可以省很多存儲(chǔ)空間荐吉,例如一個(gè)100x100的矩陣焙糟,需要10000個(gè)元素,而將其分解成100x20與20x100的兩個(gè)矩陣時(shí)样屠,只需要4000個(gè)元素既可以穿撮。三、矩陣的性質(zhì)痪欲,矩陣分解后悦穿,更容易理解矩陣的性質(zhì),就如正整數(shù)可以分解成質(zhì)數(shù)业踢,原子可以分解成質(zhì)子一樣栗柒,更容易看到其性質(zhì)。

??對(duì)于矩陣的常用分解為:滿秩分解、LU分解瞬沦、LDU分解太伊、特征分解、QR分解逛钻、奇異值分解僚焦、極分解。下面我將對(duì)其進(jìn)行詳細(xì)的推導(dǎo)論證曙痘。不過(guò)在論證之前芳悲,先梳理一下用到的基礎(chǔ)知識(shí)。這樣可以保證讀者在看到陌生的概念時(shí)边坤,不用翻閱其他資料名扛。

矩陣分解用到的基礎(chǔ)知識(shí)

一、線性映射茧痒、線性變換肮韧、以及他們與矩陣的關(guān)系

??線性映射( linear mapping)是從一個(gè)向量空間V到另一個(gè)向量空間W的映射且保持加法運(yùn)算和數(shù)量乘法運(yùn)算。
???????? \sigma(α+β)=\sigma (α)+\sigma (β)
???????? \sigma (kα)=k\sigma (α)

??線性變換是一個(gè)特殊的線性映射文黎,從向量空間V映射到自己的線性映射叫做線性變換 惹苗。

??任意線性映射都可找到一個(gè)矩陣與之對(duì)應(yīng),任意矩陣都可找到一個(gè)線性映射與之對(duì)應(yīng)耸峭。任意方陣都可以找到一個(gè)線性變化與之對(duì)應(yīng)桩蓉,任意線性變化都可找到一個(gè)方陣與之對(duì)應(yīng)。但需要注意的是劳闹,線性映射與矩陣的對(duì)應(yīng)關(guān)系必須給定每個(gè)空間的基院究,線性映射和線性變化在不同基下的矩陣是不一樣的。

??對(duì)于任意矩陣Amxn,可以找到n維空間V到m維空間W的一個(gè)線性映射 \sigma , \sigma如下定義本涕,對(duì)任意\alpha屬于V业汰, 有\sigma(\alpha)=A\alpha (<font color="#660000">這是線性變換矩陣的坐標(biāo)表示,下文還有一種表示方式菩颖,兩者等價(jià)</font>)样漆。以下證明由此定義的\sigma是V到W的線性映射。
\alpha是n維晦闰,A是mxn的放祟,所以A\alpha是m維的,所以A\alpha屬于W空間呻右,又可以驗(yàn)證滿足上面的加分和數(shù)乘運(yùn)算跪妥,所以\sigma是V到W的線性映射。

??對(duì)于任意的n維空間V到m維空間W的線性映射\sigma声滥,都可以找到一個(gè)mxn的矩陣A與之對(duì)應(yīng)眉撵,對(duì)應(yīng)關(guān)系為:
對(duì)任意\alpha屬于V, 有\sigma(\alpha)=A\alpha,其中A\alpha屬于W纽疟。

定理1 :

??線性映射\sigma在給定基下的矩陣表示A是唯一的罐韩。

證明:設(shè)線性映射\sigma是n維線性空間V到m維線性空間W的線性映射,\varepsilon1污朽,\varepsilon2伴逸,...\varepsilonn是n維空間的一組基。\eta1膘壶,\eta2,...\etam是m維空間給定的一組基洲愤,
??反證法颓芭,若線性映射 ?? 在給定基下的矩陣表示A是不唯一,
??設(shè)有兩個(gè)分別為A和B柬赐,
??使得亡问,在同一組下有\sigma(\alpha)=A\alpha\sigma(\alpha)=B\alpha 對(duì)任意的\sigma屬于V成立。
??由于\alpha屬于V肛宋,所以在基\varepsilon1州藕,\varepsilon2,...\varepsilonn下酝陈,\alpha的坐標(biāo)為k1床玻,k2,...kn ,
所以同時(shí)又\sigma(\alpha)=A(k1沉帮,k2锈死,...kn)T,\sigma(\alpha)=B(k1,k2穆壕,...kn)T\sigma(\alpha)在W空間中待牵,且W空間的基給定,所以在W空間給定基下的坐標(biāo)是唯一的喇勋,所以
????????A(k1缨该,k2,...kn)T=B(k1川背,k2贰拿,...kn)T
由于上式對(duì)V空間中的任意向量都成立。所以A=B渗常,所以假設(shè)不成立壮不,所以定理得證。

??在上面的證明中皱碘,若\alpha\varepsilon1询一,則\alpha的坐標(biāo)為(1,0,...0)Tnx1 ,則A\alpha=(a11,a21,...am1)Tmx1 ,而(a11,a21,...am1)Tmx1是向量A\alpha在W空間基\eta1\eta2,...\etam下的坐標(biāo)健蕊。所以有\sigma\varepsilon1菱阵,\varepsilon2,...\varepsilonn)=(\eta1缩功,\eta2晴及,...\etam)A(<font color="#660000">這是線性變換矩陣的另一種表示方式</font>)

定理2 :

??設(shè)V的基為\varepsilon1\varepsilon2嫡锌,...\varepsilonn虑稼,W的基為\eta1\eta2势木,...\etam 蛛倦,已給m×n矩陣A颁独,則存在唯一的線性映射\sigma巢音,它在這兩個(gè)基下的矩陣表示為A亥揖。

證明:反證法偿衰,假設(shè)存在兩個(gè)不一樣的線性變換\sigma1,\sigma2靡狞。在給定兩組基下的矩陣為A味赃。
則有:
????\sigma1(\alpha)=A\alpha
????\sigma2(\alpha)=A\alpha
其中對(duì)于任意的\alpha屬于V都成立炮赦。
所以對(duì)任意的\alpha屬于V都有\sigma1(\alpha)=\sigma2(\alpha)
所以\sigma1\sigma2
所以與假設(shè)矛盾持舆,定理的證板驳。

二又跛、矩陣的等價(jià)

??設(shè)V的一組基為\varepsilon1\varepsilon2笋庄,...\varepsilonn效扫,W的一組基為\eta1\eta2直砂,...\etam 菌仁,V到W空間的線性映射\sigma在兩組基下的矩陣為A。V的另一組基為\varepsilon1'静暂,\varepsilon2'济丘,...\varepsilonn',W的另一組基為\eta1'洽蛀,\eta2'摹迷,...\etam ',則V到W空間的線性映射\sigma在兩組基下的矩陣為B。
??因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Cvarepsilon" alt="\varepsilon" mathimg="1">1郊供,\varepsilon2峡碉,...\varepsilonn\varepsilon1'\varepsilon2'驮审,...\varepsilonn'是V的不同的兩組基鲫寄,所以存在過(guò)度矩陣P吉执,有
(\varepsilon1\varepsilon2地来,...\varepsilonn)P =(\varepsilon1'戳玫,\varepsilon2',...\varepsilonn')
??因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Ceta" alt="\eta" mathimg="1">1未斑,\eta2咕宿,...\etam\eta1'\eta2'蜡秽,...\etam '是V的不同的兩組基府阀,所以存在過(guò)度矩陣Q,有
(\eta1芽突,\eta2肌似,...\etam )Q =(\eta1'\eta2'诉瓦,...\etam ')
過(guò)度矩陣必可逆(下文有給出證明),
??因?yàn)閂到W空間的線性映射\sigma在給定第一組基下的矩陣為A力细,所以有睬澡,對(duì)任意的\alpha屬于V,其在\varepsilon1眠蚂,\varepsilon2煞聪,...\varepsilonn基下的坐標(biāo)表示為(k1,k2,....knT
\sigma((k1,k2,....knT)=A(k1,k2,....knT ,而A(k1,k2,....knT為映射到W空間的向量在基\eta1逝慧,\eta2昔脯,...\etam下的坐標(biāo)表示。
??同理因?yàn)閂到W空間的線性映射\sigma在給你第二組基下的矩陣為B笛臣,所以有云稚,對(duì)上面同一向量\alpha屬于V,其在\varepsilon1'沈堡,\varepsilon2'静陈,...\varepsilonn'基下的坐標(biāo)表示為(l1,l2,....lnT
\sigma((l1,l2,....lnT =B(l1,l2,....lnT ,B(l1,l2,....lnT 為映射到W空間的向量在基\eta1'诞丽,\eta2'鲸拥,...\etam '下的坐標(biāo)表示。
\alpha在V中是同一向量僧免,V到W空間的映射也為同一映射刑赶,所以映射到W空間的向量也為同一向量。所以有
??(\eta1懂衩,\eta2撞叨,...\etam)A(k1,k2,....knT=(\eta1'金踪,\eta2',...\etam ')B(l1,l2,....lnT??????(1)
而又有
??(\eta1谒所,\eta2热康,...\etam )=(\eta1'\eta2'劣领,...\etam ')Q-1????????(2)
??(k1,k2,....kn)T=P(l1,l2,....lnT?????? (3)
所以將(2)(3)帶入到(1)中得到
(\eta1'姐军,\eta2',...\etam ')Q-1AP(l1,l2,....lnT&=(\eta1'尖淘,\eta2'奕锌,...\etam ')B(l1,l2,....lnT
所以?????? Q-1AP=B 。

????<font color="#660000">過(guò)度矩陣必可逆村生,因?yàn)?\varepsilon1惊暴,\varepsilon2,...\varepsilonn)線性無(wú)關(guān)趁桃,所以基構(gòu)成的矩陣秩為n可逆辽话,(\varepsilon1'\varepsilon2'卫病,...\varepsilonn')線性無(wú)關(guān)油啤,所以基構(gòu)成的矩陣秩為n可逆,所以P也可逆 </font>

??如果對(duì)于兩個(gè)矩陣Amxn,Bmxn蟀苛,存在可逆矩陣Pnxn和可逆矩陣Qmxm滿足以下式子
????????????????Q-1AP=B
??則稱矩陣A與矩陣B等價(jià)益咬。

三、矩陣的相似

??上面推出等價(jià)關(guān)系是以線性映射為基礎(chǔ)帜平,當(dāng)線性映射變?yōu)榫€性變換時(shí)幽告,又可推導(dǎo)出什么結(jié)論。

c設(shè)\sigma是空間V上的線性變換裆甩,\sigma在基\varepsilon1冗锁,\varepsilon2,...\varepsilonn下的矩陣為A嗤栓,\sigma在基\varepsilon1'蒿讥,\varepsilon2',...\varepsilonn'下的矩陣為B抛腕,
\varepsilon1芋绸,\varepsilon2,...\varepsilonn\varepsilon1'担敌,\varepsilon2'摔敛,...\varepsilonn'的過(guò)度矩陣為P。
即:
??????(\varepsilon1全封,\varepsilon2马昙,...\varepsilonn)P=(\varepsilon1'桃犬,\varepsilon2',...\varepsilonn'
所以有:
??????\sigma(\varepsilon1行楞,\varepsilon2攒暇,...\varepsilonn)=(\varepsilon1\varepsilon2子房,...\varepsilonn)A

??????\sigma(\varepsilon1'形用,\varepsilon2',...\varepsilonn')=(\varepsilon1'证杭,\varepsilon2'田度,...\varepsilonn')B
所以和上面推導(dǎo)等價(jià)關(guān)系一樣的步驟可得到:
??????P-1AP=B

??所以推出相似的定義,如果對(duì)于兩個(gè)方陣Anxn解愤,Bnxn,存在可逆矩陣Pnxn镇饺,有
??????P-1AP=B
??則稱A與B相似。

四送讲、初等矩陣和初等變換

??在這里介紹一類(lèi)簡(jiǎn)單的矩陣和變換奸笤,初等矩陣和初等變換。

??所謂初等變換哼鬓,有三種
??1揭保、用一非零的數(shù)字乘以矩陣的某一行(列)。
??2魄宏、矩陣的一行(列)加到另一行(列) 。
??3存筏、互換矩陣兩行(列)的位置宠互。

??所謂初等矩陣,是指由單位矩陣經(jīng)過(guò)一次矩陣初等變換得到的矩陣椭坚。
??由初等矩陣的定義可以看出予跌,初等矩陣只有三種形式:
??1、Pi,j 單位矩陣的第i行和第j行互換善茎。
??2券册、Pi(k) 單位矩陣的第i行乘以非零k倍。
??2垂涯、Pi,j(k) 單位矩陣的第i行乘以非零k倍加到第j行烁焙。

??由上面初等矩陣的形式可以看出,初等矩陣都是可逆矩陣耕赘,初等變換都是可逆變換骄蝇。
如果兩個(gè)矩陣A,B操骡,A通過(guò)初等變換可以得到B九火,那么A和B成為等價(jià)赚窃。
??這里說(shuō)的矩陣等價(jià)和上文說(shuō)的矩陣等價(jià)是一樣的,A=PB岔激,P為一系列初等矩陣相乘得到勒极,是可逆矩陣,設(shè)Q為P的逆虑鼎,則可以寫(xiě)成 A=Q-1BE辱匿,所以形式和上文一致。

五震叙、置換矩陣

設(shè)P 是一個(gè) m×n 的 (0,1) 矩陣掀鹅,如 m≤n且 P*Pt=E,則稱 P為一個(gè) m×n的置換矩陣媒楼。其中Pt是P的轉(zhuǎn)置矩陣乐尊,E是m階單位方陣。

引理1

當(dāng) m≦n時(shí)划址,一個(gè) m×n 的(0,1) 矩陣P為置換矩陣的充要條件是P的每一行恰有一個(gè) 1扔嵌,每一列最多只有一個(gè) 1。當(dāng)P是方陣時(shí)夺颤,每行和每列有且僅有一個(gè)1.

置換矩陣的性質(zhì):
1痢缎、置換矩陣為方陣時(shí)必是可逆矩陣
2、一個(gè)矩陣左成一個(gè)置換方陣世澜,相當(dāng)于對(duì)矩陣進(jìn)行互換独旷,一個(gè)矩陣右乘一個(gè)置換矩陣時(shí),相當(dāng)于對(duì)矩陣進(jìn)列互換
3寥裂、置換方陣一定是正交矩陣嵌洼。

主子式和順序主子式

主子式:對(duì)于n階矩陣A,取出標(biāo)號(hào)相同的k行和k列的共有元素構(gòu)成矩陣的行列式為矩陣A的k階主子式封恰,例如:取第一麻养,第三,第五行與第一诺舔,第三鳖昌,第五列的公有的值構(gòu)成一個(gè)3階矩陣,此三階矩陣的行列式就是矩陣的三階主子式低飒。

順序主子式:對(duì)于n階矩陣A许昨,取前k行和前k列構(gòu)成矩陣的行列式為其k階順序主子式。

順序主子式的相關(guān)性質(zhì):
1褥赊、一個(gè)n階矩陣的所有順序主子式大于零车要,當(dāng)且僅當(dāng)其構(gòu)成的二次型為正定二次型,此矩陣稱作正定矩陣崭倘。
2、一個(gè)n階矩陣的所有順序主子式小于零,當(dāng)且僅當(dāng)其構(gòu)成的二次型為負(fù)定二次型汉柒,此矩陣稱作負(fù)定矩陣。
3悉患、一個(gè)n階矩陣的所有順序主子式大于等于零,當(dāng)且僅當(dāng)其構(gòu)成的二次型為半正定二次型榆俺,此矩陣稱作半正定矩陣售躁。
4、一個(gè)n階矩陣的所有順序主子式不等與零茴晋,該矩陣可進(jìn)行LU分解陪捷,且分解唯一。
由于矩陣分解這一塊不涉及二次型知識(shí)诺擅,故不對(duì)前三天進(jìn)行證明市袖,第四條將在下面的矩陣LU分解中證明。

矩陣的滿秩分解

定理3

??對(duì)于任意給定非零矩陣Amxn,都可以進(jìn)行以下分解
??????A=FG
??其中F為mxr矩陣烁涌,G為rxn矩陣苍碟,r為矩陣A的秩,F(xiàn)列滿秩撮执,G行滿秩微峰。此時(shí)A=FG 為矩陣A的滿秩分解。

證明:對(duì)于任意給定的非零矩陣Amxn抒钱,都可以經(jīng)過(guò)一系列的初等行變換和初等列變換蜓肆,變?yōu)槿缦滦问降木仃?/p>

\left[ \begin{array} {cccc} E&0\\ 0&0\\ \end{array} \right]

其中E為r階單位矩陣,r?yàn)锳的秩谋币。既有如下等式成了

A= P [ \begin{array} {cccc} E&0\\ 0&0\\ \end{array}] Q

其中P為一系列mxm初等矩陣的乘積仗扬,Q為一系列nxn初等矩陣的乘積。因?yàn)槌醯染仃嚍榭赡婢仃嚾鹦牛訮,Q是可逆矩陣。


\left[ \begin{array} {cccc} E&0\\ 0&0\\ \end{array} \right]=\left[ \begin{array} {cccc} E\\ 0\\ \end{array} \right]*\left[ \begin{array} {cccc} E&0\\ \end{array} \right]

所以
A= P\left[ \begin{array} {cccc} E\\ 0\\ \end{array} \right]*\left[ \begin{array} {cccc} E&0\\ \end{array} \right] Q

因?yàn)镻mxm,Qnxn是可逆矩陣穴豫,所以令

F=P\left[ \begin{array} {cccc} E\\ 0\\ \end{array} \right]

G=\left[ \begin{array} {cccc} E&0\\ \end{array} \right] Q

F為列滿秩矩陣凡简,G為行滿秩矩陣,且秩都為r.定理得到證明

矩陣的LU分解

LU分解只對(duì)方陣而言精肃,但并非任意的方陣都可進(jìn)行LU分解秤涩。

定理4

對(duì)于任意的方陣A,存在置換矩陣P司抱,使得PA=LU筐眷,其中L為單位下三角矩陣,U為上三角矩陣习柠。當(dāng)A的對(duì)角線上沒(méi)有零元素時(shí)匀谣,A=LU照棋。

證明:對(duì)于任意方陣A,若A對(duì)角線上沒(méi)有0元素武翎,則存在一系列的初等矩陣Pi,j(k) 烈炭,其中i>j,使得這一系列的初等矩陣乘以A宝恶,將打A變成一個(gè)上三角矩陣符隙。既
PA=U
因?yàn)槌醯染仃嚳赡妫砸幌盗谐醯染仃嚦朔eP也可逆垫毙,又因?yàn)椋椋荆昱撸赃@一些列初等矩陣為單位下三角矩陣,所以P是可逆的單位下三角矩陣综芥。記L=P-1,又因?yàn)閱挝幌氯蔷仃嚨哪婢仃囘€是單位下三角矩陣丽蝎。所以A=LU,其中L為單位下三角矩陣,U為上三角矩陣毫痕。

??對(duì)于對(duì)角線上有0元素的矩陣A征峦,若0元素所在的列,存在一個(gè)元素不為領(lǐng)消请,則存在一個(gè)置換矩陣P栏笆,使得PA對(duì)角線上的元素全不為零,若0元素所在的列都為零臊泰,則在將A轉(zhuǎn)化成上三角矩陣時(shí)蛉加,不處理該列,因?yàn)樵摿袑?duì)角線下面的元素已經(jīng)為0.所以當(dāng)對(duì)角線上有0元素時(shí)缸逃,存在一個(gè)置換矩陣P针饥,使得PA=LU,L為單位下三角矩陣需频,U為上三角矩陣丁眼,所以定理的證。

對(duì)于矩陣的LU分解昭殉,

定理5

設(shè)A為n階非奇異的實(shí)矩陣苞七,A存在唯一分解式A=LU的充要條件為A的n-1階順序主子式Di\neq0,(i=1,2...n-1),其中L為單位下三角矩陣挪丢,U為上三角矩陣

證明:必要性:因?yàn)锳是非奇異矩陣蹂风,所有|A|=|L|* |U|\neq0,而|L|=1,|U|=u1u2...un,其中ui為U的對(duì)角線上的第i個(gè)元素。所以u(píng)i\neq0乾蓬。

對(duì)于A的k階順序主子式對(duì)應(yīng)的矩陣Ak,有Ak的任意元素ai,j是原來(lái)A的ai,j,因?yàn)锳=LU惠啄,所以有
????ai,j=li,1u1,j+li,2u2,j+...+ li,nun,j
其中當(dāng)r>i時(shí),有l(wèi)i,r=0 ,當(dāng)r>j時(shí),有ur,j=0.
所以上式可化簡(jiǎn)為:
????ai,j=li,1u1,j+li,2u2,j+...+ li,min(i,j)umin(i,j),j

所以Ak=LkUk,Lk為L(zhǎng)的k階順序主子式對(duì)應(yīng)的矩陣撵渡,Uk為U的k階順序主子式對(duì)應(yīng)的矩陣融柬,所以有
????|Ak|=|Lk||Uk|
而|Lk|=1,|Uk| =u1u2...uk,又因?yàn)閡i\neq0,
所以 |Ak|\neq0姥闭,所以A的k階順序主子式不等于零丹鸿。所以必要性得證。

充分性:分兩步先證明可分解性棚品,再證明唯一性靠欢。
(數(shù)學(xué)歸納法)當(dāng)A為1階非零常數(shù)a時(shí),a=1*a,1是退化單位下三角铜跑,a 時(shí)退化上三角矩陣门怪。滿足充分性。

設(shè)A為k-1階矩陣時(shí)锅纺,定理成立掷空,既:對(duì)于k-1階非奇異矩陣,若他的k-2順序主子式不為零囤锉,則有唯一LU分解坦弟,Ak-1=Lk-1Uk-1

當(dāng)A為k階矩陣的時(shí)候,A可寫(xiě)為以下形式:
A=\left[ \begin{array} {cccc} A_{k-1}&\alpha\\ \beta^{T}&a_{nn}\\ \end{array} \right]

因?yàn)锳的k-1階順序主子式不為零官地,所以Ak-1是可逆的酿傍,且其所有順序主子式都不為零,有假設(shè)得到驱入,Ak-1=Lk-1Uk-1

所以赤炒,有:
A=\left[ \begin{array} {cccc} L_{k-1}U_{k-1}&\alpha\\ \beta^{T}&a_{kk}\\ \end{array} \right]

其中,L_{k-1}與U_{k-1}可逆亏较。
對(duì)于A矩陣左乘一個(gè)矩陣為
\left[ \begin{array} {cccc} E_{k-1}&0\\ -\beta^{T}U_{k-1}^{-1}L_{k-1}^{-1}&1\\ \end{array} \right]A=\left[ \begin{array} {cccc} E_{k-1}&0\\ -\beta^{T}U_{k-1}^{-1}L_{k-1}^{-1}&1\\ \end{array} \right]\left[ \begin{array} {cccc} L_{k-1}U_{k-1}&\alpha\\ \beta^{T}&a_{kk}\\ \end{array} \right]=\left[ \begin{array} {cccc} L_{k-1}U_{k-1}&\alpha\\ 0&a_{kk}-\beta^{T}U_{k-1}^{-1}L_{k-1}^{-1}\alpha\\ \end{array} \right]=\left[ \begin{array} {cccc} L_{k-1}&0\\ 0&1\\ \end{array} \right]\left[ \begin{array} {cccc} U_{k-1}&L_{k-1}^{-1}\alpha\\ 0&a_{kk}-\beta^{T}U_{k-1}^{-1}L_{k-1}^{-1}\alpha\\ \end{array} \right]

所以有
A=\left[ \begin{array} {cccc} E_{k-1}&0\\ -\beta^{T}U_{k-1}^{-1}L_{k-1}^{-1}&1\\ \end{array} \right]^{-1}\left[ \begin{array} {cccc} L_{k-1}&0\\ 0&1\\ \end{array} \right]\left[ \begin{array} {cccc} U_{k-1}&L_{k-1}^{-1}\alpha\\ 0&a_{kk}-\beta^{T}U_{k-1}^{-1}L_{k-1}^{-1}\alpha\\ \end{array} \right]

單位下三角矩陣的逆還是單位下三角矩陣莺褒,單位下三角矩陣乘以單位下三角矩陣還是單位下三角矩陣,所以設(shè)
L_k=\left[ \begin{array} {cccc} E_{k-1}&0\\ -\beta^{T}U_{k-1}^{-1}L_{k-1}^{-1}&1\\ \end{array} \right]^{-1}\left[ \begin{array} {cccc} L_{k-1}&0\\ 0&1\\ \end{array} \right]
U_k=\left[ \begin{array} {cccc} U_{k-1}&L_{k-1}^{-1}\alpha\\ 0&a_{kk}-\beta^{T}U_{k-1}^{-1}L_{k-1}^{-1}\alpha\\ \end{array} \right]

所以有Ak=LkUk雪情, 而 Ak是非奇異的遵岩,所以令ukk=akk-\betaTUk-1-1Lk-1-1\alpha,ukk\neq0

所以,定理充分性中的可分解性得證巡通。

下面證明唯一性(反證法)
假設(shè)A純?cè)趦煞NLU分解尘执,則存在A=L1U1與A=L2U2同時(shí)成立。
所以有
L1U1=L2U2
所以
L2-1L1=U2U1-1
由于單位下三角矩陣的逆還是單位下三角矩陣扁达,單位下三角矩陣乘以單位下三角矩陣還是單位下三角矩陣正卧,而上三角矩陣乘以上三角矩陣還是上三角矩陣蠢熄。
所以等式左邊是單位下三角矩陣跪解,等式右邊是上三角矩陣,所以L2-1L1=U2U1-1 =E
所以L1=L2,U1=U2叉讥,這與假設(shè)矛盾窘行,所以唯一性得到證明。

矩陣LU分解求解

上面給出了矩陣LU分解的相關(guān)理論和定理图仓,下面給出矩陣LU分解的具體解法罐盔。

方法—、

對(duì)于給定的矩陣A(可進(jìn)行LU分解),構(gòu)造以下矩陣
\left[ \begin{array} {cccc} A&E\\ \end{array} \right]
對(duì)此矩陣進(jìn)行行變換救崔,把A轉(zhuǎn)化成上三角矩陣A1,則由于進(jìn)行了換變換惶看,原來(lái)矩陣中的E變?yōu)榱薆。
所以上面矩陣變成
\left[ \begin{array} {cccc} A_1&B\\ \end{array} \right]
此時(shí)B就是矩陣LU分解中的L六孵,A1就是矩陣分解中的U纬黎。

方法二(Doolittle算法)、

類(lèi)似待定系數(shù)法劫窒,若A可進(jìn)行LU分解本今,設(shè)
A=\left[ \begin{array} {cccc} 1&0&\cdots&\cdots&0\\ l_{21}&1&0&\cdots&0\\ \cdots&\cdots&\cdots\\ l_{n1}&\cdots&\cdots&\cdots&1\\ \end{array} \right]\left[ \begin{array} {cccc} u_{11}&u_{12}&\cdots&\cdots&u_{1n}\\ 0&u_{22}&u_{23}&\cdots&u_{2n}\\ \cdots&\cdots&\cdots\\ 0&\cdots&\cdots&\cdots&u_{nn}\\ \end{array} \right]

則有
\begin{cases} u_{1j}=a_{1j}& \text{j=1,2,3...n}\\ l_{i1}=a_{i1}/u_{11}& \text{i=2,3,4...n} \end{cases}

\begin{cases} u_{ij}=a_{ij}-\sum_{k=1}^{i-1}l_{ik}u_{kj} & \text{j=i,i+1...n}\\ l_{ij}=(a_{ij}-\sum_{k=1}^{j-1}l_{ik}u_{kj})/u_{jj}& \text{i=j+1,...n} \end{cases}

求解上面方程,即可得到L和U的每一個(gè)元素主巍。具體求解順序?yàn)橄聢D (緊湊格式)

緊湊格式.PNG

對(duì)于矩陣得LU分解其本質(zhì)是高斯消元法冠息。應(yīng)用為一般解線性方程組上,例如 :

AX=Y
可以利用矩陣得LU分解得到以下公式:

\begin{cases} UX=Z\\ LZ=Y \end{cases}

公式中孕索,L與U都是三角矩陣逛艰,所以大大減少了計(jì)算量。

矩陣得LDU分解

有了上面矩陣LU分解得介紹檬果,可以很快的得到矩陣LDU分解相關(guān)的定理瓮孙。

定理6

設(shè)A是n階非奇異矩陣,則存在唯一的單位下三角矩陣L选脊,對(duì)角矩陣D=diag(u1,u2,u3.....un)和單位上三角矩陣U
使得
A=LDU
的充分必要條件是A的所有順序主子式均非零杭抠,即Dk\neq0。并且有
u_1=a_{11}, u_k=D_k/D_{k-1},k=2,3,...n

再矩陣LU分解定理證明時(shí)恳啥,可以將U分解成DU偏灿,其中D=diag(u1,u2,u3.....un),U為單位上三角矩陣钝的。所以這個(gè)定理的證明只需證明
u_1=a_{11}, u_k=D_k/D_{k-1},k=2,3,...n

證明:由上面LU的證明翁垂,可以看除,A=LU分解時(shí)硝桩,A的k階順序主子式就等于L的k階主子式對(duì)應(yīng)的矩陣乘以U的k階主子式對(duì)應(yīng)的矩陣沿猜。所以A的k階主子式Dk=u1u2u3...u1k.所以上面公式得到證明

注意

由矩陣LU分解定理和矩陣LDU分解定理可知,并不是所有的非奇異矩陣都可進(jìn)行LU與LDU分解.但此時(shí)一定存在一個(gè)置換矩陣P,使得PA可進(jìn)行LU分解和LDU分解.其證明過(guò)程可參考上文定理4.

對(duì)于矩陣的LDU分解,當(dāng)A是非奇異的是對(duì)稱矩陣時(shí)碗脊,若A的各階順序主子式都不為零啼肩,那么有以下分解.
A=LDL^{T}
證明:因?yàn)锳的各階順序主子式都不為零,所以A可唯一的分解為L(zhǎng)DU.即A=LDU
又因?yàn)锳是對(duì)稱矩陣,所以有
LDU=U^TDL^T
因?yàn)閁T是單位下三角,LT是單位上三角,且分解式唯一,所以L=UT,U=LT.所以以上公式成立.

矩陣的正交分解

正交矩陣

如果一個(gè)n階實(shí)矩陣A,A的任意兩列構(gòu)成的向量正交且任意列向量的模為1,那么A成為正交矩陣.即滿足ATA=E.有這個(gè)公式得到,AT=A-1
進(jìn)一步有AAT=E ,所以推出A的任意行向量也正交.

所以判斷一個(gè)A是否是正交矩陣,以下方法等價(jià),AT=A-1 ,ATA=E,AAT=E
由此可以看出正交矩陣的行列式,只能等于1或者-1

正交矩陣的性質(zhì)

談?wù)撜痪仃嚨男再|(zhì)等價(jià)與談?wù)撜蛔儞Q的性質(zhì).由上文我們得到,線性變換在一組基下與一方陣一一對(duì)應(yīng).所以對(duì)于正交矩陣,可以找到一個(gè)線性變換,使這一線性變換在標(biāo)準(zhǔn)正交基下的矩陣是正交矩陣.所以研究正交矩陣和研究正交變換是等價(jià)的.

設(shè)\sigma是一線性變換,這一線性變換在n維空間V標(biāo)準(zhǔn)正交基\varepsilon1祈坠,\varepsilon2害碾,...\varepsilonn下的矩陣為正交矩陣A,
對(duì)于空間V中任意兩個(gè)向量\alpha,\beta,在標(biāo)準(zhǔn)正交基\varepsilon1\varepsilon2赦拘,...\varepsilonn的坐標(biāo)w為(k1慌随,k2,...kn)和(l1躺同,l2阁猜,...ln),經(jīng)過(guò)\sigma變換后,求變換后的內(nèi)積為(\sigma(\alpha),\sigma(\beta))
(\sigma(\alpha),\sigma(\alpha))=(A(k_1,k_2,...k_n)^T,A(l_1,l_2,...l_n)^T)= ((\gamma_1,\gamma_2,...\gamma_n)(k_1,k_2,...k_n)^T,(\gamma_1,\gamma_2,...\gamma_n)(l_1,l_2,...l_n)^T)=(k_1\gamma_1+k_2\gamma_2+...+k_n\gamma_n,l_1\gamma_1+l_2\gamma_2+...+l_n\gamma_n) =k_1l_1+k_2l_2+k_3l_3+...+k_nl_n=(\alpha,\beta)
其中(\gamma_1,\gamma_2,...\gamma_n)是A的列向量組成的向量組.

所以可以得到,正交變換不但可以保證加法和數(shù)乘運(yùn)算,還可以保證內(nèi)積不變.

正交變換保證兩個(gè)向量的內(nèi)積不變,等價(jià)于,正交變化隊(duì)醫(yī)一個(gè)向量而言不改變其長(zhǎng)度和不改變其和其他向量的夾角.

正交矩陣的行列式只能為1或者-1,所以對(duì)應(yīng)的正交變換也有兩種.當(dāng)正交矩陣的行列式為1時(shí),對(duì)應(yīng)的正交變換為旋轉(zhuǎn)變換,當(dāng)正交矩陣的行列式為-1時(shí),對(duì)應(yīng)的正交變換為瑕旋轉(zhuǎn)變換(旋轉(zhuǎn)后再反射的線性變換).

另外,對(duì)于n維空間中的兩組標(biāo)準(zhǔn)正交基:\varepsilon1\varepsilon2蹋艺,...\varepsilonn\gamma1蹦漠,\gamma2,...\gamman,設(shè)其過(guò)度矩陣為P.則:
(\varepsilon1车海,\varepsilon2笛园,...\varepsilonn)=(\gamma1\gamma2侍芝,...\gamman)P,此時(shí)P是正交矩陣.

證明:由于(\varepsilon1研铆,\varepsilon2,...\varepsilonn)=(\gamma1州叠,\gamma2棵红,...\gamman)P
所以有\varepsilonk=p1k\gamma1+p2k\gamma2+p3k\gamma3+...+pnk\gamman

其中pij為P的第i行第j列的元素.

所以
(\varepsiloni,\varepsilonj)=(p1i\gamma1+p2i\gamma2+p3i\gamma3+...+pni\gamman ,p1j\gamma1+p2j\gamma2+p3j\gamma3+...+pnj\gamman) =p1ip1j+p2ip2j+p3ip3j+pnipnj=(\etai,\etaj)

其中\etai為矩陣P的第i列組成的向量,\etaj為矩陣P的第j列組成的向量,而(\varepsiloni,\varepsilonj)當(dāng)i=j時(shí)為1,i\neqj時(shí)為0.
所以(\etai,\etaj))當(dāng)i=j時(shí)為1,i\neqj時(shí)為0.
所以P是一個(gè)正交矩陣.

向量的正交化

對(duì)于一組線性無(wú)關(guān)的向量,其會(huì)構(gòu)成一個(gè)線性空間V.在研究空間V時(shí),標(biāo)準(zhǔn)正交基可以將此空間的問(wèn)題大大簡(jiǎn)化,所以找到V的一組標(biāo)準(zhǔn)正交基,就成了研究空間V的關(guān)鍵問(wèn)題.

<font color="#FF0000">此時(shí)估計(jì)有很多人會(huì)有一個(gè)疑問(wèn),為什么非要找標(biāo)準(zhǔn)正交基咧栗,自然基不就是一個(gè)標(biāo)準(zhǔn)正交基嗎逆甜?為什么不用自然基</font>

對(duì)于這一問(wèn)題,一開(kāi)始也困擾我致板,可以舉個(gè)列子交煞,來(lái)解釋為什么不用自然基。

對(duì)于AX=0的解空間研究斟或,設(shè)其解空間為k維素征,向量\chi1\chi2萝挤,...\chik為k個(gè)線性無(wú)關(guān)的解向量御毅。則\chi1\chi2怜珍,...\chik為解空間的一組基端蛆。求這個(gè)解空間的標(biāo)準(zhǔn)正交基時(shí),若直接用自然基酥泛,(1,0,0,...0),(0,1,0,...0),...(0,0,0,...1,...0)k個(gè)向量(<font color="#FF0000">注意這個(gè)地方是k個(gè)n維向量今豆,因?yàn)榻庀蛄恳欢ㄊ莕維向量</font>)侈沪。顯然這些向量不能被\chi1\chi2晚凿,...\chik線性表示,所以不是AX=0的解瘦馍,所有這個(gè)自然基并不在這個(gè)解空間中冗懦。所以不能用自然基嫁艇。此時(shí)找的標(biāo)準(zhǔn)正交基必然可以被\chi1\chi2,...\chik線性表示趴腋。這樣才能確保找到的標(biāo)準(zhǔn)正交基是解空間的一組基。

這樣就引出了施密特正交化算法(Schmidt orthogonalization)摔寨,其具體算法如下:

設(shè)\alpha1,\alpha2,\alpha3,... \alphan,是n維線性空間的一組基闲询。
由這組基找到標(biāo)準(zhǔn)正交基的算法如下:
\beta_1=\alpha_1 \\ \beta_2=\alpha_2-{(\alpha_2,\beta_1)\over (|\beta_1||\beta_1|)}\beta_1\\ \beta_3=\alpha_3-{(\alpha_3,\beta_2)\over (|\beta_2||\beta_2|)}\beta_2-{(\alpha_3,\beta_1)\over (|\beta_1||\beta_1|)}\beta_1\\ \cdots\\ \cdots\\ \beta_n=\alpha_n-{(\alpha_n,\beta_{n-1})\over (|\beta_{n-1}||\beta_{n-1}|)}\beta_{n-1}-\cdots{(\alpha_n,\beta_1)\over (|\beta_1||\beta_1|)}\beta_1\\

由于\beta_1,\beta_2,...\beta_n的模不是1,故再將其除以各自的模長(zhǎng)底瓣,得到\epsilon_1,\epsilon_2,...\epsilon_n.這就是有原來(lái)的基生成的一組標(biāo)準(zhǔn)正交基谢揪。

其算法的幾何圖形如下:

斯密特正交化.png

矩陣的正交分解

由上面線性無(wú)關(guān)向量組的正交化可以看出,設(shè)Q=(\beta_1,\beta_2,...\beta_n)時(shí)捐凭,
Q=(\alpha_1,\alpha_2,\alpha_3,...\alpha_n) \left[ \begin{array} {cccc} 1&-{(\alpha_2,\alpha_1)\over (|\alpha_1||\alpha_1|)}&\cdots&\cdots&*\\ 0&1&*&\cdots&*\\ \cdots&\cdots&\cdots&\cdots&*\\ 0&\cdots&\cdots&\cdots&1 \end{array} \right]

設(shè)A=(\alpha_1,\alpha_2,\alpha_3,...\alpha_n)

則有A=QR拨扶,其中R是上面公式中單位上三角矩陣的逆。單位上三角矩陣的逆還是單位上三角矩陣茁肠。所以由

A=QR=Q\left[ \begin{array} {cccc} 1/|\beta_1|&0&\cdots&\cdots&0\\ 0&1/|\beta_2|&0&\cdots&0\\ \cdots&\cdots&\cdots&\cdots&0\\ 0&\cdots&\cdots&\cdots&1/|\beta_n| \end{array} \right] \left[ \begin{array} {cccc} |\beta_1|&0&\cdots&\cdots&0\\ 0&|\beta_2|&0&\cdots&0\\ \cdots&\cdots&\cdots&\cdots&0\\ 0&\cdots&\cdots&\cdots&1/|\beta_n| \end{array} \right]R=Q_1R_1

其中患民,Q_1是正交矩陣,R_1是上三角矩陣垦梆。這就是矩陣的QR分解(正交分解)匹颤。其定理敘述如下:

定理7

設(shè)A是n階非奇異矩陣,則存在正交矩陣Q和非奇異的上三角矩陣R托猩,使得:
A=QR
且除去相差一個(gè)對(duì)角元絕對(duì)值等于1的對(duì)角矩陣因子分解外印蓖,分解式是唯一的。

上面的算法以給出可分解性京腥,下面只需要證明唯一性即可另伍。

反證法:假設(shè)A有以下兩種不同的分解。A=Q_1R_1與A=Q_2R_2

那么有Q_1R_1=Q_2R_2绞旅。由于Q_1,R_1,Q_2,R_2都是可逆的摆尝,所以有

Q_2^{-1}Q_1 = R_2R_1^{-1}

Q_2^{-1},Q_1連個(gè)都是正交矩陣,所以Q_2^{-1}Q_1的轉(zhuǎn)置等于Q_2^{-1}Q_1的逆因悲,所以Q_2^{-1}Q_1也是正交矩陣堕汞。

所以R_2R_1^{-1}是正交矩陣,R_2R_1^{-1}的逆等于其轉(zhuǎn)置晃琳, 而R_2R_1^{-1}是上三角矩陣讯检, 上三角矩陣的逆是上三角矩陣琐鲁,上三角矩陣的轉(zhuǎn)置是下三角矩陣,如果一個(gè)上三角矩陣等于一個(gè)下三角矩陣人灼,必然都是對(duì)角矩陣围段,所以R_2R_1{-1}是對(duì)角矩陣,所以Q_2{-1}Q_1也是對(duì)角矩陣投放,而Q_2{-1}Q_1是正交矩陣奈泪,所以列向量的模等于1,所以Q_2{-1}Q_1必然是一個(gè)對(duì)角線上只有 1或者-1的對(duì)角矩陣灸芳。

設(shè)Q_2^{-1}Q_1=B涝桅,R_2R_1^{-1}=B,其中B是一個(gè)對(duì)角線上只有1或者-1的矩陣。那么Q_1=Q_2B,R_2=BR_1

所以定理得證烙样。

Householder矩陣與Householder變換(初等反射變換)

定義: 設(shè)\omega是n維單位列向量冯遂,E為n階單位矩陣,則

H(\omega)=E-2\omega\omega^T

稱為Householder矩陣谒获,或稱作初等Householder矩陣蛤肌。

與Householder矩陣對(duì)應(yīng)的變換為Householder變換,既
\sigma(\alpha)=H\alpha=(E-2\omega\omega^T)\alpha

以下H代表Householder變換批狱,主要研究Householder變換的性質(zhì)寻定,因?yàn)镠ouseholder矩陣的性質(zhì)全部在Householder變換中

對(duì)于Householder變換,有一個(gè)強(qiáng)大的功能精耐,既:Householder變換可將任意n維非零向量x狼速,變換成任意n維相等模長(zhǎng)的非零向量y.表述成定理如下

定理8

對(duì)于給定的任意兩個(gè)n維非零向量想x、y卦停,且||x||_2=||y||_2

都純?cè)谝粋€(gè)Householder變換H向胡,使得y=Hx.

證明:(構(gòu)造性證明)如下圖所示,對(duì)任意給定的向量x,y惊完。構(gòu)造
\omega={x-y \over|x-y|}

則有
H=E-2{x-y \over|x-y|}({x-y \over|x-y|})^T

則有
Hx=Ex-2{x-y \over|x-y|}({x-y \over|x-y|})^Tx

則有
Hx=x-2{x-y \over|x-y|}({x-y \over|x-y|})^Tx=x-2{(x-y)(x^T-y^T)x\over|x-y|^2} =x-{(x-y)(2x^Tx-2y^Tx)\over|x-y|^2}\\ =x-{(x-y)(x^Tx-y^Tx-x^Ty+y^Ty)\over|x-y|^2} =x-(x-y){ |x-y|^2\over|x-y|^2} =y

所以定理得證僵芹。由下圖可知,向量x,y是關(guān)于一個(gè)面對(duì)稱小槐。這個(gè)面的法向量就是\omega

所以拇派,HouseHolder變換是正交變化,且HouseHolder矩陣的行列式為-1.

由定理得知凿跳,對(duì)于任意單位向量\alpha件豌,都可經(jīng)過(guò)Householder變換把\alpha=(x_1,x_2,...x_n)變成e_1=(1,0,0...0)

HouseHolder變換的性質(zhì)

1、HouseHloder變換是對(duì)稱變換控嗜。既:H=H^T
2茧彤、HouseHloder變換是正交變換。既:H=H^{-1}
3疆栏、HouseHolder變換是對(duì)合變化曾掂。既:H^2=1
4惫谤、HouseHolder變換的特征值為1,1,1,1,1...1,-1

Householder變換.png

定理9

設(shè)A是mXn(其中n<m)實(shí)數(shù)矩陣,且其n個(gè)列向量下行無(wú)關(guān)珠洗,則存在m階正交矩陣Q溜歪,與n階非奇異上三角矩陣R。有
A=Q\left[ \begin{array} {cccc} R\\ 0\\ \end{array} \right]

證明:定理的證明用HouseHolder變換许蓖。

因?yàn)锳的所有列線性無(wú)關(guān)蝴猪,設(shè)A=[\alpha_1,\alpha_2,\alpha_3...\alpha_n]

由上面關(guān)于Householder變換的定理可知,存在一個(gè)Householder矩陣H1,使得
H_1\alpha_1=(|\alpha_1|,0,0,...,0)

所以H1A第一列除了第一個(gè)元素外其余全為零蛔糯。

設(shè)H_1A=[\beta_1,\beta_2,\beta_3,...,\beta_n]

其中\beta_1除第一個(gè)元素非零外,其余全為零窖式。

對(duì)于第二個(gè)列向量\beta_2蚁飒,也存在一個(gè)Householder矩陣H_2,有
H_2\beta_2=(p_1,p_2,0,...,0)

也就是說(shuō)對(duì)任意的列向量,都存在一個(gè)householder矩陣萝喘,使尾部變成零淮逻。但是需要證明的一點(diǎn)是,后面的householder矩陣不改變前面已經(jīng)變換的列向量阁簸。

所以爬早,只要能找到不改變前面列零和非零的householder矩陣即可。

如果H是householder矩陣启妹,那么
\left[ \begin{array} {cccc} E&0\\ 0&H\\ \end{array} \right]
也是householder矩陣筛严。

由于H=E-2\omega\omega^T

所以\left[ \begin{array} {cccc} E&0\\ 0&H\\ \end{array} \right]=E-2uu^T

其中u=\left[ \begin{array} {cccc} 0\\ .\\ .\\ 0\\ \omega\\ \end{array} \right]

所以\left[ \begin{array} {cccc} E&0\\ 0&H\\ \end{array} \right]

也是個(gè)householder矩陣,(定理的最后饶米,只能將矩陣A上三角化桨啃,而不能對(duì)角化,原因就在這個(gè)地方檬输,這樣構(gòu)造出來(lái)的householder矩陣不能保證只有對(duì)角線上元素非零照瘾,只能保證對(duì)角線下方的元素為零。)
所以丧慈,可以找到一系列的houserholder矩陣H_1,H_2,...H_n析命,使得
H_n...H_2H_1A=\left[ \begin{array} {cccc} R\\ 0\\ \end{array} \right]

設(shè)Q=H_n...H_2H_1,所以Q是正交矩陣逃默,而R是上三角矩陣鹃愤,又因?yàn)锳是列滿秩,所以R也是滿秩的完域,所以定理得到證明昼浦。

矩陣的特征分解(普分解)

正規(guī)矩陣

對(duì)于n階實(shí)矩陣A,如果AA^T=A^TA則稱A是正規(guī)矩陣。

所以可以輕松得到筒主,對(duì)稱矩陣关噪,正交矩陣鸟蟹,對(duì)角矩陣都是正規(guī)矩陣。

定理10(Schur定理)(矩陣的Schur三角分解)

對(duì)于任意n階實(shí)矩陣A使兔,都正交相似于一個(gè)上三角矩陣建钥,既存在正交矩陣U,有U^TAU=U^{-1}AU=R

其中R是一個(gè)上三角矩陣虐沥,且其R對(duì)角線上的元素為A的特征值熊经。

證明:(使用數(shù)學(xué)歸納法證明)。

當(dāng)n=1時(shí)欲险,定理成立镐依,假設(shè)當(dāng)A的階數(shù)為n-1也成立,當(dāng)A的階數(shù)為n時(shí)天试,

對(duì)于n階實(shí)矩陣A槐壳,設(shè)A的一個(gè)特征向量為\xi_1

對(duì)于\xi_1存在householder矩陣H_1,有H_1\xi_1=|\xi_1|e_1
其中e_1為A的一個(gè)單位特征向量。

(H_1AH_1^T)H_1\xi_1=H_1(AH_1^TH_1\xi_1)=H_1(\lambda_1\xi_1)=\lambda_1H_1\xi_1=\lambda_1|\xi_1|e_1
其中\lambda_1

所以H_1AH_1^Te_1= e_1

設(shè)A^{(1)}=H_1AH_1^T

A^{(1)}必然有如下形式
A^{(1)}=\left[ \begin{array} {cccc} \lambda_1&\beta\\ 0&A_1\\ \end{array} \right]

其中\lambda_1A_1的特征值喜每。而A_1是n-1階矩陣务唐,由歸納法的假設(shè)得到A_1有定理中的分解。而由特征值和特征向量的定義得到带兜,A_1的特征值就是A^{(1)}的特征值枫笛。所以當(dāng)A為n階矩陣時(shí)定理也成立。所以定理得證刚照。

Schur定理告訴我們?nèi)我鈔階實(shí)矩陣A都正交相似于一個(gè)上三角矩陣刑巧,且這個(gè)上三角矩陣對(duì)角線上的元素為原矩陣的特征值。既:
UAU^T=R

如果A是正規(guī)矩陣无畔,則有以下結(jié)論:

定理11(<font color="#660000">對(duì)于以上的所有定理雖然都是在實(shí)數(shù)域討論海诲,但同樣適用于復(fù)數(shù)域,所以未進(jìn)行區(qū)分檩互,而這個(gè)定理如果不區(qū)分實(shí)數(shù)和復(fù)數(shù)的話特幔,就會(huì)被搞暈,所以一定要注意</font>)

對(duì)于任意的n階矩陣A,存在一個(gè)酉矩陣U闸昨,使得UAU^H=\Lambda
其中\Lambda為對(duì)角矩陣的充分必要條件是A為正規(guī)矩陣蚯斯。

<font color="#660000">此定理中U為酉矩陣,不能修改為正交矩陣饵较,因?yàn)檎痪仃囈彩钦?guī)矩陣拍嵌,由定理得,一個(gè)正交矩陣正交相似與一個(gè)對(duì)角矩陣循诉,所以這個(gè)正交矩陣是對(duì)稱矩陣横辆,并不是所有的正交矩陣都是對(duì)稱矩陣,所以要想讓正規(guī)矩陣對(duì)角化茄猫,必須在復(fù)數(shù)域上狈蚤,酉相似對(duì)角化</font>

證明:必要性證明

由條件知困肩,A=U^H\Lambda UA^H=U^H\Lambda^H U

所以AA^H=U^H\Lambda UU^H\Lambda ^HU=A^HA

所以必要性得到證明。

充分性證明

若A為正規(guī)矩陣脆侮,則A^HA=AA^H锌畸。又因?yàn)镾chur定理,對(duì)于n階矩陣A靖避,存在酉矩陣U使得
U^HAU=R
其中R為上三角矩陣潭枣。

所以A=URU^HA^H=UR^HU^H

所以AA^H=URU^HUR^HU^H=URR^HU^HA^HA=UR^HU^HURUH=UR^HRU^H

所以R^HR=RR^H

而R是一個(gè)上三角矩陣,所以R^H是一個(gè)下三角矩陣幻捏,所以盆犁,設(shè)
R=\left[ \begin{array} {cccc} r_{11}&r_{12}&\cdots&\cdots&r_{1n}\\ 0&r_{22}&r_{23}&\cdots &r_{2n}\\ \cdots&\cdots&\cdots\\ 0&\cdots&\cdots&\cdots&r_{nn}\\ \end{array} \right]

所以:
R^H=\left[ \begin{array} {cccc} \overline{r_{11}}&0&\cdots&\cdots&0\\ \overline{r_{12}}&\overline{r_{22}}&0&\cdots &0\\ \cdots&\cdots&\cdots\\ \overline{r_{1n}}&\cdots&\cdots&\cdots&\overline{r_{nn}}\\ \end{array} \right]

R^HR=RR^H中對(duì)應(yīng)元素相等,得到篡九,R是一個(gè)對(duì)角矩陣谐岁,注意此時(shí)對(duì)角線上不一定是實(shí)數(shù),所以定理得證瓮下。

定理12(特征分解定理)

對(duì)于n階實(shí)對(duì)稱矩陣A翰铡,存在一個(gè)酉矩陣U钝域,使得U^HAU=\Lambda
其中\Lambda=diag(\lambda_1,\lambda_2,...\lambda_n),\lambda_i為A的實(shí)特征值讽坏。

證明:因?yàn)閷?shí)對(duì)稱矩陣是正規(guī)矩陣,由上面的定理例证,可知必存在酉矩陣U路呜,使得U^HAU=\Lambda

只需證明,\Lambda是個(gè)實(shí)數(shù)矩陣织咧,其對(duì)角線上為A的特征值胀葱。

對(duì)于上式等式兩邊同時(shí)取轉(zhuǎn)置共軛,有U^HA^HU=\Lambda^H

因?yàn)锳是實(shí)對(duì)稱矩陣笙蒙,所以抵屿,\Lambda=\Lambda^H

所以\Lambda為實(shí)對(duì)角矩陣。

AU=U\Lambda

設(shè)U=[u_1,u_2,...u_n]則有A[u_1,u_2,...u_n]=[\lambda_1u_1,\lambda_2u_2,...\lambda_nu_n]

所以可以看出捅位,U的列向量為屬于對(duì)應(yīng)特征值的特征向量轧葛。所以定理得證。

所以對(duì)于任意n階實(shí)對(duì)稱矩陣A艇搀,有以下分解A=Q\Lambda Q^T

稱這個(gè)分解為特征分解或譜分解尿扯。因?yàn)镼的列向量為A的特征向量。\Lambda對(duì)角線上的值為A 的特征值焰雕。

奇異值分解

矩陣的奇異值分解較上面幾種分解是一種重要的分解衷笋。下面討論的一些結(jié)論在復(fù)數(shù)域上,但在實(shí)數(shù)域上也成立矩屁。

什么是奇異值

對(duì)于任意復(fù)數(shù)域上的mxn矩陣A辟宗,存在非負(fù)實(shí)數(shù)\sigma爵赵,非零向量\mu與非零向量\nu,有
A\mu=\sigma\nu ,A^H\nu=\sigma\mu

則稱\sigma為矩陣A的奇異值慢蜓。\mu稱為矩陣A的屬于\sigma的右奇異向量亚再,\nu稱為矩陣A的屬于\sigma的左奇異向量,

在理解奇異值到底有什么用之前晨抡,先證明關(guān)于奇異值的幾個(gè)結(jié)論氛悬。

1、A^HA與AA^H有一樣的非零特征值如捅。

2、A^HA與AA^H的特征值一定是非負(fù)實(shí)數(shù)调煎。

3镜遣、rank(A)=rank(A^HA)=rank(AA^H)

第一個(gè)結(jié)論的證明,用矩陣的特征方程可證士袄,A^HA與AA^H的特征方程分別為|\lambda E-A^HA|=0|\lambda E-AA^H|=0悲关,各自特征方程的解就是矩陣的特征值。

因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%EF%BD%9C%5Clambda%20E-B_%7Bmxn%7DA_%7Bnxm%7D%EF%BD%9C%EF%BC%9D%5Clambda%5E%7Bm-n%7D%EF%BD%9C%5Clambda%20E-A_%7Bnxm%7DB_%7Bmxn%7D%EF%BD%9C" alt="|\lambda E-B_{mxn}A_{nxm}|=\lambda^{m-n}|\lambda E-A_{nxm}B_{mxn}|" mathimg="1">

所以A^HA與AA^H有一樣的非零特征值娄柳。

第二個(gè)結(jié)論的證明寓辱,設(shè)\lambda是矩陣A^HA的特征值,\mu是對(duì)應(yīng)的特征向量赤拒。所以有
A^HA\mu=\lambda \mu
因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Cmu" alt="\mu" mathimg="1">是對(duì)應(yīng)的特征向量秫筏,所以非零,上式兩遍左乘一個(gè)\mu^H,得到
\mu^HA^HA\mu=\mu^H\lambda \mu
所以
(A\mu)^H(A\mu)=\lambda \mu^H\mu

上式中等式右邊必然是個(gè)非負(fù)實(shí)數(shù)挎挖,\mu^H \mu也必然是個(gè)非負(fù)實(shí)數(shù)这敬,所以\lambda必然為非負(fù)實(shí)數(shù)。

第三個(gè)結(jié)論的證明蕉朵,rank(A^HA)=rank(AA^H)由第一個(gè)結(jié)論可以輕松證明崔涂,只要證明rank(A^HA)=rank(A)
用方程解空間的維度證明。只要證明Ax=0的解空間和A^HAx=0的解空間一樣始衅,即可說(shuō)明rank(A^HA)=rank(A)冷蚂,若非零向量\xi是Ax=0的解,那么\xi
一定是A^HAx=0的解觅闽。若非零向量\xiA^HAx=0的解帝雇,則
A^HA\xi=0
\xi^HA^HA\xi=0
(A\xi)^HA\xi=0

所以A\xi=0
所以\xi是Ax=0的解尊勿,所以兩者的解空間一樣舶掖,所以rank(A^HA)=rank(A)

如何求得奇異值

根據(jù)奇異值的概念,對(duì)于矩陣A兵拢,設(shè)\sigma是其奇異值,\mu為右奇異向量吮廉,\nu為左奇異向量苞尝。那么有
A\mu=\sigma \nuA^H\nu=\sigma \mu

所以A^HA\mu=\sigma A^H\nu=\sigma (\sigma \mu)=\sigma ^2\mu

所以若\sigma是A的奇異值,等價(jià)于\sigma^2A^HA的特征值宦芦,因?yàn)樯厦娼Y(jié)論1宙址,A^HAAA^H有一樣的非零特征值,所以\sigma^2也是AA^H的特征值

所以若要求A的奇異值调卑,只需求得A^HA的特征值抡砂,因?yàn)樯厦娼Y(jié)論2,A^HA的特征值非負(fù)恬涧,對(duì)A^HA的特征值求正平方根注益,即為A的奇異值。需要注意的是A的奇異值的個(gè)數(shù)等于min{m,n}.

同時(shí)溯捆,我們還得到丑搔,\mu是與矩陣A^HA對(duì)應(yīng)的變換在\sigma^2下的特征向量,同理提揍,\nu是與矩陣AA^H對(duì)應(yīng)的變換在\sigma^2下的特征向量

定理13

若一個(gè)矩陣是正規(guī)矩陣啤月,則其奇異值等于特征值的模。

證明:對(duì)于正規(guī)矩陣有個(gè)非常優(yōu)良的性質(zhì)劳跃,就是可以酉相似對(duì)角化谎仲,既存在酉矩陣U,對(duì)于正規(guī)矩陣A售碳,有
A=U^Hdiag(\lambda_1,\lambda_2,...\lambda_n)U

所以A^HA=U^Hdiag(\lambda_1^2,\lambda_2^2,...\lambda_n^2)U

所以A的奇異值為|\lambda_1|,|\lambda_2|,...|\lambda_n|.所以定理得證强重。

定理14 (奇異值分解定理)

對(duì)于任意mxn階矩陣A绞呈,必定存在以下分解
A=V\Sigma U^H

其中U是mxm階酉矩陣贸人,V是nxn階酉矩陣,\Sigma是mxn階級(jí)對(duì)角矩陣可寫(xiě)為
\Sigma=\left[ \begin{array} {cccc} \Sigma_1&0\\ 0&0\\ \end{array} \right]

\Sigma_1=diag(\sigma_1,\sigma_2,...\sigma_r) r為A的秩佃声,\sigma_i為A的第i大的非零奇異值艺智。

證明:

對(duì)于任意矩陣A,有A^HA是埃爾米特矩陣圾亏,所以是正規(guī)矩陣十拣,所以存在酉矩陣U,和對(duì)角矩陣\Lambda,使得
A^HA=U\Lambda U^H
其中\Lambda對(duì)角線上為A^HA的特征值,U的列向量為對(duì)應(yīng)的特征向量

所以A^HAU=U\Lambda

兩邊同時(shí)左乘一個(gè)U^H


U^HA^HAU=U\Lambda

所以
(AU)^HAU=U^HU\Lambda =\Lambda=\left[ \begin{array} {cccc} \Lambda_r&0\\ 0&0\\ \end{array} \right]
其中\Lambda_r=diag(\lambda_1,\lambda_2,...\lambda_n) r為A的秩志鹃,\sigma_i為A的第i大的非零特征值夭问。

設(shè)V=[V_1,V_2],U=[U_1,U_2]其中V_1,U_1的階數(shù)為rank(A).

所以
\left[ \begin{array} {cccc} \Lambda_r&0\\ 0&0\\ \end{array} \right]=\Lambda=\left[ \begin{array} {cccc} U_1^H\\ U_2^H\\ \end{array} \right]A^HA\left[ \begin{array} {cccc} U_1,U_2 \end{array} \right]=\left[ \begin{array} {cccc} U_1^HA^HAU_1&U_1^HA^HAU_2\\ U_2^HA^HAU_1&U_2^HA^HAU_2\\ \end{array} \right]

所以U_1^HA^HAU_1=\Lambda_r, U_1^HA^HAU_2=0, U_2^HA^HAU_1=0, U_2^HA^HAU_2=0

由于 U_2^HA^HAU_2=0可得到,AU_2=0此公式記作(*).U_1^HA^HAU_1=\Lambda_r此公式記作(**)

逆向證明曹铃,如果定理成立缰趋,有
A=V \Sigma U^H

必須有
\Sigma=V^HA U

設(shè)V=[V_1,V_2],U=[U_1,U_2]

則必須有
\Sigma=V^HA U
\Sigma=\left[ \begin{array} {cccc} V_1^H\\ V_2^H\\ \end{array} \right]A\left[ \begin{array} {cccc} U_1,U_2 \end{array} \right]

則必須有
\Sigma=V^HA U
\Sigma=\left[ \begin{array} {cccc} V_1^HAU_1&V_1^HAU_2\\ V_2^HAU_1&V_2^HAU_2\\ \end{array} \right]

則必須有V_1^HAU_1=\Sigma_r,V_1^HAU_2=0,V_2^HAU_1=0,V_2^HAU_2=0,其中\Sigma_r=diag(\sigma_1,\sigma_2,...\sigma_r) r為A的秩,\sigma_i為A的第i大的非零奇異值。

V_1=AU_1\Sigma_r^{-1},

V_1^HV_1=(AU_1\Sigma_r^{-1})^H(AU_1\Sigma_r^{-1})=(\Sigma_r^{-1})^HU_1^HA^HAU_1\Sigma_r^{-1}= (\Sigma_r^{-1})^H\Lambda \Sigma_r^{-1}(由上面的(**)式得到)

因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5CLambda" alt="\Lambda" mathimg="1">是實(shí)數(shù)秘血,所有V_1^HV_1=E

所以V_1的所有列正交味抖。所有V_1=AU_1\Sigma_r^{-1}既是合理的也是能取到的。

而此時(shí)V_2^HAU_1=V_2^HV_1\Sigma_r

此時(shí)在V_1列向量形成的空間的正交補(bǔ)空間中取m-r個(gè)單位正交向量形成V_1.

那么V=[V_1,V_2]必然是酉矩陣灰粮,且V_2^HV_1=0

所以V_2^HAU_1=V_2^HV_1\Sigma_r=0

由公式(*)得到V_2^HAU_2=0,V_1^HAU_2=0

所有當(dāng)U和V的取法為上面時(shí)仔涩,下面公式成立

\Sigma= \left[ \begin{array} {cccc} \Sigma_r&0\\ 0&0\\ \end{array} \right]=\left[ \begin{array} {cccc} V_1^HAU_1&V_1^HAU_2\\ V_2^HAU_1&V_2^HAU_2\\ \end{array} \right]

所以反推回去,A=V \Sigma U^H成立粘舟。

其中U熔脂,V為酉矩陣,\Sigma=diag(\sigma_1,\sigma_2,...\sigma_r,0,0,0..0) r為A的秩柑肴,\sigma_i為A的第i大的非零奇異值锤悄。

所以奇異值分解定理得到證明

奇異值分解的幾個(gè)結(jié)論

1、U的列向量是A^HA的屬于對(duì)應(yīng)特征值的特征向量嘉抒。
2零聚、V的列向量是AA^H的屬于對(duì)應(yīng)特征值的特征向量。
3些侍、U的列向量是A的屬于對(duì)應(yīng)奇異值的右奇異向量隶症。
4、V的列向量是A的屬于對(duì)應(yīng)奇異值的左奇異向量岗宣。

證明:第一條蚂会,由上面定理的證明過(guò)程可以看到,U是使得U^HA^HAU=\Lambda的酉矩陣耗式,所以U的列向量是A^HA的屬于對(duì)應(yīng)特征值的特征向量胁住。
對(duì)于第二條,因?yàn)?img class="math-block" src="https://math.jianshu.com/math?formula=A%3DV%20%5CSigma%20U%5EH" alt="A=V \Sigma U^H" mathimg="1">

所以AV^H=\Sigma U^H,所以VA^H=U \Sigma^H
所以V^HAA^HV=(A^HV)^HA^HV= (U \Sigma^H)^H(U \Sigma^H)=\Sigma^2=\Lambda

所以V的列向量是AA^H的對(duì)應(yīng)特征值的特征向量刊咳。

對(duì)于第三條和第4條彪见,因?yàn)?img class="math-block" src="https://math.jianshu.com/math?formula=A%3DV%20%5CSigma%20U%5EH" alt="A=V \Sigma U^H" mathimg="1">

所以有AU=V\SigmaA^HV=U\Sigma

所以第三條和第四條成立

奇異值分解的性質(zhì)

<font color="#660000">奇異值分解在機(jī)器學(xué)習(xí)中是極其重要的分解,因?yàn)樗哂泻芏鄡?yōu)良的性質(zhì)娱挨,一定程度上揭示了矩陣的一些本質(zhì)余指。下面我們就來(lái)討論一下這些性質(zhì)。矩陣的特征值更能反映矩陣的本質(zhì)跷坝,但為什么不對(duì)特征值進(jìn)行討論酵镜,因?yàn)橹挥蟹疥嚥庞刑卣髦担也⒉皇撬械姆疥嚩寄苓M(jìn)行特征分解柴钻。</font>

為進(jìn)行奇異值的性質(zhì)分析淮韭,我們先做一下兩點(diǎn)準(zhǔn)備。

1贴届、矩陣特征分解和奇異值分解的另一種表示方式

對(duì)于任意的埃爾米特矩陣靠粪,有特征分解 A=U\Lambda U^H,其中U=[u_1,u_2,u_3...u_n],為U矩陣足丢,\Lambda=diag(\lambda_1,\lambda_2,\lambda_3,...\lambda_n),其中\(zhòng)lambda_1>=\lambda_2>=\lambda_3>=...\lambda_n

所以A可寫(xiě)為
A =[u_1,u_2,...u_n]\Lambda \left[ \begin{array} {cccc} u_1^H\\ u_2^H\\ ...\\ u_n^H\\ \end{array} \right]=\lambda_1u_1u_1^H+\lambda_2u_2u_2^H+\lambda_3u_3u_3^H+...+\lambda_nu_nu_n^H

對(duì)于任意的矩陣,并不是都有有特征分解 庇配,為了得到上式的表達(dá)式斩跌,我們進(jìn)行奇異值分解,這也就是奇異值分解由來(lái)的原因捞慌,由奇異值分解定理耀鸦,有A=V\Sigma U^H,

A =\sigma_1v_1u_1^H+\sigma_2v_2u_2^H+\sigma_3v_3u_3^H+...+\sigma_rv_ru_r^H 其中r為A 的 秩。

2啸澡、向量的L2范數(shù)和矩陣的F-范數(shù)

一個(gè)向量(矩陣)的大小可以用向量(矩陣)的范數(shù)來(lái)表示袖订,從而一個(gè)向量(矩陣)與另一個(gè)向量(矩陣)所含的信息量的差--既兩個(gè)向量(矩陣)的距離,可以用這兩個(gè)向量(矩陣)的差向量(矩陣)的范數(shù)表示.如果這個(gè)范數(shù)越大嗅虏,說(shuō)明這兩個(gè)向量(矩陣)的差異越大洛姑,從而認(rèn)定兩個(gè)向量(矩陣)所含信息量差異越大。
在機(jī)器學(xué)習(xí)中和接下來(lái)討論奇異值分解的性質(zhì)時(shí)皮服,最常用的是向量的L2范數(shù)楞艾,矩陣的F范數(shù)。下面對(duì)其詳細(xì)介紹

定義:向量(矩陣)的范數(shù)是一個(gè) 將向量(矩陣)映射到一個(gè)非負(fù)實(shí)數(shù)的函數(shù)龄广,其滿足一下三個(gè)性質(zhì):
(1)非負(fù)性硫眯,F(xiàn)(x)=0 <=> x=0
(2)齊次性,F(xiàn)(kx)=|k|F(x)
(3)三角不等式择同,F(xiàn)(x+y)<=F(x)+F(y)

其中x為向量(矩陣)两入。

·向量的L2范數(shù)

設(shè)x=(x_1,x_2,...x_n),則x的2范數(shù)如下表示

||x||_2=\sqrt{\Sigma_{i=1}^nx_i^2}

向量的L2范數(shù)用處非常廣,在誤差分析敲才,正則化裹纳,最小二乘法中均有用到。有向量?jī)?nèi)積的定義得到紧武,L2范數(shù)還有以下表示:
||x||_2=\sqrt{\Sigma_{i=1}^nx_i^2}=(x,x)=x^Tx

·矩陣的F范數(shù)

與向量的L2范數(shù)相對(duì)應(yīng)剃氧,在矩陣中,F(xiàn)范數(shù)定義為下面形式:
||X||_F=\sqrt{\Sigma_{i=1}^m\Sigma_{j=1}^nx_{i,j}^2}

矩陣的F范數(shù)還有以下表示方式:
||X||_F=\sqrt{tra(X^TX)}

有上面范數(shù)的基礎(chǔ)脏里,即可討論下面奇異值分解的性質(zhì):

1她我、奇異值的酉(正交)不變性虹曙。

對(duì)任意酉矩陣(正交矩陣)P迫横,矩陣A的奇異值和PA的奇異值,AP的奇異值都是一樣的酝碳。
證明:

對(duì)任意矩陣PA,由奇異值分解定理得到矾踱,存在酉矩陣U和V有以下分解(奇異值從大到小排列)。
PA=V^H\Sigma U

所以
A=P^HV^H\Sigma U

而兩個(gè)酉矩陣想乘還是酉矩陣疏哗,所以奇異值的定義得到呛讲,\Sigma也是Ade奇異值形成的矩陣,所以性質(zhì)得到證明。

這一性質(zhì)說(shuō)明了贝搁,鏡面變換和旋轉(zhuǎn)變換都不改變一個(gè)矩陣的奇異值吗氏。

2、比例不變性雷逆。

A的奇異值是\sigma,則kA的奇異值為|k|\sigma

3弦讽、矩陣降維

對(duì)于mxn階矩陣A,當(dāng)rank(A)<\frac{mn}{1+m+n}時(shí),在計(jì)算機(jī)存儲(chǔ)時(shí)膀哲,會(huì)減小存儲(chǔ)空間往产。

證明:對(duì)任意的mxn階矩陣A,若不進(jìn)行分解某宪,需要存儲(chǔ)mxn個(gè)數(shù)字仿村,而當(dāng)進(jìn)行奇異值分解時(shí),A可以分解成mxm階矩陣U兴喂,mxn階矩陣\Sigma,nxn階矩陣V


A=[u_1,u_2,...u_m] \left[ \begin{array} {cccc} \Sigma_r&0\\ 0&0\\ \end{array} \right][v_1,v_2,...v_n]^H

所以:
A=[u_1,u_2,...u_r] \Sigma_r[v_1,v_2,...v_r]^H=U_1\Sigma_rV_1^H

所以U_1是mxr階矩陣蔼囊,V_1是rxn階矩陣,\Sigma_r是r階對(duì)角方陣。所以此時(shí)存儲(chǔ)A需要存儲(chǔ)(m+n+1)r個(gè)元素衣迷。所以當(dāng)rank(A)<\frac{mn}{1+m+n}時(shí)压真,在計(jì)算機(jī)存儲(chǔ)時(shí),會(huì)減小存儲(chǔ)空間蘑险。

4滴肿、尋找秩為k的一個(gè)矩陣,作為A的最佳逼近佃迄。

對(duì)于給定的一個(gè)矩陣A,如果需要找到一個(gè)秩為k(k<rank(A))的矩陣泼差,去逼近這個(gè)矩陣A.奇異值分解給出了方法。為什么要找到一個(gè)秩比原矩陣小的矩陣呵俏,去逼近原矩陣堆缘,因?yàn)椋@是有實(shí)際意義的普碎,在圖像處理中吼肥,一張圖像,可以看成是一個(gè)矩陣麻车,尋找這個(gè)圖像的特征(此特征非矩陣的特征值和特征向量缀皱,而是機(jī)器學(xué)習(xí)里面圖像的特征,例如圖像的顏色动猬,形狀之類(lèi)的啤斗,雖然這些最終會(huì)體現(xiàn)在矩陣的特征里,但是還是要區(qū)分開(kāi)赁咙,不要混淆钮莲。)時(shí)要去除噪音免钻,去燥的過(guò)程就是找一個(gè)比原矩陣秩小的矩陣,使找到的這個(gè)矩陣是原矩陣的最佳逼近崔拥。這一過(guò)程也就是PCA的原理极舔,PCA下面一節(jié)介紹,在這里只證明這個(gè)性質(zhì)链瓦。

談到逼近姆怪,必然要定義一個(gè)范數(shù),因?yàn)橹挥性诜稊?shù)下逼近才有意義澡绩,在機(jī)器學(xué)習(xí)中稽揭,圖像處理,音頻處理肥卡,都使用矩陣的F范數(shù)溪掀,所以這里所說(shuō)的最佳逼近是F范數(shù)下的最佳逼近。

定義:所謂F范數(shù)下的最佳逼近為滿足下面表達(dá)式的矩陣C
arg\,\min_{rank(C)=k}\{||A-C||_F \quad |C\in R^{mxn}_k\}

定理15(矩陣的低秩逼近定理)

給定一個(gè)秩為r的矩陣A,則
A=U \Sigma V^T
欲求其最優(yōu)k秩近似矩陣\widetilde{A},k?r, 該問(wèn)題可形式化為

\min \limits_{\widetilde{A} \in \mathbb{R}^{m \times n}}\| \textbf{A} - \widetilde{\textbf{A}}\|_F , ?s.t. \ rank(\widetilde{\textbf{A}}) = k .

對(duì)矩陣A進(jìn)行奇異值分解后畜吊,將矩陣\Sigma中的 r ? k 個(gè)最小的奇異值置零獲得矩陣\Sigma_k, 僅保留最大的k個(gè)奇異值, 則

A_k=U_k \Sigma_k V^T_k

就是上面最優(yōu)化問(wèn)題的的最優(yōu)解,其中Uk和Vk分別是式U和V中前k列組成的矩陣. (Eckart-Young-Mirsky定理)

所以由這個(gè)定理我們就得到了矩陣的低秩逼近矩陣,這個(gè)應(yīng)用在圖像壓縮中用處非常大,稍后介紹。這個(gè)定理的證明在此就不給出了不同,感興趣的話聚蝶,詳見(jiàn)論文

Eckart-Young-Mirsky矩陣逼近定理钩乍。

在矩陣的低秩最佳逼近中,對(duì)于mxn階秩為r的矩陣A楞件,有
||A||_F^2=\sigma_1^2+\sigma_2^2+...\sigma_r^2

其中\sigma_1>\sigma_2>...\sigma_r

而秩為k的最佳逼近矩陣
||\widetilde{A}||_F^2=\sigma_1^2+\sigma_2^2+...\sigma_k^2

所以矩陣A到矩陣\widetilde{A}丟失的信息量比例為
\frac{\sigma_{k+1}^2+\sigma_{k+2}^2+...\sigma_r^2}{\sigma_1^2+\sigma_2^2+...\sigma_r^2}

<font color="#660000">網(wǎng)上很多奇異值分解降維應(yīng)用的原理都是用這個(gè)公式推導(dǎo)矩陣低秩逼近定理衫生,但是我認(rèn)為這個(gè)并不能證明,在數(shù)學(xué)上不能?chē)?yán)格證明矩陣的低秩逼近定理土浸,要想嚴(yán)格的證明矩陣的低秩逼近定理必須參考Eckart-Young-Mirsky論文給出的方法罪针。也就是說(shuō)理解SVD在降維中的理論,必須用論文Eckart-Young-Mirsky矩陣逼近定理證明黄伊,網(wǎng)上給出的證明都是從結(jié)論出發(fā)还最,用結(jié)論驗(yàn)證結(jié)論。</font>

奇異值分解的應(yīng)用

1拓轻、在圖像壓縮中的應(yīng)用

由前文奇異值分解的第3扶叉、4個(gè)性質(zhì)勿锅,我可以對(duì)一張圖片進(jìn)行壓縮溢十,一張圖片可以看成是一個(gè)矩陣张弛,對(duì)這個(gè)矩陣進(jìn)行奇異值分解吞鸭,取秩為k的矩陣進(jìn)行逼近瞒大,這個(gè)秩序?yàn)閗的矩陣就是原圖像壓縮后的圖像透敌。

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
def rebuild_img(u, sigma, v, p): #p表示奇異值的百分比
    m = len(u)
    n = len(v)
    a = np.zeros((m, n))
    
    count = (int)(sum(sigma))
    curSum = 0
    k = 0
    while curSum <= count * p:
        uk = u[:, k].reshape(m, 1)
        vk = v[k].reshape(1, n)
        a += sigma[k] * np.dot(uk, vk)
        curSum += sigma[k]
        k += 1
    a[a < 0] = 0
    a[a > 255] = 255
    #按照最近距離取整數(shù)酗电,并設(shè)置參數(shù)類(lèi)型為uint8
    return np.rint(a).astype("uint8")
    
if __name__ == '__main__':
    img = Image.open('Hydrangeas.jpg', 'r')
    a = np.array(img)
    plt.figure(figsize = (16, 8))
    i=0
    for p in np.arange(0.1, 1, 0.2):
       
        u, sigma, v = np.linalg.svd(a[:, :, 0])
        R = rebuild_img(u, sigma, v, p)
        
        u, sigma, v = np.linalg.svd(a[:, :, 1])
        G = rebuild_img(u, sigma, v, p)
        
        u, sigma, v = np.linalg.svd(a[:, :, 2])
        B = rebuild_img(u, sigma, v, p)
        
        I = np.stack((R, G, B), 2)
        plt.subplot(2, 3, i+1), plt.imshow(I), plt.axis('off'), plt.title("p =" + str(np.around(p*100, decimals=1))+"%")
        i=i+1
        #保存圖片在img文件夾下
        #Image.fromarray(I).save("svd_" + str(p * 100) + ".jpg")
output_349_0.png

上面程序給出,當(dāng)奇異值舍棄的順序由小到大话瞧,保留的奇異值的個(gè)數(shù)越多交排,圖片被壓縮的比例越小埃篓,圖像越清晰。上面的例子可以看出保留的奇異值比例在50%的時(shí)候還能辨別是一個(gè)花架专。這就是奇異值分解在圖像壓縮中的應(yīng)用部脚。

2丧没、在圖像恢復(fù)中的應(yīng)用

在圖像恢復(fù)中的應(yīng)用骂铁,主要是缺失矩陣(稀疏矩陣)的數(shù)據(jù)補(bǔ)全拉庵。下面舉的例子是基于協(xié)同過(guò)濾算法去實(shí)現(xiàn)的套蒂。協(xié)同過(guò)濾算法的講解詳見(jiàn)“奇異值分解在協(xié)同過(guò)濾推薦算法中的應(yīng)用”。

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

'''以下是三種計(jì)算相似度的算法婴洼,分別是歐式距離柬采、皮爾遜相關(guān)系數(shù)和余弦相似度,
注意三種計(jì)算方式的參數(shù)inA和inB都是列向量'''
#這段代碼在機(jī)器學(xué)習(xí)實(shí)戰(zhàn)書(shū)中P259
#(注意傳入的inA,inB都是列向量,行向量會(huì)報(bào)錯(cuò))

def ecludSim(inA, inB):
    return 1.0 / (1.0 + la.norm(inA - inB))  # 范數(shù)的計(jì)算方法linalg.norm(),這里的1/(1+距離)表示將相似度的范圍放在0與1之間


def pearsSim(inA, inB):
    if len(inA) < 3: return 1.0
    return 0.5 + 0.5 * corrcoef(inA, inB, rowvar=0)[0][
        1]  # 皮爾遜相關(guān)系數(shù)的計(jì)算方法corrcoef()肩刃,參數(shù)rowvar=0表示對(duì)列求相似度盈包,這里的0.5+0.5*corrcoef()是為了將范圍歸一化放到0和1之間


def cosSim(inA, inB):
    num = float(inA.T * inB)
    denom = np.linalg.norm(inA) * np.linalg.norm(inB)
    return 0.5 + 0.5 * (num / denom)  # 將相似度歸一到0與1之間


def rebuild_img(u, sigma, v, p): #p表示奇異值的百分比
    m = len(u)
    n = len(v)
    a = np.zeros((m, n))
    
    count = (int)(sum(sigma))
    curSum = 0
    k = 0
    while curSum <= count * p:
        uk = u[:, k].reshape(m, 1)
        vk = v[k].reshape(1, n)
        a += sigma[k] * np.dot(uk, vk)
        curSum += sigma[k]
        k += 1
    a[a < 0] = 0
    a[a > 255] = 255
    #按照最近距離取整數(shù),并設(shè)置參數(shù)類(lèi)型為uint8
    return np.rint(a).astype("uint8")
def loadExData():
    # 利用SVD提高推薦效果疮茄,菜肴矩陣
    """
    行:用戶
    列:電影
    值:用戶對(duì)電影的評(píng)級(jí),0表示未評(píng)分
    """
    return mat([[1, 0, 7],
           [9, 6, 4],
           [5, 7, 0],
           [0, 7, 1]])

# 基于物品相似度的推薦引擎
def standEst(dataMat, user, simMeas, item):
    """standEst(計(jì)算某用戶未評(píng)分電影中畸裳,以對(duì)該電影和其他物品評(píng)分的電影的物品相似度,然后進(jìn)行綜合評(píng)分)

    Args:
        dataMat         訓(xùn)練數(shù)據(jù)集
        user            用戶編號(hào)
        simMeas         相似度計(jì)算方法
        item            未評(píng)分的物品編號(hào)
    Returns:
        ratSimTotal/simTotal     評(píng)分(0~10之間的值)
    """
    # 得到數(shù)據(jù)集中的物品數(shù)目
    n = np.shape(dataMat)[1]
    # 初始化兩個(gè)評(píng)分值
    simTotal = 0.0
    ratSimTotal = 0.0
    # 遍歷行中的每個(gè)物品(對(duì)用戶評(píng)過(guò)分的物品進(jìn)行遍歷伍伤,并將它與其他物品進(jìn)行比較)
    for j in range(n):
        userRating = dataMat[user, j]
        # 如果某個(gè)物品的評(píng)分值為0,則跳過(guò)這個(gè)物品
        if userRating == 0:
            continue
        # 尋找兩個(gè)用戶都評(píng)級(jí)的物品
        # 變量 overLap 給出的是兩個(gè)物品當(dāng)中已經(jīng)被評(píng)分的那個(gè)元素的索引ID
        # logical_and 計(jì)算x1和x2元素的真值劝评。
        overLap = np.nonzero(np.logical_and(dataMat[:, item].A < 255, dataMat[:, j].A < 255))[0]
        # 如果相似度為0声畏,則兩著沒(méi)有任何重合元素插龄,終止本次循環(huán)
        if len(overLap) == 0:
            similarity = 0
        # 如果存在重合的物品初斑,則基于這些重合物重新計(jì)算相似度见秤。
        else:
            similarity = simMeas(dataMat[overLap, item], dataMat[overLap, j])
        # print 'the %d and %d similarity is : %f'(iten,j,similarity)
        # 相似度會(huì)不斷累加乎澄,每次計(jì)算時(shí)還考慮相似度和當(dāng)前用戶評(píng)分的乘積
        # similarity  用戶相似度置济,   userRating 用戶評(píng)分
        simTotal += similarity
        ratSimTotal += similarity * userRating
    if simTotal == 0:
        return 0
    # 通過(guò)除以所有的評(píng)分總和浙于,對(duì)上述相似度評(píng)分的乘積進(jìn)行歸一化羞酗,使得最后評(píng)分在0~5之間,這些評(píng)分用來(lái)對(duì)預(yù)測(cè)值進(jìn)行排序
    else:
        return ratSimTotal/simTotal
# recommend()函數(shù)参萄,就是推薦引擎,它默認(rèn)調(diào)用standEst()函數(shù)淤袜,產(chǎn)生了最高的N個(gè)推薦結(jié)果铡羡。
# 如果不指定N的大小烦周,則默認(rèn)值為3漱贱。該函數(shù)另外的參數(shù)還包括相似度計(jì)算方法和估計(jì)方法
def recommend(dataMat, simMeas=cosSim, estMethod=standEst):
    retMat=dataMat.copy()
    n=np.shape(dataMat)[0]
    
    for user in range(0,n):
        # 尋找未評(píng)級(jí)的物品
        # 對(duì)給定的用戶建立一個(gè)未評(píng)分的物品列表
        unratedItems = np.nonzero(dataMat[user, :].A == 255)[1]
        # 如果不存在未評(píng)分物品幅狮,那么就退出函數(shù)
        if len(unratedItems) == 0:
            continue
        # 在未評(píng)分物品上進(jìn)行循環(huán)
        for item in unratedItems:
            estimatedScore = estMethod(dataMat, user, simMeas, item)
            retMat[user,item]=estimatedScore
            # 按照估計(jì)得分,對(duì)該列表進(jìn)行排序并返回逐抑。列表逆排序,第一個(gè)值就是最大值
    return retMat  
if __name__ == '__main__':
    img = Image.open('old_1.jpg', 'r')
    
    a = np.array(img)
    p=0.99
    plt.figure(figsize = (16, 8))
    u, sigma, v = np.linalg.svd(a[:, :, 0])
    R = rebuild_img(u, sigma, v, p)
        
    u, sigma, v = np.linalg.svd(a[:, :, 1])
    G = rebuild_img(u, sigma, v, p)
        
    u, sigma, v = np.linalg.svd(a[:, :, 2])
    B = rebuild_img(u, sigma, v, p)
        
    I = np.stack((R, G, B), 2)

    plt.subplot(2, 3, 1), plt.imshow(I), plt.axis('off'), plt.title("p =" + str(np.around(p*100, decimals=1))+"%")
    
    
    R_new=recommend(np.mat(R))
    G_new=recommend(np.mat(G))
    B_new=recommend(np.mat(B))
    I_new = np.stack((np.array(R_new), np.array(G_new), np.array(B_new)), 2)
    plt.subplot(2, 3, 2), plt.imshow(I_new), plt.axis('off'), plt.title("p =" + str(np.around(p*100, decimals=1))+"%")
   
  
    
3命斧、在特征臉?lè)矫娴膽?yīng)用
4、在譜聚類(lèi)中的應(yīng)用
5胃惜、從視頻中刪除背景
6、在推薦算法中的應(yīng)用
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末挨厚,一起剝皮案震驚了整個(gè)濱河市疫剃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌壤躲,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異唁奢,居然都是意外死亡酥夭,警方通過(guò)查閱死者的電腦和手機(jī)熬北,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)起胰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人畏妖,你說(shuō)我怎么就攤上這事汇鞭∥组希” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵枚尼,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我盯质,道長(zhǎng),這世上最難降的妖魔是什么王悍? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任源譬,我火速辦了婚禮踩娘,結(jié)果婚禮上雷绢,老公的妹妹穿的比我還像新娘。我一直安慰自己霞溪,他們只是感情好坊饶,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著痘绎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪行施。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音轻腺,去河邊找鬼挤土。 笑死迷殿,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的懦尝。 我是一名探鬼主播琅轧,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了憋沿?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎士复,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚌本,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年轴猎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捻脖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出晶府,到底是詐尸還是另有隱情,我是刑警寧澤较沪,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布萄焦,位于F島的核電站茬射,受9級(jí)特大地震影響在抛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜辖所,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一吆视、第九天 我趴在偏房一處隱蔽的房頂上張望您觉。 院中可真熱鬧,春花似錦在孝、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至吁讨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間峦朗,已是汗流浹背建丧。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工波势, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留翎朱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓尺铣,卻偏偏與公主長(zhǎng)得像拴曲,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子凛忿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 數(shù)學(xué)是計(jì)算機(jī)技術(shù)的基礎(chǔ)澈灼,線性代數(shù)是機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的基礎(chǔ),了解數(shù)據(jù)知識(shí)最好的方法我覺(jué)得是理解概念,數(shù)學(xué)不只是上學(xué)...
    闖王來(lái)了要納糧閱讀 22,678評(píng)論 2 48
  • 如果不熟悉線性代數(shù)的概念叁熔,要去學(xué)習(xí)自然科學(xué)委乌,現(xiàn)在看來(lái)就和文盲差不多∪倩兀”遭贸,然而“按照現(xiàn)行的國(guó)際標(biāo)準(zhǔn),線性代數(shù)是通過(guò)公...
    Drafei閱讀 1,542評(píng)論 0 3
  • 昨天睡了又睡 今天醒了又醒 黑夜始終照不進(jìn)天明 我的故事說(shuō)給誰(shuí)聽(tīng) 是昨天的云心软? 還是今天的風(fēng)壕吹? 莫不是左手的鮮花?...
    邊緣_閱讀 235評(píng)論 1 2
  • 我多想回到家鄉(xiāng) 潔白的月光 觸動(dòng)了我的心 回憶是一條路 由腦海通往心里的路 一路上無(wú)關(guān)風(fēng)景 是成長(zhǎng) 是經(jīng)歷 更是人...
    魚(yú)兒得水閱讀 284評(píng)論 0 1