人工智能數(shù)學(xué)基礎(chǔ) 課件 chap4 矩陣的分解_第1頁
人工智能數(shù)學(xué)基礎(chǔ) 課件 chap4 矩陣的分解_第2頁
人工智能數(shù)學(xué)基礎(chǔ) 課件 chap4 矩陣的分解_第3頁
人工智能數(shù)學(xué)基礎(chǔ) 課件 chap4 矩陣的分解_第4頁
人工智能數(shù)學(xué)基礎(chǔ) 課件 chap4 矩陣的分解_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

人工只智能數(shù)學(xué)基礎(chǔ)

MathematicalBasisofArtificialIntelligence互動啟迪智慧Communicationenlightenswisdom參考材料:廖盛斌,人工智能數(shù)學(xué)基礎(chǔ).電子工業(yè)出版社,2023.

3思路:聚焦在機器學(xué)習(xí)和深度學(xué)習(xí)框架下理解矩陣分解。目標(biāo):本章主要介紹矩陣的LU分解、矩陣的QR分解、矩陣的特征值分解、矩陣的奇異值(SVD)分解的概念。4提綱:

矩陣的LU分解矩陣的QR分解矩陣的特征值分解矩陣的奇異值(SVD)分解矩陣的LU分解

矩陣的LU分解

矩陣的LU分解

第二步:后向計算,從矩陣U求矩陣A矩陣的LU分解

矩陣的LU分解

上面3個條件中的前面兩個很好理解,第三條件實際上可以弱化。在例4-1中,對矩陣A進行初等行變換時,沒有進行行交換。但是,并不是所有的矩陣A都滿足這樣的條件,如果矩陣如下將矩陣A的第一行的負(fù)4倍和負(fù)3倍分別加到第二行和第三行,得到矩陣如下矩陣的LU分解

矩陣的LU分解

矩陣的LU分解

第三步:后向計算,從矩陣U求矩陣PA

第三步,令

這樣就得到由于置換矩陣P的逆矩陣等于它的轉(zhuǎn)置矩陣,對上式兩邊左乘P-1,得到矩陣的LU分解

4.1.3矩陣LU分解的擴展形式

矩陣的LU分解

矩陣的LU分解

矩陣的LU分解

矩陣的QR分解4.2.1矩陣QR分解的定義

矩陣的QR分解由于矩陣Q是正交矩陣,所以有然后將求得的系數(shù)帶入向量a的線性組合之中,得到向量a的正交分解為

上式說明,將一個向量a沿著一組正交向量進行正交分解,沿任一向量的系數(shù)是該向量的轉(zhuǎn)置與向量a的內(nèi)積。下面我們講解矩陣的QR分解時將用到這個性質(zhì)矩陣的QR分解4.2.2利用施密特正交化方法進行矩陣的QR分解

矩陣的QR分解

這里的系數(shù)計算利用了4.2.1最后面介紹的性質(zhì)2[關(guān)于系數(shù)的計算也可以直接根據(jù)迭代關(guān)系獲得。],上面的過程寫成矩陣形式就是這樣就得到了矩陣A的QR分解中的正交矩陣Q和上三角矩陣R矩陣的QR分解

矩陣的QR分解

再根據(jù)得到矩陣的QR分解

這樣就得到上三角矩陣R為

矩陣的特征值分解4.3.1矩陣的特征值分解定義

在前面一章介紹了n階矩陣A能對角化的充要條件是矩陣A有個n個線性無關(guān)的特征向量,并且,矩陣A的特征向量構(gòu)成的可逆矩陣P,使得AP=PD,其中D是對角矩陣,它的對角元素為矩陣A的n個特征值。這樣就有下面的特征特征分解的定義。

如果n階矩陣A有n個線性無關(guān)的特征向量,則存在一個可逆矩陣P,使得矩陣A可以分解為A=PDP-1。其中,D是對角矩陣,它的對角元素為矩陣A的n個特征值;矩陣P是n階可逆矩陣,它的列為矩陣A的特征向量,排列順序與對角矩陣D中特征值的排列順序一致。我們把上面的分解稱為矩陣A的特征值分解,也稱為譜分解。當(dāng)然,如果進一步矩陣A是實對稱矩陣,則存在正交矩陣P,使得矩陣A可以分解為A=PDP-1=PDPT。其中,D是對角矩陣,它的對角元素為矩陣A的n個特征值;矩陣P是n階正交矩陣,它的列為矩陣A的正交化特征向量。

矩陣的特征分解有很廣泛的應(yīng)用。從矩陣A的特征分解形式上看,最直接的應(yīng)用是計算矩陣A的逆矩陣、計算矩陣的多項式、矩陣多項式的特征值,這些內(nèi)容實際上是上一章介紹的相似變換知識點的擴展。下面介紹矩陣的特征分解的本質(zhì)含義及其在機器學(xué)習(xí)中的一個經(jīng)典應(yīng)用。

矩陣的特征值分解4.3.2矩陣特征值分解的本質(zhì)一個n階矩陣與一個n維向量x相乘,本質(zhì)上等價于對向量x進行旋轉(zhuǎn)和拉伸縮放,也就是相當(dāng)于改變向量x的基底。為理解這個問題,以二維矩陣和向量為例,對一般情況也適用

于是矩陣的特征值分解

圖4.1矩陣向量乘法的幾何意義矩陣的特征值分解

矩陣的特征值分解4.3.3矩陣特征值分解的應(yīng)用矩陣的特征值分解在機器學(xué)習(xí)、圖像處理、量子力學(xué)、數(shù)據(jù)挖掘中具有廣泛的應(yīng)用。下面介紹一個利用python語言,通過對圖像矩陣進行特征值分解,達到圖像壓縮與恢復(fù)目的具體應(yīng)用。下圖4.2是手寫體識別數(shù)據(jù)集中的一張28x28的圖片圖4.2手寫體數(shù)字4

首先通過Image.open()函數(shù)讀取該圖片,然后將它轉(zhuǎn)化為numpy數(shù)組,就是一個28x28的矩陣,也就是上面說的圖像矩陣。有了圖像矩陣數(shù)據(jù)之后,利用numpy中的linalg.eig()函數(shù)對該矩陣進行特征分解,得到圖像矩陣的特征值和相應(yīng)的特征向量。有了圖像矩陣的特征值和特征向量之后,就可以根據(jù)矩陣的特征分解表達式A=PDP-1,選取部分特征值對圖像進行壓縮與恢復(fù)。比如我們選取前面?zhèn)€特征值及相應(yīng)的特征向量恢復(fù)圖像,可以根據(jù)這n個特征值來構(gòu)造表達式A=PDP-1中的對角矩陣D,對角矩陣D的前面n個主對角元素為這n個特征值,其他元素置為零。再根據(jù)numpy中的linalg.inv()函數(shù)求出特征向量構(gòu)成的矩陣P的逆矩陣P-1,這樣就可以用表達式A=PDP-1重構(gòu)出原來的圖像。詳細(xì)的代碼如下:矩陣的特征值分解importosfromPILimportImageimportnumpyasnpimportmatplotlib.pyplotaspltdefIM_restore(cvector,cvalue,n,N):cvector1=np.linalg.inv(cvector)diag=np.append(cvalue[0:n],np.zeros(N-n))lam_new=np.diag(diag)new_image=np.dot(np.dot(cvector,lam_new),cvector1)returnnew_imageimg=Image.open('D:/lsbdata/hw4.png')#這里根據(jù)實際圖片位置和圖片名稱調(diào)整im=img.convert('L')image_data=np.asarray(im)eig_value,eig_vector=np.linalg.eig(image_data)restored_img=IM_restore(eig_vector,eig_value,18,28)plt.subplot(1,2,1)plt.imshow(im,cmap='gray')plt.xlabel('orginalimage')plt.subplot(1,2,2)plt.imshow(restored_img,cmap='gray')plt.xlabel('restoredimage')矩陣的特征值分解

下面的圖4.3和圖4.4分別給出了選取前面14和18特征值恢復(fù)的效果。從圖4.3可以看出,如果選取前面14個特征值,基本上恢復(fù)出了原始圖像的主要特征,已經(jīng)不影響我們對該手寫體數(shù)字的識別了,但還存在一些差別。從圖4.4可以看出,如果選取前面18個特征值的話,則幾乎完全恢復(fù)了原始圖像。在實際工作中,可以根據(jù)我們要求的精度,選取合適特征值個數(shù)來壓縮或恢復(fù)圖像。圖4.3選取前面14個特征值恢復(fù)效果圖圖4.4選取前面18個特征值恢復(fù)效果圖矩陣的奇異值(SVD)分解4.4.1矩陣的奇異值分解的定義

矩陣的奇異值(SVD)分解

矩陣的奇異值(SVD)分解4.4.2矩陣的奇異值分解的計算

矩陣的奇異值(SVD)分解

解:第一步,求矩陣AAT的特征值和特征向量,得到這樣就得到矩陣P為矩陣的奇異值(SVD)分解

第二步,求矩陣AAT的特征值和特征向量,得到這樣得到矩陣Q為最后得到矩陣A的奇異值分解為矩陣的奇異值(SVD)分解4.4.4矩陣的奇異值分解的意義及逼近

在滿足逼近精度要求下,如果我們選取r的遠(yuǎn)小于m和n,則可以較大地減少計算和存儲開銷。下面從理論上給出矩陣的低秩逼近[6]。對任意一個mxn的矩陣A,不妨假設(shè)它的秩為k,根據(jù)它的奇異值分解可以得到矩陣的奇異值(SVD)分解

矩陣的奇異值(SVD)分解

因此有

矩陣的奇異值(SVD)分解

奇異值分解在圖像壓縮、噪聲消除和數(shù)據(jù)挖掘與分析中有廣泛應(yīng)用。下面首先介紹奇異值分解在圖像壓縮中的一個經(jīng)典應(yīng)用。

下面的圖4.5是一張分辨率為1280*720的小狗圖片。讀取該圖片數(shù)據(jù)之后,獲得的是R(紅色)、G(綠色)和B(藍(lán)色)三通道的像素矩陣數(shù)據(jù),通過調(diào)用numpy中的linalg.svd函數(shù),對三個通道的像素矩陣進行奇異值分解,獲得不同通道的奇異值及左右奇異值向量。由于得到的奇異值中,可能存在一些比較小的奇異值,我們可以舍去后面影響微小的小奇異值信息,就可以在節(jié)省存儲空間的同時,保留盡可能多的圖像信息,從而實現(xiàn)圖像壓縮圖4.5用于數(shù)據(jù)壓縮的原始圖片矩陣的奇異值(SVD)分解上面過程的詳細(xì)程序代碼如下fromPILimportImageimportnumpyasnpimportmatplotlib.pyplotaspltdefget_SVD(data,percent):U,s,VT=np.linalg.svd(data)Sigma=np.zeros(np.shape(data))Sigma[:len(s),:len(s)]=np.diag(s)count=(int)(sum(s))*percentk=-1#k是奇異值總和的百分比的個數(shù)curSum=0#初值為第一個奇異值whilecurSum<=count:k+=1curSum+=s[k]D=U[:,:k].dot(Sigma[:k,:k].dot(VT[:k,:]))#SVD還原后的數(shù)據(jù)D[D<0]=0D[D>255]=255returnnp.rint(D).astype("uint8")defrebuild_img(filename,p,get_SVD):img=Image.open(filename,'r')a=np.array(img)R0=a[:,:,0]

G0=a[:,:,1]B0=a[:,:,2]R=get_SVD(R0,p)G=get_SVD(G0,p)B=get_SVD(B0,p)I=np.stack((R,G,B),2)img_svd=Image.fromarray(I)returnimg_svd矩陣的奇異值(SVD)分解filename='C:/users/liaosb/bobby.jpg'img=Image.open(filename).convert('RGB')img_svd1=rebuild_img(filename,0.2,get_SVD)img_svd2=rebuild_img(filename,0.4,get_SVD)img_svd3=rebuild_img(filename,0.6,get_SVD)img_svd4=rebuild_img(filename,0.8,get_SVD)img_svd5=rebuild_img(filename,1.0,get_SVD)plt.figure(1)plt.subplot(2,3,1)plt.imshow(img)plt.axis('off'),plt.title('原始圖片')plt.subplot(2,3,2)plt.imshow(img_svd1)plt.axis('off'),plt.title('p=0.2')plt.subplot(2,3,3)plt.imshow(img_svd2)plt.axis('off'),plt.title('p=0.4')plt.subplot(2,3,4)plt.imshow(img_svd3)plt.axis('off'),plt.title('p=0.6')plt.subplot(2,3,5)plt.imshow(img_svd4)plt.axis('off'),plt.title('p=0.8')plt.subplot(2,3,6)plt.imshow(img_svd5)plt.axis('off'),plt.title('p=1.0')

矩陣的奇異值(SVD)分解下面是程序運用的結(jié)果圖4.6壓縮圖片恢復(fù)效果圖

從圖4.6中可以看出,只要存儲奇異值占比80%的信息,就可以完全恢復(fù)該圖片了。事實上,對于一些稀疏數(shù)據(jù),壓縮的比例更大一些。在文獻[7]中,作者提供了一個很好的稀疏數(shù)據(jù)壓縮的例子。假設(shè)有一張包含15*25個黑白像素點的圖片如下矩陣的奇異值(SVD)分解圖4.715*25黑白圖片示意圖圖4.7所示的黑白圖片,如果我們用0表示白色的像素點,用1表示黑色的像素點,這樣就可以構(gòu)造一個與該圖片對應(yīng)的的矩陣矩陣的奇異值(SVD)分解

圖4.8帶瑕疵的15*25黑白圖片示意圖矩陣的奇異值(SVD)分解

這樣重構(gòu)處理的圖像,由于去除了一些噪聲數(shù)據(jù)的影響,圖像質(zhì)量會有一定的提升,效果如下圖4.9所示,其中左邊是原始圖片,右邊是噪聲消減后的圖片圖4.9噪聲消減對比示意圖矩陣的奇異值(SVD)分解

下面介紹采用矩陣奇異值分解在數(shù)據(jù)分析中的一個應(yīng)用,該案例也是文獻[7]給出的,盡管數(shù)據(jù)示例很簡單,但能很好地表達矩陣奇異值分解的應(yīng)用。假如我們收集了一些數(shù)據(jù),數(shù)據(jù)分布可視化如下圖

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論