花書《深度學(xué)習(xí)》《Deep Learning》學(xué)習(xí)筆記 chapter 2

2.1 標(biāo)量、向量、矩陣和張量

標(biāo)量(scalar):一個數(shù)
向量(vector):一列數(shù)
矩陣(matrix):二維數(shù)組
張量(tensor):多維數(shù)組(n>=3)
轉(zhuǎn)置(transpose):矩陣的轉(zhuǎn)置是以對角線為軸的鏡像,標(biāo)量的轉(zhuǎn)置等于它本身。
廣播(broadcasting):

向量 b 和矩陣 A 的每一行相加 。這種隱式地復(fù)制向量 b 到很多位置的方式,被稱為廣播。

import numpy as np

###1###
a = np.array([0, 1, 2])
b = np.array([5, 5, 5])
a + b #---> [5,6,7],這個容易理解
###2###
a + 5 #--> [5,6,7],5被轉(zhuǎn)化為[5,5,5](其實這種復(fù)制并沒有發(fā)生,為了便于理解)
###3###
M = np.ones((3, 3))
"""
M
array([[ 1.,  1.,  1.],
       [ 1.,  1.,  1.],
       [ 1.,  1.,  1.]])
"""
M+a #-->a broadcast到第2,3行,與M的shape匹配
###4###
a = np.arange(3) #shape:(3,)
b = np.arange(3)[:, np.newaxis] #shape:(3, 1)

print(a)
print(b)
"""
[0 1 2]
[[0]
 [1]
 [2]]
"""
a+b #a broadcast到第2,3行,b broadcast到第2,3列,相加得到
"""
array([[0, 1, 2],
       [1, 2, 3],
       [2, 3, 4]]),shape:(3,3)
"""

broadcasting rules:
1.兩個數(shù)組維數(shù)不同,則維數(shù)較小的數(shù)組的shape將在其前側(cè)或左側(cè)進(jìn)行填充
2.兩個數(shù)組的shape不匹配但有維度等于1,則維度中形狀等于1的數(shù)組將被拉伸進(jìn)行匹配。
3.兩個數(shù)組的shape不匹配且不存在維度為1,則報錯

###1###
M = np.ones((2, 3)) 
a = np.arange(3) 
M+a
# M.shape = (2, 3)
# a.shape = (3,)--rule 1--> (1,3) --rule 2--> (2,3)
###2###
a = np.arange(3).reshape((3, 1))
b = np.arange(3)
a+b
# a.shape = (3, 1)              --rule 2-->(3,3)
# b.shape = (3,)--rule 1-->(1,3)--rule 2-->(3,3)
###3###
M = np.ones((3, 2))
a = np.arange(3)
M + a
"""ValueError: operands could not be broadcast together with shapes (3,2) (3,) """
# M.shape = (3, 2)
# a.shape = (3,)--rule 1-->(1,3)--rule 2-->(3,3)
"""如果希望數(shù)組a的shape是在其他位置進(jìn)行填充,則可使用np.newaxis"""
M + a[:, np.newaxis]

2.2 矩陣和向量相乘

點積(dot product):C = AB.
Hadamard 乘積(Hadamard product):C = A ⊙ B

2.3 單位矩陣和逆矩陣

單位矩陣(identity matrix):所有沿主對角線的元素都是 1,而所有其他位置的元素都是 0。
逆矩陣(matrix inversion):A的矩陣逆記作:


滿足:

2.4 線性相關(guān)和生成子空間

列空間(column space):由A的各列張成的Rm的子空間稱為A的列空間
線性相關(guān)(linear dependence):某個向量是一組向量中某些向量的線性組合
線性無關(guān)(linearly independent):一組向量中的任意一個向量都不能表示成其他向量的線性組合
方陣(square):m = n,并且所有列向量都是線性無關(guān)的。
一個列向量線性相關(guān)的方陣被稱為奇異的(singular)。

2.5 范數(shù)

Lp 范數(shù)定義如下:


范數(shù)是滿足下列性質(zhì)的任意函數(shù):
? f(x)=0?x=0
? f (x + y) ≤ f (x) + f (y) ( 三角不等式(triangle inequality))
? ?α ∈ R, f(αx) = |α|f(x)

當(dāng) p = 2 時,L2 范數(shù)被稱為 歐幾里得范數(shù)(Euclidean norm),也可記做||x||。它表示從原點 出發(fā)到向量 x 確定的點的歐幾里得距離。
L1范數(shù):

L0范數(shù):非零元素的個數(shù)。但是這個術(shù)語在數(shù)學(xué)意義上是不對的,向量的非零元素的數(shù)目不是范數(shù),因為對向量縮放 α 倍不會改變該向量非零元素的數(shù)目
L∞ 范數(shù),也被稱為 最大范數(shù)(max norm),表示向量中具有最大幅值的元素的絕對值: ||x||∞ =max|xi|.
Frobenius 范數(shù)(Frobenius norm):衡量矩陣的大小

L0,L1,L2范數(shù)

  • L0的求解是NP-hard問題
  • 機(jī)器學(xué)習(xí)中,使用L0和L1范數(shù)可以求得稀疏解(易于特征篩選,模型的可解釋性變強(qiáng)),L2范數(shù)則會獲得稠密解
  • L2范數(shù)越小,可以使得w的每個元素都很小,接近于0,但L1范數(shù)不同的是他不會讓它等于0而是接近于0。w越小,模型越簡單,越不容易產(chǎn)生過擬合。
圖來源:《Pattern Recognition And Machine Learning 》

2.6 特殊類型的矩陣和向量

對角矩陣(diagonal matrix)只在主對角線上含有非零元素,其他位置都是零。
對稱矩陣(symmetric matrix)是轉(zhuǎn)置和自己相等的矩陣
單位向量(unit vector)是具有 單位范數(shù)(unit norm)的向量:
如果 x?y = 0,那么向量 x 和向量 y 互相正交(orthogonal)
如果這些向量不僅互相正交,并且范數(shù)都為 1,那么我們稱它們是標(biāo)準(zhǔn)正交(orthonormal)。
正交矩陣(orthogonal matrix)是指行向量和列向量是分別標(biāo)準(zhǔn)正交的方陣:

,得到:

2.7 特征分解

特征分解(eigendecomposition):將矩陣分解成一組特征向量和特征值。
方陣 A的特征向量(eigenvector)是指與 A 相乘后相當(dāng)于對該向量進(jìn)行縮放 的非零向量 v:Av = λv.標(biāo)量λ被稱為這個特征向量對應(yīng)的特征值(eigenvalue)。
不是每一個矩陣都可以分解成特征值和特征向量。在某些情況下,特征分解存在,但是會涉及到復(fù)數(shù),而非實數(shù)。
假設(shè)矩陣A有n個線性無關(guān)的特征向量 {v(1),...,v(n)},對應(yīng)著特征值 {λ1,...,λn}。
記V = [v(1), . . . , v(n)]. 類似地,我們也可以將特征值連接成一個向量 λ = [λ1, . . . , λn]?。 因此A的特征分解(eigendecomposition)可以記作:

每個實對稱矩陣都可以分解成實特征向量和實特征值:


所有特征值都是正數(shù)的矩陣被稱為正定(positive definite);所有特征值都是非負(fù)數(shù)的矩陣被稱為半正定(positive semidefinite)。同樣地,所有特征值都是負(fù)數(shù)的矩陣被稱為負(fù)定(negative definite);

特征向量和特征值的作用效果。特征向量和特征值的作用效果的一個實例。在這里,矩陣 A 有兩個標(biāo)準(zhǔn)正交的特征向量,對應(yīng)特征值為 λ1 的 v(1) 以及對應(yīng)特征值為 λ2 的 v(2)。(左) 我 們畫出了所有的單位向量 u ∈ R2 的集合,構(gòu)成一個單位圓。(右) 我們畫出了所有的 Au 點的集 合。通過觀察 A 拉伸單位圓的方式,我們可以看到它將 v(i) 方向的空間拉伸了 λi 倍。

2.8 奇異值分解

奇異值分解(singular value decomposition, SVD):


假設(shè) A 是一個 m×n 的矩陣,那么 U 是一個 m×m 的矩陣,D 是一個 m×n 的矩陣,V 是一個 n × n 矩陣。矩陣 U 和 V 都被定義為正 交矩陣,而矩陣 D 被定義為對角矩陣。注意,矩陣 D 不一定是方陣。
SVD 最有用的一個性質(zhì)可能是拓展矩陣求逆到非方矩陣上。

2.9 Moore-Penrose 偽逆

Moore-Penrose 偽逆(Moore-Penrose pseudoinverse):矩陣 A 的偽逆定義為:


計算偽逆的實際算法沒有基于這個定義,而是使用下面的公式:


其中,矩陣 U,D 和 V 是矩陣 A奇異值分解后得到的矩陣。對角矩陣 D 的偽逆
D+ 是其非零元素取倒數(shù)之后再轉(zhuǎn)置得到的。

2.10 跡運(yùn)算

跡運(yùn)算返回的是矩陣對角元素的和:


Frobenius 范數(shù)(Frobenius norm)

2.11 行列式

行列式,記作det(A),是一個將方陣 A 映射到實數(shù)的函數(shù)。行列式等于矩陣特征值的乘積。行列式的絕對值可以用來衡量矩陣參與矩陣乘法后空間擴(kuò)大或者縮小了多少。如果行列式是 0,那么空間至少沿著某一維完全收縮了,使其失去了所有的體積。如果行列式是 1,那么這個轉(zhuǎn)換保持空間體積不變。

2.12 實例:主成分分析

主成分分析(principal components analysis, PCA)
假設(shè)在 Rn 空間中我們有 m 個點 {x(1), . . . , x(m)},我們希望對這些點進(jìn)行有損壓縮。
一種編碼這些點的方式是用低維表示。每個點 x(i) ∈ Rn,會有一個對應(yīng)的編碼向量 c(i) ∈ Rl(其中l(wèi)<n)
給定編碼函數(shù)f(x),使得f(x) = c;給定解碼函數(shù),使得x ≈ g(f(x))。

  • 為了簡化解碼器,我們使用矩陣乘法將編碼映射回 Rn,即 g(c) = Dc,其中 D ∈ Rn×l 是定義解碼的矩陣
  • D 的列向量彼此正交(除非 l = n,否則嚴(yán)格意義上 D 不是一個 正交矩陣)

定義目標(biāo)函數(shù):最小化原始輸入向量 x 和重構(gòu)向量 g(c?) 之間的距離。我們使用范數(shù)來衡量它們之間的距離(L2 范數(shù)):

求導(dǎo)得到:

求解編碼矩陣D,由于用相同的矩陣 D 對所有點進(jìn)行解碼,即最小化所有x與c之間的誤差,需使用Frobenius 范數(shù),得到

當(dāng)l=1時,此時D為一維列向量,將D簡化為d,得到:


得到:

最優(yōu)的 d 是 X?X 最大特征值對應(yīng)的特征向量。
以上推導(dǎo)特定于 l = 1 的情況,僅得到了第一個主成分。更一般地,當(dāng)我們希望得到主成分的基時,矩陣 D 由前 l 個最大的特征值對應(yīng)的特征向量組成。

附1:

矩陣求導(dǎo):(參考:https://github.com/soloice/Matrix_Derivatives)

  • 變量多次出現(xiàn)的求導(dǎo)法則:若某個變量在函數(shù)表達(dá)式中多次出現(xiàn),可以單獨(dú)計算函數(shù)對?變量的每一次出現(xiàn)的導(dǎo)數(shù),再把結(jié)果加起來。
    f(x)=(2x+1)x+x^2
    => f=(2x_1+1)x_2+x_3^2
    => ?f=2x_2+2x_1+1+2x_3
    => 6x+1
  • 向量求導(dǎo)的鏈?zhǔn)椒▌t
  • 實值函數(shù)對向量求導(dǎo)

    變量多次出現(xiàn)的求導(dǎo)法則, x_c表示將x的此次出現(xiàn)不視作自變量
    同上
  • 向量量數(shù)乘求導(dǎo)公式
  • 矩陣跡求導(dǎo)
    上式證明
  • 矩陣求導(dǎo)的鏈?zhǔn)椒▌t
    設(shè)y=f(U),U=G(x),則:
  • 線性變換的導(dǎo)數(shù)
    設(shè)
    則:

附2:

推導(dǎo)1:線性方程組Ax=b的最?二乘解

使用線性變換的求導(dǎo)公式

推導(dǎo)2:F范數(shù)的求導(dǎo)公式推導(dǎo)

推導(dǎo)3:

學(xué)習(xí)仿射變換

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容