這是一份文科生都能看懂的線性代數簡介

2020-12-12 機器之心Pro

線性代數的概念對於理解機器學習背後的原理非常重要,尤其是在深度學習領域中。它可以幫助我們更好地理解算法內部到底是怎麼運行的,藉此,我們就能夠更好的做出決策。所以,如果你真的希望了解機器學習具體算法,就不可避免需要精通這些線性代數的概念。這篇文章中,我們將向你介紹一些機器學習中涉及的關鍵線性代數知識。

線性代數是一種連續形式的數學,被廣泛應用於理工類學科中;因為它可以幫助我們對自然現象建模,然後進行高效的計算。但是,由於線性代數是一種連續而非離散的數學,因此,很多計算機科學家都不太了解它。另外,線性代數還在幾乎所有的數學學科中都擁有著核心地位:例如幾何學和泛函分析。

線性代數中的概念是理解機器學習理論所必需的基礎知識,尤其是對那些處理深度學習算法的人而言。在剛接觸機器學習時,你可以不需要掌握線性代數。但到了一定程度後,當你希望更好地理解不同機器學習算法運作原理時,線性代數就很有用了,它可以幫助你在開發機器學習系統時更好地做決策。

在線性代數中,我們使用線性方程來表示數據,並把它們寫成矩陣或向量的形式。因此,基本上你都是在與矩陣和向量打交道,而不是標量(我們會在文章的稍後部分介紹這些概念)。如果你能夠想到使用一個合適的庫,比如 NumPy,你就可以通過簡短的幾行代碼,輕鬆實現複雜的矩陣乘法。請注意,這篇文章忽略了那些對機器學習並不重要的線性代數概念。

數學對象

標量

標量就是一個簡單的數,比如 24。

向量

向量是一個有序數組,能夠寫成一行或者一列的形式。向量只包含一個索引,用來表示向量中的某個特定元素。比如 V_2 表示向量中的第二個元素,在上面淡黃色的圖中是-8。

矩陣

矩陣是一個有序的二維數組,有兩個索引。第一個索引表示行,第二個索引表示列。例如,M_23 表示的是第二行、第三列的元素,在上面淡黃色的圖中是 8。矩陣可以有多個行或者列,注意一個向量也是一個矩陣,但僅有一行或者一列。

淡黃色圖中有一個矩陣的例子:一個 2×3 的矩陣 (行數×列數)。下圖中是另一個矩陣和對應的表示形式。

張量

三維張量是按照一定規律排列在方格中的數組,其中一個變量數字表示軸。張量有三個索引,其中第一個索引表示行,第二個索引表示列,第三個索引表示軸。例如,V_232 指向第二行、第三列、第二軸的元素,在下圖右邊的張量中表示 5。

張量是上面談到的概念中最常用的一個,因為張量是一個多維數組,同時可以是一個向量或者一個矩陣,具體取決於它的索引數量。例如,一階張量可以表示向量(1 個索引),二階張量可以表示矩陣(2 個索引),三階就是張量(3 個索引),更高階的稱為高階張量(超過 3 個索引)。

運算法則

矩陣和標量的計算

如果你在一個矩陣上加、減、乘、除一個標量,你所做的就是直接對矩陣的每個元素進行這些數學運算。下圖給出了矩陣數乘的一個很好的例子。

矩陣和向量的運算

對一個矩陣乘以一個向量,可以理解為對矩陣的每一行乘以向量的每一列,運算結果會是一個向量,它的行數和矩陣的行數一樣。下圖展示了這是如何計算的。

為了更好地理解這個概念,我們詳細講解一下第二張圖中的計算步驟。為了得到結果向量中的第一個元素 16,選擇拿來和矩陣相乘的向量中的元素 1 和 5,把它們與矩陣第一行中的元素 1 和 3 相乘,像這樣:1*1 + 3*5 = 16。對矩陣第二行的元素進行相同的計算:4*1 + 0*5 = 4。同樣,再計算矩陣第三行的元素:2*1 + 1*5 = 7。

這裡還有另一個例子:

在這裡,我們給出一個備忘錄:

矩陣間的加減法

矩陣間的加減法非常簡單直接。這裡要求,兩個矩陣需要維度相同,運算結果也會是一個相同維度的矩陣。你只需要將第一個矩陣中的每一個元素和第二個矩陣中對應位置的元素相加或者相減就可以了。如下圖所示:

矩陣間的乘法

如果你知道如何計算矩陣和向量間的乘法,矩陣間的乘法就也簡單了。注意,只有當第一個矩陣的列數和第二個矩陣的行數相等時,才能把它們兩個乘起來。運算結果會是一個矩陣,行數和第一個矩陣的行數相等,列數和第二個矩陣的列數相等。計算方法如下:

你只需要將第二個矩陣分成列向量,然後分別將第一個矩陣和每個列向量相乘。然後,將運算結果拼接成一個新的矩陣(不要把它們加起來!)。下圖逐步展示了計算過程:

同樣,我們也給出一個備忘錄:

矩陣的乘法性質

矩陣乘法擁有一些性質,根據這些性質,我們可以將大量計算整合成一個矩陣乘法。在下面我們會依次討論這些性質。為了便於理解,我們會先用標量來解釋這些性質,然後再使用矩陣形式。

交換律

數乘滿足交換律,但矩陣乘法並不滿足。這意味著,當我們在將兩個標量乘在一起的時候:7×3 和 3×7 的結果是一樣的,但當我們將兩個矩陣相乘起來的時候:A×B 並不等於 B×A。

結合律

數乘和矩陣乘法都滿足結合律。這意味著,數乘 3×(5×3)等於(3×5)×3,同時矩陣乘法 A×(B×C)等於(A×B)×C。

分配律

數乘和矩陣乘法都滿足分配律。這表示,數乘 3×(5+3)等於 3×5+3×3,而矩陣乘法 A×(B+C)等於 A×B +A×C。

單位矩陣

單位矩陣是一種特殊的矩陣,不過首先,我們需要定義什麼是「單位」。數字 1 是一個「單位」,因為任何數乘以 1 都等於它自身。因此,任何矩陣乘以一個單位矩陣都應該等於它自己。例如,矩陣 A 乘以單位矩陣還等於矩陣 A。

單位矩陣的主對角線元素都是 1,其餘元素都是 0,你可以根據這個性質得到一個單位矩陣。同時它也是一個「方陣」,這表示它的行數和列數是相等的。

我我們之前說,矩陣乘法不滿足交換律,但這裡有一個例外:將一個矩陣和一個單位矩陣相乘。因此,下式是成立的:A × I = I×A = A。

矩陣的逆和轉置

矩陣的逆和矩陣的轉置是兩種矩陣特有的性質。同樣的,我們首先在實數上討論這些性質,然後再使用在矩陣中。

1.逆運算

首先,什麼是逆(倒數)? 一個數乘以它的逆(倒數)等於 1。注意,任何非零的數都有倒數。如果將矩陣和它的逆矩陣相乘,結果就應該是單位矩陣。下面的例子展示了標量的逆(倒數):

不過,並不是每個矩陣都有逆矩陣。如果一個矩陣是方陣,而且它可逆,就可以求出它的逆矩陣。很遺憾,討論什麼矩陣可逆超出了這篇文章的範圍。

我們為什麼需要逆矩陣呢?這是因為我們不能計算用矩陣相除,並沒有「除以矩陣」的定義,但我們可以用一個矩陣乘以一個逆矩陣,來達到相同的目的。

下圖展示了一個矩陣乘以它的逆矩陣,計算結果是一個 2×2 的單位矩陣。

可以利用 NumPy 輕鬆計算出一個矩陣的逆矩陣(如果它可逆的話)。

2.轉置

最後,我們討論矩陣轉置的性質。這基本上就是將一個矩陣沿著 45 度軸線鏡像翻轉。計算矩陣的轉置非常簡單,原始矩陣的第一列就是轉置後矩陣的第一行,第二列則變成了轉置後矩陣的第二行。一個 m×n 的矩陣僅僅是轉成了 n×m 的矩陣。同時,矩陣 A 的元素 A_ij 等於轉置後矩陣的元素 A_ji。下圖展示了矩陣的轉置:

總結

在這篇文章中,你接觸到了一些機器學習中使用到的線性代數概念。你學會如何對這些對象進行加、減、乘、「除」。另外,你還掌握了矩陣最重要的性質,以及它們為什麼可以幫我們得到更有效的計算。在這些知識的基礎上,你還學習了逆矩陣和轉置矩陣的概念,以及可以如何使用它們。雖然機器學習中還有很多線性代數知識,但這篇文章提供了關於最核心的概念的一些適當介紹。

相關焦點

  • 這本免費線性代數教科書,斯坦福和UCLA都在用,配套PPT可下載
    書中都講了啥?內容如其名,整本書一共分為三大部分:向量、矩陣、最小二乘導論。與其他大多數同類教科書相比,這本書的最大的特徵是面向應用,通過實際的例子來展示一些看似簡單的方法,將抽象的線性代數知識轉化為現實世界的應用。書中討論的例子,也覆蓋了各個領域,不僅有數據科學、機器學習和人工智慧,還涉及信號和圖像處理、導航和金融領域等等。
  • 2020年高考文科生如何選大學專業?想考公務員選哪些?值得收藏
    作為一名文科生,如何去選擇比較合適的專業呢?又或者說哪些專業對文科生來說更容易就業呢?微談論從幾個方面給大家剖析一下文科高考如何選擇專業。文科生在高考當中是比較吃虧,每個省市的文科錄取率相比理科都較低,且能讓文科生選擇的專業也不多。一些當下熱門的專業如:人工智慧、計算機科學與技術、臨床醫學、口腔醫學等都只有理科生可以填報。那文科生到底該如何選擇合適專業呢?
  • 文科生VS理科生告白,Os,At,Nb是什麼意思?甜膩了
    這個世上是可以分為兩種人的,男人和女人,或者文科生和理科生,不然你去大街上問一下,看誰會給你第二個回復,別給小編整藝術生,藝術生不靠文化課嗎?禁止抬槓呦,那麼你知道他們都是怎麼告白的嗎?來跟著小編看看文科生一般情況下都很文藝的,畢竟他們就是學習我麼中國文化的,所以如果讓他們文藝一點的話,肯定是沒問題的,像什麼之乎者也,人家可是張口就來,但是要說他們的告白方式,像什麼寫藏頭詩,或者說,我能想到最浪漫的事就是和你一起慢慢變老都能說出來,但是理科生呢?他們可是沒有那麼多含蓄說法的,畢竟他們沒有學習這種東西,那麼你想知道理科生是怎麼表白的嗎?
  • 還有這些「學霸情書」看懂一個算我輸
    (原標題:還有這些「學霸情書」看懂一個算我輸)
  • 人工智慧中的線性代數:如何理解並更好地應用它
    給初學者的解釋:線性代數的本質第一次接觸線性代數的人,通常會覺得線性代數長這樣:看起來就讓人頭大?你的腦海隨即會浮現出兩個問題:它們都是從哪兒來的?為什麼需要這些運算?讓我們做個簡單的練習。線性代數正好發揮了作用:用 A · y = b 的簡短形式描述系統(這是矩陣乘法的由來!)
  • 2020考研數學線性代數重點內容與常見題型:線性方程組
    在考研數學中,線性代數相對來說是比較簡單的學科,下面就大家整理了線性代數重點內容與常見題型,希望能幫助大家更好的複習!  往年考題中,方程組出現的頻率較高,幾乎每年都有考題,也是線性代數部分考查的重點內容。但也不會簡單到僅考方程組的計算,還需靈活運用。
  • 深度學習和機器學習的線性代數入門
    正確理解機器學習和深度學習的概念,掌握以下這些數學領域至關重要:機器學習和深度學習中的線性代數在機器學習中,很多情況下需要向量化處理,為此,掌握線性代數的知識至關重要。對於機器學習中典型的分類或回歸問題,通過最小化實際值與預測值差異進行處理,該過程就用到線性代數。通過線性代數可以處理大量數據,可以這麼說,「線性代數是數據科學的基本數學。」
  • 線性代數:特殊行列式總結及其幾何意義,這些數學老師不會講
    下面我們接著介紹的是,線性代數中的一些特殊行列式的計算。在這一部分,我們將可以進一步熟悉鞏固我們前面所學習的方法。以下的例題也是小編在學習過程中精心挑選出來的經典例題,希望大家能夠有所印象,甚至能夠記住它們。
  • 文科生:我的鎖骨放雞蛋,美術生:我能養魚,看到體育生:烏鴉坐飛機
    文科生:我的鎖骨放雞蛋,美術生:我能養魚,看到體育生:烏鴉坐飛機 如今,網絡上已經比較流行炫腹了,用自己的腹肌來襯託自己的好身材,也由此也引發了一系列大家各種的花式秀身材,就連學生群體也不例外,文科生VS美術生的鎖骨比拼,看到體育生,我愣住了
  • 《九張機》不易聽懂,抖音這首難以理解的古風歌,文科生都被打敗
    《九張機》不易聽懂,抖音這首難以理解的古風歌,文科生都被打敗。《 九張機》這首歌我相信大家絕對很熟悉,一直從去年的去年活到現在,主要是跟隨電視劇雙世寵妃的熱度吧,但不過就憑這一首單曲來說,我覺得也是非常優秀的,一開始我還真是看不懂9張機到底是什麼意思,這三個字就讓我想了很久,後來乾脆百度了一下,原來是如此具有文學色彩,來自於漢樂府的一個名稱吧。放在這種古裝劇當中,當然是最適合不過的一首主題曲了。
  • 2021山東考研線性代數衝刺各章節考察焦點:向量
    2021山東考研線性代數衝刺各章節考察焦點:向量 2020-12-05 15:17:59| 來源:中公教育 山東中公教育小編為了方便大家更好的備戰2021山東考研數學,特為大家帶來
  • 文科生高考專業報考難?這些專業適合文科生,就業待遇不輸理科生
    在高考填報志願的時候,理科生具有很大的優勢,不僅可以報考理科專業,還能報考文科專科,而文科生只能選擇文科專業。就業時也是一樣,理科專業的就業門檻比較高,文科生沒有經過專業學習,是很難從事理科專業職位的。很多文科生在填報志願的時候會受到很大的限制,不知道要怎麼選擇。
  • 2021山東考研線性代數衝刺各章節考察焦點:線性方程組
    2021山東考研線性代數衝刺各章節考察焦點:線性方程組 2020-12-05 15:22:39| 來源:中公教育 山東中公教育小編為了方便大家更好的備戰2021山東考研數學
  • 文科生:宿舍好熱啊,體育生:吹風機挺好用,美術生:這才夠涼!
    文科生:宿舍好熱啊,體育生:吹風機挺好用,美術生:這才夠涼! 炎炎夏季,無論是南方還是北方,都是熱的要命,每天靠空調續命,而對於很多沒有空調的學生黨來說,自然是想盡一切辦法來消暑了,首先來看看文科生,宿舍裡就只有一個風扇,經常吹不到其他舍友
  • 文科生在選擇專業時最頭疼的問題!
    其他的像財務就是算帳開工資的,HR就是招人和開人的,其他的文員也都沒什麼技術含量,換誰都能幹!這些我們大部分家長內心的想法。尤其是有些公司的財務、HR、文員充斥著各種「內部人員」。其實文科生和家長主要糾結的,就是這兩個問題。專業少就算了,這些專業感覺還沒什麼「技術含量」,以後工作、發展也就那麼回事。這樣一想,真的是頭疼。那麼這兩個問題如何看待呢?
  • 26個「文科生」最適合的大學!只要能考上,畢業就拿高薪!
    所以希望孩子可以學歷高一些,能夠考得更好是最好的,但是孩子是文科生,聽說填報志願的時候,理科生要更加有優勢一些?」……隨著年一過,高考真的是漸漸逼近了,很多家長只要一想起孩子即將高考,即便還有好幾個月,這個內心都是一直懸起的,估計只有等到拿到了錄取通知書才能夠真正的放回去。
  • 2021考研數學(二)線性代數大綱原文解析
    以下是甘肅中公教育 整理的2021考研數學(二)線性代數大綱原文解析,供各位考生查看。2020考研大綱已經發布,線性代數大綱原文如下:一、行列式考試內容行列式的概念和基本性質  行列式按行(列)展開定理考試要求1.了解行列式的概念,掌握行列式的性質.
  • 微軟出品,文科生也能學得懂的Python免費入門視頻
    機器之心報導參與:思這是一份極簡的 Python 入門課程,推出 11 天以來,目前已經有 54.6 萬的播放量。它從最基礎的知識點出發,是難得的入門好課程。近日,微軟發布了一系列 Python 入門課程,它只有 44 個視頻,每一個視頻都只有 5 分鐘左右。這種 Python 教程,才是文科生也能跟著學的好視頻。
  • 2015考研數學之線性代數知識點
    二、行列式與矩陣  第一章《行列式》、第二章《矩陣》是線性代數中的基礎章節,有必要熟練掌握。  行列式的核心內容是求行列式,包括具體行列式的計算和抽象行列式的計算,其中具體行列式的計算又有低階和高階兩種類型;主要方法是應用行列式的性質及按行列展開定理化為上下三角行列式求解。
  • 適合文科生5個大學專業,2020年高考熱門,尤其是最後一個!
    甚至從分文理之後,一本課外書都沒讀過,每天遨遊在數學和物理的海洋裡。以為這樣就可以考上清華北大!文科生與理科生的未來毋庸置疑,理科的未來確實更廣闊,這不並不是社會輿論,而是不爭的事實,很多家長供孩子讀書,就是為了畢業能找一份好工作。而理科恰好能滿足廣大家長的願望。