機器學習中的數學基礎(線性代數)

一、線性代數初步:

正確理解「線性代數」應該將其拆分成2部分:「線性」體現向量,它是靜態的研究對象,而「代數」則是施加在向量上的數學結構,代表的是數學運算,具體就是數乘和加法,即映射。因此,線性代數研究的就是向量集合上的各種運算,包括線性空間和線性變換,而矩陣就是將兩者聯繫起來的紐帶。

向量和基,在所有N維向量集合中施加滿足交換律和結合律的加法和數乘運算,一個線性空間就誕生了。但我們不能直接就說該線性空間是N維的,因為線性空間的維數取決於該集合中基的個數,基就是該向量集合中的最大無關組,集合中的任意一個向量都可以用基來線性表示,所以基可以看成是該線性空間上的坐標軸,而向量就是在此坐標軸上的坐標。拿二維線性空間來說,X軸和Y軸可以用(1,0)和(0,1)來表示,所以X和Y就是二維線性空間上的一組基,特別的,這就是笛卡爾坐標系,最終,平面上的任意一點都可以由X和Y來線性表示。但是,請注意二維線性平面中不平行不共線的任意兩個向量都可以看作是一組基,因此基的選擇也要視具體需要解決的問題而定,這就引出了正交基,正交規範基等等。

線性映射和矩陣,線性映射是線性空間中的運動,表示線性空間中的某點躍遷到另外一點,矩陣就決定了向量運動的軌跡,任何一個矩陣M都能分解為縮放、旋轉和平移分量,使向量最終變換至任意的地方。同時,由於任何一個向量都可以由其空間中的基線性表示,因此對向量的變換可以轉化為對基的變換,一組基可以唯一的確定一個變換矩陣,不同的基使得變換矩陣也各有不同。既然說到基,就不得不談到坐標系,對於 M·alpha=eta 有2種視角可以解釋它:1,在當前坐標系下,使用矩陣M將定義坐標系中的 alpha 點轉移至 eta 點;2,轉換坐標系,使得在不同坐標系下矩陣M對向量 alpha 的變換與矩陣E對向量 eta 的變換指向同一位置點。

由此可知,線性映射和矩陣適用於一切線性逼近的問題。例如斐波拉契數列和線性回歸,傳統意義上的斐波拉契數列通常使用遞歸來描述f(1)=1, f(2)=1, f(n+2)=f(n)+f(n+1)。因為自相關特性,後面的元素可以由前面的元素線性表示,看到線性就應該想到建立線性模型使用矩陣求解,因此再遞推一項f(n+1)=0·f(n)+1·f(n+1),就可以得到一個自相關的線性映射 egin{gather*} egin{bmatrix} f(n+1) \ f(n+2) end{bmatrix}quad end{gather*} = egin{gather*} egin{bmatrix} 0 & 1 \ 1 & 1 end{bmatrix}quad · egin{bmatrix} f(n) \ f(n+1) end{bmatrix}quad end{gather*}

二、線性代數進階:

在一個線性空間中,對於線性變換T,若取定一組基 alpha ,一定能找到矩陣M來描述這組基的運動軌跡。同時,若取另一組基 eta ,則可以用矩陣N來表示。那在什麼條件下矩陣M和N描述同一個線性變換T呢?這就引出了相似矩陣:若存在這樣一個矩陣P,使得 N=P^{-1}·M·P ,我們就稱這兩個矩陣互為相似矩陣,兩者描述的是同一個線性變換T在不同基下的表達形式,同時eta=alpha·P 。當我們研究線性變換的時候,只需將原矩陣轉化為它的相似矩陣,然後研究它在相似變換下的不變性質即可,畢竟原矩陣和相似矩陣描述的是同一個線性變換。

相似變換下的不變性質包括行列式,跡和秩等。從線性空間的幾何角度看,若C是線性空間V中的立方體,T是V中的某個線性變換,在基 alpha 下對應的變換矩陣為A,則Volume(T(C))=|A|·Volume(C),特別的,對線性映射T(C)=exp(C),|A|=exp(tr(C))。同時,秩rank(C)與線性空間的維數相同,即rank(C)=dim(V)。另外,特徵值是最重要的相似不變數,後續相似變換都是圍繞對特徵值的研究而展開的。

如果對稱方陣 A^{} = P^{T}·A·P,那麼這2個矩陣就互為相合矩陣。從代數角度理解,相合矩陣為N元2次方程組的係數矩陣,幾何角度上看,相合矩陣度量線性空間一組基間的內積關係。類似相似矩陣表示同一線性變換在不同基下的表現形式,相合矩陣表示的是同一內積結構在不同基下的表現。

對稱矩陣 A 對任意 x 均存在 x^{T}·A·x >0都成立,則稱A為正定矩陣。正定矩陣的所有特徵值均大於0。若 A^{}A 互為相似矩陣,則它們之間的正定性、正負特徵值個數和對稱性均保持不變,即為相合不變數。

若將相似變換和相合變換結合起來,同時保持矩陣的相似和相合不變數,則將該變換稱作正交相似變換,其中 A^{}=P^{-1}·A·PP^{-1}=P^{T}。值得注意的是,任意一個對稱矩陣A,總存在一個正交矩陣P,使得 A=P^{-1}·D·P ,其中D為一個對角矩陣。從代數計算的角度來看,對角矩陣D為A矩陣的特徵值,P是對應於某一特徵值下的特徵向量。

正交相似變換最直接的應用有2種,包括對稱方陣的PCA變換和長方形矩陣的SVD。

PCA變換:當我們拿到包含大量特徵維度的海量樣本時,切忌急急忙忙導入內存開始訓練。而應該思考這麼多特徵維度是否相關,是否存在大量冗餘,是否與樣本標籤毫無關係?那麼我們有沒有辦法從原始特徵中挑選彼此間不相關的特徵,或者將原始特徵映射到一個新的維度挑選能包含最大信息量的特徵?前者在某種程度上屬於線性回歸中要解決的多重共線性問題,而後者是我們現在要討論的PCA。首要問題是如何衡量信息量,一般認為,樣本間的方差衡量樣本間的信息,信息量越大則樣本間的方差越大,PCA變換的一個角度就是找到某一個正交映射,使得樣本在新的特徵維度上擁有的方差最大,簡稱最大方差解釋。

首先,將已知樣本矩陣在特徵維中心化和標準化;其次,求解預處理後的樣本矩陣在方向向量u上的投影(X·u·u^{T} ,|u|=1)。考慮投影后的樣本矩陣,列向量為原始矩陣在特徵維的線性變換,此時可以將投影后矩陣的列向量看作是原始特徵融合後的新特徵,目的就是降維;最後,求解到底應該選取哪一個方向才會使得投影后的樣本方差最大。

max(alpha)=sum_{}^{}{(u^{T}·x_{i})^2} ,協方差矩陣的跡,用拉格朗日函數,加上|u|=1的條件對u求偏導,當u為原始矩陣協方差矩陣的特徵向量時,樣本方差取最大值,所以當u對應的特徵值最大時,問題得解。

最後,工業界的應用就是使用PCA預處理數據,即求解歸一化後樣本矩陣的協方差矩陣,求解它的特徵值和特定的正交特徵向量,按特徵值大小重排後得到新的壓縮後的樣本矩陣,再利用壓縮後樣本矩陣做訓練,得到模型。當新的預測樣本進入時,先使用已知的u求解投影后的樣本再代入模型得到結果。

推薦閱讀:

關於方陣的特徵值和特徵向量的思考
線性方程組(2)-兩個令人腦殼疼的傢伙
機器學習數學:線性代數
將線性代數形象化 總結篇
深度學習讀書筆記 第一部分 線性代數

TAG:線性代數 | 機器學習 | 自然語言處理 |