矩陣:特徵向量(Eigenvector)

2021-02-20 算法與數學之美

出自無名黑洞的博客

原文地址:http://blog.csdn.net/wangxiaojun911/article/details/6737933

矩陣是個非常抽象的數學概念,很多人到了這裡往往望而生畏。比如矩陣的乘法為什麼有這樣奇怪的定義?實際上是由工程實際需要定義過來的。如果只知道概念不懂有何用處,思維就只有抽象性而沒有直觀性,實在是無法感受矩陣的精妙。

直觀性說明

我們先看點直觀性的內容。矩陣的特徵方程式是:

A * x = lamda * x

這個方程可以看出什麼?矩陣實際可以看作一個變換,方程左邊就是把向量x變到另一個位置而已;右邊就是把向量x作了一個拉伸,拉伸量是lamda。那麼它的意義就很明顯了,表達了矩陣A的一個特性就是這個矩陣可以把向量x拉長(或縮短)lamda倍,僅此而已。

任意給定一個矩陣A,並不是對所有的x它都能拉長(縮短)。凡是能被A拉長(縮短)的向量稱為A的特徵向量(Eigenvector);拉長(縮短)量就為這個特徵向量對應的特徵值(Eigenvalue)。

值得注意的是,我們說的特徵向量是一類向量,因為任意一個特徵向量隨便乘以一個標量結果肯定也滿足以上方程,當然這兩個向量都可以看成是同一個特徵向量,而且它們也都對應同一個特徵值。

如果特徵值是負數,那說明了矩陣不但把向量拉長(縮短)了,而且讓向量指向了相反的方向。

一個矩陣可能可以拉長(縮短)好幾個向量,所以它可能就有好多個特徵值。有趣的是,如果A是實對稱矩陣,那麼那些不同的特徵值對應的特徵向量肯定是互相正交的。

我們也可以說,一個變換矩陣的所有特徵向量組成了這個變換矩陣的一組基。所謂基可以理解為坐標系的軸。我們平常用到的大多是直角坐標系,在線形代數中可以把這個坐標系扭曲、拉伸、旋轉,稱為基的變換。我們可以按我們的需求去設定基,但是基的軸之間必須是線形無關的,也就是保證坐標系的不同軸不要指向同一個方向或可以被別的軸組合而成,否則的話原來的空間就「撐」不起來了。在主成分分析(Principal Component Analysis)中我們通過在拉伸最大的方向設置基,忽略一些小的量,可以極大地壓縮數據而減小失真。

變換矩陣的所有特徵向量作為空間的基之所以重要,是因為在這些方向上變換矩陣可以拉伸向量而不必扭曲和旋轉它,使得計算大為簡單。所以特徵值固然重要,我們的終極目標卻是特徵向量。

幾個重要的抽象概念

我們回到矩陣的意義上,先介紹幾個抽象概念:

:所有經過變換矩陣後變成了零向量的向量組成的集合,通常用Ker(A)來表示。假如你是一個向量,有一個矩陣要來變換你,如果你不幸落在了這個矩陣的核裡面,那麼很遺憾轉換後你就變成了虛無的零。特別指出的是,核是「變換」(Transform)中的概念,矩陣變換中有一個相似的概念叫「零空間」。有的材料在談到變換的時候使用T來表示,聯繫到矩陣時才用A,本文把矩陣直接看作「變換」。核所在的空間定義為V空間,也就是全部向量原來在的空間。

值域:某個空間中所有向量經過變換矩陣後形成的向量的集合,通常用R(A)來表示。假設你是一個向量,有一個矩陣要來變換你,這個矩陣的值域表示了你將來可能的位置,你不可能跑到這些位置之外。值域的維度也叫做秩(Rank)。值域所在的空間定義為W空間。W空間中不屬於值域的部分等會兒我們會談到。

空間:向量加上加、乘運算構成了空間。向量可以(也只能)在空間中變換。使用坐標系(基)在空間中描述向量。

不管是核還是值域,它們都是封閉的。意思是如果你和你的朋友困在核裡面,你們不管是相加還是相乘都還會在核裡面,跑不出去。這就構成了一個子空間。值域同理。

數學家證明了,V的維度一定等於它的任意一個變換矩陣的核的維度加上值域的維度。

dim( V ) = dim( Ker( A ) ) + dim( R( A) )

嚴格的證明過程可以參考教科書,這裡說一個直觀的證法:

V的維度也就是V的基的數目,這些基分為兩部分,一部分在核中,一部分是值域中非零象的原象(肯定可以分,因為核和值域都是獨立的子空間)。如果把V中的任意向量用基的形式寫出來,那麼這個向量必然也是一部分在核中,另一部分在值域中非零象的原象裡。現在對這個向量作變換,核的那部分當然為零了,另一部分的維度剛好等於值域的維度。

變換矩陣行空間和零空間的關係

另外我們根據矩陣的性質,變換矩陣的行數等於V的維度,變換矩陣的秩等於值域R的維度,所以也可以記成:

A的行數= dim( A的零空間)+ A的秩

因為A的秩又是A行空間的維度(注意在非滿秩矩陣中這個數肯定小於行數):

A的行數= dim( A的零空間)+ dim( A的行空間 )

為什麼要寫成這個形式?因為從這裡我們可以發現A的零空間和A的行空間是正交互補的。正交是因為零空間就是核,按定義乘以A的行向量當然為零。互補是因為它們加起來剛好張成整個V空間。

這個正交互補導致了非常好的性質,因為A的零空間和A的行空間的基組合起來剛好可以湊成V的基。

變換矩陣列空間和左零空間的關係

如果把以上方程取轉置,可得:

A的列數= dim( A^T的零空間)+ dim( A的列空間 )

因為A^T的實際意義是把值域和定義域顛倒了過來,所以A^T的零空間就是從值域以外的區域投向V中零點的所有向量的空間(有點拗口!),有人把它稱為「左零空間」(LeftNull Space)。這樣:

A的列數= dim( A的左零空間)+ dim( A的列空間 )

同樣A的左零空間與A的列空間也正交互補,它們加起來剛好可以張成W空間。它們的基也構成了W的基。

變換矩陣行空間和列空間的關係

不要忘了變換矩陣實際上是把目標向量從行空間轉化到列空間。

矩陣的行空間,列空間,零空間,左零空間構成了我們在線形代數研究中的所有空間,把它們的關係弄清楚,對於分別的基的轉換非常重要。

特徵方程的秘密

我們試圖構造一個這樣的變換矩陣A:它把向量變換到一個值域空間,這個值域空間的基是正交的;不僅如此,還要求任意一個基v都有A* u = lamda * v的形式,u是原來空間的一個已知的基。這樣我們就能把複雜的向量問題轉化到一個異常簡單的空間中去。

如果u的數量不等於v,那麼用A^T*A取代A,可以變為一個對稱且半正定矩陣,它的特徵向量正是要求的基v!

再次說明,矩陣不等於變換,把矩陣看成變換隻是提供一個理解變換矩陣的方法。或者說矩陣只是變換的其中一種表現形式。


交流分享、謝謝支持!

<如果你覺得本文還不錯,對你的學習帶來了些許幫助,請幫忙掃描二維碼,支持本公眾號的運營>



相關焦點

  • 數學學習如此容易:用Python計算特徵值和特徵向量
    ,那麼這樣的數λ稱為矩陣A特徵值,非零向量x稱為A的對應於特徵值λ的特徵向量。特徵值 是方程式Ax=ax的標量解(scalar solutions),其中A是一個二維矩陣,而x是一維向量。 特徵向量 實際上就是表示特徵值的向量。提示:特徵值和特徵向量都是基本的數學概念,並且常用於一些重要的算法中,如 主成分分析(PCA) 算法。
  • Lecture 10 Eigenvalue and Eigenvector
    線性空間的特徵是什麼?有什麼特殊的線性空間?它們的性質是什麼樣的?最終我將充分討論什麼是線性變換,以及其代數實質。歡迎來到新大陸!(本文不適合暗黑模式下食用哦!推薦橫屏閱讀。)1.within the same vector space.
  • eigenvalue and eigenvector
    該論文的主要結論是Hermitian matrix A特徵向量的 norm square 可以通過它的特徵值以及去掉一個特定行和列的submatrix M的特徵值得到:證明過程很簡單,利用伴隨矩陣(adjugate matrices)
  • Python求解特徵向量和拉普拉斯矩陣
    學過線性代數和深度學習先關的一定知道特徵向量和拉普拉斯矩陣,這兩者是很多模型的基礎,有著很重要的地位,那用python要怎麼實現呢?numpy和scipy兩個庫中模塊中都提供了線性代數的庫linalg,scipy更全面些。
  • 矩陣的重要特性:特徵向量
    凡是能被A拉長(縮短)的向量稱為A的特徵向量 (Eigenvector);拉長(縮短)量就為這個特徵向量對應的特徵值 (Eigenvalue)。值得注意的是,我們說的特徵向量是一類向量,因為任意一個特徵向量隨便乘以一個標量結果肯定也滿足以上方程,當然這兩個向量都可以看成是同一個特徵向量,而且它們也都對應同一個特徵值。
  • 矩陣的特徵值與特徵向量
    ,也稱v為特徵值λ對應的特徵向量。五、實對稱矩陣特徵分解的性質:        (1) 實對稱矩陣的特徵值都是實數;        (2) 實對稱矩陣A的屬於不同特徵值的特徵向量相互正交;        (3) 設A是n×n的實對稱矩陣,則存在正交陣Q,使為對角陣(正交陣的逆等於其轉置,A有n個線性無關的特徵向量)。
  • 網絡拓撲結構-節點和邊特徵的簡介和R計算
    特徵向量中心性(Eigenvector centrality)其它的中心性度量多基於「狀態」、「聲望」或「排名」的概念給出。它們試圖表達的是:如果一個節點的鄰居中心性越高,節點本身的中心性也越高。這類度量本質上是隱式定義的,通常可以表達為某種恰當定義的線性系統方程的特徵向量形式。
  • 矩陣特徵值與特徵向量的幾何意義
    即, 如果對於數 λ,存在一個 n 維非零列向量X(即 X∈Rn 且 X≠0),使得AX= λX則稱數 λ 為矩陣 A 的一個特徵值, X 稱為矩陣 A 對應於 λ 的特徵向量。在線性代數中,研究線性變換就是研究相應的矩陣 A,矩陣 A 的特徵向量和特徵值是線性變換研究的重要內容。
  • 教程| 從特徵分解到協方差矩陣:詳細剖析和實現PCA算法
    數學上,線性變換的特徵向量是一個非簡併的向量,其方向在該變換下不變。該向量在此變換下縮放的比例稱為特徵值。一個線性變換通常可以由其特徵值和特徵向量完全描述。如果我們將矩陣看作物理運動,那麼最重要的就是運動方向(特徵向量)和速度(特徵值)。因為物理運動只需要方向和速度就可以描述,同理矩陣也可以僅使用特徵向量和特徵值描述。
  • 深入理解矩陣特徵值與特徵向量的物理意義
    顧名思義,特徵值和特徵向量表達了一個線性變換的特徵。在物理意義上,一個高維空間的線性變換可以想像是在對一個向量在各個方向上進行了不同程度的變換,而特徵向量之間是線性無關的,它們對應了最主要的變換方向,同時特徵值表達了相應的變換程度。
  • 2013考研數學衝刺複習:矩陣的特徵值與特徵向量講解
    矩陣的特徵值與特徵向量問題是考研數學中一常考點,然而在最後衝刺這一階段,同學們在做真題和模擬題《考研數學絕對考場最後八套題》時對這一考點還存在一些疑惑,對此,文都考研數學的輔導老師特撰此文講解矩陣的特徵值與特徵向量問題,助同學們考研成功。
  • Love Plus 矩陣
    如果圖不連通,那麼把聯通的部分看成一個圖, 然後把上面的流程再過一遍, 對於k個聯通的部分, 就有k個不同的特徵向量, 每個都有特質的不連接的部分設為1.例如,如果有2個聯通部分, 那麼就有2個非零的特徵向量。
  • 矩陣的瑰寶:深入挖掘特徵值和特徵向量,直觀地看抽象概念
    特徵值和特徵向量可能看起來是很抽象的概念,但它們在你周圍的世界中扮演著不可或缺的角色。因為一切都是由數據定義的,矩陣是處理數據的最佳工具,而它們又是矩陣中的瑰寶,可以揭示矩陣的性質。理解特徵值和特徵向量是什麼,如何推導它們,以及它們的應用,對于欣賞矩陣之美,以及更廣泛地理解數據和數學在世界中扮演的角色,都是不可或缺的。
  • 數據科學中的數學基礎: 矩陣和向量空間
    首先通過一個簡單例子來感性認識一下標量(scalar)、向量(vector)和矩陣(matrix)這 3 個數學概念。假設我們設計了一款網絡對戰遊戲,在遊戲中,玩家選擇自己的英雄與其他玩家對戰。每個英雄的能力由 3 種屬性描述:智力、敏捷和力量。為了方便表示,不妨用 i 表示智力、a 表示敏捷、s 表示力量。
  • R語言之矩陣操作
    下面是我參考《R語言與數據挖掘》總結出來以下關於矩陣運算的函數,其中包括矩陣的求和,轉置,等。+, -, * , /矩陣的四則運算,對應位置的元素進行運算要求矩陣的維數必須相同t()矩陣的行列轉置colSums()分別對矩陣的每一列進行求和rowSums()分別對矩陣的每一行進行求和colMeans()分別對矩陣的每一列進行求平均值