久久天天躁狠狠躁夜夜躁,国产精品入口福利,97久久精品人人爽人人爽蜜臀 ,中文字幕国产精品一区二区

當前位置首頁 > 校外拓展 > 課外拾零

(干貨)主成分分析(PCA)原理詳解

更新時間:2023-08-05 文章作者:佚名 信息來源:網絡整理 閱讀次數:

本文是在主成分分析(PCA)原理的解讀基礎上添加一些自己的理解。bca物理好資源網(原物理ok網)

一、相關背景bca物理好資源網(原物理ok網)

在很多領域的研究和應用中,一般需要觀察豐富的多變量數據,收集大量的數據并進行分析,尋找規(guī)律。 多元大數據集無疑將為研究和應用提供豐富的信息,也在一定程度上減少數據采集的工作量。 更重要的是,很多情況下,很多變量之間可能存在相關性,從而降低了問題分析的復雜度。 如果對每個指標單獨進行分析,分析往往是孤立的,不能完全依賴數據中的信息。 因此,盲目降低指標會丟失很多有用的信息,進而形成錯誤的推論。bca物理好資源網(原物理ok網)

因此,需要找到一種合理的方法,在減少需要分析的指標的同時,盡量減少原始指標所包含信息的損失,從而達到對收集到的數據進行綜合分析的目的。 由于變量之間存在一定的相關性,因此可以考慮將密切相關的變量分成盡可能少的新變量,使這些新變量成對不相關,這樣就可以用更少的綜合指標來區(qū)分代表每個變量中存在的各種信息。 主成分分析和因子分析就屬于這種聚類算法。bca物理好資源網(原物理ok網)

2. 數據聚類bca物理好資源網(原物理ok網)

聚類是一種預處理高維特征數據的方法。 聚類就是保留高維數據中一些最重要的特征并消除噪聲和不重要的特征,從而節(jié)省大量的時間和成本。 在實際生產和應用中,在一定的信息丟失范圍內,聚類可以為我們節(jié)省大量的時間和成本。 聚類也成為一種非常廣泛使用的數據預處理技術。bca物理好資源網(原物理ok網)

集群有一些優(yōu)點:bca物理好資源網(原物理ok網)

1)使數據集更易于使用。bca物理好資源網(原物理ok網)

2)增加算法的預估成本。bca物理好資源網(原物理ok網)

3)消除噪音。bca物理好資源網(原物理ok網)

4)使結果易于理解。bca物理好資源網(原物理ok網)

聚類算法有很多種,如奇異值分解(SVD)、主成分分析(PCA)、因子分析(FA)、獨立成分分析(ICA)等。bca物理好資源網(原物理ok網)

3. PCA原理解讀 3.1 PCA的概念bca物理好資源網(原物理ok網)

PCA(),即主成分分析,是最廣泛使用的數據聚類算法之一。 PCA的主要思想是將n維特征映射到k維。 這個k維就是一個新的正交特征,也稱為主成分,是在原來的n維特征的基礎上重構的k維特征。 PCA的工作是從原始空間中依次找到一組相互正交的坐標軸,新坐標軸的選擇與數據本身密切相關。 其中,第一個新坐標軸選擇為原始數據中殘差最大的方向,第二個新坐標軸選擇為在與第一個坐標軸正交的平面內推動殘差最大的方向,第三個新坐標軸選擇為在與第一個坐標軸正交的平面內推動殘差最大的方向。 axis 它是與第 1 軸和第 2 軸正交的平面中的最大殘差。 以此類推力的正交分解是什么量,可得到n個這樣的坐標軸。 通過這些方法得到的新坐標軸,我們發(fā)現大部分殘差都包含在上面的k個坐標軸??中,而之前的坐標軸中包含的殘差幾乎為0。因此,我們可以忽略剩余的坐標軸,并且只保留富含大部分殘差的上k個坐標軸??。 實際上,這相當于只保留包含殘差最多的維度的特征,而忽略包含殘差幾乎為0的特征維度,從而實現數據特征的聚類處理。bca物理好資源網(原物理ok網)

思考:如何得到這個包含最大差異的主成分方向?bca物理好資源網(原物理ok網)

答:其實就是通過估計數據矩陣的共殘差矩陣,得到共殘差矩陣的特征值特征向量,特征最大的k個特征對應的特征向量組成的矩陣選擇值(即最大殘差)。 這樣就可以將數據矩陣變換到新的空間,實現數據特征的聚類。 (為什么特征值最大的方向就是殘差最大的方向。n維特征空間中的樣本分布在不規(guī)則區(qū)域,用k維正交單位向量來表示。特征值*特征向量是k維空間中能夠表示的面積,所以特征值越大,表示的面積越大,對應的樣本在這個方向上越分散,殘差也越大。參考:)bca物理好資源網(原物理ok網)

由于獲取共殘差矩陣的特征值特征向量有兩種方式:特征值分解共殘差矩陣、奇異值分解共殘差矩陣,因此PCA算法的實現方式有兩種:基于特征值分解共殘差矩陣實現PCA算法,PCA算法基于SVD分解共殘差矩陣。bca物理好資源網(原物理ok網)

既然提到了協殘差矩陣,我們就簡單介紹一下殘差和協殘差的關系。 然后簡單介紹了特征值分解矩陣的原理和奇異值分解矩陣的原理。 大致介紹是因為我在之前的文章《矩陣分解:特征值分解(EVD)、奇異值分解(SVD)中已經介紹過特征值分解原理和奇異值分解原理,所以這里不再重復。bca物理好資源網(原物理ok網)

3.2 核殘差和散點矩陣bca物理好資源網(原物理ok網)

樣本平均值:bca物理好資源網(原物理ok網)

樣本殘差:bca物理好資源網(原物理ok網)

樣本 X:[10,15,23,11,42,9,11,8,11,21] 樣本 Y:[15,46,21,9,45,48,21,5,12,20] Co -(注意這里的樣本實際上是指數據集的特征):bca物理好資源網(原物理ok網)

從前面的公式,我們可以得到以下推論:bca物理好資源網(原物理ok網)

(1)殘差的估計公式是基于一維特征,即對相同特征的不同樣本的值進行估計; 而共殘差必須至少滿足二維特征; 殘差是共同殘差的特殊情況。bca物理好資源網(原物理ok網)

(2)殘差和共殘差的除數為n-1,即得到殘差和共殘差的無偏可能性。bca物理好資源網(原物理ok網)

當共殘差為正時,表示X和Y呈正相關; 當共同殘差為負時,表示X和Y負相關; 當co-為0時,表示X和Y相互獨立。 Cov(X,X)是X的殘差。當樣本是n維數據時,它們的共殘差實際上是一個共殘差矩陣(對稱方陣)。 例如,對于3維數據(x,y,z)(每個樣本有三列特征x,y,z,共n個樣本),估計的共同殘差為:bca物理好資源網(原物理ok網)

散布矩陣定義為:bca物理好資源網(原物理ok網)

數據 X 的散布矩陣為 。 雖然共殘差矩陣和散布矩陣密切相關,但散布矩陣是共殘差矩陣除以(總數據量-1)。 因此它們的特征值和特征向量是相同的。 這里值得注意的是,散布矩陣是SVD奇異值分解中的一個步驟,因此PCA和SVD密切相關。bca物理好資源網(原物理ok網)

3.3 特征值分解矩陣原理bca物理好資源網(原物理ok網)

(1) 特征值和特征向量bca物理好資源網(原物理ok網)

如果向量v是矩陣A的特征向量,則它必須用以下方式表示:bca物理好資源網(原物理ok網)

其中,λ是特征向量v對應的特征值,矩陣的一組特征向量就是一組正交向量。bca物理好資源網(原物理ok網)

(2)特征值分解矩陣bca物理好資源網(原物理ok網)

對于矩陣A,有一組特征向量v,對這組向量進行正交化和單位化,得到一組正的電匯向量。 特征值分解就是將矩陣A分解為如下公式:bca物理好資源網(原物理ok網)

其中,Q為矩陣A的特征向量組成的矩陣,為對角矩陣,對角線上的元素為特征值。bca物理好資源網(原物理ok網)

這部分的詳細內容可以看我的文章《機器學習中的SVD總結》,地址:機器學習中的SVD總結bca物理好資源網(原物理ok網)

3.4 SVD分解矩陣原理bca物理好資源網(原物理ok網)

奇異值分解是一種可以應用于任何矩陣的分解方法。 對于任何矩陣 A,總是存在奇異值分解:bca物理好資源網(原物理ok網)

假設A是一個m*n矩陣,則得到的U是一個m*m方陣,U上面的正交向量稱為左奇異向量。 Σ 是一個 m*n 矩陣。 不僅Σ對角線上的其他元素都為0,而且對角線上的元素稱為奇異值。 是v的轉置矩陣,是一個n*n矩陣,其上的正交向量稱為右奇異值向量。 而且一般來說,我們會將Σ上的值按降序排列。bca物理好資源網(原物理ok網)

SVD分解矩陣A的步驟:bca物理好資源網(原物理ok網)

(1)求bca物理好資源網(原物理ok網)

bca物理好資源網(原物理ok網)

的特征值和特征向量,使用單位化特征向量形成U。bca物理好資源網(原物理ok網)

(2)尋求bca物理好資源網(原物理ok網)

bca物理好資源網(原物理ok網)

的特征值和特征向量,使用單位化特征向量形成V。bca物理好資源網(原物理ok網)

(3) 遺囑bca物理好資源網(原物理ok網)

力的正交分解是什么量_力的正交分解的原則_力正交分解的情況有哪些bca物理好資源網(原物理ok網)

bca物理好資源網(原物理ok網)

或者bca物理好資源網(原物理ok網)

bca物理好資源網(原物理ok網)

然后將特征值的平方根形成Σ。bca物理好資源網(原物理ok網)

3.5 PCA算法的兩種實現bca物理好資源網(原物理ok網)

(1)實現基于特征值分解共殘差矩陣的PCA算法bca物理好資源網(原物理ok網)

輸入:數據集bca物理好資源網(原物理ok網)

,需要降維到k維。bca物理好資源網(原物理ok網)

1)去平均(即去中心化),即將每個特征除以各自的平均值。bca物理好資源網(原物理ok網)

2)估計共殘差矩陣bca物理好資源網(原物理ok網)

bca物理好資源網(原物理ok網)

,注:這里,樣本數n或n-1劃分與否,雖然對得到的特征向量沒有影響。bca物理好資源網(原物理ok網)

3)通過特征值分解的方式求出共殘差矩陣的特征值和特征向量。bca物理好資源網(原物理ok網)

4)將特征值從大到小排序力的正交分解是什么量,選擇其中最大的k。 然后,將對應的k個特征向量作為行向量,構成特征向量矩陣P。bca物理好資源網(原物理ok網)

5) 將數據變換到由k個特征向量建立的新空間中,即Y=PX。bca物理好資源網(原物理ok網)

總結:bca物理好資源網(原物理ok網)

1)關于為什么使用這部分bca物理好資源網(原物理ok網)

bca物理好資源網(原物理ok網)

,其中富含非常復雜的線性代數理論推論。 如果你想了解詳情,可以閱讀下面的文章。bca物理好資源網(原物理ok網)

-PCA的物理原理bca物理好資源網(原物理ok網)

2)關于矩陣為什么要用特征值來分解,是因為bca物理好資源網(原物理ok網)

bca物理好資源網(原物理ok網)

它是一個方陣,可以很容易求出特征值和特征向量。 事實上,也可以使用奇異值分解,這是求特征值和特征向量的另一種方法。bca物理好資源網(原物理ok網)

作為一個反例:bca物理好資源網(原物理ok網)

以X為例,我們使用PCA將這兩行數據縮減為一行。bca物理好資源網(原物理ok網)

1)由于X矩陣的每一行已經是零均值,所以不需要去均值。bca物理好資源網(原物理ok網)

2)求共殘差矩陣:bca物理好資源網(原物理ok網)

3)求出共殘差矩陣的特征值和特征向量。bca物理好資源網(原物理ok網)

求解后的特征值為:bca物理好資源網(原物理ok網)

對應的特征向量為:bca物理好資源網(原物理ok網)

相應的特征向量是通解,可以取任意實數。 經過這樣的歸一化后的特征向量為:bca物理好資源網(原物理ok網)

4)矩陣P為:bca物理好資源網(原物理ok網)

5) 最后,我們將 P 的第一行除以數據矩陣 X 以獲得聚類表示:bca物理好資源網(原物理ok網)

結果如圖1所示:bca物理好資源網(原物理ok網)

圖 1:Data X 聚類投影結果bca物理好資源網(原物理ok網)

注意:如果我們用特征值分解共殘差矩陣,那么我們只能得到一個方向的PCA聚類。 該方向是從行(或列)方向對數據矩陣X進行壓縮和聚類。bca物理好資源網(原物理ok網)

(2)基于SVD分解共殘差矩陣實現PCA算法bca物理好資源網(原物理ok網)

輸入:數據集bca物理好資源網(原物理ok網)

,需要降維到k維。bca物理好資源網(原物理ok網)

1)去平均值,即將每一位特征除以各自的平均值。bca物理好資源網(原物理ok網)

2) 估計共殘差矩陣。bca物理好資源網(原物理ok網)

3)通過SVD估計共殘差矩陣的特征值和特征向量。bca物理好資源網(原物理ok網)

4)將特征值從大到小排序,選擇其中最大的k。 然后,將對應的k個特征向量作為列向量,構成特征向量矩陣。bca物理好資源網(原物理ok網)

5)將數據變換到由k個特征向量創(chuàng)建的新空間中。bca物理好資源網(原物理ok網)

在PCA聚類中,我們需要找到樣本共殘差矩陣bca物理好資源網(原物理ok網)

力的正交分解的原則_力的正交分解是什么量_力正交分解的情況有哪些bca物理好資源網(原物理ok網)

bca物理好資源網(原物理ok網)

最大的k個特征向量,然后利用最大的k個特征向量組成的矩陣做低維投影聚類。可見,在這個過程中,需要找到共殘差矩陣bca物理好資源網(原物理ok網)

bca物理好資源網(原物理ok網)

,當樣本數量很多,樣本特征數量很多的時候,這個估計還是很大的。 當我們使用SVD分解共殘差矩陣時,SVD有兩個好處:bca物理好資源網(原物理ok網)

(1) 有一些SVD實現算法不需要求共殘差矩陣bca物理好資源網(原物理ok網)

bca物理好資源網(原物理ok網)

還可以找到我們正確的奇異矩陣V。換句話說,我們的PCA算法可以通過SVD而不是特征分解來完成,這在樣本量很大時非常有效。 事實上,-learn 的 PCA 算法背后的真正實現是使用 SVD 而不是特征值分解。bca物理好資源網(原物理ok網)

(2) 請注意,PCA 僅使用我們的 SVD 的左奇異矩陣,而不使用右奇異值矩陣。 右奇異值矩陣有什么用?bca物理好資源網(原物理ok網)

假設我們的樣本是一個m*n的矩陣X,如果我們通過SVD求出該矩陣bca物理好資源網(原物理ok網)

由最大的k個特征向量組成的k*n矩陣bca物理好資源網(原物理ok網)

,那么我們可以執(zhí)行以下操作:bca物理好資源網(原物理ok網)

可以得到m*k的矩陣X'。 與我們原來的m*n矩陣X相比,列數從n減少到k。 可以看出列數被壓縮了。 也就是說,左奇異矩陣可以用來壓縮行數; 右奇異矩陣可用于壓縮列(即特征維數)。 這就是為什么我們使用SVD分解共殘差矩陣來實現PCA以獲得兩個方向(即行和列方向)的PCA聚類。bca物理好資源網(原物理ok網)

4.主成分分析示例bca物理好資源網(原物理ok網)

(1)PCA的實現:bca物理好資源網(原物理ok網)

##Python實現PCA
import numpy as np
def pca(X,k):#k is the components you want
  #mean of each feature
  n_samples, n_features = X.shape
  mean=np.array([np.mean(X[:,i]) for i in range(n_features)])
  #normalization
  norm_X=X-mean
  #scatter matrix
  scatter_matrix=np.dot(np.transpose(norm_X),norm_X)
  #Calculate the eigenvectors and eigenvalues
  eig_val, eig_vec = np.linalg.eig(scatter_matrix)
  eig_pairs = [(np.abs(eig_val[i]), eig_vec[:,i]) for i in range(n_features)]
  # sort eig_vec based on eig_val from highest to lowest
  eig_pairs.sort(reverse=True)
  # select the top k eig_vec
  feature=np.array([ele[1] for ele in eig_pairs[:k]])
  #get new data
  data=np.dot(norm_X,np.transpose(feature))
  return data
 
X = np.array([[-1, 1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
 
print(pca(X,1))
bca物理好資源網(原物理ok網)

里面的代碼實現了對數據X的特征進行聚類,結果如下:bca物理好資源網(原物理ok網)

(2)將PCA與我們的PCA進行比較:bca物理好資源網(原物理ok網)

##用sklearn的PCA
from sklearn.decomposition import PCA
import numpy as np
X = np.array([[-1, 1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
pca=PCA(n_components=1)pca.fit(X)
print(pca.transform(X))
bca物理好資源網(原物理ok網)

結果如下:bca物理好資源網(原物理ok網)

工作了半天,結果卻不一樣! 我們來剖析一下吧!bca物理好資源網(原物理ok網)

中的PCA由函數實現,對奇異值分解結果進行處理。 由于ui*σi*vi=(-ui)*σi*(-vi),即u和v同時求逆得到的結果是相同的,而這會導致PCA聚類得到的結果不同(雖然兩者都是正確的)。 具體可以參考參考文章9或者自己分析PCA的源碼。bca物理好資源網(原物理ok網)

5. PCA的理論推導bca物理好資源網(原物理ok網)

PCA有兩種容易理解的解釋:(1)最大方差理論; (2)最小化聚類帶來的損失。 兩種方法都會產生相同的結果。bca物理好資源網(原物理ok網)

這里我只介紹最大方差理論:bca物理好資源網(原物理ok網)

在信號處理中,認為信號有較大的殘差,而噪聲有較小的殘差。 幀率是信號與噪聲的殘差比,越大越好。 樣本在u1上的投影殘差較大,而在u2上的投影殘差較小,因此可以認為在u2上的投影是由噪聲引起的。bca物理好資源網(原物理ok網)

為此,我們覺得最好的k維特征是n維樣本點轉為k維后,每個維度的樣本殘差都很大。bca物理好資源網(原物理ok網)

例如,我們將右圖中的5個點投影到某個維度上,用一條經過原點的直線來表示(數據已經居中):bca物理好資源網(原物理ok網)

假設我們選擇兩條不同的直線進行投影,那么左右哪一條更好呢? 根據我們之前的殘差最大化理論,右邊那個是好的,因為投影的樣本點之間的殘差是最大的(也可以說投影的絕對值之和是最大的)。bca物理好資源網(原物理ok網)

估計投影的方法如右圖所示:bca物理好資源網(原物理ok網)

圖中,黑點代表樣本,白點代表在u上的投影,其中u是直線的斜率和直線的方向向量,是單位向量。 黑點是在u上的投影點,到原點的距離是(即或那么)。bca物理好資源網(原物理ok網)

6、選擇聚類后的維度K(主成分個數)bca物理好資源網(原物理ok網)

主成分個數K如何選擇? 首先定義兩個概念:bca物理好資源網(原物理ok網)

選擇不同的K值,然后利用下面的多項式不斷估計,選出能夠滿足下面多項式條件的最小K值。bca物理好資源網(原物理ok網)

t值可以自己確定,例如t值為0.01,說明PCA算法保留了99%的主要信息。 當你認為偏差需要更小時,可以將t值設置得小一些。 上式也可以用SVD分解時形成的S矩陣來表示,例如下面的多項式:bca物理好資源網(原物理ok網)

:bca物理好資源網(原物理ok網)

(一)主成分分析(PCA)原理解讀bca物理好資源網(原物理ok網)

(2)機器學習之PCA主成分分析-steed灬-博客園bca物理好資源網(原物理ok網)

(3)簡單易學的機器學習算法——主成分分析(PCA)bca物理好資源網(原物理ok網)

(4)PCA在機器學習實戰(zhàn)中的應用bca物理好資源網(原物理ok網)

(5)機器學習中的物理學(5)-強大的矩陣奇異值分解(SVD)及其應用--博客園bca物理好資源網(原物理ok網)

(6) PCA與SVD關系的補充bca物理好資源網(原物理ok網)

(7)-PCA的物理原理bca物理好資源網(原物理ok網)

(8)PCA(主成分分析)實現bca物理好資源網(原物理ok網)

(九)主成分分析PCA()在部分源碼中的應用與分析bca物理好資源網(原物理ok網)

發(fā)表評論

統計代碼放這里
主站蜘蛛池模板: 通许县| 彰化市| 鱼台县| 商都县| 乾安县| 闽侯县| 凭祥市| 石林| 青州市| 丰都县| 溧阳市| 泌阳县| 商南县| 临颍县| 东港市| 禹州市| 伊吾县| 临邑县| 南昌市| 洱源县| 五常市| 新泰市| 揭阳市| 馆陶县| 鄂伦春自治旗| 霍城县| 福安市| 乐昌市| 萍乡市| 长岛县| 如皋市| 历史| 大关县| 车致| 应城市| 凤山市| 南京市| 巴青县| 喀喇沁旗| 恩施市| 南投市|