国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
矩陣特征值分解與奇異值分解含義解析及應(yīng)用

特征值與特征向量的幾何意義

矩陣的乘法是什么,別只告訴我只是“前一個(gè)矩陣的行乘以后一個(gè)矩陣的列”,還會一點(diǎn)的可能還會說“前一個(gè)矩陣的列數(shù)等于后一個(gè)矩陣的行數(shù)才能相乘”,然而,這里卻會和你說——那都是表象。

矩陣乘法真正的含義是變換,我們學(xué)《線性代數(shù)》一開始就學(xué)行變換列變換,那才是線代的核心——別會了點(diǎn)貓膩就忘了本——對,矩陣乘法 

就是線性變換,若以其中一個(gè)向量A為中心,則B的作用主要是使A發(fā)生如下變化:

  1. 伸縮

    clf;A = [0, 1, 1, 0, 0;...    1, 1, 0, 0, 1];  % 原空間B = [3 0; 0 2];      % 線性變換矩陣plot(A(1,:),A(2,:), '-*');hold ongrid on;axis([0 3 0 3]); gtext('變換前');Y = B * A;plot(Y(1,:),Y(2,:), '-r*');grid on;axis([0 3 0 3]); gtext('變換后');

    1

    從上圖可知,y方向進(jìn)行了2倍的拉伸,x方向進(jìn)行了3倍的拉伸,這就是B=[3 0; 0 2]的功勞,3和2就是伸縮比例。請注意,這時(shí)B除了對角線元素為各個(gè)維度的倍數(shù)外,非正對角線元素都為0,因?yàn)橄旅鎸⒁吹?,對角線元素非0則將會發(fā)生切變及旋轉(zhuǎn)的效果。

  2. 切變

    clf;A = [0, 1, 1, 0, 0;...     1, 1, 0, 0, 1];  % 原空間B1 = [1 0; 1 1];       % 線性變換矩陣B2 = [1 0; -1 1];       % 線性變換矩陣B3 = [1 1; 0 1];       % 線性變換矩陣B4 = [1 -1; 0 1];       % 線性變換矩陣Y1 = B1 * A;Y2 = B2 * A;Y3 = B3 * A;Y4 = B4 * A;subplot(2,2,1);plot(A(1,:),A(2,:), '-*'); hold on;plot(Y1(1,:),Y1(2,:), '-r*');grid on;axis([-1 3 -1 3]);subplot(2,2,2);plot(A(1,:),A(2,:), '-*'); hold on;plot(Y2(1,:),Y2(2,:), '-r*');grid on;axis([-1 3 -1 3]);subplot(2,2,3);plot(A(1,:),A(2,:), '-*'); hold on;plot(Y3(1,:),Y3(2,:), '-r*');grid on;axis([-1 3 -1 3]);subplot(2,2,4);plot(A(1,:),A(2,:), '-*'); hold on;plot(Y4(1,:),Y4(2,:), '-r*');grid on;axis([-1 3 -1 3]);

    2

  3. 旋轉(zhuǎn)

    所有的變換其實(shí)都可以通過上面的伸縮和切變變換的到,如果合理地對變換矩陣B取值,能得到圖形旋轉(zhuǎn)的效果,如下,

    clf;A = [0, 1, 1, 0, 0;...     1, 1, 0, 0, 1];  % 原空間theta = pi/6;B = [cos(theta) sin(theta); -sin(theta) cos(theta)];Y = B * A;figure;plot(A(1,:),A(2,:), '-*'); hold on;plot(Y(1,:),Y(2,:), '-r*');grid on;axis([-1 3 -1 3]);

    3

好,關(guān)于矩陣乘就這些了。那么,我們接著就進(jìn)入主題了,對特定的向量,經(jīng)過一種方陣變換,經(jīng)過該變換后,向量的方向不變(或只是反向),而只是進(jìn)行伸縮變化(伸縮值可以是負(fù)值,相當(dāng)于向量的方向反向)?這個(gè)時(shí)候我們不妨將書上對特征向量的定義對照一遍:

數(shù)學(xué)教材定義: 設(shè)A是n階方陣,如果存在 λ 和n維非零向量X,使 

 ,則 λ 稱為方陣A的一個(gè)特征值,X為方陣A對應(yīng)于或?qū)儆谔卣髦?nbsp;λ 的一個(gè)特征向量。

上面特定的向量不就是特征向量嗎? λ 不就是那個(gè)伸縮的倍數(shù)嗎?因此,特征向量的代數(shù)上含義是:將矩陣乘法轉(zhuǎn)換為數(shù)乘操作;特征向量的幾何含義是:特征向量通過方陣A變換只進(jìn)行伸縮,而保持特征向量的方向不變。特征值表示的是這個(gè)特征到底有多重要,類似于權(quán)重,而特征向量在幾何上就是一個(gè)點(diǎn),從原點(diǎn)到該點(diǎn)的方向表示向量的方向。

特征向量有一個(gè)重要的性質(zhì):同一特征值的任意多個(gè)特征向量的線性組合仍然是A屬于同一特征值的特征向量。關(guān)于特征值,網(wǎng)上有一段關(guān)于“特征值是震動的譜”的解釋:

戲說在朝代宋的時(shí)候,我國就與發(fā)現(xiàn)矩陣特征值理論的機(jī)會擦肩而過。話說沒有出息的秦少游在往池塘里扔了一顆小石頭后,剛得到一句“投石沖開水底天”的泡妞詩對之后,就猴急猴急地去洞房了,全然沒有想到水波中隱含著矩陣的特征值及特征向量的科學(xué)大道理。大概地說,水面附近的任一點(diǎn)水珠在原處上下振動(實(shí)際上在做近似圓周運(yùn)動),并沒有隨著波浪向外圈移動,同時(shí)這些上下振動的水珠的幅度在漸漸變小,直至趨于平靜。在由某塊有著特定質(zhì)量和形狀的石頭被以某種角度和速度投入某個(gè)面積和深度特定的水池中所決定的某個(gè)矩陣中,紋波蕩漾中水珠的漸變過程中其特征值起著決定性的作用,它決定著水珠振動的頻率和幅度減弱的衰退率。

在理解關(guān)于振動的特征值和特征向量的過程中,需要加入復(fù)向量和復(fù)矩陣的概念,因?yàn)樵趯?shí)際應(yīng)用中,實(shí)向量和實(shí)矩陣是干不了多少事的。機(jī)械振動和電振動有頻譜,振動的某個(gè)頻率具有某個(gè)幅度;那么矩陣也有矩陣的譜,矩陣的譜就是矩陣特征值的概念,是矩陣所固有的特性,所有的特征值形成了矩陣的一個(gè)頻譜,每個(gè)特征值是矩陣的一個(gè)“諧振頻點(diǎn)”。

美國數(shù)學(xué)家斯特讓(G..Strang)在其經(jīng)典教材《線性代數(shù)及其應(yīng)用》中這樣介紹了特征值作為頻率的物理意義,他說:

大概最簡單的例子(我從不相信其真實(shí)性,雖然據(jù)說1831年有一橋梁毀于此因)是一對士兵通過橋梁的例子。傳統(tǒng)上,他們要停止齊步前進(jìn)而要散步通過。這個(gè)理由是因?yàn)樗麄兛赡芤缘扔跇虻奶卣髦抵坏念l率齊步行進(jìn),從而將發(fā)生共振。就像孩子的秋千那樣,你一旦注意到一個(gè)秋千的頻率,和此頻率相配,你就使頻率蕩得更高。一個(gè)工程師總是試圖使他的橋梁或他的火箭的自然頻率遠(yuǎn)離風(fēng)的頻率或液體燃料的頻率;而在另一種極端情況,一個(gè)證券經(jīng)紀(jì)人則盡畢生精力于努力到達(dá)市場的自然頻率線。特征值是幾乎任何一個(gè)動力系統(tǒng)的最重要的特征。

其實(shí),這個(gè)矩陣之所以能形成“頻率的譜”,就是因?yàn)榫仃囋谔卣飨蛄克傅姆较蛏暇哂袑ο蛄慨a(chǎn)生恒定的變換作用:增強(qiáng)(或減弱)特征向量的作用。進(jìn)一步的,如果矩陣持續(xù)地疊代作用于向量,那么特征向量的就會凸現(xiàn)出來。

更多關(guān)于特征向量及特征值的實(shí)際例子參見Wikipedia: http://zh.wikipedia.org/wiki/特征向量 。

特征值分解

設(shè)A有n個(gè)特征值及特征向量,則:

將上面的寫到一起成矩陣形式:

若(x1,x2,...,xn)可逆,則左右兩邊都求逆,則方陣A可直接通過特征值和特征向量進(jìn)行唯一的表示,令

Q=(x1,x2,...,xn)

Σ?=?diag(λ1,?λ2,?...,?λn)

則 

 ,該表達(dá)式稱為方陣的特征值分解,這樣方陣A就被特征值和特征向量唯一表示。

一個(gè)變換方陣的所有特征向量組成了這個(gè)變換矩陣的一組基。所謂基,可以理解為坐標(biāo)系的軸。我們平常用到的大多是直角坐標(biāo)系,在線性代數(shù)中可以把這個(gè)坐標(biāo)系扭曲、拉伸、旋轉(zhuǎn),稱為基變換。我們可以按需求去設(shè)定基,但是基的軸之間必須是線性無關(guān)的,也就是保證坐標(biāo)系的不同軸不要指向同一個(gè)方向或可以被別的軸組合而成,否則的話原來的空間就“撐”不起來了。從線性空間的角度看,在一個(gè)定義了內(nèi)積的線性空間里,對一個(gè)N階對稱方陣進(jìn)行特征分解,就是產(chǎn)生了該空間的N個(gè)標(biāo)準(zhǔn)正交基,然后把矩陣投影到這N個(gè)基上。N個(gè)特征向量就是N個(gè)標(biāo)準(zhǔn)正交基,而特征值的模則代表矩陣在每個(gè)基上的投影長度。特征值越大,說明矩陣在對應(yīng)的特征向量上的方差越大,功率越大,信息量越多。不過,特征值分解也有很多的局限,比如說變換的矩陣必須是方陣。

在機(jī)器學(xué)習(xí)特征提取中,意思就是最大特征值對應(yīng)的特征向量方向上包含最多的信息量,如果某幾個(gè)特征值很小,說明這幾個(gè)方向信息量很小,可以用來降維,也就是刪除小特征值對應(yīng)方向的數(shù)據(jù),只保留大特征值方向?qū)?yīng)的數(shù)據(jù),這樣做以后數(shù)據(jù)量減小,但有用信息量變化不大,PCA降維就是基于這種思路。

Matlab中通過eig函數(shù)就可求得特征值和特征向量矩陣。

>> B = [ 3     -2      -.9    2*eps     -2      4       1    -eps     -eps/4  eps/2  -1     0     -.5    -.5      .1    1   ]B =    3.0000   -2.0000   -0.9000    0.0000   -2.0000    4.0000    1.0000   -0.0000   -0.0000    0.0000   -1.0000         0   -0.5000   -0.5000    0.1000    1.0000>> [V D] = eig(B)V =    0.6153   -0.4176   -0.0000   -0.1437   -0.7881   -0.3261   -0.0000    0.1264   -0.0000   -0.0000   -0.0000   -0.9196    0.0189    0.8481    1.0000    0.3432D =    5.5616         0         0         0         0    1.4384         0         0         0         0    1.0000         0         0         0         0   -1.0000

D對角線的元素即為特征值(表示了伸縮的比例),D就是特征值分解公式中的Q,V的每一列與D沒列對應(yīng),表示對應(yīng)的特征向量,即特征值分解中的Σ。

奇異值分解

特征值分解是一個(gè)提取矩陣特征很不錯的方法,但是它只適用于方陣。而在現(xiàn)實(shí)的世界中,我們看到的大部分矩陣都不是方陣,比如說有M個(gè)學(xué)生,每個(gè)學(xué)生有N科成績,這樣形成的一個(gè)M * N的矩陣就可能不是方陣,我們怎樣才能像描述特征值一樣描述這樣一般矩陣呢的重要特征呢?奇異值分解就是用來干這個(gè)事的,奇異值分解是一個(gè)能適用于任意的矩陣的一種分解的方法。我們有必要先說說特征值和奇異值之間的關(guān)系。

對于特征值分解公式, ATA 是方陣,我們求 ATA 的特征值,即 

 ,此時(shí)求得的特征值就對應(yīng)奇異值的平方,求得的特征向量v稱為右奇異向量,另外還可以得到:

所求的ui就是左奇異向量, σi 就是奇異值。已有人對SVD的幾何機(jī)理做了清晰的分析,非常受用,就不重復(fù)造輪子,下文為轉(zhuǎn)載自http://blog.sciencenet.cn/blog-696950-699432.html 。

SVD分解

SVD之所以很有效,是因?yàn)椋涸诤芏嗲闆r下,前10%甚至1%的奇異值的和就占了全部的奇異值之和的99%以上了。在這里,我們用圖像簡單的實(shí)踐一下SVD的大妙處,下面是matlab對圖像進(jìn)行SVD分解的例子,

I = imread('lena_gray.bmp');                  % 512x512的Lena圖像im = double(I);[s,v,d]=svd(im);                              % svd分解,svd分解后特征值v對角線按從大到小排列,因此可以選擇特征值大的進(jìn)行恢復(fù)recv1=s(:,1:20)*v(1:20,1:50)*d(:,1:50)';      % svd取最高的100個(gè)特征值進(jìn)行恢復(fù)recv2=s(:,1:50)*v(1:50,1:100)*d(:,1:100)';    % svd取最高的100個(gè)特征值進(jìn)行恢復(fù)recv3=s(:,1:200)*v(1:200,1:200)*d(:,1:200)';  % svd取最高的100個(gè)特征值進(jìn)行恢復(fù)subplot(221);imshow(I);title('原圖');subplot(222);imshow(mat2gray(recv1));title('恢復(fù):左奇異20、右奇異50');subplot(223);imshow(mat2gray(recv2));title('恢復(fù):左奇異50、右奇異100');subplot(224);imshow(mat2gray(recv3));title('恢復(fù):左奇異200、右奇異200');

圖注:SVD二維圖像壓縮恢復(fù)

如果按左下角的方式壓縮原圖,則存儲量變?yōu)椋?0x50+100x100+50=12500,而存儲原圖像的存儲量為512x512=262144,則壓縮比為262144/12500=20.97,這里沒有考慮存儲數(shù)據(jù)類型的差異。

SVD分解相對于特征值分解的優(yōu)勢就是:

  1. 分解的矩陣可以是任意矩陣
  2. 在恢復(fù)信號的時(shí)候左右奇異值可以選擇不同的維度

另外值得注意的一點(diǎn):不論是奇異值分解還是特征值分解,分解出來的特征向量都是正交的。

奇異值分解與PCA

關(guān)于奇異值與PCA的關(guān)系, http://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html 給了很好的解釋,也直接整理過來,感謝原作者:

圖注:SVD與PCA

PCA就是一種用于對數(shù)據(jù)進(jìn)行降維的方法(降維肯定會丟失數(shù)據(jù),只不過能在減少大量存儲量的同時(shí)損失盡可能少),參見之前matlab對圖像進(jìn)行SVD分解的例子,更容易理解:實(shí)現(xiàn)了SVD就實(shí)現(xiàn)了PCA,PCA僅是SVD的包裝。

PCA的應(yīng)用很廣,主要用在機(jī)器學(xué)習(xí)中對特征進(jìn)行降維,還能用于去噪,下面兩圖是PCA降維和PCA去噪的例子(圖片來自鄒博PPT:北京9月秋季班·機(jī)器學(xué)習(xí)初步)

圖注:PCA降維

降維說白了就是將信息通過投影到更低得多維度,這樣必然會帶來信息的丟失,但就如上圖,這種信息的丟失卻有時(shí)對分類沒有影響,反而能降低識別算法的維度,提高速度,緩解所謂的維度災(zāi)難。

圖注:PCA去噪

PCA去噪的前提是噪聲的特征值會比信號的特征值小,即信噪比高的情況,否則PCA去噪會產(chǎn)生逆效果——把信號去掉了而噪聲沒去掉。

SVD其它

SVD還有其它很多方面的應(yīng)用,通過查找資料,這里先做個(gè)簡單的羅列,有機(jī)會再一個(gè)個(gè)研究:

  1. 求偽逆。我們知道,矩陣求逆要求矩陣必須是方陣,SVD可以用來求任意矩陣的逆運(yùn)算,求任意矩陣的逆矩陣稱為求偽逆
  2. 最小二乘法求解。憑著對《矩陣論》的零星的記憶,SVD算法就是因?yàn)槟芮髠文嫠杂脕砬蠼庾钚《朔ā?/li>
  3. 基于SVD的文本分類。首先接觸是從吳軍老師的《數(shù)學(xué)之美》一書上看到的,大致是:通過TF/IDF(term frequency/inverse document frequency)構(gòu)建“一百萬篇文章和五十萬詞的關(guān)聯(lián)性”的矩陣 A1000000x500000 ,然后對A矩陣使用SVD分解之后,存儲量減小,而且左奇異值矩陣和右奇異值矩陣以及奇異值矩陣的物理含義將非常明晰,http://blog.csdn.net/wangzhiqing3/article/details/7431276 有簡單介紹,更多參見吳軍老師的《數(shù)學(xué)之美》

另外,開源視覺庫OpenCV中也提供SVD分解的算法。

參考

  1. 強(qiáng)大的矩陣奇異值分解(SVD)及其應(yīng)用
  2. http://blog.sciencenet.cn/blog-696950-699432.html ,關(guān)于SVD部分的講解即出自此處。
  3. http://www.cise.ufl.edu/~srajaman/Rajamanickam_S.pdf
  4. July培訓(xùn)班PPT:“北京9月秋季班:貝葉斯、PCA、SVD”.
  5. 戴華編著《矩陣論》 教材,科學(xué)出版社. 有時(shí)候明白一點(diǎn)之后再回頭參考數(shù)學(xué)教材要比網(wǎng)上大把的抓好得多,豁然開朗。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
機(jī)器學(xué)習(xí)中的數(shù)學(xué)(5)
【推薦系統(tǒng)】特征值分解(譜分解)和奇異值分解(SVD),即在PCA上的應(yīng)用
機(jī)器學(xué)習(xí) | SVD矩陣分解算法,對矩陣做拆分,然后呢?
【機(jī)器學(xué)習(xí)】這次終于徹底理解了奇異值分解(SVD)原理及應(yīng)用
SVD與PCA
主成分分析(PCA)和奇異值分解(SVD)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服