1. 程式人生 > >資料降維方法彙總

資料降維方法彙總

  • 資料降維的應用:①降低資料的儲存量;②加快機器學習的速度;③資料視覺化
  • 資料降維的本質: 方差

PCA(主成分分析)

  1. 簡介:principal component analysis,
  2. 原理:對於一個未知的系統,我們假設它有n個引數。我們想要求出那些引數最重要,而把不重要的引數給抹掉,從而降低引數向量的維數。PCA的問題其實是一個基的變換,使得變換後的資料有著最大的方差。
  3. 演算法過程:

    1)對於一個訓練集,20個sample(i=1,2,3,…,20),特徵Xi是100維Xi1,Xi2,Xi3,…Xij,…,Xi100,那麼它可以建立一個20*100的樣本矩陣M。
    2)緊接著我們開始求這個樣本的協方差矩陣,得到一個20*20的協方差矩陣,計算過程如下:
      •先求解出Xi的平均Xav=(∑xi)/20;
      •對每一個Xi,計算Xi-Xav,即Mi(第 i 行)變為 Mi-Xav,記為Mn;
      •則容易得到協方差矩陣Z為Mn*Mn’( ’ 表示轉置 ) 。
    3)然後求出這個協方差矩陣Z20x20的特徵值和特徵向量,一般情況下應該有20個特徵值和特徵向量,現在根據特徵值的大小,取出較大的特徵值以及其所對應的特徵向量,(假設提取的特徵值為較大的5個特徵值),那麼這5個特徵向量就會構成一個20*5的矩陣V,這個矩陣就是我們要求的特徵矩陣。

    4)用Mn’去乘以V,得到一個base矩陣(*),大小為100x5。

    5)任取一個樣本1x100,乘上這個100*5的特徵矩陣,就得到了一個1*5的新的樣本,顯然每個sample的維數下降了,然後再用這個1x5向量去比較相似性。

MDS(多維尺度分析)

  1. 簡介:multidimensional scaling,根據樣本是否可計量,又分為計量多元尺度法(Metric MDS)和非計量多元尺度法(Nonmetric MDS)。
方法 優點 缺點
Metric 精確 耗時,計算成本高
NonMetric 樣本尺度為ordinal,簡便,直觀,應用範圍更廣 無法知道評估準則,效果較差
  1. 原理:
    定義一個距離函式的集合,如下:

    Δ=δ1,1δ2,1δ3,1δ1,2δ2,2δ3,2δ1,3δ2,3δ3,3
    其中δi,j 表示第i個和第j個物件之間的距離,MDS演算法的目的是根據上述的Δ 尋找與物件數同樣多的向量,使得 ||xixj||δi,j ,其中 ||.||為向量的範數,歐式距離之類的東西。
    mdsΔ
  2. 演算法:

    原理部分:見部落格

ISOMAP(流行學習)

  1. 基本思想:高維空間發現低維結構
  2. 演算法過程:

    1.通過kNN(k-Nearest Neighbor)找到點的k個最近鄰,將它們連線起來構造一張圖。
    2.通過計算同中各點之間的最短路徑,作為點之間的距離dij放入距離矩陣D
    3.將D傳給經典的MDS演算法,得到降維後的結果。

    RF|DT(隨機森林|決策樹)

    因為隨機森林或者決策樹的分類規則是屬性所含有資訊量的多少,so可以目標屬性為因變數,需要降維的屬性集為自變數,放入隨機森林中進行訓練,然後輸出自變數的feature_importance,選取包含資訊量最大的特徵子集即可。

缺失值比率 (Missing Values Ratio)

該方法的是基於包含太多缺失值的資料列包含有用資訊的可能性較少。因此,可以將資料列缺失值大於某個閾值的列去掉。閾值越高,降維方法更為積極,即降維越少。

低方差濾波 (Low Variance Filter)

與上個方法相似,該方法假設資料列變化非常小的列包含的資訊量少。因此,所有的資料列方差小的列被移除。需要注意的一點是:方差與資料範圍相關的,因此在採用該方法前需要對資料做

高相關濾波 (High Correlation Filter)

高相關濾波認為當兩列資料變化趨勢相似時,它們包含的資訊也顯示。

1nn

機器學習實戰(Machine Learning in Action)學習筆記————10.奇異值分解(SVD)原理、基於協同過濾的推薦引擎、資料

關鍵字:SVD、奇異值分解、降維、基於協同過濾的推薦引擎作者:米倉山下時間:2018-11-3機器學習實戰(Machine Learning in Action,@author: Peter Harrington)原始碼下載地址:https://www.manning.com/books/machine-le

[Keras深度學習淺嘗]實戰五·使用DNN自編碼器實現聚類操作資料

[Keras深度學習淺嘗]實戰五·使用DNN自編碼器實現聚類操作資料降維 程式碼部分 # TensorFlow and tf.keras import tensorflow as tf from tensorflow import keras # Helper libraries

人臉識別中用主成分分析PCA來將資料--MATLAB程式碼

人臉識別的資料集,維度一般都比較高,在自己的電腦上跑這麼高維的資料集,很多個人計算機需要跑很長時間,因此一般都需要改變影象大小或者是降維。 常用的方式有以下幾種,最普通的是改變影象的大小,是用的MATLAB自帶的imresize函式來直接改變影象的大小,如何使用請自行查詢。其次就是降維,基本的降

資料(四)ISOMAP

流形學習——ISOMAP演算法 Isomap(Isometric Feature Mapping)是流行學習的一種,用於非線性資料降維,是一種無監督演算法. 流形 流形是一個區域性具有歐式空間性質的拓撲空間,流形能很好地近似任意高維的子空間. 測地線距離 測地距離(Geo

資料(三)PCA主成分分析

文章目錄 PCA主成分分析 目標函式1:最小化重建誤差 目標函式2:最大化方差 PCA目標函式計算 求解PCA(1) 表現 求解PCA(2) PCA總結 PCA主成分分析 目標