作者:石曉文,中國(guó)人民大學(xué)信息學(xué)院在讀研究生
個(gè)人公眾號(hào):小小挖掘機(jī)(ID:wAIsjwj)
目錄
一個(gè)線性系統(tǒng)滿足兩個(gè)條件:Persevering Multiplication和Persevering Addition。
Persevering Multiplication
Persevering Addition
多元線性方程組是一個(gè)線性系統(tǒng)
向量是一堆數(shù)的集合,分為列向量和行向量,本文中,向量默認(rèn)是列向量,行向量用其轉(zhuǎn)置表示。
向量與標(biāo)量相乘,每一維都與該標(biāo)量相乘:
向量相加,使用平行四邊形法則:
零向量:所有維度的值都為0:
標(biāo)準(zhǔn)向量:一個(gè)維度是1,其余維度是0:
向量集:可以包含有限個(gè)或無限個(gè)向量:
Rn: 所有的n維向量組成的向量集合
矩陣是一組向量:
如果矩陣有m行和n列,我們就說矩陣的大小為m*n,如果m=n,我們稱為方陣(square matrix)。
矩陣的元素下標(biāo)表示,先行后列:
矩陣與標(biāo)量相乘:每一個(gè)元素分別與該標(biāo)量相乘。
矩陣相加:兩個(gè)矩陣的形狀必須一致,同位置的元素分別相加。
零矩陣:所有元素均為0的矩陣。
單位矩陣Identity matrix:必須是方陣,對(duì)角線元素為1,其余為0,用In表示n*n的單位矩陣。
同形狀的矩陣的一些運(yùn)算法則:
矩陣的轉(zhuǎn)置:沿左上到右下的對(duì)角線為軸進(jìn)行翻轉(zhuǎn),將(i,j)位置的元素與(j,i)位置的元素互換得到的矩陣,轉(zhuǎn)置的矩陣用AT表示。
矩陣轉(zhuǎn)置的一些運(yùn)算規(guī)則:
矩陣和向量相乘,結(jié)果如下:
從行的角度來看矩陣和向量相乘:從行的角度看,矩陣A和向量x相乘,其結(jié)果是矩陣的A的每一行與向量x做點(diǎn)積(dot product,后面再介紹) 的結(jié)果。
從列的角度來看矩陣和向量相乘:從列的角度看,矩陣A和向量x相乘,相當(dāng)于對(duì)矩陣A的列向量做了一次線性組合。
因此,無論從行角度還是列角度,矩陣A的列數(shù)要與向量x的維數(shù)相同。
矩陣和向量相乘的一些性質(zhì):
如果A和B都是m*n的矩陣,對(duì)所有的w,如果都有Aw=Bw,那么是否意味著A=B。結(jié)果是顯然的。既然是所有的w,那么我們用標(biāo)準(zhǔn)向量就可以得到A和B的每一列都是相同的,因此A=B。
對(duì)于一個(gè)線性方程組,我們可以寫成矩陣和向量相乘的形式:
對(duì)于一個(gè)線性方程組,其解的情況可能是無解,有唯一解或者有無窮多個(gè)解。我們把所有的解的集合稱為解集(solution set)
如果線性方程組有解,我們就稱其為相容的(consistent),若無解,則稱為不相容的(inconsistent)。
線性組合是一個(gè)操作,將各個(gè)向量縮放之后,相加在一起,就得到了參與操作的向量之間的線性組合。
所以線性方程組的問題可以轉(zhuǎn)變成:b是否可以表示成A中列向量的線性組合?
舉幾個(gè)例子:
通過觀察上面的例子,你可能會(huì)想,在二維平面中,是不是只要兩個(gè)向量不平行,就一定有解?答案是肯定的,但有解時(shí)兩個(gè)向量不一定平行,因?yàn)槟繕?biāo)向量也可能跟它們平行。
對(duì)于一個(gè)向量集S,其向量的所有線性組合組成的向量集V,稱為Span(S),也被稱為S張成的空間。
舉幾個(gè)二維空間中的例子吧,如果S中只有零向量,那么其張成的空間也只有零向量。
如果S中包含一個(gè)非零向量,那么其張成的空間是一條直線:
如果一個(gè)向量集包含兩個(gè)不平行的非零向量,那么其可以張成整個(gè)二維平面:
所以一個(gè)線性方程組的問題又可以轉(zhuǎn)換成兩一個(gè)等價(jià)的問題:向量b是否在A的列向量所張成的空間中?
在上一節(jié)中,我們知道了如果b可以表示成A中列向量的線性組合或者b在A的列向量所張成的空間中,那么線性方程組有解,否則無解。但是,有解的情況下是唯一解還是多個(gè)解呢?我們還不知道。
給定一個(gè)向量集,如果其中一個(gè)向量可以表示成其余向量的線性組合,那么我們就說這組向量是線性相關(guān)(Linear Dependent)的。值得注意的是,零向量是任意向量的線性組合,因此只要包含零向量的向量集,都是線性相關(guān)的。
線性相關(guān)還有另一種定義,即可以找到一組非全零的標(biāo)量,使得線性組合為零向量。
與之相對(duì)應(yīng),如果無法找到一組非全零的標(biāo)量,使得線性組合得到零向量,那么這組向量就是線性無關(guān)的(Linear Independent):
判斷向量集是線性無關(guān)還是線性相關(guān),其實(shí)就是看一個(gè)齊次方程(Homogeneous Equations)有無非零解:
由此,對(duì)于Ax=b,我們可以得到兩個(gè)結(jié)論:如果A的列是線性相關(guān)的,且Ax=b有解,那么,它有無窮多個(gè)解;如果Ax=b有無窮多個(gè)解,那么A的列是線性相關(guān)的:
矩陣的秩(Rank)定義為線性無關(guān)的列的最大數(shù)目:
矩陣的零化度(Nullity)是矩陣的列數(shù)減去矩陣的秩:
也就是說,如果一個(gè)m*n的矩陣,其秩為n的話,它的列是線性無關(guān)的:
所以總結(jié)一下線性方程組的解的相關(guān)問題:
如果兩個(gè)線性方程組的解集是相同的,我們就稱它們是等價(jià)的(equivalent)。
對(duì)線性方程組做以下三種操作可以得到等價(jià)的方程組:
1)交換兩行
2)對(duì)其中一行變?yōu)閗倍
3)將一行的k倍加到另一行上
上面的三種操作我們也稱為初等行變換(elementary row operations)
這里我們介紹一下增廣矩陣(Augmented Matrix),即將A和b進(jìn)行橫向拼接:
因此,通過初等行變換,如果我們能夠?qū)⒃鰪V矩陣轉(zhuǎn)換為一個(gè)相對(duì)簡(jiǎn)單的形式,那么我們可以很快的得出最終的解。
我們首先介紹行階梯形式的矩陣,它滿足兩個(gè)條件,首先是非零行要在全零行的上面,其先導(dǎo)元素(leading entries,每行的第一個(gè)非零元素)按階梯型排列:
在上述兩個(gè)條件的基礎(chǔ)上,如果先導(dǎo)元素所在的列都是標(biāo)準(zhǔn)向量的話,那么它就是簡(jiǎn)化行階梯形式Reduced Row Echelon Form:
下面的矩陣不是簡(jiǎn)化行階梯形式:
而下面的矩陣是簡(jiǎn)化行階梯形式:
根據(jù)簡(jiǎn)化行階梯形式,我們很容易得到線性方程組的解的形式。
如果簡(jiǎn)化行階梯形式是[I;b']的,那么線性方程組有唯一解:
下面的例子是有無窮多個(gè)解的情況,可以看到,第1、3、5列是包含先導(dǎo)元素的標(biāo)準(zhǔn)向量,其對(duì)應(yīng)的變量也稱為基本變量,而第2、4個(gè)變量被稱為自由變量:
下面的例子是無解的情況,先導(dǎo)元素出現(xiàn)在了最后一列:
通過將增廣矩陣化簡(jiǎn)為簡(jiǎn)約行階梯形式,進(jìn)而求解線性方程組解的方法,我們稱之為高斯消元法(Gaussian Elimination)
接下來,我們來看一下簡(jiǎn)約行階梯型形式的一些性質(zhì):
(1)化簡(jiǎn)為簡(jiǎn)約行階梯型形式之后,列之間的關(guān)系不變
也就是說,初等行變換不改變矩陣中列之間的關(guān)系。加入A的簡(jiǎn)約行階梯形式是R,那么Ax=0和Rx=0有相同的解集。
但是對(duì)于行來說,行階梯形式改變了行之間的關(guān)系,比如原先兩行是兩倍的關(guān)系,其中一行變?yōu)槎吨?,二者就相等了,關(guān)系自然改變了。
(2)簡(jiǎn)約行階梯形式改變了矩陣列所張成的空間
舉個(gè)簡(jiǎn)單的例子就能理解,假設(shè)一個(gè)矩陣是[[1,2],[2,4]],它所張成的空間是y=2x,化簡(jiǎn)后得到[[1,0],[0,0]],此時(shí)所張成的空間卻是整個(gè)平面。但是沒有改變行所張成的空間。
(3)先導(dǎo)元素所在的列線性無關(guān),其他列是這些列的線性組合
先導(dǎo)元素所在的列,在原矩陣中被稱為主列(pivot columns),這些列是線性無關(guān)的,其他列可以有主列的線性組合得到。
(4) 矩陣的秩等于主列的個(gè)數(shù),等于簡(jiǎn)約行階梯型里非0行的個(gè)數(shù)
根據(jù)這個(gè)性質(zhì),我們可以得到矩陣的秩的一個(gè)性質(zhì):
Rank(A) <= min(number="" of="" columns,number="" of="">=>
因?yàn)橹鹊扔谥髁械膫€(gè)數(shù),所以秩一定小于等于列的個(gè)數(shù),因?yàn)橹鹊扔诤?jiǎn)約行階梯型中非零行的個(gè)數(shù),所以秩一定小于等于矩陣行的個(gè)數(shù)。
有這個(gè)性質(zhì)我們還可以得出兩個(gè)簡(jiǎn)單的結(jié)論:對(duì)于m*n的矩陣A,如果m<>和在Rm空間中,無法找到多于m個(gè)線性無關(guān)的向量。
所以我們?cè)賮砘仡櫼幌戮仃囍鹊呐卸ǎ覀円呀?jīng)有多種得到矩陣秩的方式:
(5)當(dāng)m*n的矩陣A的秩為m是,方程組Ax=b恒有解
對(duì)于增廣矩陣來說,如果變?yōu)楹?jiǎn)約行階梯型后先導(dǎo)元素出現(xiàn)在了最后一列,則無解。
什么情況下Ax=b恒有解呢?b是一個(gè)m*1的向量,也就是說矩陣A的列向量可以張成整個(gè)Rm空間,即A的秩為行數(shù)m,也就是A變成簡(jiǎn)約行階梯型之后沒有全0行。
(6)m個(gè)線性無關(guān)的m維向量可以張成整個(gè)Rm空間,Rm空間中多于m個(gè)向量的向量集一定線性相關(guān)
如果m*n的矩陣的秩為n或者m,那么說該矩陣為滿秩(Full Rank)。
給定兩個(gè)矩陣A和B,其相乘結(jié)果中的元素(i,j)是矩陣A的第i行和矩陣B的第j列的內(nèi)積,因此,矩陣A的列數(shù)一定要個(gè)矩陣B的行數(shù)相等。
矩陣乘法可以看作是兩個(gè)線性方程的組合:
(1) AB <> BA
(2)(AB)T = BTAT
(3)其他性質(zhì)
(4)對(duì)角矩陣相乘
分塊矩陣相乘和普通矩陣相乘其實(shí)是相同的:
如果兩個(gè)方陣A和B的乘積是單位矩陣,AB=I,那么A和B就是互為逆矩陣。
一個(gè)矩陣是可逆的(invertible)的,必須滿足兩個(gè)條件,首先要是方陣,其次是可以找到另一個(gè)方陣B,使得AB=I。
并不是所有的方陣都是可逆的。同時(shí),一個(gè)矩陣的逆矩陣是唯一的:
逆矩陣可以用來求解一個(gè)線性方程組,但這種方法要求A是一個(gè)方陣,同時(shí)在計(jì)算上并不是十分有效率的:
我們之前介紹了三種初等行變換,其實(shí)初等行變換都可以用矩陣相乘表示,這種左乘的矩陣被稱作初等矩陣(Elementary Matrix)。即單位矩陣經(jīng)過一次初等變換得到的矩陣。
既然左乘一個(gè)初等矩陣相當(dāng)于對(duì)單位矩陣做一次初等行變換,那么只要再左乘一個(gè)相反操作的初等矩陣,就可以再次變回單位矩陣,所以初等矩陣的逆很容易得到:
回顧我們?nèi)绾蔚玫骄仃嚨暮?jiǎn)約行階梯形式,用的就是初等行變換,因此我們可以用左乘初等矩陣的形式,來得到矩陣的簡(jiǎn)約行階梯形式。
判斷一個(gè)矩陣是否是可逆的,可以用下面條件中的任意之一,不過一定要是一個(gè)方陣才行:
在上一節(jié)中,我們看到了,如果一個(gè)方陣是可逆的,那么它的簡(jiǎn)約行階梯型是單位矩陣,所以我們可以使用初等行變換來得到一個(gè)矩陣的逆。
首先方陣才有行列式,我們先來簡(jiǎn)單回顧一下2*2和3*3的矩陣的行列式:
那行列式代表什么含義呢?在二維平面中,矩陣行列式的絕對(duì)值代表一個(gè)平行四邊形的面積,在三維空間中,矩陣行列式的絕對(duì)值代表一個(gè)平行六面體的體積:
(1)單位矩陣的行列式為1
(2)交換任意的兩行,行列式變號(hào)
(3)對(duì)任意一行來說,行列式是“線性”的
從ppt上不好翻譯,但是看圖是很直觀的:
所以,下面的式子是正確的:
同時(shí):
(4)如果行列式有兩行相等或者是倍數(shù)關(guān)系,行列式值為0
這個(gè)性質(zhì)也是很直觀的,交換兩行變號(hào)嘛,但是交換的兩行如果是一樣的,那么行列式的值應(yīng)該不變,-a=a那么a只能是0。
(5)對(duì)角矩陣的行列式等于對(duì)角線上元素的乘積
(6)如果一個(gè)方陣的行列式不為0,那么它是可逆的,反之,如果一個(gè)方陣可逆,那么它的行列式不為0
如果一個(gè)矩陣是可逆的,它可以經(jīng)由初等變換得到單位矩陣,每一次初等變換得到的矩陣的行列式值,相當(dāng)于對(duì)原矩陣的行列式值乘上一個(gè)標(biāo)量。由于每次乘的標(biāo)量不為0,所以可以得到原矩陣的行列式值不為0。
(7)det(AB)=det(A)*det(B)
(8)矩陣轉(zhuǎn)置的行列式和原矩陣相同
所以說,剛才的結(jié)論同樣適用于列。即如果有兩列相同或是倍數(shù)關(guān)系,行列式值同為0,同時(shí)每一列也是線性的。
我們首先來介紹余子式和代數(shù)余子式,一個(gè)矩陣的任意一個(gè)元素aij都有對(duì)應(yīng)的余子式,它就是將第i行和第j列劃掉之后所得到的矩陣的行列式,用det(Aij)表示:
而cij=(-1)i+jdet(Aij)被稱為代數(shù)余子式。
根據(jù)代數(shù)余子式,我們可以得到計(jì)算行列式的公式如下:
舉個(gè)3維的例子:
因此,對(duì)于一個(gè)方陣的行列式,它是n!項(xiàng)的和(n!是n個(gè)元素的全排列的個(gè)數(shù)),對(duì)于每一項(xiàng),它是從每一行選擇一個(gè)元素進(jìn)行相乘,而這些元素分別屬于不同列。
有了代數(shù)余子式,我們可以得到矩陣A的伴隨矩陣。伴隨矩陣中的每個(gè)元素是原矩陣中該位置元素的代數(shù)余子式:
我們可以進(jìn)一步通過伴隨矩陣和行列式值來計(jì)算矩陣的逆:
如果一個(gè)向量集合V滿足三個(gè)條件:(1)包含零向量(2)如果u和v屬于V,那么u+v也屬于V(3)如果u屬于V,c是一個(gè)標(biāo)量,那么cu也屬于V。就稱這個(gè)向量集合V為子空間(subspace):
舉個(gè)例子,下面的向量集合是一個(gè)子空間:
只有零向量的集合也是一個(gè)子空間,三條性質(zhì)都滿足。
對(duì)于一個(gè)矩陣A來說,使得Ax=0的所有x所組成的集合被稱為矩陣A的零空間(Null Space):
列空間(Column Space)是矩陣A的列所張成的空間,行空間(Row Space)是矩陣的行所張成的空間。
在將矩陣化簡(jiǎn)為行階梯型之后,矩陣的列空間是改變的,而行空間不變。
好了,我們又可以添加一條判斷線性方程組是否有解的條件了,即b是否在A的列空間中。
假設(shè)V是Rn的一個(gè)子空間,能夠張成空間V的一組線性無關(guān)的向量被稱為基(Basis)。
對(duì)于一個(gè)矩陣來說,其主列是其列空間的基:
基有如下的特性:
(1)基是一個(gè)能張成空間V的數(shù)量最小的向量集合
如果一組向量S能夠張成子空間V,那么基中包含的向量數(shù)目小于或等于S中向量的數(shù)目。
(2)基是空間中數(shù)量最多的線性無關(guān)的向量集合
如果子空間V的基中向量的數(shù)量是k,那么你不能找到比k個(gè)多的線性無關(guān)的向量集合。
(3)子空間中任意的兩組基都包含相同數(shù)目的向量
這個(gè)如何證明呢?
1)假設(shè)子空間V中有兩組基A和B,個(gè)數(shù)分別是k和p;
2)因?yàn)锳是子空間中的基,所以B中的所有向量都可以表示成A中向量的線性組合,即有AC=B,C的列數(shù)為p,行數(shù)是k;
3)假設(shè)存在一個(gè)p維向量x使得Cx=0,所以ACx=Bx=0因?yàn)锽是基,所以Bx=0的解只能是零向量,所以C也是線性無關(guān)的;
4)因?yàn)镃中的列向量是k維的,p個(gè)k維的向量線性無關(guān),所以一定有p<>
5)同理k<>
(4)子空間V的基的向量的數(shù)量被稱為V的維度(dimension)
通過定義,我們可以判斷一個(gè)集合是否為基,需滿足兩個(gè)條件,向量之間線性無關(guān),同時(shí)能夠張成空間V,前者容易判斷,后者較難判斷:
另一種思路,假設(shè)對(duì)于一個(gè)子空間V,我們已經(jīng)知道它的維度為2,如果S是一個(gè)包含k個(gè)vector并且屬于V的一個(gè)子集,那么如果
1)S中的向量線性無關(guān),那么S是一個(gè)基
2)S能夠張成空間V,那么S是一個(gè)基
我們之前介紹過對(duì)于一個(gè)矩陣的三個(gè)空間,行空間、列空間以及零空間,他們的基以及維度都是多少呢?
A的列空間
A的列空間的基是主列組成的集合,維度就是主列的個(gè)數(shù)
A的零空間
A的零空間的的維度是Ax=0中自由變量的個(gè)數(shù),基看下面的圖片:
A的行空間
A的行空間的維度是化簡(jiǎn)為簡(jiǎn)約行階梯型之后非零行的個(gè)數(shù),基就是簡(jiǎn)約行階梯型中先導(dǎo)元素所在的行所組成集合。
這里我們可以得出一個(gè)結(jié)論,矩陣A和其轉(zhuǎn)置的秩相等:
總結(jié)一下就是下面這樣子啦:
在n維空間中,我們可以使用基向量來表示坐標(biāo)系,這樣空間中的任意向量的坐標(biāo)都確定了,但是對(duì)于同一向量,使用不同的坐標(biāo)系,其坐標(biāo)是不同的:
同理,在不同坐標(biāo)系下,同一個(gè)坐標(biāo)所代表的向量也不同:
當(dāng)基確定時(shí),一個(gè)向量的坐標(biāo)也是唯一的,由于基之間是線性無關(guān)的,因此證明如下:
在某一坐標(biāo)系B下,一個(gè)向量可以表示成其對(duì)應(yīng)的坐標(biāo)表示:
而我們最為常用的一種坐標(biāo)系就是直角坐標(biāo)系(Cartesian coordinate system),通常表示如下:
那么根據(jù)任意坐標(biāo)系以及某一向量在該坐標(biāo)系下的坐標(biāo),如何得到該向量呢?很簡(jiǎn)單,該向量可以表示成基的線性組合,系數(shù)即為其坐標(biāo):
那么,如何得到某一向量在任意坐標(biāo)系下的坐標(biāo),兩邊同乘B-1即可:
其實(shí)我們的向量就是在直角坐標(biāo)系下的坐標(biāo)表示,所以其實(shí)直角坐標(biāo)系和其他坐標(biāo)系的轉(zhuǎn)換我們上一節(jié)已經(jīng)講過:
我們之前所說的線性方程,都是相對(duì)于直角坐標(biāo)系所說的,有時(shí)候有些問題直接在直角坐標(biāo)系下進(jìn)行求解并不容易,但是轉(zhuǎn)換到另一坐標(biāo)系下就會(huì)變得十分簡(jiǎn)單,這就得到了通過坐標(biāo)系轉(zhuǎn)換來求解問題的思路:
我們舉個(gè)例子來說吧,如果下圖中的T表示得到任意一個(gè)向量關(guān)于直線L的對(duì)稱向量:
直接求解這個(gè)問題非常難,我們想要找的是一個(gè)矩陣A,使得T(x)=Ax,直線如果不是橫軸或者縱軸的話,要找到這個(gè)矩陣A是十分困難的。但是如果直線是橫軸或者縱軸的話,這個(gè)問題就變得非常簡(jiǎn)單。假設(shè)直線是橫軸,那么要找的矩陣我們可以很容易寫出:
所以我們可以通過坐標(biāo)系變換,把直線L變成橫軸,那么問題就簡(jiǎn)單了:
所以我們?cè)谥苯亲鴺?biāo)系下的這個(gè)變換矩陣A也就找到了,此時(shí)我們可以稱兩個(gè)坐標(biāo)系下的變換矩陣是相似矩陣(Similar matrices):
假設(shè)直線L為y=0.5x,那么求解過程如下:
好了,在寫這一節(jié)之前,我們看來想一下上一節(jié)的東西,我們說一個(gè)直角坐標(biāo)系下的向量v, 其在另一個(gè)坐標(biāo)系下的坐標(biāo)表示為Bv,這個(gè)B是該坐標(biāo)系下的基所做成的矩陣,所以說矩陣可以表示一種線性變換(Linear Transformation),它將一個(gè)向量在直角坐標(biāo)系下的坐標(biāo)表示轉(zhuǎn)換為另一坐標(biāo)系下的坐標(biāo)表示!
我們知道,任意非零向量都可以張成一條直線,有的向量在一個(gè)矩陣A作用后,偏離了其所張成的空間;但有的向量在矩陣A作用后,還是在原有張成的空間,矩陣A只是對(duì)該向量起到了一定的伸縮作用,那么我們就說該向量是矩陣A的特征向量(Eigenvector),而這個(gè)伸縮作用的大小我們就稱為特征值(Eigenvalue)。所以我們知道,該向量所張成空間中的所有向量(零向量除外)都是該矩陣的特征向量。下面的例子中,經(jīng)過變換后橫軸沒有發(fā)生變化,所以橫軸的向量都是特征向量,特征值為1。
好了,我們可以給出特征值和特征向量的定義了:
假設(shè)我們已經(jīng)知道了特征值λ,我們可以根據(jù)Av=λv求解其對(duì)應(yīng)的特征向量:
而某一特征值λ的特征空間(Eigenspace)定義為(A-λIn)v=0的解集:
Eigenspace也可以說是λ所對(duì)應(yīng)的特征向量再加上零向量(特征向量不能是零向量)
檢查一個(gè)標(biāo)量是否為特征值,只需要判斷其對(duì)應(yīng)的特征空間是否只有零向量即可:
如果一個(gè)標(biāo)量是矩陣A的特征值,那么他會(huì)滿足下面所有的條件:
那么如何計(jì)算一個(gè)矩陣的特征值呢,這里要使用特征多項(xiàng)式(Characteristic Polynomial),特征值是特征多項(xiàng)式的根。即:
舉個(gè)例子:
這里我們可以得到一個(gè)性質(zhì),兩個(gè)相似矩陣的特征值是相同的,證明如下:
那么一個(gè)n階方陣有多少特征值呢?最多n個(gè)。如果一個(gè)n階方陣有n個(gè)特征值(包括重復(fù)值),那么這n個(gè)特征值的的和等于矩陣的跡(trace,即矩陣主對(duì)角線的元素之和),同時(shí),這n個(gè)特征值的乘積等于矩陣的行列式。
對(duì)特征多項(xiàng)式進(jìn)行因式分解,我們可以得到如下重要的結(jié)論,一個(gè)特征值對(duì)應(yīng)的特征空間的維度,小于等于該特征值重復(fù)出現(xiàn)的次數(shù)。
舉例來說:
如果一個(gè)矩陣的所有特征值都大于0,那么這個(gè)矩陣被稱為正定矩陣(positive definite matrix),如過特征值都大于等于0,則稱為半正定矩陣。
那么正定或者半正定矩陣的含義是什么呢?這里我們以正定矩陣為例。我們知道一個(gè)矩陣的A代表一種線性變化,那么如果一個(gè)矩陣是正定的,就有xTAx>0,假設(shè)x在經(jīng)過A的變換后變?yōu)閥,那么xTy>0,即x和y的內(nèi)積大于0,或者說夾角小于90度。所以正定矩陣的直覺代表一個(gè)向量經(jīng)過它的變化后的向量與其本身的夾角小于90度。
如果一個(gè)n階方陣A可以變?yōu)锳=PDP-1,其中D是n階對(duì)角矩陣,P是n階可逆方陣,那么A就是可對(duì)角化的(diagonalizable)。但并非所有的矩陣都可以進(jìn)行對(duì)角化:
如果A是可對(duì)角化的,那么P中的列向量是A的特征向量,D中對(duì)角線元素是A的特征值,證明如下:
同時(shí),我們可以得到如下結(jié)論:
本節(jié)我們介紹幾個(gè)重要的性質(zhì),
1)不同特征值對(duì)應(yīng)的特征向量之間線性無關(guān)。
2)如果一個(gè)矩陣A可對(duì)角化,那么其特征值對(duì)應(yīng)的特征空間的維度,等于該特征值重復(fù)出現(xiàn)的次數(shù)。
3)如果一個(gè)矩陣A可對(duì)角化,那么Am = PDmP-1。
我們首先來看第一個(gè)性質(zhì):
我們可以假設(shè)他們之間線性相關(guān)來進(jìn)行反證:
再來看第二個(gè)性質(zhì):
我們常用范數(shù)(Norm)來表示矩陣的長(zhǎng)度,其中最常用的是二范數(shù):
兩個(gè)向量的距離,我們使用的一般是歐式距離:
點(diǎn)積(Dot Product)的計(jì)算如下:
兩個(gè)向量是正交的(Orthogonal),如果兩個(gè)向量的點(diǎn)積是0,那么零向量和任何向量都是正交的。
點(diǎn)積具有如下的性質(zhì):
同時(shí),如果兩個(gè)向量是正交的,那么有如下性質(zhì):
在三角形中,我們有著名的三角不等式,兩條邊長(zhǎng)度之和大于第三條邊的長(zhǎng)度,所以我們有:
對(duì)于一個(gè)非空的向量集合S,該集合的正交補(bǔ)(Orthogonal Complement)定義為:
關(guān)于正交補(bǔ),我們有如下性質(zhì):
所以說,對(duì)于n維空間中的向量,我們都可以進(jìn)行拆解:
正交投影(Orthogonal Projection)通過下面的圖片很容易理解,如果向量u像子空間W做正交投影,其投影的結(jié)果就是w。
正交投影有一個(gè)很重要的性質(zhì)就是,u在子空間W上的正交投影向量,是與u距離最近的,觀察下圖可以看出,直角三角形斜邊的長(zhǎng)度總是大于直角邊的:
如何得到一個(gè)向量在另一個(gè)子空間上的正交投影呢,從一個(gè)向量得到另一個(gè)向量,我們不妨中間乘了一個(gè)變換矩陣Pw,即w=Pwu。所以關(guān)鍵是變成如何尋找這個(gè)矩陣
Pw。
好了,我們這里直接給出結(jié)論,然后再進(jìn)行證明:
證明如下,證明中的第一步是因?yàn)閡-w是垂直于子空間W中所有向量的,因此自然垂直于C中所有的列向量,因此CT(u-w)=0:
如果對(duì)于無解的線性方程組Ax=b,我們退而求其次,在A的列所張成的空間中找一個(gè)距離b最近的向量,其實(shí)就是b在A上的正交投影。
這個(gè)思想可以用在我們機(jī)器學(xué)習(xí)中的線性回歸中。在進(jìn)行線性回歸時(shí),我們往往希望殘差平方和最小,即:
這里的C是我們的訓(xùn)練數(shù)據(jù),訓(xùn)練數(shù)據(jù)的矩陣表示相當(dāng)于線性方程組的A,要找的參數(shù)a相當(dāng)于線性方程組的x,實(shí)際值y相當(dāng)于線性方程組的b。根據(jù)我們上一節(jié)求解正交投影的方式,Ca的值應(yīng)該等于y在C張成空間中的正交投影,因此,我們可以直接計(jì)算得到參數(shù)的值:
如果一組向量中任意兩個(gè)向量都是正交的,那么我們可以稱這組向量為正交集(Orthogonal Set)。不含零向量的正交集中的向量是線性無關(guān)的,證明如下:
如果正交集中所有的向量長(zhǎng)度都為1,那么這個(gè)集合被稱為標(biāo)準(zhǔn)正交集(Orthonormal Set),標(biāo)準(zhǔn)正交集中的向量當(dāng)然也是線性無關(guān)的。
因?yàn)檎患瘶?biāo)準(zhǔn)正交集中的向量是線性無關(guān)的,那么如果一個(gè)子空間的基是正交/標(biāo)準(zhǔn)正交的,那么這個(gè)基被稱為正交基(Orthogonal Basis)/標(biāo)準(zhǔn)正交基(Orthonormal Basis)。
如果一個(gè)基是正交的,那么我們可以很快的求解出子空間中一個(gè)向量的坐標(biāo):
如果u是任意向量,那么u在子空間中的正交投影也很容易計(jì)算得出:
我們可以將我們之前得到的投影變換矩陣進(jìn)行改寫:
如何把一個(gè)普通的基轉(zhuǎn)換為正交基呢,方法如下:
我們之前提到過,矩陣其實(shí)代表一種線性變換,如果將這種變換作用在任意的向量u上,不改變向量u的長(zhǎng)度的話,我們就說該線性變換具有Norm-preserving(這里不清楚怎么翻譯,暫且翻譯為范數(shù)不變性)。注意,這樣的u是任意的向量,比如旋轉(zhuǎn)和對(duì)稱反轉(zhuǎn)操作就不會(huì)改變?nèi)魏蜗蛄康姆稊?shù):
顯然,具有范數(shù)不變性的矩陣,其必有一個(gè)特征值為+1或者-1 。
一個(gè)n階的方陣Q,如果它的列是可以張成n維空間的標(biāo)準(zhǔn)正交基,我們就稱Q為正交矩陣(orthogonal matrix)。
例如,下面的矩陣就是一個(gè)正交矩陣:
范數(shù)不變性和正交矩陣是什么關(guān)系呢?答案是:如果一個(gè)矩陣具有范數(shù)不變性,那么它是正交矩陣,反之如果一個(gè)矩陣是正交矩陣,那么該矩陣具有范數(shù)不變性。接下來,我們分別證明這兩點(diǎn)。
第一點(diǎn):如果一個(gè)矩陣具有范數(shù)不變性,那么它是正交矩陣
證明一個(gè)矩陣是正交矩陣無非就是證明兩點(diǎn),每一列的長(zhǎng)度都為1,任意兩列都是正交的。
證明每一列長(zhǎng)度都為1:
證明任意兩列正交:
第二點(diǎn):如果一個(gè)矩陣是正交矩陣,那么該矩陣具有范數(shù)不變性
首先,我們很容易知道,對(duì)于一個(gè)正交矩陣Q,QT=Q-1,根據(jù)下面的推導(dǎo)可以得到正交矩陣一定具有范數(shù)不變性:
剛才我們說到了,對(duì)于一個(gè)正交矩陣Q,QT=Q-1,這個(gè)條件其實(shí)可以用來判斷一個(gè)矩陣是否為正交矩陣。根據(jù)這個(gè)條件,可以得到,如果一個(gè)矩陣是正交矩陣,那么其轉(zhuǎn)置仍然是正交矩陣。這時(shí)我們只要檢查一下(QT)T=(QT)-1是否成立就好了。很顯然是成立的,因?yàn)檗D(zhuǎn)置的逆等于逆的轉(zhuǎn)置。
所以對(duì)一個(gè)正交矩陣,有如下三點(diǎn)性質(zhì):
1)行和列都是正交的范數(shù)為1的向量
2)范數(shù)不變性
3)其轉(zhuǎn)置等于其逆矩陣
如果一個(gè)矩陣的轉(zhuǎn)置等于其本身,那么這個(gè)矩陣被稱為對(duì)稱矩陣(symmetric matrices)。
對(duì)于對(duì)稱矩陣來說,它的特征值都是實(shí)數(shù):
同時(shí),不同的特征根所對(duì)應(yīng)的特征向量,是正交的:
對(duì)稱矩陣一定是可以對(duì)角化的(相關(guān)的證明網(wǎng)上可以找到,這里就不證明了),我們之前介紹過,對(duì)于一個(gè)可對(duì)角化的矩陣,它的特征向量之間都是線性無關(guān)的,根據(jù)這個(gè)性質(zhì),如果一個(gè)n階對(duì)稱陣有n個(gè)不同特征值的話,其對(duì)應(yīng)的特征向量是兩兩正交的,那么其組成的矩陣就可以是一個(gè)正交矩陣,如果存在重根,其對(duì)應(yīng)的特征向量之間不一定是正交的,但總是可以通過正交化的方式轉(zhuǎn)換成正交的。因此對(duì)于對(duì)稱矩陣來說,之前講過的對(duì)角化的方式可以變?yōu)椋?/span>
我們之前介紹的對(duì)角化,只能針對(duì)方陣,那么對(duì)于非方陣來說,我們可不可以用類似對(duì)角化的方式對(duì)矩陣進(jìn)行分解呢?這里就用到了奇異值分解(Singular value decomposition ,SVD)的技術(shù)。
奇異值分解如下,一個(gè)m*n的矩陣A可以分解為一個(gè)m階的正交矩陣,一個(gè)m*n的對(duì)角矩陣(類似于對(duì)角矩陣吧)和一個(gè)n階的正交矩陣:
那這三個(gè)矩陣分別要怎么求呢?我們參考劉建平老師的文章(https://www.cnblogs.com/pinard/p/6251584.html):
奇異值通常用于降維,也就是說,我們不需要所有的奇異值來描述矩陣,而是通過少數(shù)的幾個(gè)比較大的奇異值就可以,此時(shí)效果如下:
好了,本文的線性代數(shù)知識(shí)就帶你復(fù)習(xí)到這里,真的建議大家去聽一下李宏毅老師的線性代數(shù)課,講的還是十分清晰的。如果您發(fā)現(xiàn)了本文的錯(cuò)誤,歡迎您在下方留言!
參考文獻(xiàn)
1、
http://speech.ee.ntu.edu.tw/~tlkagk/courses_LA16.html
2、
https://www.cnblogs.com/pinard/p/6251584.html
聯(lián)系客服