算法工程獅2、數學基礎 線性代數

線性代數內容都很連貫,總體就是 [ 行列式-->矩陣-->n維向量-->線性方程組-->類似對角型-->二次型 ]。行列式就是一個值,行列式爲0則對應線性方程組有多解,且對應矩陣不可逆,若爲0則解惟一。n維向量可由矩陣表示。線性方程組又可表示成n維向量的形式,有齊次和非齊次兩種。
經過特徵分解能夠將方陣類似對角化,讓矩陣的特徵更直觀的體現。一種有趣的思想是,矩陣能夠看做一個變換,他做用在特定的正交基上,對每一個維度進行拉伸和收縮。特徵分解正是獲得了這個正交基(特徵向量)以及相應的收放係數(特徵值)。其中,實對稱矩陣必定能夠正交類似對角化。
二次型與解方程組息息相關。咱們一般關注的是如何將二次型轉化爲標準型,這裏也會引伸出正定負定的概念。轉化爲標準型後,每個變量僅與本身相互做用,這和PCA降維很像啊。
學習線性代數我認爲有兩個做用。一是讀論文能看懂每一步在幹嗎,二是理解數據的並行處理。下面補充一下比較重要的知識點。算法

1.行列式

一切都要從行列式提及。行列式$D$能夠經過行列展開式計算,即$D=a_{i1}A_{i1}+a_{i2}A_{i2}+a_{i3}A_{i3}+...+a_{in}A_{in}$,其中$A=(-1)^{i+j}M_{ij}$稱爲代數餘子式,$M$爲餘子式。行列式的性質包括:函數

  • 互換兩行變號
  • 若是兩行相等則$D=0$(將這兩行變號後,$-D=D$)
  • $k\times D$等價於$D$的某一行/列乘上$k$(將行列式按此行展開,能夠將k提出)
  • 行列式某一行+另外一行後,值不變
  • 齊次線性方程組$AX=0$若要有非0解,須要$|A|=0$,即行列式奇異,若是不爲0,則線性方程組只有惟一0解。

2.矩陣

最重要的一點,只有方陣才能夠討論其行列式及可逆性。這一部分的知識點連起來很好記,注:初等變換不改變行列式是否爲0
$$\begin{array}{lcl} 矩陣滿秩 \\\ \Leftrightarrow行列式不爲0 \\\ \Leftrightarrow矩陣非奇異 \\\ \Leftrightarrow矩陣可表示爲一系列初等矩陣的乘積 \\\ \Leftrightarrow矩陣與E等價 \\\ \Leftrightarrow矩陣可逆 \\\ \Leftrightarrow方程組有惟一解 \end{array}$$
其餘的知識點,以下:學習

  • 同階方陣$|AB|=|A||B|$
  • 伴隨陣$A\cdot A^* = A^*\cdot A = |A|E$
  • 由伴隨陣咱們也就獲得了逆矩陣的求解方式之一:$A^{-1}=\dfrac{A^*}{|A|}$

3.n維向量

  • 首先要了解線性相關:1個向量可由其他m-1個向量線性表示,稱做線性相關,因此任意包含0向量的向量組均線性相關
  • m個n維向量若是線性相關,則秩$ r(A)_ {m\times n}<m $,當 m>n時,必定線性相關,由於 $ r(A)_ {m\times n} <=n<m $
  • 矩陣相乘秩不會增大$r(A\cdot B)<=min\{r(A),r(B)\}$
  • 正交陣不只要求行列正交,而且行列都是單位向量,即單位正交陣$|A|=_-^+1,AA^T=E$

4.線性方程組

m個n維向量(m個方程,n個未知變量)組成的方程組,當其係數矩陣A(m*n)的秩r(A)<n時,則其基礎解系基向量有n-r個,當m小於n時,能夠看做約束條件少,秩r(A)<=m<n則必定能夠有基礎解系,當秩r(A)=n時,只有0解。線性方程組恰好能夠和數據集聯繫起來。每一條樣本看成一個方程,當只用線性模型擬合數據集時,樣本越多,表明約束越多。當樣本數太多,線性模型參數解將會惟一,而當特徵增多時,表明信息越多,數據集越容易線性可分,當特徵數超過樣本數時,其秩必定小於行數,則必定存在基礎解系。其餘的本身想吧。
$$\Bigg( \begin{array}{lcl} 1 \\\ 2 \\\ ... \\\ m \end{array} \Bigg)x_1+\Bigg( \begin{array}{lcl} 1 \\\ 2 \\\ ... \\\ m \end{array} \Bigg)x_2+...+\Bigg( \begin{array}{lcl} 1 \\\ 2 \\\ ... \\\ m \end{array} \Bigg)x_n=0$$
初等變換等價標準型:
$$\bold I_{m\times n}=\Bigg( \begin{array}{lcl} 1\quad\quad\space b_{1,1}\space...\space b_{1,n-r}\\\ \quad...\quad b_{2,1}\space...\space b_{2,n-r} \\\ \quad\quad 1 \space b_{r,1}\space...\space b_{r,n-r} \\\ 0 \quad...\quad 0 \quad ... \quad 0 \\\ 0 \quad...\quad 0 \quad ... \quad 0 \end{array} \Bigg)$$
對於非齊次方程$AX=b$,只有當$r(A)=r(\bar{A})$時,方程組有惟一解,後者爲增廣矩陣。類比於線性模型的數據集,只有當特徵數>樣本數時,若特徵無關(PCA降維前驅),則必定線性可分,label必定能夠線性表示。當特徵數少於樣本數時,則特徵只能線性表示樣本中的一類點,而不能表示所有spa

5.類似對角型和二次型

  • $A\sim B:B=P^{-1}AP,|A|=|B|$
  • 特徵向量與特徵值:$A\alpha=\lambda\alpha,解特徵值可經過解方程(A-\lambda E)\alpha=0獲得$
  • 類似對角化:實對稱矩陣必定能夠類似對角化,且是正交類似
  • 正交合同:$A=P^TBP$,能夠發現,類似和正交合同必定是等價標準型,可是類似不只要求等價標準,還要求行列變換互逆;而正交合同則要求行列變換互爲轉置。
  • 二次型必定能夠化爲標準型,由於實對稱矩陣正交類似即合同
  • 實對稱矩陣正定則各階主子式>0,則特徵值全>0
  • 二次型變換與PCA神似。都是正交基的轉換,不過PCA會涉及到降維
矩陣正定

判斷矩陣正定有多種方式,經常使用的就是:orm

  • 順序主子式>0
  • $A=C^TC$
  • 合同於E
  • 特徵值全爲正

6.範數

範數(norm)常常做爲參數約束使用,像多任務學習中的約束項、目標函數中的權重衰減、RNN中的梯度裁剪等都會用到範數。it

向量範數
  • L1範數:$||W||_1$,在每一個位置的斜率相同均爲1
  • L2範數:$||W||_2$,與總體向量相關
  • L2平方範數:$||W||_2^2$,每一個元素僅與自身相關,但原點處增加十分緩慢
  • 正無窮範數:$||x||_{+\infin}=max|x_i|$
  • 負無窮範數:$||x||_{-\infin}=min|x_i|$
矩陣範數
  • 矩陣F範數:$||A||_ F=\sqrt{\sum\limits_ {ij}A_{ij}^2} $,相似於向量L2範數
  • 列和範數:$||A||_ 1=\max\limits_{1\leq j\leq n}\sum\limits_{i=1}^m|a_{ij}|$
  • 行和範數:$||A||_ \infin=\max\limits_{1\leq i\leq m}\sum\limits_{j=1}^n|a_{ij}|$
  • 核範數:奇異值之和
  • L0、L1範數:相似於向量的L0和L1範數
  • L2範數:$||A||_2=\sqrt{\lambda max(A^TA)}$
  • $L_{2,1}$範數:每一列求L2範數後,再求L1範數

7.其餘

對角陣

對角陣與X的矩陣乘積至關於將X的每一個元素放大了Vi倍,這個性質應該頗有用,雖然我也想不起來哪裏有用
$$diag(V)\cdot X=V\bigodot X$$基礎

正交陣

仍是單獨點一下,實際前面類似對角化提到過了,正交陣是單位正交,矩陣的逆和矩陣的轉置相同
$$A^TA=AA^T=I$$變量

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

特徵分解

針對方陣咱們有特徵分解可使用(前提是矩陣可逆),矩陣分解能夠看做矩陣A做用於n個特徵向量所組成的正交基,至關於在每一個方向$V_i$上延展了特徵值$\lambda_i$倍,對正交空間拉伸或收縮。特徵分解常常用於各類降維算法裏面,像PCA和LDA(線性判別分析,不是潛在迪利克雷分佈模型)。有一些有趣的性質須要記一下:並行

  • $A=Q\Lambda Q^{-1}$,前提是A有n個線性無關的特徵向量,實對稱矩陣必定能夠類似對角化
  • 若是A有0特徵值,那麼A將是奇異的。$Av=0$,因此A列向量線性相關,因此A不滿秩,因此A不可逆,因此A奇異
  • 半正定矩陣可保證$X^TAX>=0$
SVD

對於方陣有特徵分解,那對於通常矩陣就可使用奇異值分解。
$$A_{m\times n}=U_{m\times m}D_{m\times n}V^T_{n\times n}\begin{cases}U:AA^T的特徵向量,左奇異向量 \\\ D:A^TA的特徵值的平方根,奇異值 \\\ V^T:A^TA的特徵向量,右奇異向量\end{cases}$$
奇異值分解做爲一種矩陣分解方法,也常常用到降維場景,像PCA,相較於特徵分解的優勢是:在使用右奇異向量對特徵進行降維時,避免了與數據量線性相關,速度更快。
奇異值有個良好的特性,就是奇異值減少的特別快,前10%甚至前1%就佔所有奇異值99%以上,所以可使用前r個奇異值描述矩陣。

理解

行列式|D|描述矩陣乘以後空間體積大小。特徵值/奇異值表明在特徵向量方向上縮放對應的λ倍,捨棄小的λ或δ,至關於捨棄了變換小的某一正交基向量,由於在此維度上,數據變化很是小,體現不出特徵,丟棄變化小的維度至關於去噪。好比,三維空間上,X方向上的數據幾乎不多變化,Z=f(X,Y)更與y相關,那麼直接將X捨棄,Z=g(Y)精度也不會損失太多。
具體到PCA,$A=B^TB$,方差方向小的λ,數據不怎麼變化,去掉也不要緊,當特徵是相關的,協方差會很小,對應的λ小,刪掉λ對應方向等於去相關,同時方差變化小,也意味着噪聲方向,至關於去噪。

Moore-Penrose僞逆

奇異矩陣不可逆,那有沒有辦法求逆呢?答案是有的,對於$AX=y$,矩陣A的僞逆運算$A^+=\lim\limits_{\alpha\rightarrow 0}(A^T+\alpha I)^{-1}A^T$,實際中常常會用奇異值分解進行僞逆求解$A^+=VD^+U^T$。僞逆運算能夠這麼理解,加入正則化後,使得欠定問題可定。

  • 當A行數<列數時,$X=A^+y$是$||x||_2$最小的一個
  • 當行數>列數時,可能無解,有解時獲得的x使得$||AX-y||_2$最小

能夠看出,這就是正則化的做用。

跡運算

跡運算就是對角線元素的乘積。最有用的一條性質是:$||A||_F=\sqrt{Tr(AA^T)}$

行列式

行列式D=特徵值的乘積。$|A-\lambda E|=(\lambda-a_1)...(\lambda-a_n),令\lambda=0,則|A|=a_1a_2...a_n$
行列式的絕對值衡量了矩陣參與乘積後體積擴大或者縮小了多少。當|D|=0,說明空間沿着某一維徹底收縮了;當|D|=1,說明空間體積保持不變。

相關文章
相關標籤/搜索