機器學習演算法之 主成分分析(PCA)

2021-09-04 05:54:06 字數 1234 閱讀 6935

降維是對資料高維度特徵的一種預處理方法。降維是將高維度的資料保留下最重要的一些特徵,去除雜訊和不重要的特徵,從而實現提公升資料處理速度的目的。在實際的生產和應用中,降維在一定的資訊損失範圍內,可以為我們節省大量的時間和成本。降維也成為了應用非常廣泛的資料預處理方法。

(1)使得資料集更易使用

(2)降低演算法的計算開銷

(3)去除雜訊

(4)使得結果容易理解

pca(principal component analysis),即主成分分析方法,是一種使用最廣泛的資料壓縮演算法。在pca中,資料從原來的座標系轉換到新的座標系,由資料本身決定。轉換座標系時,以方差最大的方向作為座標軸方向,因為資料的最大方差給出了資料的最重要的資訊。第乙個新座標軸選擇的是原始資料中方差最大的方法,第二個新座標軸選擇的是與第乙個新座標軸正交且方差次大的方向。重複該過程,重複次數為原始資料的特徵維數。

通過這種方式獲得的新的座標系,我們發現,大部分方差都包含在前面幾個座標軸中,後面的座標軸所含的方差幾乎為0,。於是,我們可以忽略餘下的座標軸,只保留前面的幾個含有絕不部分方差的座標軸。事實上,這樣也就相當於只保留包含絕大部分方差的維度特徵,而忽略包含方差幾乎為0的特徵維度,也就實現了對資料特徵的降維處理。

那麼,我們如何得到這些包含最大差異性的主成分方向呢?事實上,通過計算資料矩陣的協方差矩陣,然後得到協方差矩陣的特徵值及特徵向量,選擇特徵值最大(也即包含方差最大)的n個特徵所對應的特徵向量組成的矩陣,我們就可以將資料矩陣轉換到新的空間當中,實現資料特徵的降維(n維)。

既然,說到了協方差矩陣,那麼這裡就簡單說一下方差和協方差之間的關係,首先看一下均值,方差和協方差的計算公式:

由上面的公式,我們可以得到一下兩點區別:

(1)方差的計算公式,我們知道方差的計算是針對一維特徵,即針對同一特徵不同樣本的取值來進行計算得到;而協方差則必須要求至少滿足二維特徵。可以說方差就是協方差的特殊情況。

(2)方差和協方差的除數是n-1,這樣是為了得到方差和協方差的無偏估計

將資料轉換為只保留前n個主成分的特徵空間的偽**如下所示:

去除平均值

計算協方差矩陣

計算協方差矩陣的特徵值和特徵向量

將特徵值排序

保留前n個最大的特徵值對應的特徵向量

將資料轉換到上面得到的n個特徵向量構建的新空間中(實現了特徵壓縮)

風火程式設計 機器學習之主成分分析 PCA

第一主成分 coding utf 8 import numpy as np import matplotlib.pyplot as plt x np.empty 100,2 x 0 np.random.uniform 0.100.size 100 x 1 0.75 x 0 3.np.random.n...

機器學習非監督分類之主成分分析(PCA)

主成分分析是非監督分類中基礎的演算法,應用於降低特徵的維度。在介紹主成分分析之前,我們要先介紹一下特徵值和特徵向量,因為在後面我們要用到。一 特徵值和特徵向量 特徵值如果有 此時 為矩陣a的特徵值,對應的x為矩陣的特徵向量。對於不相同的特徵值,其特徵向量是正交的。二 主成分分析 演算法 首先將x進行...

機器學習 主成分分析(PCA)

主成分分析是一種統計方法,通過正交變換將一組可能存在相關性的變數轉換成一組線性不相關的變數,轉換後的這組變數叫主成分。sklearn.decomposition.pca pca pca n components 1 newdata pca.fit transform data n component...