按部就班的吳恩達機器學習網課用於討論(12)

數據壓縮

將二維數據降低到一維數據的方法,有直接替換的方法。下圖中,將數據條目的二維特徵x1,x2,轉化爲了一維特徵z1。其中,x1和x2是直接相關的(因爲四捨五入出現了一些偏差),而z1等於x1。

但是更通用的方法,應該是建立一個直線,該直線到所有特徵點的距離平方和是最小的。以該直線建立座標軸z,以數據投影作爲z值,將二維數據降低到一維吧。

 

 從本質的方法是,三維數據降低到二維數據的方法,將三維數據投射到一個二維平面上,該二維平面與所有數據點的距離平方和,應該要求最小。

最後,使用該二維平面所組建的新的座標,將數據的在平面的投影作爲座標值,將三維數據降低到二維。如下圖。

 

 

數據可視化

將高維數據降維到三維以下,可以實現可視化效果。但是降維後的數據中,每個維表示的意義,則需要自己定義。

 如下,是將國家之間的一些數據,每條數據有50維,最後降低到二維z1,z2,然後繪製出來的數據可視化效果。而通過觀察,認爲z1與國家規模或者GDP總量有關,而z2則與個人GDP有關。

          

 

 

 

主成分分析(Principal Component Analysis)問題闡述

主成分分析的方法原理,和之前所述數據降維基本一致,即,找到一個新的座標軸、平面、或者超平面,使得數據到這些座標軸、平面、或者超平面的距離平方和最小。

和機器學習中的有監督訓練的,線性迴歸方法,不同的是,主成分分析法使用的爲投影的距離平方和最小化,而線性迴歸要求,由輸入x到模型產生的數據值,到標籤y的距離平方和,最小化。這是針對不同領域的,兩種不同的方法。

下圖中,左爲線性迴歸,右爲主成分分析法。

 

 

主成分分析算法

首先需要進行數據表示的說明:

數據爲X的矩陣(大小n*m,m條數據,n列特徵)。每一行表示不同數據條目的相同特徵。其中每條數據xi,大小爲n行1列。

這是和之前數據表示方面,可能有不同的地方。

 

算法第一步是進行數據預處理。

在不同數據條目的相同特徵下,進行歸一化處理:求得特徵均值,並將特徵進行替換。(必要的吧,可能與協方差的定義有關)

在所有數據條目的不同特徵下,將影響過大的特徵值進行縮放,使得不同的特徵表示出的數據具有可比性。(可選的)

 

算法的第二步是計算協方差矩陣sigma。協方差的計算方法如下圖中公式的第一個。但是注意,其中的xi,表示的是所有樣本的某一個特徵值的向量。

即,在m個數據,每個數據n個特徵,最終要將m個數據的特徵降低到k個特徵的過程中,xi,爲n*1的向量。最終得到的大sigma,即爲n*n大小的協方差矩陣。

 

 算法的第三步是使用大sigma作爲參數,通過svd(singular value decomposition)奇異值分解函數(另外eig函數也有類似效果,但是svd可能更好用一點吧),獲取特徵向量U。如上圖

從特徵向量U中,取得前k列特徵向量,得到Ureduce(大小爲n*k)。轉秩後,通過與每個數據x(規模n*1)相乘,得到該條數據的k個特徵。

 

 總結如下:其中,Sigma可以使用X的矩陣乘法,獲取到n*n的協方差矩陣。

 

 

選擇主成分的數量

選擇數量時,根據PCA的方法,得到投影的均方差,當均方差和原始數據的均方差,比值最小,則有最小的數據量損失比例。誤差爲0,則投影均方差爲0,誤差比例爲1,則Xapprox爲0。

如下圖,分子爲投影均方差,分母爲總均方差。通過k的增長,測試如下公式,選擇最小的k,並滿足誤差損失比例,得到選擇的k。其中:Xapprox爲近似的原有特徵,該特徵使用投影Ureduce(n*k)與降維後的數據z(k*1)的乘積,得到近似的原始的n維數據,爲Xapprox(n*1)。

 

 或者,使用svd函數的計算結果中的S,由於該矩陣爲對角矩陣,容易計算,得到結果。也容易編程吧。

 

 

重建的壓縮表示

數據重構的方法如下所示,已經說明過。其含義是將低維數據,通過Ureduce特徵向量,重新投射到高維數據的世界中。

如下圖中,表示降維前數據的位置(左),降維後的數據位置(下),恢復後的數據位置(右)。

 

 

主成分分析法的應用建議

PCA可以壓縮數據,可視化數據,加速神經網絡訓練等。

在圖像識別方面,使用PCA,將原始的100*100像素進行降維做預處理,是可行的。在訓練集過程中使用Ureduce,同樣也應該使用訓練集中的Ureduce,以獲取驗證集和測試集的,降維後的數據。

PCA可以用來加速神經網絡的訓練過程,但是並不是一個必要的部分。在可以不需要使用PCA的時候,就不應該使用降維損失數據。

另外,使用PCA方法,降低過擬合效果是不可取的。過擬合是由於泛化能力差,樣本量不夠導致,在m個樣本n個特徵情況下,雖然降低特徵似乎可以降低過擬合,但是不可取(沒有從根本上解決問題??)。應該使用正則化降低過擬合。

下圖爲原始材料:另外的一些關於過擬合、欠擬合材料:https://zhuanlan.zhihu.com/p/72038532

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章