矩阵和线性代数
文章目錄
- 矩陣和線性代數(shù)
- 矩陣
- SVD提法
- 舉例
- 推導(dǎo)
- 代碼
- 分解效果
- 方陣行列式
- 范德蒙行列式
- 作用
- 代數(shù)余子式
- 伴隨矩陣
- 方陣的逆
- 矩陣乘法
- 模型
- 舉例
- 概率轉(zhuǎn)移矩陣
- 平穩(wěn)分布:
- 向量乘法
- 矩陣的秩
- 秩與方程組的解
- 推論
- 向量組等價(jià)
- 系數(shù)矩陣
- 對(duì)C=AB重認(rèn)識(shí)
- 正交陣
- 特征值和特征向量
- 性質(zhì)
- 不同特征值對(duì)應(yīng)特征向量
- 實(shí)對(duì)稱陣
- 結(jié)論
- 漂白
- 正定陣
- 正定陣判定
- 標(biāo)準(zhǔn)正交基
- QR分解
- QR分解算特征值
- 代碼
- LFM
- 矩陣求導(dǎo)
- 推導(dǎo)
- 推廣
- 標(biāo)量對(duì)向量求導(dǎo)
- 推導(dǎo)
- 標(biāo)量對(duì)方陣求導(dǎo)
- 歸納 正交陣 正定陣 對(duì)稱陣 對(duì)角陣 正交基
矩陣和線性代數(shù)
矩陣
SVD提法
1.奇異值分解是一種重要的矩陣分解方法,可以看作對(duì)稱方陣在任意矩陣推廣
1.1 Singular 突出的,奇特的,非凡的
1.2 似乎更應(yīng)該稱之為“優(yōu)值分解”
2.假設(shè)A是一個(gè)
則存在一個(gè)分解使得:
通常將奇異值由大而小排列,這樣,
3.與特征值,特征向量概念相對(duì)應(yīng):
舉例
假設(shè)我們現(xiàn)在有矩陣A,需要對(duì)其做奇異值分解
然后分別對(duì)它們進(jìn)行求特征向量得到U和V
求出其中特征值開根號(hào)由大到小排列得到
推導(dǎo)
抓大頭,降維
代碼
def restore(sigma,u,v,k): #奇異值,左特征向量,右特征向量print km=len(u)n=len(v[0])a=np.zeros((m,n))for k in range(k+1):for i in range(m):a[i]+=sigma[k]*u[i][k]*v[k]b=a.astype('uint8')Image.fromarray(b).save("svd_"+str(k)+".png")分解效果
if __name__=="__main__":A=Image.open("son.png",'b'print Aoutput_path=r'.\SVD'if not os.path.exists(output_path):os.mkdir(output_path)a=np.array(A)print a.shapek=50u_r,sigma_r,v_r=np.linalg.svd(a[:,:,0]) u_g,sigma_g,v_g=np.linalg.svd(a[:,:,1])u_r,sigma_b,v_b=np.linalg.svd(a[:,:,2])plt.figure(figsize(10,10),facecolor='w')mp1.rcParams['font.sans-serif']=[u'simHei']mp1.rcParams['axes,unicode_minus']=Faisefor k in range(1,k+1):print kR=restorel(sigma_r,u_r,v_r,k)G=restorel(sigma_g,u_g,v_g,k) B=restorel(sigma_b,u_b,v_b,k)I=np.stack((R,G,B),axis=2)Image.fromarray(I).save('%s\\svd_%d.png'%(output_path,k))if k<=12:plt.subplot(3,4,k)plt.imshow(I)plt.axis('off')plt.title(u'奇異值個(gè)數(shù):%d'%k)plt.suptitle(u'SVD與圖像分解',fontsize=20)plt.tight_layout(0.3,rect=(0,0,1,0.92))plt.show()方陣行列式
定義:方陣的行列式
1階方陣行列式為元素本身
n階方陣行列式等于它任一行(或列)各元素與其對(duì)應(yīng)代數(shù)余子式乘積之和
范德蒙行列式
作用
證明矩陣是否有逆
:行列式為0或者非滿秩時(shí)矩陣無逆。此時(shí)矩陣向量線性相關(guān)
代數(shù)余子式
伴隨矩陣
如二階(a,b) , (c,d)伴隨矩陣為(d,-b),
(-c,a)即主對(duì)角線代數(shù)余子式不變,副對(duì)角線代數(shù)余子式交換位置
方陣的逆
主要方法是伴隨矩陣法即在原矩陣基礎(chǔ)上增加一個(gè)單位陣E增廣矩陣,通過行變化得到左邊為單位陣E而右邊即為所求逆矩陣
矩陣乘法
模型
考慮某隨機(jī)過程它的狀態(tài)有n個(gè),用1-n表示。記在當(dāng)前時(shí)刻t時(shí)位于i狀態(tài),它在t+1時(shí)刻處于j狀態(tài)概率P(i,j)=P(j|i):
即狀態(tài)轉(zhuǎn)移概率只依賴于前一個(gè)狀態(tài)
馬爾可夫模型
舉例
假定按照經(jīng)濟(jì)狀況將人群分成上、中、下三個(gè)階層,用1、2、3表示。假定當(dāng)前處于某階層只和上一代有關(guān),即:考察父代為第i階層,則子代為第j階層概率。假定如下轉(zhuǎn)移概率矩陣:
概率轉(zhuǎn)移矩陣
第n+1代中處于第j個(gè)階層的概率為:
因此,矩陣P即為(條件)概率轉(zhuǎn)移矩陣。
1.第i行元素表示:在上一個(gè)狀態(tài)為i時(shí)分布概率,即:每一行元素和為1.
平穩(wěn)分布:
當(dāng)?shù)銐蚨啻蔚臅r(shí)候,多項(xiàng)分布至于轉(zhuǎn)移矩陣有關(guān)而與初始概率無關(guān)。
從而,這是轉(zhuǎn)移概率矩陣P的性質(zhì),而非初始分布的性質(zhì)。事實(shí)上,上述矩陣P的n次冪,每行都是(0.286,0.489,0.225),n.>20
如果一個(gè)非周期馬爾可夫隨機(jī)過程具有轉(zhuǎn)移概率矩陣P,且它的任意兩個(gè)狀態(tài)都是聯(lián)通的,
事實(shí)上,下面兩種寫法等價(jià):
同時(shí),若某概率分布,說明
該多項(xiàng)分布是狀態(tài)轉(zhuǎn)移矩陣P的平穩(wěn)分布;
線性方程xP=x的非負(fù)解為而唯一,因此是線性方程xP=x的唯一非負(fù)解
應(yīng)用
向量乘法
A為mXn的矩陣,x為nX1的列向量,則Ax為mX1列向量,,
由于n維列向量和n維空間的點(diǎn)一一對(duì)應(yīng),上式實(shí)際給出了從n維空間點(diǎn)到m維空間點(diǎn)的線性變換
旋轉(zhuǎn),平移(齊次坐標(biāo)下)
特殊的,若m=n 且Ax 完成了n維空間內(nèi)線性變換
矩陣的秩
在mXn矩陣A中,任取k行k列,不改變這個(gè)元素在A中次序,得到k階方陣,稱為矩陣A的k階子式。
顯然,mXn矩陣A的k階子式有個(gè)
設(shè)在矩陣A中有一個(gè)不等于0的r階子式D,且所有r+1階子式(如果存在的話)全等于0,那么D稱為矩陣A最高階非零子式,r稱為矩陣A的秩,記作R(A)=r
秩與方程組的解
對(duì)于n元線性方程組Ax=b
推論
Ax=0有非零解的充要條件是R(A)<n
Ax=b有解充要條件是R(A)=R(A,b)
向量組等價(jià)
能夠相互線性表出
系數(shù)矩陣
對(duì)C=AB重認(rèn)識(shí)
由此可知,若C=AXB,則矩陣C的列向量能由A的列向量線性表示,B即為這一表示的系數(shù)矩陣。
對(duì)偶的,若C=AXB,則矩陣C的列向量能由B的行向量線性表示,A即為這一表示的系數(shù)矩陣
正交陣
若n階矩陣A滿足A為正交矩陣,簡(jiǎn)稱正交陣
A是正交陣的充要條件:A的列(行)向量都是單位向量,且兩兩正交
A是正交陣,x為向量,則Ax稱作正交變換
正交變換不改變向量長(zhǎng)度
特征值和特征向量
A是n階矩陣,若數(shù)和n維非0列向量x滿足,那么稱其為A的特征值,x稱為A對(duì)應(yīng)于特征值的特征向量
性質(zhì)
不同特征值對(duì)應(yīng)特征向量
不同特征值對(duì)應(yīng)特征向量,線性無關(guān)
實(shí)對(duì)稱陣
性質(zhì):
元素以對(duì)角線為對(duì)稱軸對(duì)應(yīng)相等的矩陣。對(duì)稱陣
實(shí)對(duì)稱陣的特征值是實(shí)數(shù)
設(shè)復(fù)數(shù)λ為對(duì)稱陣A的特征值,復(fù)向量x為對(duì)應(yīng)的
特征向量,即Ax=λx(x≠0),
將實(shí)數(shù)λ帶入方程組(A- λ I)x=0,該方程組為
實(shí)系數(shù)方程組,因此,實(shí)對(duì)稱陣的特征向量
可以取實(shí)向量。
實(shí)對(duì)稱陣不同特征值的特征向量正交
結(jié)論
設(shè)A為n階對(duì)稱陣,則必有正交陣P,使得
? Λ是以A的n個(gè)特征值為對(duì)角元的對(duì)角陣。
對(duì)角矩陣(diagonal matrix)是一個(gè)主對(duì)角線之外的元素皆為0的矩陣。對(duì)角線上的元素可以為0或其他值。
? 該變換稱為“合同變換”,A和Λ互為合同矩陣。
漂白
代碼
正定陣
對(duì)于n階方陣A,若任意n階向量x,都有
則稱A是正定陣。
? 若條件變成,則A稱作半正定陣
? 類似還有負(fù)定陣,半負(fù)定陣。
正定陣判定
對(duì)稱陣A為正定陣;
? A的特征值都為正;
? A的順序主子式大于0;
? 以上三個(gè)命題等價(jià)
順序主子式
標(biāo)準(zhǔn)正交基
若向量空間的基是正交向量組,則稱其為向量空間的正交基,若正交向量組的每個(gè)向量都是單位向量,則稱其為向量空間的標(biāo)準(zhǔn)正交基
QR分解
對(duì)于m×n的列滿秩矩陣A,必有:
其中(即列正交矩陣),R為非奇異上三角矩陣(類似方陣)。當(dāng)要求R的對(duì)角線元素為正時(shí),該分解唯一。
該分解為QR分解。可用于求解矩陣A的特征
值、A的逆等問題
QR分解算特征值
運(yùn)用Q正交矩陣特點(diǎn)
代碼
def is_same(a,b):n=len(a)for i in range(n):if math.fabs(a[i]-b[i])>1e-6:return Falsereturn Trueif __name__="__main__':a=np.array([0.65,0.26,0.07,0.15,0.67,0.18,0.12,0.36,0.52])n=math.sqrt(len(a))a=a.reshape((n,n))value,v=np.linalg.elg(a)times=0while(times==0)or(not is_same(np.diag(a),v):v=np.diag(a)q,r=np.linalg.qr(a)a=np.dot(r,q)times+=1print"正交陣:\n",qprint"三角陣:\n",rprint"近似陣:\n",aprint"次數(shù):",times,"近似值:",np.diag(a)print"精確特征值:",valueLFM
def inverse(a):b=np.zeros_like(a)n=len(a)c=np.eye(n)alpha=1for times in range(200):for i in range(n):for j in range(n):err=c[i][j]for k in range(n):b[j][k]+=areturn b,k矩陣求導(dǎo)
A為m×n的矩陣, x為n×1的列向量,則Ax
為m×1的列向量,
推導(dǎo)
推廣
標(biāo)量對(duì)向量求導(dǎo)
數(shù)對(duì)向量求導(dǎo)
推導(dǎo)
標(biāo)量對(duì)方陣求導(dǎo)
歸納 正交陣 正定陣 對(duì)稱陣 對(duì)角陣 正交基
對(duì)稱陣:沿著對(duì)角線元素對(duì)稱
對(duì)角陣:對(duì)角線有數(shù)據(jù),其余為0
總結(jié)
- 上一篇: 要多大内存才满足_佛龛的尺寸要多大?
- 下一篇: 安卓 camera 调用流程_安卓如何做