PCA 的思路和推導

2021-08-19 18:31:15 字數 2194 閱讀 8165

pca是一種較為常用的降維技術,

pca的思想是將n維特徵對映到k維上,

這k維是全新的正交特徵。這k維特徵稱為主元,是重新構造出來的k維特徵。在

pca中,資料從原來的座標系轉換到新的座標系下,新的座標系的選擇與資料本身是密切相關的。其中,第乙個新座標軸選擇的是原始資料中方差最大的方向,第二個新座標軸選取的是與第乙個座標軸正交且具有最大方差的方向,依次類推,我們可以取到這樣的k個座標軸。

以下面這幅圖開始我們的推導:

上面是二維空間中的一組資料,很明顯,資料的分布讓我們很容易就能看出來主成分的軸(簡稱主軸)的大致方向。下面的問題就是如何通過數學計算找出主軸的方向。來看這張圖:

現在要做的事情就是尋找u1的方向,對於這點,我想好多人都有經驗,這不就是以前用最小二乘法擬合資料時做的事情嗎!對,最小二乘法求出來的直線(二維)的方向就是u1的方向!那u2的方向呢?因為這裡是二維情況,所以u2方向就是跟u1垂直的方向,對於高維資料,怎麼知道u2的方向?經過下面的理論推導,各個主軸都能確定下來。

給定一組資料:(如無說明,以下推導中出現的向量都是預設是列向量)

將其中心化後表示為:

中心化後的資料在第一主軸u1方向上分布散的最開,也就是說在u1方向上的投影的絕對值之和最大(也可以說方差最大),計算投影的方法就是將x與u1做內積,由於只需要求u1的方向,所以設u1是單位向量。

也就是最大化下式:

也即最大化:

解釋:平方可以把絕對值符號拿掉,光滑曲線處理起來方便。

兩個向量做內積可以轉化成矩陣乘法:

所以目標函式可以表示為:

括號裡面就是矩陣乘法表示內積,轉置以後的行向量乘以列向量得到乙個數。因為乙個數的轉置還是其本身,所以又可以將目標函式化為:

這樣就可以把括號去掉!去掉以後變成:

由於u1和i無關,可以把它拿到求和符外面:

注意,其實括號裡面是乙個矩陣乘以自身的轉置,這個矩陣形式如下:

x矩陣的第i列就是xi,於是有:

所以目標函式最後化為:

上式到底有沒有最大值呢?如果沒有前面的1/n,那就是就是乙個標準的二次型!並且xx'(為了方便,用'表示轉置)得到的矩陣是乙個半正定的對稱陣!為什麼?首先xx'是對稱陣,因為(xx')'=xx',下面證明它是半正定,什麼是半正定?就是所有特徵值大於等於0。

假設xx'的某乙個特徵值為

證明完畢!對於半正定陣的二次型,存在最大值!現在問題就是如何求目標函式的最大值?以及取最大值時u1的方向?下面介紹兩種方法。

目標函式和約束條件構成了乙個最大化問題:

構造拉格朗日函式:

對u1求導

顯然,u1即為xx'特徵值

所以,如果取最大的那個特徵值,那麼得到的目標值就最大。有可能你會有疑問,為什麼一階導數為0就是極大值呢?那麼再求二階導數:

二階導數半負定,所以,目標函式在最大特徵值所對應的特徵向量上取得最大值!所以,第一主軸方向即為第一大特徵值對應的特徵向量方向。第二主軸方向為第二大特徵值對應的特徵向量方向,以此類推,證明類似。

初探PCA原理與推導

pca原理 將n維資料對映到由k維相互正交的向量確定的空間上。實現流程 1.計算原特徵資料的協方差矩陣,並計算協方差矩陣的特徵值。2.按照大小對所計算的特徵值進行排序,選取前k大的特徵值所對應的特徵向量,將其轉化為單位向量。3.對所有資料都減去其對應的平均值,做中心化。這相當於得到期望值為0,標準差...

PCA推導與直觀理解

資料降維 為了說明什麼是資料的主成分,先從資料降維說起。資料降維是怎麼回事兒?假設三維空間中有一系列點,這些點分布在乙個過原點的斜面上,如果你用自然座標系x,y,z這三個軸來表示這組資料的話,需要使用三個維度,而事實上,這些點的分布僅僅是在乙個二維的平面上,那麼,問題出在 如果你再仔細想想,能不能把...

PCA 分解的基本推導和計算方法

pca是資料降維的一種方法,其目標是找到資料分布方差最大的方向,並將資料向該方向投影並保持投影後恢復資料的殘差最小。即找到e和a,使得x的估計值x m e a與x殘差最小。注意,這裡e為乙個方向向量 非矩陣 且限定e的模為1 否則a和e不唯一 pca的推導,通過最優化x x 的均方誤差最小,得到a ...