如何理解矩陣的「秩」?
形象的理解,或者功能特點其他的角度之類的
閱讀提示,這篇文章是在 如何理解行列式的本質 的基礎上作答的。
先說答案:
- 「秩」是圖像經過矩陣變換之後的空間維度
- 「秩」是列空間的維度
下面分別解釋這兩個答案,前者更直觀,而後者是前者的原因。
1 「秩」是圖像經過矩陣變換之後的空間維度
這是比較直觀的一個角度。
我們通過旋轉矩陣 進行變換:
因此,旋轉矩陣的「秩」為2。
我們通過矩陣 進行變換:
因此,此矩陣的「秩」為1。
我們通過矩陣 進行變換:
因此,此矩陣的「秩」為0。
所以,「秩」是圖像經過矩陣變換之後的空間維度。
要解釋為什麼,我們需要另外一個角度的答案。
2 「秩」是列空間的維度
首先看下什麼是列空間。
2.1 列空間
我們通過旋轉矩陣來解釋什麼是列空間:
通過改變 的值,可以用 來表示二維平面上的所有點:
可以自己動手試試:
此處有互動內容,點擊此處前往操作。
所以,列空間就是矩陣的列向量所能張成(即通過 來表示)的空間。
列空間的維度就是「秩」,旋轉矩陣的列空間是二維的,所以「秩」就為2。
那麼這種定義方式怎麼和之前說的「秩」是圖像經過矩陣變換之後的空間維度聯繫起來呢?
2.2 矩陣的變換目標是列空間
有這麼一個矢量:
我把基畫出來的原因是因為矩陣變換的其實是基。
舉例子來看看,比如旋轉(旋轉矩陣):
如果要說詳細點,實際上:
2.3 兩種定義方式的聯繫
用旋轉矩陣對二維的正方形進行線性變換,實際上是一個二維空間到另外一個二維空間的變換:
對於矩陣 ,他的列空間是一維的:
因此,這個矩陣的「秩」就是1,用它對二維的正方形進行線性變換,實際上是一個二維空間到另外一個一維空間的變換:
同理,矩陣 的列空間是個點,因此它的「秩」就是0。
3 關於嚴格性的一個問題
上面我說矩陣的「秩」是列空間的維度,這並非完全正確的。
列空間的維度準確來說,是「列秩」,行空間的維度是「行秩」,但是,還好有,「秩」=「列秩」=「行秩」是恆成立的。所以直接把「列秩」稱為「秩」也不算錯誤。
4 最後
了解了秩,就很容易回答下面這個問題。
我們知道矩陣是做線性變換的,比如說一個 的矩陣:
從圖像上看:
被一個的矩陣變換到了三維空間:
那麼,通過的矩陣能否把一個二維正方形:
變換為一個三維正方體呢?
你們家r口人,然後拍了n張照片.
這個r就是秩了.不知道這麼理解對不對.
每個人代表一行,大概就是這麼個東西了.上面這個,秩是3.
這裡補充說明一下,匿名用戶「把矩陣看成線性映射那麼秩就是象空間的的維數」的答案。
線性代數中最重要的三個概念是線性空間、線性映射(函數)和對偶。
在很多課本中處於很重要位置的矩陣反而不是重要概念,是個較次要的概念。
所有線性代數中的概念幾乎都可以歸於以上三者。
例如矩陣可以視為線性映射自然引出的概念。
矩陣的秩可以看作線性映射象空間的維數。
矩陣的和可以看作線性映射的和。
矩陣的積可以看作線性映射的複合。
矩陣的轉置可以伴隨運算元所對應的矩陣。
伴隨運算元是指f L(V,W),W*,V*分別是V和W的對偶空間
若有f*滿足W* V*,f*(g)=gf=gf,其中g W*
f*稱為f的伴隨運算元。
二次型似乎不線性,實際上是雙線性函數。
行列式是n線性反對稱函數。
在有限維情況下,線性映射和矩陣同構。
但無限維情況下,沒有這種結論,這是為何矩陣無法取代映射,
但映射可以取代矩陣的原因。
那為何工科線性代數,不以線性空間、線性映射(函數)和對偶為核心,
反而要以矩陣為核心呢?原因有二,一工程問題大都屬於有限維問題。
二以線性空間、線性映射(函數)和對偶為核心的線性代數雖然更本質但難度太大,大部分工科生無法學懂。
實際上,國內確實有以線性空間、線性映射(函數)和對偶為核心而不以矩陣為核心的線性代數課本,如龔昇的線性代數五講(網上有盜版,建議買正版),但對大部分工科生而言一輩子也沒必要看懂這本書。
矩陣可以看做是由向量組成。要理解秩,需要先理解什麼是向量的線性相關:
所謂相關,就是指這些向量是成比例的。比如:
α1:(1,2,3) α2:(2,4,6) α3:(3,6,9),他們可以組成一個3?3的矩陣。
我們可以發現,其實三個向量的值是成比例的。
如果我們考慮這麼一組方程:
x+2y+3z=0
2x+4y+6z=0
3x+6y+9z =0
看到這裡,很多人會發現,其實後面兩個方程是多餘的,因為兩邊把係數一除就跟第一個一樣了。真正有用的就一個,另外兩個是廢話。
非叫「秩」不可,有秩才有解_王治祥_新浪博客
首先來想一個問題,最初的那個人為什麼為什麼要叫他為「秩」,為什麼不叫「豬」「牛」「馬」?
舉個例子就很容易理解,大家排隊買票。如果大家互相不認識,那就會一個排一個,非常有秩序。然而,如果突然來了一個與隊伍前面的人認識的人,這個人又不自覺,非要插隊。那後面的人肯定要有意見了,說你要是這樣我前面還有認識的人呢,你插我也插,這樣整個隊伍就亂掉了,誰也買不成。
通過這個例子,可得以下結論:彼此不認識,那就不相關,就有秩序,問題就好解決;反之,彼此相關,就沒有秩序,問題就不好解決。
所以,數學家們定義,矩陣中的最大的不相關的向量的個數,就叫秩,可以理解為有秩序的程度。
從社會學的角度在考慮一下,政府機關是講人際關係的地方,可謂是關係錯綜複雜,通常都是近親繁殖。顯然,這些部門,用矩陣來說,就不滿秩,秩非常小。可以想像這些地方的工作肯定是搞不好的,因為沒有秩序。所以想找個好單位,滿秩可以作為一項評價指標哦~
把矩陣看成線性映射那麼秩就是象空間的的維數
首先,講到矩陣的秩,幾乎必然要引入矩陣的SVD分解:X=USV",U,V正交陣,S是對角陣。如果是完全SVD分解的話,那S對角線上非零元的個數就是這個矩陣的秩了(這些對角線元素叫做奇異值),還有些零元,這些零元對秩沒有貢獻。
有了這個前提,我們就可以用各種姿勢來看秩了:
1.把矩陣當做樣本集合,每一行(或每一列,這個無所謂)是一個樣本,那麼矩陣的秩就是這些樣本所張成的線性子空間維數。如果矩陣秩遠小於樣本維數(即矩陣列數),那麼這些樣本相當於只生活在外圍空間中的一個低維子空間,這樣就能實施降維操作。舉個例子,同一個人在不同光照下採得的正臉圖像,假設每一張都是192x168的,且採集了50張,那構成的數據矩陣就為50行192x168列的,但是如果你做SVD分解就會發現,大概只有前10個奇異值比較大,其他的奇異值都接近零,因此實際上可以將接近零的奇異值所對應的那些維度丟掉,只保留前10個奇異值對應的子空間,從而將數據降維到10維的子空間了。
2.把矩陣當做一個映射,既然是映射,那就得考慮它作用在向量x上的效果Ax。注意Ax相當於A的列的某個線性組合,如果矩陣是低秩的,這意味著這些列所張成的空間是外圍空間的一個低維子空間,這個空間由Ax表達(其中x任意)。換句話說,這個矩陣把R^n空間映射到R^m空間,但是其映射的像只在R^m空間的一個低維子空間內生活。從SVD理解的話,Ax=USV"x,因此有三個變換:第一是V"x,相當於在原始的R^n空間旋轉了一下坐標軸,這樣只是坐標的變化,不改變向量本身(例如長度不變);第二是S(V"x),這相當於沿著各個坐標軸做拉伸,並且如果S的對角線上某些元素為零,那麼這些元素所對應的那些坐標軸就相當於直接丟掉了;最後再U(SV"x),還是一個坐標軸旋轉。總的來看,Ax就相當於把一個向量x沿著某些特定的方向做不同程度的拉伸(附帶上一些不關乎本質的旋轉),甚至丟棄,那些沒被丟棄的方向個數就是秩了。
這樣就有很多很直接的應用。例如考慮第一個意義。給定一堆數據,這些數據可能本身只是在一個低維子空間內生活(即可以用一個低秩矩陣表示),但是由於雜訊存在,我們拿到這些數據時它們看起來像是外圍空間中的點,沒有任何可以降維的跡象(即矩陣是滿秩的)。設我們拿到的數據是X,那麼根據這個設定,X應該能分解為一個低秩矩陣L和一個雜訊矩陣E的疊加,即X=L+E。現在問題是如何恢復出L,因為一旦找到L,就相當於去除了雜訊,同時降低了數據的複雜度(即維度)。怎麼恢復?可以通過求解min rank(L)+|E|_F^2, subject to X=L+E來恢復出L和E。秩就顯式地被用在這個問題里了。當然,這個問題往往只是引子,無數論文在寫出類似問題後不到三行就會把rank(L)換成|L|_*,這個就是另外一些故事了。。。
按我的經驗,跟秩有關的問題以及幾何意義,只需要仔細分析矩陣的SVD分解就能解決。但很可惜,大學裡的線性代數更喜歡去介紹SVD的兄弟——特徵值分解,而這個兄弟又往往只偏好對稱陣,不像SVD這樣所有實矩陣都可以分析,導致處理一般矩陣的秩時沒有一個趁手的工具。
如果把矩陣理解成線性映射的話,那麼秩可以理解為經過這次映射後線性空間保存的信息量。
秩就是可表達的真實維數,也可理解為獨立向量的個數(正交基)。
把其他類似問題的答案搬來這吧
http://www.zhihu.com/question/39326459
這應該算是授漁
一般理解一個數學概念需要理解兩點,
1含義,2操作。
以秩這個線性代數中抽象的概念作為例子來解釋這兩點。
首先給出在這裡秩的基本定義,一個向量組中,極大線性無關組中向量的個數。
對於秩的含義,就是希望找到一個向量組A的最小子集B,B能夠把A表示出完整地表示出來。 注意我這裡用的是表示這個詞,不涉及任何數學操作。 那麼這個含義就能夠幫助我們聯想其他的例子來輔助我們理解秩這個概念,比如所有的英文單詞都是由26個字母表示出來的,所有的數都是由0-9這十個數字表示出來的等等。這樣脫離具體操作更容易把握數學概念的本質。
但回到數學概念,我們還希望這些概念能幫助我們分析推演抽象問題,那麼這是我們就還需要這個概念所對應的操作含義,就是給出你具體的形式操作方法,在這裡對於秩來說就是,具體地給出如何用向量表示其他向量,即線性組合。那麼如果同樣的秩的概念平移到單詞,那麼表示具體指的是字母間的組合拼接。看視頻很快啊~不用那麼麻煩的解釋:
http://m.bilibili.com/video/av5987715.html
就是一堆數據里乾貨的量
表面上,秩是行最簡矩陣不為零的行數,是矩陣存在r級子式不為零,所有r+1級子式全為零中的r。本質上秩是向量的極大線性無關組所含向量的個數,是矩陣列(行)向量組的極大線性無關組所含向量的個數,是空間的基底所含向量的個數,是(n-齊次線性方程組的基礎解系所含解向量的個數) or (n-齊次線性方程組的解空間的維數)。
在解決線性方程組的問題上,矩陣的秩可以看作方程組真實的約束個數,和變數的個數比較以後,可以判定有解無解,或者解是不是唯一
矩陣可以做是向量的組合,對於這些向量有多少是不能被其他任何向量取代的。這個向量個數就是矩陣的秩了。形象來說,比如一維空間向量是一個數a,那麼在這個空間中其他的任意數x都可以通過x=k*a來表示。對於二維空間,任意兩個不平行的向量a、b,都可以表示空間中的任意向量X有
X = K1*a + K2*b。其他以此類推
矩陣的秩,就是矩陣初等變換後化成行階梯形時的非零行的行數。用這個求秩的方法來定義秩,我認為就蠻好的。為什麼呢,應為一個矩陣變換成行階梯形時的非零行行數,是它的一個根本的性質,是無法改變的。一個矩陣,對它進行一系列的各種初等變換,它可以表現的非常的豐富多姿,矩陣的元素可以各種各樣的,但是,它的根本性質,就是行階梯形時的非零行的行數,是永遠不會變的。
如果把矩陣看成一個向量組,那麼秩就是線性無關向量的個數,也就是向量組的維度。這就是為什麼秩這麼重要的原因。因為維度,在現實空間中,太重要了。不是一個維度的生物,無法交互發生關係,反映在數學上,就是,不是一個維度的對象,相互運算也是沒有意義的。
可以理解為,一個向量組的線性空間中,經過多次變換數不改變的維度。
http://www.bilibili.com/video/av6731067
反正這套視頻對我理解線性代數幫助挺大的,有時間可以試一下。
秩就是基的個數,基就是特徵,基就用最小的粒度能夠描述所有的東西,如上面那張圖。所以機器學習里很多都是在搞基。哈哈忽略我這個很水的答案吧
對於矩陣最初級的認識就是
Ax=b
這個發明矩陣和矩陣運算規則的人絕對是天才。
矩陣和多元一次方程組關係密切,你用消元法最後無法消去的等式個數就是rank
推薦閱讀:
※如何通俗易懂地解釋遺傳演算法?有什麼例子?
※如何看待IMO 2017中國隊團體總分位列第二?
※存不存在表面積與體積都相等的不同幾何體?
※調和級數既然是發散的,那麼就是無窮大量了,它發散的快嗎,什麼級別的,lnn,n,....?
※一元微分理論中,為什麼 d(dy/dx)/dx=d^2y/(dx)^2 ?