tft每日頭條

 > 生活

 > 機器學習如何解決數學問題

機器學習如何解決數學問題

生活 更新时间:2025-08-26 16:37:05

作者簡介:白朔天,前滴滴算法專家。本文選自:拉勾教育專欄《機器學習入門21講》

你好,我是白朔天,今天我們進行“線性代數”的學習。本課時我們主要學習與機器學習相關的線性代數知識,主要包括向量和矩陣的乘法、範數、求導等基本運算,及其在機器學習中的應用等内容。

線性代數是數學的一個分支。相信你在大學時,一定學習過這門課程,甚至可能會為通過考試而熬夜苦戰。根據我的感受,線性代數這門課并不簡單,但是比高等數學還是要容易一些。從機器學習的視角來看,線性代數是必須要了解的,但不需要達到精通的程度。為了不讓線性代數成為學習機器學習的絆腳石,你需要掌握向量、矩陣的各種基礎運算。值得一提的是,當你掌握線性代數的邏輯和套路時,線性代數就是紙老虎。

本文選自:拉勾教育《機器學習入門21講》見文末了解更多

機器學習如何解決數學問題(你還想學好機器學習)1

既然名字叫作線性代數,那麼它一定是線性模型的前置基礎知識。線性代數最基本的研究對象是向量,向量的向量又組成了矩陣。有了向量或者矩陣,就能将很多數字用一個向量符号表示,甚至可以将很多高維的數據用一個矩陣來表示。因此,你可以理解為線性代數是處理大數據的基礎。

向量的基本運算

機器學習如何解決數學問題(你還想學好機器學習)2

我們首先來學習向量的知識。在這裡隻需學習與機器學習有關的内容。我們在高中時就開始接觸向量,它的基本運算并不會困擾我們。向量是一個有方向的量,它的表示形式是斜體加粗的小寫字母或者斜體小寫字母上加一個向右的箭頭。别忘了,在上一課時計算函數的梯度時,梯度也是一個向量,表示的也是一個有方向的量,是函數值變化率最快的方向。

點乘

機器學習如何解決數學問題(你還想學好機器學習)3

除了普通的加法以外,向量的另一個重要運算就是點乘了。點乘兩個相同維數的向量,可以得到一個常數。點乘的計算方法是兩個向量對應項乘積之和。例如,計算向量 [1,1] 和 [-1,2] 的點乘,計算過程就是 1*(-1) 1*2,結果等于 1。

矩陣的基本運算

機器學習如何解決數學問題(你還想學好機器學習)4

接着我們來看一下矩陣。你應該是上了大學之後才開始接觸矩陣的。矩陣可以形象的理解為是向量的向量,通常用加粗大寫字母表示。在機器學習中,通常會用一個矩陣來表示一個大數據集。其中每一行是一個樣本的不同維度,列方向則是集合中的每一條數據樣本。例如如圖所示的 3 名同學 3 門課的考試成績。

用矩陣來表示每人每門課的成績,則是

機器學習如何解決數學問題(你還想學好機器學習)5

特别需要注意的是,當數據集中隻有一條數據時,這個矩陣就退化為一個向量。因此,你也可以理解為,向量也是一個特殊的矩陣。

轉置

機器學習如何解決數學問題(你還想學好機器學習)6

矩陣有一個很重要的運算,就是轉置。在矩陣右上角,用大寫字母 T 表示。它能讓矩陣的行列互換,原本 m x n 的矩陣就變成了 n x m 的新矩陣。例如原本

機器學習如何解決數學問題(你還想學好機器學習)7

轉置後變成了

機器學習如何解決數學問題(你還想學好機器學習)8

轉置在機器學習中有着非常重要的數學意義。你在學習機器學習時,也很可能會被各種各樣的轉置符号給弄暈。這是因為在機器學習中,關于向量和矩陣有着默認的規則。在機器學習中,默認所有的向量為列向量。當你必須要表示行向量時,則需要将向量轉置。以前面 3 個同學的成績為例。每個人 3 門課的成績是個向量。根據列向量的準則,則有

機器學習如何解決數學問題(你還想學好機器學習)9

機器學習如何解決數學問題(你還想學好機器學習)10

機器學習如何解決數學問題(你還想學好機器學習)11

總成績是個矩陣,它是向量的向量,因此也需要滿足列向量的準則。因此有

機器學習如何解決數學問題(你還想學好機器學習)12

此時就需要借助轉置符号,變列為行來表示其中每個人的成績。在這裡,我們再次重申一遍,在整個機器學習中,默認所有的向量為列向量。

乘法

機器學習如何解決數學問題(你還想學好機器學習)13

矩陣的乘法,在機器學習中被高頻使用。我們舉個例子來說明如何計算矩陣的乘法。如果有

機器學習如何解決數學問題(你還想學好機器學習)14

機器學習如何解決數學問題(你還想學好機器學習)15

機器學習如何解決數學問題(你還想學好機器學習)16

這裡需要注意,矩陣的乘法對維數有嚴格要求。第一個矩陣的列數必須與第二個的行數相等。維數不匹配的矩陣不可以相乘。

哈達瑪積

機器學習如何解決數學問題(你還想學好機器學習)17

除了乘法以外,矩陣的基本運算還有哈達瑪積。它要求兩個矩陣的維數完全相同,計算方式是對應項元素的乘積。例如,

機器學習如何解決數學問題(你還想學好機器學習)18

機器學習如何解決數學問題(你還想學好機器學習)19

則其哈達瑪積的結果為,

機器學習如何解決數學問題(你還想學好機器學習)20

求逆

機器學習如何解決數學問題(你還想學好機器學習)21

關于矩陣,你還需要掌握求逆運算。求逆運算隻可以作用在行數等于列數的方陣上,用右上角标 -1 來表示,可以得到一個矩陣的逆矩陣。逆矩陣滿足這樣的性質,它和原矩陣相乘後,可以得到單位矩陣,即主對角線元素為 1,其他元素為 0 的方陣。例如,

機器學習如何解決數學問題(你還想學好機器學習)22

關于求逆,你不需要會各種手動計算的方法,能用 Python 的計算包或者 Matlab 求解就可以了。

本文選自:拉勾教育《機器學習入門21講》見文末了解更多

線性代數與機器學習

範數

機器學習如何解決數學問題(你還想學好機器學習)23

到現在為止的知識點,相信都還難不倒你。那麼接下來的内容會漸漸開始有一些挑戰。我們先看一下範數。範數可以對矩陣和向量去計算,它是泛函分析中的重要知識。但是從機器學習的視角來看,我們不需要掌握那麼複雜的内容。在這裡,我們隻需要學習向量的 L1 範數和 L2 範數;其他更複雜的内容,如果你感興趣,可以翻閱相關的數學書籍。

向量的 L1 範數計算方式是各個元素的絕對值之和。向量的 L2 範數計算方式是各個元素平方之和的平方根。例如,

機器學習如何解決數學問題(你還想學好機器學習)24

機器學習如何解決數學問題(你還想學好機器學習)25

機器學習如何解決數學問題(你還想學好機器學習)26

也可以表示為

機器學習如何解決數學問題(你還想學好機器學習)27

求導

機器學習如何解決數學問題(你還想學好機器學習)28

對于矩陣、向量的求導,可能是本課時唯一的難點。這裡的知識點,需要你在理解的基礎上獨立完成求導過程。在機器學習中,對于矩陣的求導用的會比較少,這個知識點并不是必須掌握的。而對于向量 a 關于向量 b 的求導,則必須掌握。原因在于機器學習的未知變量通常是模型的系數或系數組,而學習的标簽是真實值向量。這個系數組和标簽真實值,通常以向量的形式存在,例如線性回歸、邏輯回歸等模型。其他更複雜的求導,如果你感興趣可以自己查閱相關資料。

接下來,看一下向量關于向量的求導。向量 y 關于向量 w 的求導結果是向量 y 中每個元素關于向量 w 中每個元素求導結果的矩陣。如果向量 w 的維數為 n x 1,向量 y 的維數是 m x 1,則求導之後的矩陣維數就是 n x m。特别需要注意,當 m=1 時,向量 y 是個常數,此時定義同樣成立。

機器學習如何解決數學問題(你還想學好機器學習)29

掌握了求導的定義之後,就可以利用它去求解導數啦。我們在這裡把後續機器學習建模會用到的内容進行分析。首先看矩陣和向量的乘積結果,如果

機器學習如何解決數學問題(你還想學好機器學習)30

機器學習如何解決數學問題(你還想學好機器學習)31

如果

機器學習如何解決數學問題(你還想學好機器學習)32

機器學習如何解決數學問題(你還想學好機器學習)33

這兩個求導結果可以通過簡單的推導得到。在此需要你記住求導過程。

本文選自:拉勾教育《機器學習入門21講》見文末了解更多

案列

機器學習如何解決數學問題(你還想學好機器學習)34

我們看一個比較複雜的例題。這個例題也同樣是機器學習中線性回歸模型的必備知識點。如果

機器學習如何解決數學問題(你還想學好機器學習)35

X 為對稱矩陣,求向量 y 關于向量 w 的導數。由于是對稱矩陣,所以存在xij = xji。此時計算的結果 y,是一個 1 x 1 的向量。根據乘法計算展開後,得到

機器學習如何解決數學問題(你還想學好機器學習)36

根據求導定義,導數的結果是 n x 1 的向量,其中每一項是

機器學習如何解決數學問題(你還想學好機器學習)37

我們對其進行單獨計算,則有

機器學習如何解決數學問題(你還想學好機器學習)38

有了這個結果之後,我們把它放回定義式中,就能得到求導的結果啦。

機器學習如何解決數學問題(你還想學好機器學習)39

這個求導過程比較複雜,涉及比較多的代數運算。如果你感興趣,可以拿出筆紙親自推導一下,看結果和我的是否一緻。也可以直接到把公式和求導定義背下來,方便日後使用。

機器學習如何解決數學問題(你還想學好機器學習)40

本課時,我們對線性代數的複習隻是線性代數知識的冰山一角。但是這些知識,對我們突破機器學習已經足夠了。我們先複習了矩陣和向量的基本運算,這些是為了講述範數和求導作準備。當我們掌握了範數和求導法則之後,就具備了突破機器學習中線性代數的能力。

其中,範數的知識,是在機器學習中克服模型過拟合的重要手段。不管是 L1 還是 L2,範數可被用作損失函數的懲罰項,也稱作正則項,用來指導模型的學習訓練。範數值越大,說明模型參數絕對值整體偏高,則說明模型的複雜度偏高。自然地,過拟合風險也就比較高。關于過拟合的知識,我會在後面專門拿出一個課時來講解。另外,線性代數作用在線性模型居多。線性回歸是回歸的入門級算法。對于線性回歸模型的最優化過程,需要大量的向量求導計算。

如果不具備這些基礎知識,你可能就會被一個非常簡單的入門級算法困擾,這是非常劃不來的事情。不過現在好了,這些必備的知識點你都已經突破了。其餘線性代數的知識,如果你感興趣,可以花時間去進行專門、系統地學習。如果你對數學比較抵觸,掌握這些内容,已經足夠你馳騁機器學習啦。

好了,本次分享的内容就講到這裡了,下次我們将學習“概率論”的知識,記得按時來聽課啊。

查看後續内容:拉勾教育《機器學習入門21講》見文末了解更多

版權聲明:本文版權歸屬拉勾教育及該專欄作者,任何媒體、網站或個人未經本網協議授權不得轉載、鍊接、轉貼或以其他方式複制發布/發表,違者必究。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved