\(L^p\) norm 定義如右: \(||x||_p=(\sum_i|x_i|^p)^{\frac{1}{p}}\) for \(p∈R,p≥1\).html
任何知足以下條件的函數均可視爲norm:機器學習
最經常使用的是二範式,即\(L^2\) norm,也稱爲Euclidean norm(歐幾里得範數)。由於在機器學習中經常使用到求導,二範式求導以後只與輸入數據自己有關,因此比較實用。ide
可是二範式在零點附近增加很慢,並且有的機器學習應用須要在零點和非零點之間進行區分,此時二範式顯得力不從心,因此咱們能夠選擇一範式,即\(L^1\) norm,其表達式爲:\(||x||_1=\sum_i|x_i|\).函數
0範式表示矢量中非0的元素的個數。其實0範式這個說法是不嚴謹的,由於它不知足第三個條件,but whatever~學習
無窮大範式,也叫max norm,它表示矢量中全部元素絕對值的最大值,即
\[||x||_∞=max |x_i|\]idea
F norm全稱是Frobenius Norm,其表達式以下:
\[||A||_F=\sqrt{\sum_{i,j}A_{i,j}^2} \]spa
定義: 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
定義: 若\(A^TA=AA^T=I\),那麼n階實矩陣A則爲正交矩陣。htm
注意矩陣A必須爲方陣,另外有定義可知 \(A^{-1}=A^T\)
定義: 知足正交矩陣的要求,且爲x和y均爲unit vector(單位矢量)。
不少數學概念其實均可以分解成很小的組成部分,而後經過觀察這些組成進而找出它們可能存在的通用的性質。例如對於一個整數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\)的值是一一對應的。
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矩陣。
除此之外
講這麼多,確定對SVD尚未一個直觀的理解,下面一節會介紹SVD的應用。
咱們在求一個矩陣的逆(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\)最小。
trace運算符是將矩陣對角線上的全部元素求和,即\(Tr(A)=\sum_iA_{i,i}\)