Deep Learning(花書)教材筆記-Math and Machine Learning Basics(線性代數拾遺)

I. Linear Algebra

1. 基礎概念回顧

  • scalar: 標量
  • vector: 矢量,an array of numbers.
  • matrix: 矩陣, 2-D array of numbers.
  • tensor: 張量, 更高維的一組數據集合。
  • identity Matricx:單位矩陣
  • inverse Matrix:逆矩陣,也稱非奇異函數。當矩陣A的行列式\(|A|≠0\)時,則存在\(A^{-1}\).

2. Span

3. Norm

\(L^p\) norm 定義如右: \(||x||_p=(\sum_i|x_i|^p)^{\frac{1}{p}}\) for \(p∈R,p≥1\).html

任何知足以下條件的函數均可視爲norm:機器學習

  • \(f(x)=0 \, \Rightarrow x=0\)
  • \(f(x+y)≤f(x)+f(y)\) (三角不等式)
  • \(\forall α ∈R,f(αx)=|α|f(x)\)

1) \(L^2\) Norm

最經常使用的是二範式,即\(L^2\) norm,也稱爲Euclidean norm(歐幾里得範數)。由於在機器學習中經常使用到求導,二範式求導以後只與輸入數據自己有關,因此比較實用。ide

2) \(L^1\) Norm

可是二範式在零點附近增加很慢,並且有的機器學習應用須要在零點和非零點之間進行區分,此時二範式顯得力不從心,因此咱們能夠選擇一範式,即\(L^1\) norm,其表達式爲:\(||x||_1=\sum_i|x_i|\).函數

3) \(L^0\) Norm

0範式表示矢量中非0的元素的個數。其實0範式這個說法是不嚴謹的,由於它不知足第三個條件,but whatever~學習

4) \(L^∞\) Norm

無窮大範式,也叫max norm,它表示矢量中全部元素絕對值的最大值,即
\[||x||_∞=max |x_i|\]idea

5) F norm

F norm全稱是Frobenius Norm,其表達式以下:
\[||A||_F=\sqrt{\sum_{i,j}A_{i,j}^2} \]spa

4.特殊矩陣和向量

1) Diagonal matrix(對角矩陣)

定義: a matrix \(D\) is diagonal if and only if \(D_{i,j}=0\) for all \(i≠j\).scala

仔細看定義!!!這裏並無說必須是squre matrix(方陣),因此對角矩陣不必定是方陣,rectangle matrix也有多是對角矩陣(只要對角線上不爲0,其他部分都爲0)。orm

2) Orthogonal Matrix(正交矩陣)

定義: 若\(A^TA=AA^T=I\),那麼n階實矩陣A則爲正交矩陣。htm

注意矩陣A必須爲方陣,另外有定義可知 \(A^{-1}=A^T\)

3) Orthonomal Matrix(標準正交矩陣)

定義: 知足正交矩陣的要求,且爲x和y均爲unit vector(單位矢量)。

5. Eigendecomposition(特徵分解)

不少數學概念其實均可以分解成很小的組成部分,而後經過觀察這些組成進而找出它們可能存在的通用的性質。例如對於一個整數12,咱們會試着把它分解成12=2×2×3,由這個表達式咱們能夠獲得一些有用的結論,例如12不能被5整除,任何數乘以12後都能被3整除等等。

很天然地,對於矩陣,咱們也想看看他是否也能被拆分呢,因此就引入了特徵分解的概念,經過特徵分解咱們會獲得矩陣\(A\)的(一組)eigenvector(特徵向量): \(v\)eigenvalue(特徵值): \(λ\),它們知足以下等式:
\[Av=λv\]

(特徵向量固然也能夠在右邊,可是一般更習慣於放在右邊。)

假設矩陣\(A\)有n個線性獨立的特徵向量\(\{v^{(1)}, ..., v^{(n)}\}\)以及對應的特徵值\(\{ λ_1, ...,λ_n \}\)。記
\(V=[v^{(1)}, ..., v^{(n)}],λ=[λ_1, ...,λ_n ]\),則矩陣A的特徵分解以下:
\[A=Vdiag(λ)V^{-1}\]

另外實對稱矩陣的特徵分解用得比較多,表達式爲\(A=Q\Lambda Q^{-1}\),\(Q\)表示由特徵向量組成的正交矩陣,\(\Lambda\)表示對角矩陣,注意\(Q\)\(\Lambda\)的值是一一對應的。

  • 當一個矩陣的特徵值都爲正時,該矩陣則爲positive definite(正定矩陣).
  • 當一個矩陣的特徵值都大於等於0時,該矩陣則爲positive semidefinite(半正定矩陣).
  • 當一個矩陣的特徵值都爲負時,該矩陣則爲negative definite(負定矩陣).
  • 當一個矩陣的特徵值都小於等於0時,該矩陣則爲negative semidefinite(半負定矩陣).

6. Singular Value Decomposition(奇異值分解)

Singular Value Decomposition (SVD) 能夠把一個矩陣分解獲得 singular vectors和singular values。SVD能夠像特徵值分解同樣幫助咱們對一個矩陣進行分析,而且SVD適用性更廣。每一個實矩陣都能作SVD,可是不必定能作特徵值分解。好比說若是一個矩陣不是方陣,那麼就不能作特徵分解,可是咱們能夠作SVD。

SVD分解後的矩陣表達式以下:
\[A=UDV^T\]

假設A是一個m×n矩陣,那麼U定義爲m×m矩陣,D是m×n矩陣,V是n×n矩陣。
除此之外

  • 矩陣U和V都是orthogonal matrix,其中矩陣U的列向量是left-singular vectors,矩陣V的列向量是right-singular vectors。矩陣A的left-singular vectors是矩陣\(A^TA\)的特徵向量,right-singular vectors是矩陣\(AA^T\)的特徵向量。矩陣A的非零奇異值是矩陣\(AA^T\)或者\(A^TA\)的平方根。
  • 矩陣D是diagonal matrix,注意不必定是方陣。D對角線上的即爲矩陣A的奇異值(singular value)。

講這麼多,確定對SVD尚未一個直觀的理解,下面一節會介紹SVD的應用。

7. Moore-Penrose Pseudoinverse

咱們在求一個矩陣的逆(matrix inverse)的時候,通常都須要規定這個矩陣是方陣。

假設有一個線性方程\(Ax=y\),爲了解出這個方程,咱們很直觀地但願可以造出一個left-inverse矩陣B和A相乘,從而求出x,即\(x=By\)

若是A是一個非方陣的矩陣,當它的row大於column時,頗有可能此時無解;而當row小於column時,可能有多解。

Moore-Penrose Pseudoinverse就是爲了解決這個問題的,矩陣A的僞逆定義以下:
\[A^+=lim_{α\searrow{0}}(A^TA+αI)^{-1}A^T\]

上面的公式實際不多用,通常都是使用SVD的公式,即

\[A^+=VD^+U^T\]

U,D,V是上節中提到的矩陣A的奇異分解。\(D^+\)是矩陣D的僞逆,它是首先將D的非零元素取倒數獲得一個矩陣,而後將這個矩陣轉置以後就獲得了\(D^+\)

當矩陣A的row比column少時,使用僞逆能夠獲得不少解。可是,\(x=A^+y\)這個解是全部解中有最小Euclidean norm(\(||x||_2\))的。

當矩陣A的row比column多時,可能無解。可是使用僞逆求得的解x ,能使得\(Ax\)儘量的接近\(y\),也就是說能使得\(||Ax-y||_2\)最小。

8. Trace Operator(跡)

trace運算符是將矩陣對角線上的全部元素求和,即\(Tr(A)=\sum_iA_{i,i}\)



MARSGGBO原創




2018-12-01

相關文章
相關標籤/搜索