1. 程式人生 > >Deep Learning 學習筆記3:《深度學習》線性代數部分

Deep Learning 學習筆記3:《深度學習》線性代數部分

標量:一個標量就是一個單獨的數

向量:一個向量是一列數,這些數是有序排列的,比如:x=\begin{bmatrix} x1\\ x2 \\x3 \end{bmatrix},如果每個元素都屬於實數R,且有n個元素,則記為:R^{^{n}}。向量可以看做n維空間的點。

矩陣:二維陣列,如果一個矩陣A高度為m,寬度為n,且每個元素都屬於實數,則記為:A∈R^{m\times n }

張量:一組陣列中的元素分佈在多個座標中,稱其為張量

轉置:矩陣轉置是以對角線為軸的映象,從左上角到右下角的對角線稱為主對角線。矩陣A的轉置記為A^{T}(A^{T})_{i,j}=A_{j,i}

矩陣和向量相乘:C=AB。矩陣A的形狀為m×n,矩陣B的形狀為n×p,矩陣C的形狀為m×p。

                             C_{i,j}=\sum_{k}A_{i,k}B_{k,j}

單位矩陣與逆矩陣:任意向量和單位矩陣相乘,都不會改變。將保持n維向量不變的單位矩陣記作I_{n}

I_{n}\in R^{n\times n}。單位矩陣對角線元素為1,其餘為0.

A的矩陣逆記作A^{-1},定義為:A^{-1}A=I_{n}

矩陣A的列向量的所有線性組合叫做A的值域。如果矩陣A中的任意一個向量都不能表示成其他向量的線性組合,則這組向量線性無關。如果一個矩陣的值域包含整個R^{m},則該矩陣中至少包含一組m個線性無關的向量。要想使矩陣可逆,必須保證矩陣至多有m個列向量,即m=n。這意味著該矩陣是一個方陣,並且所有列向量都是線性無關的。一個列向量線性相關的方陣被稱為奇異矩陣

範數:將向量對映到非負值的函式。向量x的範數是衡量從原點到x的距離。

                                      

當p=2時,L^{2}被稱為歐幾里得範數。表示從原點出發到向量X確定的點的歐幾里得距離。

Frobenius範數:形容矩陣的大小,如下:

                                     

對角矩陣:主對角線上含有非零元素,其他位置都是零。即對於所有的i\neq j,有D_{i,j}=0

diag(v)表示一個對角元素由向量v中元素給定的對角方陣。計算乘法diag(v)x,只需要將x中每個元素x_{i}放大v_{i}倍。對角矩陣不一定是方陣。

對稱矩陣:轉置後和自己相等的矩陣。

R^{n}中,如果有n個向量互相正交,且範數都為1,則稱他們為標準正交正交矩陣是指行向量和列向量都是標準正交的方陣。

                                                 A^{T}A=A^{T}A=I

                                                 A^{-1}=A^{T}

特徵分解:將矩陣分解成一組特徵向量和特徵值Av=\lambda v方陣A的特徵向量是指與A相乘後相當於對該向量進行縮放的非零向量v:

                         Av=\lambda v            

標量\lambda被稱為這個特徵向量對應的特徵值。     

假設矩陣A有n個線性無關的特徵向量\left \{ v^{(1)},v^{(2)},...,v^{(n)} \right \},對應著特徵值 \left \{ \lambda _{1}, \lambda _{2},... \lambda _{n} \right \},我們將特徵向量連線一個矩陣,使得每一列是一個特徵向量,則V=[v^{(1)},v^{(2)},...,v^{(n)} ]。同時將特徵值連線成一個向量 \lambda =\left \{ \lambda _{1}, \lambda _{2},... \lambda _{n} \right \}^{T}。因此A的特徵分解可以表示為:

                                                                  A = Vdiag(\lambda )V^{-1}

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

奇異值分解(SVD):將矩陣分解為奇異向量和奇異值。每個實數矩陣都有一個奇異值分解,但不一定有特徵分解。非方陣的矩陣沒有特徵分解,但可以使用奇異值分解。奇異值分解公式如下:

                                                                         A=UDV^{T}

假設A是一個m×n的矩陣,那麼U是一個m×m的矩陣,D是一個m×n的矩陣,V是一個n×n的矩陣。矩陣U和V都是正交矩陣,D是對角矩陣,但不一定是方陣。對角矩陣D 對角線上的元素被稱為矩陣A 的奇異值。矩陣U 的列向量被稱為左奇異向量(left singular vector),矩陣V 的列向量被稱右奇異向量(right singular vector)。

A的左奇異向量是AA^{T}的特徵向量。A的右奇異向量是A^{T}A的特徵向量。A的非零奇異值是A^{T}A特徵值的平方根,同時也是AA^{T}特徵值的平方根。

求解Ax=y,如果A是非方陣矩陣,逆矩陣沒有定義。只能通過偽逆的方式求解。x=A^{+}y

矩陣A的偽逆定義為:

                                                              A^{+}=\lim_{a\rightarrow 0}(A^{T}A+\alpha I)^{-1}A^{T}

或者定義如下:

                                                                         A^{+}= VD^{+}U^{T}

對角矩陣D的偽逆是其非零元素取倒數後再轉置得到的。

跡運算:跡運算返回的是矩陣對角元素之和:

                                                                        Tr(A)=\sum_{i} A_{i,i}

將矩陣中最後一個挪到最前面之後乘積的跡是相同的。前提是挪動之後矩陣定義依然良好:

                                                          

行列式:行列式,記作det(A),是一個將方陣A 對映到實數的函式。行列式等於矩陣特徵值的乘積。行列式的絕對值可以用來衡量矩陣相乘後空間擴大或者縮小了多少。如果行列式是0, 那麼空間至少沿著某一維完全收縮了,使其失去了所有的體積。如果行列式是1, 那麼矩陣相乘沒有改變空間體積。