日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PCA----降维

發(fā)布時間:2024/4/17 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PCA----降维 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

引言:

特征值分解:矩陣的作用就是線性變換(如旋轉(zhuǎn),伸縮,平移等),在一個空間當中,矩陣左乘向量就是將向量線性變換成想要的效果,那么矩陣的特征值和特征向量是什么呢?

特征值、特征向量:在線性代數(shù)的定義當中,特征值和特征向量的定義是這樣的,AX=rX ,則稱r為A的特征值,X稱為A的屬于特征值k的特征向量。

這里的矩陣A就是將向量X在空間當中只進行拉伸不進行其他的線性變換,而特征值就是X在空間當中的拉伸的倍數(shù),有些人將它形容成X這個向量的方向上的能量。

矩陣的特征值可以看做這個線性變換的不變的一維子空間,在這個子空間中,方向不變只是能量變化而已。而一些特殊的矩陣就可以全部分為好多個不變的一維子空間,而一般的矩陣除了部分不變的子空間之外還有其他的變換(比如旋轉(zhuǎn))。通俗來講就是比如一個二維矩陣作用于一個圓上,理解為一個線性變換,那么該矩陣的特征值在它的特征向量的兩個維度上將圓進行拉伸成橢圓,剩下部分就是怎么將圓怎么旋轉(zhuǎn)了。

那么這樣做的目的是什么呢?就是講一個矩陣分解成不同的一維空間,如此就可以將相關研究分別限定在這些子空間中進行,就好比物理中將運動分為豎直運動和水平運動一樣更加直觀。

矩陣的特征分解與PCA的聯(lián)系:就是看矩陣在那個一維子空間中所占的特征值最大,若幾個相對較大的特征值相加站所有的特征值的絕大部分的話,就代表矩陣在這幾個一維子空間當中所含的能量大,則這幾個一維子空間就可以約等于這個矩陣了,如此就可以做到降維,在矩陣維度非常大時這起到很大的作用。

奇異值分解:那么特征分解并不是萬能的,因為它只能將方陣分解,如果是m*n的矩陣的話就不可以了,這種情況下就要用到奇異值分解了,即A=USVH,這里的U和VH都是正交矩陣(這兩個矩陣都相當于旋轉(zhuǎn)),S為對角陣(相當于伸縮),任何矩陣都可以通過一個一個旋轉(zhuǎn)一個伸縮一個旋轉(zhuǎn)得到,這里我是參考博客?矩陣特征值分解與奇異值分解的幾何意義的相關知識。那么這里的U,S,V怎么求呢?可以參考維基百科。其中的S就是對角元素為奇異值的對角矩陣,奇異值跟特征值類似,在矩陣A中也是從大到小排列,而且奇異值的減少特別的快,在很多情況下,前10%甚至1%的奇異值的和就占了全部的奇異值之和的99%以上了。也就是說,我們也可以用前幾個大的奇異值來近似描述矩陣A。這里就和前面所說的特征值分解相關了,因為奇異值等于非負的特征值的算術平方根。

一、PCA實現(xiàn)步驟:【換基】【線性】

PCA可以通過線性變換將原始數(shù)據(jù)變換為一組各維度線性無關的表示,以此來提取數(shù)據(jù)的主要線性分量。

z=wTx

其中,z為低維矩陣,x為高維矩陣,w為兩者之間的映射關系。

在PCA中,數(shù)據(jù)從原來的坐標系轉(zhuǎn)換到新的坐標系,由數(shù)據(jù)本身決定。轉(zhuǎn)換坐標系時,以方差最大的方向作為坐標軸方向,因為數(shù)據(jù)的最大方差給出了數(shù)據(jù)的最重要的信息。第一個新坐標軸選擇的是原始數(shù)據(jù)中方差最大的方法,第二個新坐標軸選擇的是與第一個新坐標軸正交且方差次大的方向。重復該過程,重復次數(shù)為原始數(shù)據(jù)的特征維數(shù)。

那么,我們?nèi)绾蔚玫竭@些包含最大差異性的主成分方向呢?事實上,通過計算數(shù)據(jù)矩陣的協(xié)方差矩陣,然后得到協(xié)方差矩陣的特征值及特征向量,選擇特征值最大(也即包含方差最大)的N個特征所對應的特征向量組成的矩陣,我們就可以將數(shù)據(jù)矩陣轉(zhuǎn)換到新的空間當中,實現(xiàn)數(shù)據(jù)特征的降維(N維)。

PCA主要就是實現(xiàn)降維,在一個高維的矩陣當中將其降維這樣可以節(jié)省好多空間也可以使計算簡單,那么PCA是怎么實現(xiàn)的呢?步驟如下:

1.計算觀測矩陣的協(xié)方差矩陣V:

? Vij 為原變量Xi與Xj的樣本協(xié)方差。

2.計算特征值r和特征向量A

解得協(xié)方差矩陣的特征值r按大小排列r1>=r2>=r3>=……>=rn>=0,分別求出對應于ri的單位特征向量ai=(ai1,ai2,ai3,……,aip)^T

3.計算PCA的主成分貢獻率和累計貢獻率

記,第i主成分貢獻率為ri/S,貢獻最大的m個主成分累計貢獻率為Sm/S.

一般取達80%~95%的r1,r2,……,rm所對應的主成分。

4.求主成分

Y=AX,其中A為特征向量的矩陣,X為原觀察矩陣

二、PCA的物理意義

以上就是PCA的計算步驟,但為什么要這么求呢?

PCA的問題其實是一個基的變換,使得變換后的數(shù)據(jù)有最大的方差,方差大小代表一個變量所含的信息量,若方差=0的話輸入的多個數(shù)據(jù)就相當于一個數(shù)據(jù)了,這就沒有意義了。

用A Tutorial on Principal Component Analysis論文中的一張圖來描述,上面的點為物體運動的軌跡。

這張圖中signal方向上所含的信息較多理應用這個方向來描述物體的運動,但是投影到x,y軸上就不能區(qū)分signal這個方向與noise方向上的信息的方差了,為什么呢,因為signal這個方向與x,y軸都成45度,那么這是要將坐標系即基x,y軸轉(zhuǎn)變成signal與noise這兩個方向就易分出物體運動軌跡的方差了。

一般方差大的方向就是所含信息最大的方向,PCA當中就是找出一組相互正交的坐標系,第一個軸就是使方差最大的,第二個軸就是與第一個軸正交也使方差最大的,第三個第四個也如此。這樣在高維空間中,如果前面m個軸所含的信息量足夠大,那么就可以用前m個軸來取代高維,這樣可以做到降維并且使得數(shù)據(jù)壓縮損失達到最小。

假設矩陣V的行代表一個樣本,列代表一個特征變量(這里很重要,協(xié)方差取得是變量之間的方差,而不是樣本的),將V進行坐標軸變換,在線性代數(shù)課本當中有過將一個基過渡到另外一個基,如X=CY,就是將基Y過渡到X,其中C就是過渡矩陣,那么這里要將原來樣本矩陣V過渡到協(xié)方差矩陣,這里要把過渡矩陣C求出來也就是上面計算步驟的特征向量A,在求A的同時進行了降維。在圖像處理當中,圖像可以用像素的灰度形成的矩陣來表示,此時可以用PCA來將圖像矩陣來進行壓縮,此時就可以將圖像一些干擾維度去掉找到圖像主成分,使圖像更加清晰。

? ? ? ?參考的博客:機器學習中的數(shù)學(5)-強大的矩陣奇異值分解(SVD)及其應用

? ? ? ? ? ? ? ? ? ? ? ? ? ??理解矩陣(一) - 孟巖 - 博客頻道 - CSDN.NET

? ? ? ?參考的論文:A Tutorial on Principal Component Analysis

轉(zhuǎn)載于:https://www.cnblogs.com/Lee-yl/p/10109838.html

總結(jié)

以上是生活随笔為你收集整理的PCA----降维的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。