深度學習數學基礎之線性代數

2021-08-10 15:35:29 字數 1624 閱讀 8130

深度學習中的基本資料結構,基本上都是用向量或矩陣表示的,因此:

深度學習的基礎學科之一:就是線性代數。

深度學習中的線性代數知識主要包括以下部分:

1、標量、向量、矩陣和張量:

這4個變數很好理解: 分別表示 乙個數、 一維空間(一條線)、 二維(乙個平面)、多於二維(立體或超立體等);

2、矩陣的乘法和內積

這個在深度學習的基礎, 必須了解矩陣的乘法和矩陣的內積。

公式就不列舉了, 很簡單。

注意一點, 內積也叫點積, 對應元素相乘求和。  這個在 svm(支援向量機)有特殊重要性, 還牽扯到核函式, 感興趣的可自行科普, 或關注我的另一篇svm的文章。

3、轉置、逆矩陣、線性相關等了解即可;

4、範數:

這個在深度學習中 至關重要:

範數的根本作用:  衡量乙個向量的大小;

範數的幾種不同表示: 

最常用的是l2範數,即: 歐幾里得範數, 表示從原點出發到向量x確定點的歐幾里得距離,  就是你最熟悉的各元素 平方和 取根號;

l1範數:  向量中每個點的絕對值之和。它有乙個很重要的性質: 在各個位置(包括零點)的斜率相同。

l0範數: 向量中非零元素的個數;

還有個不常用的無窮範數。

注重注意一點:

範數就是表示向量的大小, 深度學習中最常用的就是l2範數 的平方, 為什麼要用l2範數的平方(個元素的平方和),而不用l2範數呢? 個人感覺原因有以下兩點

1) l2範數對某個點xi的導數,不止與xi 有關,而且還有整個向量有關; 而l2範數的平方  對xi的導數, 則只與xi本身有關;

2) l2範數的平方 可以方便的通過點積xt ×x (x的轉置與x的內積)來表示;

因此l2範數廣泛用於,比如 正則化(防止過擬合)等;

但l2範數的平方有乙個缺點: 那就是在0附近, 他的增速非常緩慢(小數的平方 變得更小了),  但在機器學子中, 區分非零元素和零元素有很重要。 因此才有了l1範數的發揮餘地, l1範數 通常用於 稀疏 演算法。

5、 特徵分解:

類似與乙個數 24=2*3*4 , 將乙個24分解維三個數的乘積。

乙個矩陣可以分解成三個矩陣的乘積:

1) 特徵值分解:

a=q×b×qt

q是有a的特徵向量組成的正交矩陣; b是a的特徵值組成的對角矩陣; qt表示q的轉置(單位正交矩陣 的轉置和 逆  是相同的)

具體細節可自行取查閱, 

含義就是: 乙個矩陣a 可以分解成有特徵值和特徵向量組成的三個矩陣的乘積。

但這有乙個條件, 那就是a是實對稱矩陣。 因此這也大大限制了它的應用。

2)奇異值分解:

a=u×d×vt

u和v向量分別是 被稱為 左奇異向量和右奇異向量, d為a的奇異值, 它其實是at×a的特徵值的平方根。

具體細節自行科普;

對於任何矩陣,都可以奇異值分解, 它在pca演算法 降維中廣泛應用。

目前matlab或者opencv中都有 直接的函式呼叫, 可以講乙個矩陣 奇異值分解。

6、 跡運算 了解即可

跡: 對角元素之和。

個人感覺比較重要的三部分是:  矩陣的運算, 範數和 矩陣分解。

數學基礎 線性代數

1 矩陣正定性的判斷,hessian 矩陣正定性在梯度下降中的應用 若矩陣所有特徵值均不小於0,則判定為半正定,若矩陣所有特徵值均大於0,則判定為正定,在判斷優化演算法的可行性時hessian 矩陣的正定性起了很大的作用,若hessian 正定,則函式的二階偏導恆大於0,函式的變化率處於遞增狀態,在...

數學 線性代數

前言 這篇部落格是對 馬同學 線性代數 以問答形式的總結。除此之外,一些好的參考資料。axax ax的值域是由a r m na in r a rm n 的列向量張成的,若a aa的列向量滿秩 即等於n nn 則張成空間的秩等於x xx定義域空間的秩 因為由矩陣乘法,x本身處在秩為n nn的空間中 則...

數學 線性代數

0x01 行列式的計算 某行 列 加上或減去另一行 列 的幾倍,行列式不變。行 列 乘k,等於k乘此行列式。互換兩行 列 行列式變號。0x02 計算的題型和套路 只有兩個數字,對角線是乙個 套公式 x a n 1 x n 1 a x a n 1 x n 1 a x0,x1,x 2 xn 1 xn x...