導航:首頁 > 使用方法 > 常用的降維的方法

常用的降維的方法

發布時間:2022-09-24 05:21:04

『壹』 數據降維是什麼意思

數據降維是將數據進行降維處理的意思。

降維,通過單幅圖像數據的高維化,將單幅圖像轉化為高維空間中的數據集合,對其進行非線性降維。尋求其高維數據流形本徵結構的一維表示向量,將其作為圖像數據的特徵表達向量。降維處理是將高維數據化為低維度數據的操作。一般來說,化學過程大都是一個多變數的變化過程,一般的化學數據也都是多變數數據。


(1)常用的降維的方法擴展閱讀:

數據降維運用:

通過單幅圖像數據的高維化,將單幅圖像轉化為高維空間中的數據集合,對其進行非線性降維,尋求其高維數據流形本徵結構的一維表示向量,將其作為圖像數據的特徵表達向量。從而將高維圖像識別問題轉化為特徵表達向量的識別問題,大大降低了計算的復雜程度,減少了冗餘信息所造成的識別誤差,提高了識別的精度。

通過指紋圖像的實例說明,將非線性降維方法(如Laplacian Eigenmap方法)應用於圖像數據識別問題,在實際中是可行的,在計算上是簡單的,可大大改善常用方法(如K-近鄰方法)的效能,獲得更好的識別效果。此外,該方法對於圖像數據是否配準是不敏感的,可對不同大小的圖像進行識別,這大大簡化了識別的過程。

『貳』 三種常用降維方法的思想總結

     LDA降維和PCA的不同是LDA是有監督的降維,其原理是將特徵映射到低維上,原始數據的類別也能清晰的反應在低維的數據上,也就是低維的數據也可以用來判別分類。

     我們先看看二維的情況,我們希望找到一個向量,使得數據點映射到這個向量上後,兩個類間的距離盡可能,兩個類內的樣本的距離盡可能小。這樣就得到了一個目標函數,分子是投影後兩個類間均值的差的平方,我們希望這個值盡可能大,分母是投影後的類的散列值的和,是少除以樣本數量的方差,進一步化簡分子得到投影向量的轉置乘以投影前的類均值差向量的外積再乘以投影向量,分母是投影向量的轉置乘以投影前的類間散列矩陣的和再乘以投影向量,此時我們需要求使得目標函數最小的投影向量,由於投影向量擴大或縮小多少倍,目標函數值不變,那麼我們可以讓分母的模長為1,此時可以使用拉格朗日乘子法,最後求得:當類間散列矩陣的和存在逆矩陣時,投影向量就是類間散列矩陣的和的逆矩陣和投影前的類均值差向量的外積的特徵向量。進一步的,我們化簡等式左邊得到類間散列矩陣的逆矩陣乘以投影前類間均值向量的差乘以一個常數,那麼由於投影向量可以放縮常數倍不影響結果,我們約掉兩邊的常數,得到投影向量等於投影前類均值向量的差左乘散列矩陣的逆矩陣,這就是fisher提出的判別分析

      PCA是將原始樣本投影到低維的空間上,使得樣本的絕大部分信息得以保留,並且特徵的維度降低使得模型不易過擬合。思想是:對於原始空間中的m維向量而言,找到k個投影向量使得這m維向量投影到這k個投影向量上的方差最大,保留原始的樣本信息最多,我們首先可以看看找第一個向量,使得在這個方向上的投影方差最大。步驟如下:

1.在投影之前,我們對數據做中心化處理,使得原始數據均值為0

2.計算中心化後的樣本的協方差矩陣,這是個m*m維的矩陣,m表示原始特徵的數目。第i行第j列的元素表示數據中第i列和第j列的協方差

3.計算協方差矩陣的特徵值和特徵向量,特徵向量是單位向量,模長為1,

4.選擇帶有最大特徵值的k個特徵向量

5.計算k個最大特徵值對應的k個特徵,對於每一個特徵,都是用原數據矩陣(n行m列)乘以對應的特徵向量(m行1列,m是原始變數的數目):因此最後的特徵有n行一列,表示每個樣本一個特徵值

      對數據進行中心化和歸一化,然後將其投影到某個向量上,計算這一維上的數據點的方差,經過化簡就是投影向量的轉置乘以原始數據的協方差矩陣再乘以投影向量,前提是這個投影向量是單位向量,然後我們令這個方差λ最大,得到最大方差時對應的那個投影向量就是第一個主成分,那麼這個向量如何求解呢?因為這個投影向量是單位向量,那麼等式兩邊左乘以投影向量,得到了λu=Σu,則說明這個投影向量u的方向其實就是這個協方差矩陣的特徵向量,那麼最大方差λ對應的就是Σ的最大特徵值對應的特徵向量的方向,就是第一主成分的方向,第二大特徵值對應的特徵向量就是第二主成分的方向

       數據的中心化並不是必要的,但是卻方便了表示和計算,PCA是計算樣本協方差矩陣的,因此中心化或者中心化並不改變特徵向量的方向或者特徵值的大小,因此即使不中心化,PCA一樣的起作用,然而如果你中心化數據了,那麼樣本的協方差矩陣的數學表示就會得以簡化,如果你的數據點就是你的數據矩陣的列,那麼協方差矩陣就表示為xx',多麼簡便啊!技術上,PCA是包括數據中心化這一步的,但是那隻是為了計算協方差矩陣,然後對協方差矩陣做特徵值分解,得到各個特徵值和特徵向量

      數據的歸一化也不是必須的,如果某些變數有很大或者很小的方差,那麼PCA將會傾向於這些大的方差的變數,例如如果你增加了一個變數的方差,也許這個變數對第一個主成分會從很小的影響到起主導性的作用,因此如果你想要PCA獨立於這樣的變化,歸一化可以做到,當然,如果你的變數在那個規模上很重要,那麼你可以不歸一化,歸一化在PCA中是很重要的,因為PCA是一個方差最大化的實驗,它就是投影你的原始數據到方差最大化的方向上

(1)如果原始的特徵是高度相關的,PCA的結果是不穩定的;

(2)新的特徵是原始特徵的線性組合,所以缺乏解釋性。

(3)原始數據不一定要是多元高斯分布的,除非你使用這個技術來預測性的建模去計算置信區間

       矩陣乘法的作用是線性變換,對一個向量乘以一個矩陣,可以使得這個向量發生伸縮、切變和旋轉。我們都知道對稱矩陣的特徵向量是相互正交的,給定一個對稱矩陣M,可以找到一些這樣的正交向量v,使得Mv=λv,即這個矩陣M對向量做了拉伸變換,λ是拉伸的倍數。那麼對於普通的矩陣呢,才能讓一個原來就是相互垂直的網格平面(orthogonal grid), 線性變換成另外一個網格平面同樣垂直呢?

       對於一個正交矩陣,其對應的變換叫做正交變換,這個變換的作用是不改變向量的尺寸和向量間的夾角。正交變換中的旋轉變換只是將變換向量用另一組正交基表示,在這個過程中並沒有對向量做拉伸,也不改變向量的空間位置,只是將原坐標系旋轉得到新的坐標系,那麼這個旋轉矩陣怎麼求呢?對於二維空間中的某個向量而言,其經過旋轉變換的結果就是從用一組坐標系表示到用另外一組坐標系表示,新的坐標系下的坐標各個分量相當於是原坐標系下的坐標的各個分量在新的坐標系的兩個正交基下的投影,或者是相當於將原來的二維向量經過旋轉到了新的坐標,因此相當於對向量左乘一個旋轉矩陣,求出這個矩陣就是旋轉變換的矩陣。剛剛說正交變換不改變向量的空間位置是絕對的,但是坐標是相對的,從原來的坐標系的基向量位置看這個二維向量,到從新的坐標系下看這個向量的坐標是變化的

      矩陣乘以一個向量的結果仍是同維數的一個向量。因此,矩陣乘法對應了一個變換,把一個向量變成同維數的另一個向量。

      對特定的向量,經過一種方陣變換,經過該變換後,向量的方向不變(或只是反向),而只是進行伸縮變化(伸縮值可以是負值,相當於向量的方向反向)?這就是相當於特徵向量的定義

     特徵向量的幾何含義是:特徵向量通過方陣A變換只進行伸縮,而保持特徵向量的方向不變。特徵值表示的是這個特徵到底有多重要,類似於權重,而特徵向量在幾何上就是一個點,從原點到該點的方向表示向量的方向。

      一個變換(或者說矩陣)的特徵向量就是這樣一種向量,它經過這種特定的變換後保持方向不變,只是進行長度上的伸縮而已。特徵值分解則是對旋轉和縮放兩種效應的歸並。因為特徵值分解中的A為方陣,顯然是不存在投影效應的。或者說,我們找到了一組基(特徵向量們),在這組基下,矩陣的作用效果僅僅是縮放。即矩陣A將一個向量從x這組基的空間旋轉到x這組基的空間上,並在每個方向進行了縮放,由於前後兩組基都是x,即沒有進行旋轉和投影。

      詳細分析特徵值分解的過程:首先由於特徵向量是正交的,特徵向量組成的矩陣是正交方陣,兩邊同時右乘以這個方陣的逆矩陣,可以得到矩陣A的表達式為A=UΛU',兩邊同時右乘一個向量,相當於對這個向量左乘矩陣A,對向量做旋轉或拉伸的變換。這個變換的過程分為三個映射:第一個是將向量x進行了旋轉,它將x用新的坐標系來表示;第二個變換是拉伸變化,對x的每一維分量都進行了特徵值大小的拉伸或縮小變換;第三個是對x做第一個變換的逆變換,因為是第一個矩陣的逆矩陣,也是旋轉變換。在第二個拉伸變換中,可以看出,如果矩陣A不是滿秩的,即有的特徵值為0,那麼這里相當於將x映射到了m維空間的子空間(m是矩陣A的維數m*m),此時矩陣A是一個正交投影矩陣,它將m維向量x映射到了它的列空間。如果A是二維的,那麼可以在二維平面上可以找到一個矩形,使得這個矩形經過A變換後還是矩形

      在特徵值分解中,矩陣A要求是方陣,那麼對於一個任意的矩陣m*n,能否找到一組正交基使得經過它變換後還是正交基?這就是SVD的精髓所在

      A=UΣU',我們來分析矩陣A的作用: 首先是旋轉 ,U的列向量是一組標准正交基,V也是,這表示我們找到了兩組基。A的作用是將一個向量從V這組正交基向量空間旋轉到U這組正交基向量空間; 其次是縮放 ,當V對向量x做了旋轉以後,相當於把向量x旋轉使其用V這組正交基表示坐標,然後Σ對向量x的每個分量做了縮放,縮放的程度就是Σ的主對角線上的元素,是奇異值; 最後是投影 ,如果U的維數小於V的維數,那麼這個過程還包含了投影

      現在的目的是找一組正交基,使得經過A矩陣變換後仍然是一組正交基,假設已經找到這樣一組正交基,那麼對這組正交基經過A變換,如何使其仍然是一組正交基呢?只要使得原來的正交基是A'A的特徵向量即可,|AVi|就是A'A的特徵值的開方,也就是奇異值,然後我們求AVi的單位向量Ui,這些Ui也都是正交的,那麼我們就找到了兩組正交基使得從V這組正交基變換到U這組正交基,V稱作右奇異向量,U稱作左奇異向量,AVi的模是奇異值,我們對V1,...,Vk進行擴充Vk+1,..,Vn(Vk+1,..,Vn是Ax=0的零空間)使得V1,...,Vn是n維空間中的一組正交基,對U1,...,Uk進行擴充Uk+1,...,Um,使得U1,..,Um是m維空間中的一組正交基,這個k值是矩陣A的秩,當A是滿秩時,分解後的矩陣相乘等於A,k越接近於n,則分解後的矩陣相乘結果越接近於A

      對矩陣A的映射過程分析:如果在n維空間中找到一個超矩形,使其都落在A'A的特徵向量的方向上,那麼經過A變換後的形狀仍為超矩形。Vi是A'A的特徵向量,Ui是AA'的特徵向量,也是AVi的單位向量,σ是A'A的特徵值的開方,根據這個公式可以計算出矩陣A的奇異值分解矩陣

       SVD是將一個相互垂直的網格變換到另外一個相互垂直的網格,按照上面的對於U,V的定位,可以實現用矩陣A將一個向量變換的過程,首先將向量x寫成用V這組正交基表示的形式,然後用矩陣A左乘向量x,並帶入AVi=σiUi,最後可以得到A的分解式,不是矩陣分解式,而是向量分解式,可以看出,如果有的奇異值很小甚至為0,那麼本來有n項相加,就最後只有奇異值不為0的項相加了,假如有k項相加,那麼k越接近於n最後A分解的結果越接近於A

(1)可以用來減少元素的存儲

(2)可以用來降噪:去掉奇異值小的項,奇異值小的我們認為是含有樣本重要信息很少,都是雜訊,因此就把這些信息少的給去掉了

(3)數據分析:比如說我們有一些樣本點用於建模,我們通過SVD將數據裡面的奇異值小的都去掉了,最後得到了分解後的數據,用來做分析,更加准確

       我們知道PCA裡面,我們對變數進行降維實際上就相當於對數據矩陣Am*n右乘一個矩陣Pn*r,就得到了Am*r,表示每個樣本的特徵向量只有r維的,和這個矩陣P代表了r個列向量是數據矩陣A的協方差矩陣n*n的最大的r的特徵值對應r個特徵向量,都是n維的。和SVD相比,將SVD的表達式兩邊同時右乘一個Vn*r,這樣等式右邊就Vr*n和Vn*r相乘是單位向量,因為Vn*r是A'A的r個特徵向量,是前r個不為0的特徵值對應的特徵向量,且由於A'A是對稱的,那麼各個特徵向量之間是正交的,這樣就得到了剛剛PCA推導出來的公式

       同理,對數據矩陣Am*n左乘一個矩陣Pr*m,就得到了Ar*n,表示每個特徵對應的樣本只有r個,矩陣P代表了r個m維向量,每個向量是讓每個特徵對應的樣本向量所要投影的方向向量。和SVD相比,將SVD兩邊同時左乘以一個矩陣Ur*m,就得到了Ar*n,即在行方向上進行了降維,等式右邊是Ur*m和Um*r相乘為單位向量,因為Um*r是AA'的特徵向量,是AA'的前r個不為0的特徵值對應的特徵向量,是m維的,由於AA'是對稱矩陣,那麼各個特徵向量之間是正交的,這樣就得到了剛剛PCA推導出來的公式

可以看出:

--PCA幾乎可以說是對SVD的一個包裝,如果我們實現了SVD,那也就實現了PCA了

--而且更好的地方是,有了SVD,我們就可以得到兩個方向的PCA,如果我們對A』A進行特徵值的分解,只能得到一個方向的PCA。

『叄』 機器學習中的降維演算法和梯度下降法

機器學習中有很多演算法都是十分經典的,比如說降維演算法以及梯度下降法,這些方法都能夠幫助大家解決很多問題,因此學習機器學習一定要掌握這些演算法,而且這些演算法都是比較受大家歡迎的。在這篇文章中我們就給大家重點介紹一下降維演算法和梯度下降法。
降維演算法
首先,來說一說降維演算法,降維演算法是一種無監督學習演算法,其主要特徵是將數據從高維降低到低維層次。在這里,維度其實表示的是數據的特徵量的大小,當特徵量大的話,那麼就給計算機帶來了很大的壓力,所以我們可以通過降維計算,把維度高的特徵量降到維度低的特徵量,比如說從4維的數據壓縮到2維。類似這樣將數據從高維降低到低維有兩個好處,第一就是利於表示,第二就是在計算上也能帶來加速。
當然,有很多降維過程中減少的維度屬於肉眼可視的層次,同時壓縮也不會帶來信息的損失。但是如果肉眼不可視,或者沒有冗餘的特徵,這怎麼辦呢?其實這樣的方式降維演算法也能工作,不過這樣會帶來一些信息的損失。不過,降維演算法可以從數學上證明,從高維壓縮到的低維中最大程度地保留了數據的信息。所以說,降維演算法還是有很多好處的。
那麼降維演算法的主要作用是什麼呢?具體就是壓縮數據與提升機器學習其他演算法的效率。通過降維演算法,可以將具有幾千個特徵的數據壓縮至若干個特徵。另外,降維演算法的另一個好處是數據的可視化。這個優點一直別廣泛應用。
梯度下降法
下面我們給大家介紹一下梯度下降法,所謂梯度下降法就是一個最優化演算法,通常也稱為最速下降法。最速下降法是求解無約束優化問題最簡單和最古老的方法之一,雖然現在已經不具有實用性,但是許多有效演算法都是以它為基礎進行改進和修正而得到的。最速下降法是用負梯度方向為搜索方向的,最速下降法越接近目標值,步長越小,前進越慢。好比將函數比作一座山,我們站在某個山坡上,往四周看,從哪個方向向下走一小步,能夠下降的最快;當然解決問題的方法有很多,梯度下降只是其中一個,還有很多種方法。
在這篇文章中我們給大家介紹了關於機器演算法中的降維演算法以及梯度下降法,這兩種方法是機器學習中十分常用的演算法,降維演算法和梯度下降法都是十分實用的,大家在進行學習機器學習的時候一定要好好學習這兩種演算法,希望這篇文章能夠幫助大家理解這兩種演算法。

『肆』 降維是什麼意思

意思如下:

維,在幾何學上指空間獨立而互相正交的方位數,通常的空間有三維,平面或曲面有二維,直線或曲線只有一維。

在商業領域,企業的競爭力可以體現在若干個維度的累加上,這些維度包括核心技術、成本優勢、管理優勢、人才優勢、地域優勢等多個方面。

降維就是把競爭對手拉入到一個更低維度的競爭模式中,讓對手因為失去原有的競爭力而無所適從。



降維方法

降維方法分為線性和非線性降維,非線性降維又分為基於核函數和基於特徵值的方法。

1、線性降維方法:PCA 、ICA LDA、LFA、LPP(LE的線性表示)

2、非線性降維方法:

(1)基於核函數的非線性降維方法:KPCA 、KICA、KDA

(2)基於特徵值的非線性降維方法(流型學習):ISOMAP、LLE、LE、LPP、LTSA、MVU

方法介紹

1、LLE(Locally Linear Embedding)演算法(局部線性嵌入):

每一個數據點都可以由其近鄰點的線性加權組合構造得到。

演算法的主要步驟分為三步:

(1)尋找每個樣本點的k個近鄰點(k是一個預先給定的值);

(2)由每個樣本點的近鄰點計算出該樣本點的局部重建權值矩陣;

(3)由該樣本點的局部重建權值矩陣和其近鄰點計算出該樣本點的輸出值,定義一個誤差函數。

『伍』 現有矩陣降維常用方法

降維方法分為線性核非線性降維,非線性降維又分為基於核函數和基於特徵值的方法。

線性降維方法:PCA ICALDA LFA LPP(LE的線性表示)

於核函數的非線性降維方法:KPCA KICAKDA

基於特徵值的非線性降維方法(流型學習):ISOMAP LLE LE LPP LTSA MVU

『陸』 數據分析 常用的降維方法之主成分分析

數據分析:常用的降維方法之主成分分析

主成分分析(Principal Component Analysis,PCA)也稱主分量分析,旨在利用降維的思想,把多指標轉化為少數幾個綜合指標。
在統計學中,主成分分析是一種簡化數據集的技術。它是一個線性變換。這個變換把數據變換到一個新的坐標系統中,使得任何數據投影的第一大方差在第一個坐標(稱為第一主成分)上,第二大方差在第二個坐標(第二主成分)上,依次類推。主成分分析經常用減少數據集的維數,同時保持數據集的對方差貢獻最大的特徵。這是通過保留低階主成分,忽略高階主成分做到的。這樣低階成分往往能夠保留住數據的最重要方面。但是,這也不是一定的,要視具體應用而定。
主成分分析的主要作用
1.主成分分析能降低所研究的數據空間的維數。即用研究m維的Y空間代替p維的X空間(m<p),而低維的Y空間代替 高維的x空間所損失的信息很少。即:使只有一個主成分Yl(即 m=1)時,這個Yl仍是使用全部X變數(p個)得到的。例如要計算Yl的均值也得使用全部x的均值。在所選的前m個主成分中,如果某個Xi的系數全部近似於零的話,就可以把這個Xi刪除,這也是一種刪除多餘變數的方法。
2.有時可通過因子負荷aij的結論,弄清X變數間的某些關系。
3.多維數據的一種圖形表示方法。我們知道當維數大於3時便不能畫出幾何圖形,多元統計研究的問題大都多於3個變數。要把研究的問題用圖形表示出來是不可能的。然而,經過主成分分析後,我們可以選取前兩個主成分或其中某兩個主成分,根據主成分的得分,畫出n個樣品在二維平面上的分布況,由圖形可直觀地看出各樣品在主分量中的地位,進而還可以對樣本進行分類處理,可以由圖形發現遠離大多數樣本點的離群點。
4.由主成分分析法構造回歸模型。即把各主成分作為新自變數代替原來自變數x做回歸分析。
5.用主成分分析篩選回歸變數。回歸變數的選擇有著重的實際意義,為了使模型本身易於做結構分析、控制和預報,好從原始變數所構成的子集合中選擇最佳變數,構成最佳變數集合。用主成分分析篩選變數,可以用較少的計算量來選擇量,獲得選擇最佳變數子集合的效果。
主成分分析法的計算步驟
1、原始指標數據的標准化採集p 維隨機向量x = (x1,X2,...,Xp)T)n 個樣品xi = (xi1,xi2,...,xip)T ,i=1,2,…,n,
n>p,構造樣本陣,對樣本陣元進行如下標准化變換:
Z_{ij}=frac{x_{ij}-bar{x}_j}{s_j},i=1,2,...,n; j=1,2,...,p
其中bar{x}_j=frac{sum^{n}_{i=1}x_{ij}}{n},s^2_j=frac{sum^n_{i=1}(x_{ij}-bar{x}_j)^2}{n-1},得標准化陣Z。
2、對標准化陣Z 求相關系數矩陣
R=left[r_{ij}right]_pxp=frac{Z^T Z}{n-1}
其中,r_{ij}=frac{sum z_{kj}cdot z_{kj}}{n-1},i,j=1,2,...,p 。
3、解樣本相關矩陣R 的特徵方程left|R-lambda I_pright|=0得p 個特徵根,確定主成分
按frac{sum^m_{j=1}lambda_j}{sum^p_{j=1}lambda_j}ge 0.85 確定m 值,使信息的利用率達85%以上,對每個λj, j=1,2,...,m, 解方程組Rb = λjb得單位特徵向量b^o_j 。
4、將標准化後的指標變數轉換為主成分
U_{ij}=z^{T}_{i}b^{o}_{j},j=1,2,...,m
U1稱為第一主成分,U2 稱為第二主成分,…,Up 稱為第p 主成分。
5 、對m 個主成分進行綜合評價
對m 個主成分進行加權求和,即得最終評價值,權數為每個主成分的方差貢獻率。
因子分析
因子分析法是指從研究指標相關矩陣內部的依賴關系出發,把一些信息重疊、具有錯綜復雜關系的變數歸結為少數幾個不相關的綜合因子的一種多元統計分析方法。基本思想是:根據相關性大小把變數分組,使得同組內的變數之間相關性較高,但不同組的變數不相關或相關性較低,每組變數代表一個基本結構一即公共因子。
因子分析法的步驟
(1)對數據樣本進行標准化處理。
(2)計算樣本的相關矩陣R。
(3)求相關矩陣R的特徵根和特徵向量。
(4)根據系統要求的累積貢獻率確定主因子的個數。
(5)計算因子載荷矩陣A。
(6)確定因子模型。
(7)根據上述計算結果,對系統進行分析。

以上是小編為大家分享的關於數據分析 常用的降維方法之主成分分析的相關內容,更多信息可以關注環球青藤分享更多干貨

『柒』 常用降維方法之PCA 和 LDA

PCA本質上是將方差最大的方向作為主要特徵,並且在各個正交方向上將數據「離相關」,也就是讓它們在不同正交方向上沒有相關性。而方差最大的那個維度是主成分。
PCA是比較常見的線性降維方法,通過線性投影將高維數據映射到低維數據中,所期望的是在投影的維度上,新特徵自身的方差盡量大,方差越大特徵越有效,盡量使產生的新特徵間的相關性越小。
PCA演算法的具體操作為對所有的樣本進行中心化操作,計算樣本的協方差矩陣,然後對協方差矩陣做特徵值分解,取最大的n個特徵值對應的特徵向量構造投影矩陣。

再舉個栗子:

下面舉一個簡單的例子,說明PCA的過程。

假設我們的數據集有10個二維數據(2.5,2.4), (0.5,0.7), (2.2,2.9), (1.9,2.2), (3.1,3.0), (2.3, 2.7), (2, 1.6), (1, 1.1), (1.5, 1.6), (1.1, 0.9),需要用PCA降到1維特徵。

首先我們對樣本中心化,這里樣本的均值為(1.81, 1.91),所有的樣本減去這個均值向量後,即中心化後的數據集為(0.69, 0.49), (-1.31, -1.21), (0.39, 0.99), (0.09, 0.29), (1.29, 1.09), (0.49, 0.79), (0.19, -0.31), (-0.81, -0.81), (-0.31, -0.31), (-0.71, -1.01)。

現在我們開始求樣本的協方差矩陣,由於我們是二維的,則協方差矩陣為:

對於我們的數據,求出協方差矩陣為:

求出特徵值為(0.0490833989, 1.28402771),對應的特徵向量分別為:

由於最大的k=1個特徵值為1.28402771,對於的k=1個特徵向量為 則我們的W=
我們對所有的數據集進行投影 得到PCA降維後的10個一維數據集為:(-0.827970186, 1.77758033, -0.992197494, -0.274210416, -1.67580142, -0.912949103, 0.0991094375, 1.14457216, 0.438046137, 1.22382056)

在上面的PCA演算法中,我們假設存在一個線性的超平面,可以讓我們對數據進行投影。但是有些時候,數據不是線性的,不能直接進行PCA降維。這里就需要用到和支持向量機一樣的核函數的思想,先把數據集從n維映射到線性可分的高維N>n,然後再從N維降維到一個低維度n', 這里的維度之間滿足n'<n<N。

使用了核函數的主成分分析一般稱之為核主成分分析(Kernelized PCA, 以下簡稱KPCA。假設高維空間的數據是由n維空間的數據通過映射ϕ產生。

則對於n維空間的特徵分解:

映射為:

通過在高維空間進行協方差矩陣的特徵值分解,然後用和PCA一樣的方法進行降維。一般來說,映射ϕ不用顯式的計算,而是在需要計算的時候通過核函數完成。由於KPCA需要核函數的運算,因此它的計算量要比PCA大很多。

這里對PCA演算法做一個總結。作為一個非監督學習的降維方法,它只需要特徵值分解,就可以對數據進行壓縮,去噪。因此在實際場景應用很廣泛。為了克服PCA的一些缺點,出現了很多PCA的變種,比如第六節的為解決非線性降維的KPCA,還有解決內存限制的增量PCA方法Incremental PCA,以及解決稀疏數據降維的PCA方法Sparse PCA等。

PCA演算法的主要優點有:

LDA(線性判別分析,Linear Discriminant Analysis)是另一種常用的降維方法,它是有監督的。LDA在模式識別領域(比如人臉識別,艦艇識別等圖形圖像識別領域)中有非常廣泛的應用,因此我們有必要了解下它的演算法原理。這里需要注意的是,此處的LDA與文本主題模型中的LDA(隱含狄利克雷分布,Latent Dirichlet Allocation)並不相同,他是一種處理文檔的主題模型。
LDA是一種監督學習的降維技術,也就是說它的數據集的每個樣本是有類別輸出的。這點和PCA不同。PCA是不考慮樣本類別輸出的無監督降維技術。

LDA的思想可以用一句話概括,就是「投影後類內方差最小,類間方差最大」。
什麼意思呢? 我們要將數據在低維度上進行投影,投影後希望每一種類別數據的投影點盡可能的接近,而不同類別的數據的類別中心之間的距離盡可能的大。
可能還是有點抽象,我們先看看最簡單的情況。假設我們有兩類數據 分別為紅色和藍色,如下圖所示,這些數據特徵是二維的,我們希望將這些數據投影到一維的一條直線,讓每一種類別數據的投影點盡可能的接近,而紅色和藍色數據中心之間的距離盡可能的大。

以上就是使用LDA進行降維的演算法流程。實際上LDA除了可以用於降維以外,還可以用於分類。一個常見的LDA分類基本思想是假設各個類別的樣本數據符合高斯分布,這樣利用LDA進行投影後,可以利用極大似然估計計算各個類別投影數據的均值和方差,進而得到該類別高斯分布的概率密度函數。當一個新的樣本到來後,我們可以將它投影,然後將投影後的樣本特徵分別帶入各個類別的高斯分布概率密度函數,計算它屬於這個類別的概率,最大的概率對應的類別即為預測類別。

LDA用於降維,和PCA有很多相同,也有很多不同的地方,因此值得好好的比較一下兩者的降維異同點。

這點可以從下圖形象的看出,在某些數據分布下LDA比PCA降維較優。

當然,某些某些數據分布下PCA比LDA降維較優,如下圖所示:

LDA演算法既可以用來降維,又可以用來分類,但是目前來說,主要還是用於降維。在我們進行圖像識別圖像識別相關的數據分析時,LDA是一個有力的工具。下面總結下LDA演算法的優缺點。

LDA演算法的主要優點有:

參考文章: 劉建平老師的博客園

『捌』 降維的方法主要有

在分析高維數據時,降維(Dimensionality rection,DR)方法是我們不可或缺的好幫手。

作為數據去噪簡化的一種方法,它對處理大多數現代生物數據很有幫助。在這些數據集中,經常存在著為單個樣本同時收集數百甚至數百萬個測量值的情況。

由於「維度災難」(curse of dimensionality)的存在,很多統計方法難以應用到高維數據上。雖然收集到的數據點很多,但是它們會散布在一個龐大的、幾乎不可能進行徹底探索的高維空間中。

通過降低數據的維度,你可以把這個復雜棘手的問題變得簡單輕松。除去噪音但保存了所關注信息的低維度數據,對理解其隱含的結構和模式很有幫助。原始的高維度數據通常包含了許多無關或冗餘變數的觀測值。降維可以被看作是一種潛在特徵提取的方法。它也經常用於數據壓縮、數據探索以及數據可視化。

雖然在標準的數據分析流程中已經開發並實現了許多降維方法,但它們很容易被誤用,並且其結果在實踐中也常被誤解。

本文為從業者提供了一套有用的指南,指導其如何正確進行降維,解釋其輸出並傳達結果。

技巧1:選擇一個合適的方法

當你想從現有的降維方法中選擇一種進行分析時,可用的降維方法的數量似乎令人生畏。事實上,你不必拘泥於一種方法;但是,你應該意識到哪些方法適合你當前的工作。

降維方法的選擇取決於輸入數據的性質。比如說,對於連續數據、分類數據、計數數據、距離數據,它們會需要用到不同的降維方法。你也應該用你的直覺和相關的領域知識來考慮收集到的數據。通常情況下,觀測可以充分捕獲臨近(或類似)數據點之間的小規模關系,但並不能捕獲遠距離觀測之間的長期相互作用。對數據的性質和解析度的考慮是十分重要的,因為降維方法可以還原數據的整體或局部結構。一般來說,線性方法如主成分分析(Principal Component Analysis, PCA)、對應分析(Correspondence Analysis, CA)、多重對應分析(Multiple Correspondence Analysis, MCA)、經典多維尺度分析(classical multidimensional scaling, cMDS)也被稱為主坐標分析(Principal Coordinate Analysis, PCoA) 等方法,常用於保留數據的整體結構;而非線性方法,如核主成分分析(Kernel Principal Component Analysis, Kernel PCA)、非度量多維尺度分析(Nonmetric Multidimensional Scaling, NMDS)、等度量映射(Isomap)、擴散映射(Diffusion Maps)、以及一些包括t分布隨機嵌入(t-Distributed Stochastic Neighbor Embedding, t-SNE)在內的鄰近嵌入技術,更適合於表達數據局部的相互作用關系。NE技術不會保留數據點之間的長期相互作用關系,其可視化報告中的非臨近觀測組的排列並沒有參考價值。因此,NE的圖表不應該被用於數據的大規模結構的推測

『玖』 機器學習數據降維方法 PCA主成分分析

PCA在機器學習中很常用,是一種無參數的數據降維方法。PCA步驟:
將原始數據按列組成n行m列矩陣X將X的每一行(代表一個屬性欄位)進行零均值化,即減去這一行的均值求出協方差矩陣求出協方差矩陣的特徵值及對應的特徵向量將特徵向量按對應特徵值大小從上到下按行排列成矩陣,取前k行組成矩陣PY=PX即為降維到k維後的數據1. PCA的推導
PCA通過線性變換將原始數據變換為一組各維度線性無關的表示,可用於提取數據的主要特徵分量,常用於高維數據的降維。
我們知道PCA是一種數據降維的方法,在降低維度的過程中,我們當然想要保留更多的特徵,PCA就是經過數學推導,保留最多特徵同時降維的方法。
在推導之前要先知道幾個基礎知識:
內積與投影
兩個維數相同的向量的內積被定義為:

假設A和B是兩個n維向量,我們知道n維向量可以等價表示為n維空間中的一條從原點發射的有向線段,為了簡單起見我們假設A和B均為二維向量,則A=(x1,y1),B=(x2,y2)。則在二維平面上A和B可以用兩條發自原點的有向線段表示,見下圖:

現在我們從A點向B所在直線引一條垂線。我們知道垂線與B的交點叫做A在B上的投影,再設A與B的夾角是a,則投影的矢量長度為|A|cos(a),其中|A|是向量A的模,也就是A線段的標量長度。
到這里還是看不出內積和這東西有什麼關系,不過如果我們將內積表示為另一種我們熟悉的形式:

現在事情似乎是有點眉目了:A與B的內積等於A到B的投影長度乘以B的模。再進一步,如果我們假設B的模為1,即讓|B|=1,那麼就變成了:

也就是說,設向量B的模為1,則A與B的內積值等於A向B所在直線投影的矢量長度!這就是內積的一種幾何解釋,也是我們得到的第一個重要結論。在後面的推導中,將反復使用這個結論。

下面我們繼續在二維空間內討論向量。上文說過,一個二維向量可以對應二維笛卡爾直角坐標系中從原點出發的一個有向線段。例如下面這個向量:

在代數表示方面,我們經常用線段終點的點坐標表示向量,例如上面的向量可以表示為(3,2),這是我們再熟悉不過的向量表示。
我們列舉的例子中基是正交的(即內積為0,或直觀說相互垂直),但可以成為一組基的唯一要求就是線性無關,非正交的基也是可以的。不過因為正交基有較好的性質,所以一般使用的基都是正交的。
3. 基變換的矩陣表示
一般的,如果我們有M個N維向量,想將其變換為由R個N維向量表示的新空間中,那麼首先將R個基按行組成矩陣A,然後將向量按列組成矩陣B,那麼兩矩陣的乘積AB就是變換結果,其中AB的第m列為A中第m列變換後的結果。(新基按行,向量按列)
特別要注意的是,這里R可以小於N,而R決定了變換後數據的維數。也就是說,我們可以將一N維數據變換到更低維度的空間中去,變換後的維度取決於基的數量。因此這種矩陣相乘的表示也可以表示降維變換。
最後,上述分析同時給矩陣相乘找到了一種物理解釋:兩個矩陣相乘的意義是將右邊矩陣中的每一列列向量變換到左邊矩陣中每一行行向量為基所表示的空間中去。更抽象的說,一個矩陣可以表示一種線性變換。很多同學在學線性代數時對矩陣相乘的方法感到奇怪,但是如果明白了矩陣相乘的物理意義,其合理性就一目瞭然了。
4. 協方差矩陣與優化目標
我們從上面的矩陣乘法與基變換可以看出,當新基的維數小於原來的維數時可以做到數據的降維,但是究竟如何選擇新基就是我們現在面臨的問題,我們想要選擇一個維數更小的新基,同時新基保留有更多的信息。我們知道矩陣向新基投影的形式,也就是PCA是將一組N維的特徵投影到K維(K<n)同時保留更多的特徵。 p=""></n)同時保留更多的特徵。>
那麼怎麼衡量更多的特徵,也就是投影後盡量少的重疊,投影值盡可能分散。
協方差
從二維到一維的降維,只需要找到一個一維基使得方差最大,但是三維降到二維呢?我們需要找到兩個基讓這個三維數據投影到兩個基上,如果我們找方差最大的兩個基,會發現他們完全一樣或者線性相關,這和一個基沒什麼區別,不能表達更多的信息,所以我們需要添加限制條件,我們希望這兩個基彼此線性無關,擴展到K個基也是一樣。
當協方差為0時,表示兩個欄位完全獨立。為了讓協方差為0,我們選擇第二個基時只能在與第一個基正交的方向上選擇。因此最終選擇的兩個方向一定是正交的。
至此,我們得到了降維問題的優化目標:將一組N維向量降為K維(K大於0,小於N),其目標是選擇K個單位(模為1)正交基,使得原始數據變換到這組基上後,各欄位兩兩間協方差為0,而欄位的方差則盡可能大(在正交的約束下,取最大的K個方差)。
關於PCA的貢獻率與K的選擇
在我的文章特徵值和特徵向量中說過,特徵值反映了矩陣對於特徵向量的拉伸程度,只有拉伸而沒有旋轉,也就是在特徵向量方向上的作用程度,所以在PCA中我們選取前K個特徵向量組成新基進行投影,就是因為原特徵在前K個特徵向量有最大的作用程度。
投影過後可以保留更多的信息,作用程度是用特徵值表示的,所以我們可以使用下面的式子表示貢獻率,貢獻率是表示投影後信息的保留程度的變數,也就是特徵值的總和比上前K個特徵值,一般來說貢獻率要大於85%。

『拾』 第十五章 降維

第二種類型的無監督學習問題,叫做降維。
這里有一些,你想要使用降維的原因:
① 數據壓縮
數據壓縮不僅能對數據進行壓縮,使得數據佔用較小的內存或硬碟空間。它還能對學習演算法進行加速
② 可視化數據

但首先,讓我們談論降維是什麼。舉個例子,假設我們收集了一個數據集,它有很多很多的特徵,我只在這里繪制兩個特徵。
假如,對我們來說,這兩個特徵,x_1 是某物體的厘米長度,另一個特徵x_2 是同一物體的英寸長度。這實際上是一種高度冗餘的表示。
對於這兩個單獨的特徵 x_1 和 x_2,它們表示的都是基本長度。或許我們想做的是,把數據減少到一維。只有一個數字來測量某物體的長度。
這個例子可能有點牽強,這與我在行業中所見的完全是兩回事。

如果你有幾百個或成千上萬的特徵,你很容易就會迷失,自己到底有哪些特徵。有時可能有幾個不同的工程團隊,也許一個工程隊給你二百個特徵,第二工程隊給你另外三百個的特徵,第三工程隊給你五百個特徵。最後加起來你就有一千多個特徵,這時就很難去了解某個特徵是從哪個小組得到的,這時就比較容易產生這與高度冗餘的特徵。
並且,如果這里的 厘米 和 英寸 長度都被四捨五入了,這就是這個例子為什麼不是完美地落在一條直線上。

👆另一個例子:如果你想要調查或做這些不同飛行員的測試——你可能有兩個特徵:x_1 是他們的技能(直升機飛行員);x_2 表示他們是否喜歡飛行。也許這兩個特徵將高度相關。你真正關心的可能是這條紅線的方向。它是一個不同的特徵,用來真正測量飛行員能力的特徵。
還是那句話,如果特徵高度冗餘,那麼你可能真的需要降低維數

如果我們將數據從二維(2D)降到一維(1D),究竟意味著什麼?
現在我把不同的樣本,用不同的顏色標出。在這時,通過降維,我的意思是我想找出這條看起來大多數樣本所在的直線(綠色)。所有數據都投影到這條直線上,通過這種做法,我能夠測量出每個樣本在線上的位置,現在我能做的是建立新特徵 z_1。我們只需要一個數,就能確定z_1所在的位置,也就是說z_1是一個全新的特徵。它能夠指定綠線上每一個點位置。

之前的樣本 x_1,它是一個二維向量。在降維後,我們可用一維向量(即,實數)z_1表示第一個樣本。

總結一下:
如果我們允許一個近似於原始數據集的數據集, 該數據集通過投射原始樣本數據到這個綠色線上而得到。那麼,我們只需要一個實數,就能指定點在直線上的位置。所以,我能夠只用一個數字表示樣本的位置,通過把這些原始樣本都投射到綠線上(這是對原始數據集的一種近似,因為我將這些樣本都投射到了同一條直線上)。這樣(樣本從用二維表示,變為用一個實數表示)就能把內存/數據空間的需求減半。

另外,更有趣也更重要的是。在之前的視頻中,我們將能夠了解到,這么做能夠讓學習演算法運行得更快。

另一個例子,將數據從 3D 降到 2D。

降維的第二個應用:可視化數據
在許多及其學習問題中,如果我們能將數據可視化,我們便能尋找到一個更好的解決方案,降維可以幫助我們。

假使我們有關於許多不同國家的數據,每一個特徵向量都有50個特徵(如GDP,人均GDP,平均壽命等)。如果要將這個50維的數據可視化是不可能的。使用降維的方法將其降至2維,我們便可以將其可視化了。

比如,你可能發現,橫軸(z_1)大致相當於國家的總體規模或者國家的總體經濟活躍程度,所以橫軸代表的是GDP、一個國家的經濟規模。而縱軸大致對應於人均GDP。你可能會發現,這50個 特徵,實際上只偏離為兩個主要維度。(這樣做的問題在於,降維的演算法只負責減少維數,新產生的特徵的意義就必須由我們自己去發現了)

一個特殊的演算法:PAC,也叫做「主成分分析」。它可以用來做降維操作,可以用來實現我們之前所提到的壓縮數據。

主成分分析(PCA)是最常見的降維演算法。
在PCA中,我們要做的是找到一個方向向量(Vector direction),當我們把所有的數據都投射到該向量上時,我們希望投射平均均方誤差能盡可能地小。方向向量是一個經過原點的向量,而投射誤差是從特徵向量向該方向向量作垂線的長度。

PCA 問題的公式描述。換句話說,我們會試著用公式准確地表述PCA的用途。

所以,正式的說,PCA做的就是,它會找到一個低維平面(該例子中,是條直線),然後將數據投影在上面,使這些藍色小線段(即,點到平面的距離)長度平方最小。這個藍色小線段的距離,有時也稱投影誤差。
所以,PCA 所做的就是,它會試圖尋找一個投影平面對數據進行投影,使得能最小化這個距離。
另外在應用PCA 之前,常規的做法是,先進行 均值歸一化,使得特徵量 x_1 和 x_2 其均值為0。並且其數值在可比較的范圍之內。(本例中,我們已經處理過了)

後面會詳細講,PCA背景下的均值歸一化問題的細節。

PCA做的就是,如果想將數據從二維降到一維。我們要試著找一個方向向量,使得向量 u^(i) ∈ R^n (本例中, n = 2,即,u^(i) ∈ R^2)投影到這個方向向量上的投影誤差最小。

更通常的情況是:我們會有N維數據,並且我們想其降到K維,這種情況下,我們不只是想找單個向量來對數據進行投影,而是想尋找K個方向來對數據進行投影,來最小化投影誤差。(我們要做的是,將數據投影到這 k 個向量展開的線性子空間上)

u^(1) 和 u^(2) 兩個向量一起定義了一個二維平面。我們將我們的數據投影到上面。

因此,PCA做的是其視圖找出一條直線,或一個平面,或其他維的空間,然後對數據進行投影,以最小化平方投影。90度投影,或正交投影的誤差。

事實上,PCA不是線性回歸,盡管看上去有一些相似,但是它們確實是兩種不同的演算法。
上圖中,左邊的是線性回歸的誤差(垂直於橫軸投影),右邊則是主要成分分析的誤差(垂直於紅線投影)。
主成分分析最小化的是投射誤差(Projected Error),而線性回歸嘗試的是最小化預測誤差。線性回歸的目的是預測結果,而主成分分析不作任何預測。

PCA將n個特徵降維到k個,可以用來進行數據壓縮,如果100維的向量最後可以用10維來表示,那麼壓縮率為90%。同樣圖像處理領域的KL變換使用PCA做圖像壓縮。但PCA 要保證降維後數據的特性損失最小。

PCA技術的一大好處是對數據進行降維的處理。我們可以對新求出的「主元」向量的重要性進行排序,根據需要取前面最重要的部分,將後面的維數省去,可以達到降維從而簡化模型或是對數據進行壓縮的效果。同時最大程度的保持了原有數據的信息。

PCA技術的一個很大的優點是,它是完全無參數限制的。在PCA的計算過程中完全不需要人為的設定參數或是根據任何經驗模型對計算進行干預,最後的結果只與數據相關,與用戶是獨立的。

但是,這一點同時也可以看作是缺點。如果用戶對觀測對象有一定的先驗知識,掌握了數據的一些特徵,卻無法通過參數化等方法對處理過程進行干預,可能會得不到預期的效果,效率也不高。

主成分分析演算法

在使用PCA之前,首先要做的是,進行數據的預處理。
給定一個交易例子的集合,
預處理:
① 一定要做的一個事情是:執行均值歸一化。
② 依據於你的數據,可能也要進行特徵縮放。
這兩個過程,即在我們有監督學習中,均值標准化過程 與 特徵縮放的過程 是相似的。實際上,確實是相同的過程,除了我們現在是對未標記數據 x^(1) 到 x^(m) 做 均值標准化過程 與 特徵縮放過程。

接下來,如果不同的特徵有非常不相同的縮放,例如 x_1 是房子的尺寸, x_2 是卧室的數量。我們縮放每一個特徵,一個相對的價值范圍。
相對於之前的監督學習:x_j^(i) = ( (x_j^(i) - u_j) / s_j )。 s_j = x_j 預測的最大值 - 最小值。更普遍的,s_j 是特徵 j 的標准偏差。

做完這一系列的數據預處理之後,我們來看PCA演算法
我們能從先前的視頻看到,PCA所做的就是,它嘗試著找到一個 低維 子空間,對數據進行投影,我們希望找到一個向量 u^(k) (比如,從 N 維將到 K 維),是的數據到這個向量的投影誤差平方和最小。
給個提示,是什麼減少了數據平均值的維度??
對於左邊的例子,我們給定的樣本 x^(i) 在 R^2 中(即,兩個維度,x_1^(i), x_2^(i))。我們要做的就是在 R 中(一維)找到一個數據集 z^(i) 來代表我們原始的樣本數據。所以,我們的均值從 2維 降到 1維。
所以,PCA要做的就是,要想出一個方法計算兩個東西:
① 計算向量 u^(k)
② 計算 z^(i)

1,首先,我們要做的是計算這個「協方差(covariance matrix)」,通常用希臘字母 Σ。

① 希臘字母 Σ ,表示矩陣
② 累加和標記

『 [U, S, V] = svd(Sigma); 』:計算 矩陣U = S 和 V 協方差矩陣sigma。
再補充一些細節:這個 協方差矩陣sigma,將會是一個 n*n 的矩陣。

矩陣U 的每一列就是 u^(i) ,即,u ∈ R^(n*n) 。所以,我們想減少數據的維度從 n 維 到 k 維,我們需要做的是提取前 k 個向量。u^1, … , u^k ,這給了我們 k 個方向(構成了一個 k維度的 子空間),即,我們想要投影數據的方向。

有了 u^k 後,我們要做的就是:x ∈ R^n ——> z ∈R^k
我們稱 矩陣U 為 U_rece(n*k 矩陣)。這是 矩陣U 被降維的版本,我們將用它來對我們的數據進行降維。

z = (U_rece)^T * x
(U_rece)^T : k * n 矩陣
x 是 「n 維度向量(即,n * 1)」
所以,z 是 「k 維度向量」

在PCA演算法中,我們將N維特徵減少為K維特徵。這個數字 K 是PCA演算法的一個參數。這個數 K 也被稱為 主成分的數字。或者,我們保留的主成分的數字。
在一般情況下,如何考慮選取這個參數 K ?

我們希望在平均均方誤差與訓練集方差的比例盡可能小的情況下選擇盡可能小的k值。
如果我們希望這個比例小於1%,就意味著原本數據的方差有99%都保留下來了,如果我們選擇保留95%的方差,便能非常顯著地降低模型中特徵的維度了。
99%、95%、90% 都是一些具有代表性的范圍。

對於許多數據集,你會驚訝,為了保留99%的方差,你可以減少維度,但仍然保留大部分的方差。因為對於真實世界的數據來說,許多特徵都是高度相關的。因此,結果證明:對數據進行很多壓縮,仍然可以保留99%的方差。

那麼該如何實現了?

但是,👆這個方法非常低效。

在以前的視頻中,我談論PCA作為壓縮演算法。在那裡你可能需要把1000維的數據壓縮100維特徵,或具有三維數據壓縮到一二維表示。所以,如果這是一個壓縮演算法,應該能回到這個壓縮表示,回到你原有的高維數據的一種近似。
所以,給定的z (i),這可能100維,怎麼回到你原來的表示x (i),這可能是1000維的數組?

我們可以把👆這個過程叫做:原始數據的重構。

我們常常使用PCA演算法對監督學習演算法進行加速。

假使我們正在針對一張 100×100像素的圖片進行某個計算機視覺的機器學習,即總共有10000 個特徵。

最後要注意的一點是,PCA所做的是定義一個從 x 到 z 的映射。這個從 x 到 z 的映射只能通過在訓練集上運行PCA來得到。這個映射(注意,這里說的是映射,而不是PCA演算法)也能夠被應用在 交叉校驗 和 測試集 上的其他樣本中。(即,如果我們有交叉驗證集合測試集,也採用對訓練集學習而來的U_rece。 )

總結一下:當在運行PCA時,僅僅在訓練集中的數據上運行,不能用在交叉驗證和測試集上。但,當你定義了 x 到 z 的映射後,你可以應用這個映射到你的交叉驗證集和你的測試集。

順便說一下,實際上,在許多問題中我們確實能減少數據的維度,大概可以減少到 1/5 或者 1/10,而且仍然保留大部分的方差,幾乎不影響性能。而且使用較低的維度數據,我們的學習演算法通常可以運行的更快。

錯誤的主要成分分析情況:一個常見錯誤使用主要成分分析的情況是,將其用於減少過擬合(減少了特徵的數量)。這樣做非常不好,不如嘗試正則化處理。原因在於PCA不需要使用標簽y,它僅僅使用輸入的 x^(i) ,使用它去尋找低緯數據,來近似你的數據。因此PCA會舍掉一些信息,它扔掉或減少數據的維度,不關心 y 值是什麼。所以如果99%的方差信息被保留,你保留了大部分的方差,那麼這樣使用PCA是可以的。但是它也可能會丟掉一些有價值的信息。
事實證明,只使用正則化來防止過擬合常常會給你帶來更好的結果。因為,當你應用 線性回歸 或者 logistic回歸 或其他的一些方法,進行正則化時,這個最小化問題,實際上是知道 y 的值的,所以不太可能損失掉一些有價值的信息。而PCA不使用標簽,更有可能丟失一些有價值的信息。

因此,總結一下,使用PCA比較好的方式,是用它來提高學習演算法的速度。但是使用PCA來防止過擬合,這不是PCA的一個好的運用。要使用正則化來防止過擬合。

另一個常見的錯誤是,默認地將主要成分分析作為學習過程中的一部分,這雖然很多時候有效果,最好還是從所有原始特徵開始,只在有必要的時候(演算法運行太慢或者佔用太多內存)才考慮採用主要成分分析。

閱讀全文

與常用的降維的方法相關的資料

熱點內容
簡單擦眼霜的正確使用方法圖 瀏覽:24
昂科威燒機油最簡單的修復方法 瀏覽:157
簡單小白菜種植方法 瀏覽:814
讓安卓手機出故障的方法 瀏覽:399
銅的顯微結構分析方法 瀏覽:758
繞組電阻檔的測量方法 瀏覽:66
devondale奶粉使用方法 瀏覽:243
黑枸杞剪枝方法圖片 瀏覽:549
汽車導航拆卸安裝方法 瀏覽:533
流鼻涕需要用什麼方法讓他治好 瀏覽:246
電熱棒使用方法 瀏覽:145
統計指數的計算方法 瀏覽:937
鐵皮石斛種植方法能種在石頭上 瀏覽:175
高冰種翡翠原石鑒別方法圖解 瀏覽:403
租房喝水的正確方法 瀏覽:823
月見草油的功效與作用及食用方法 瀏覽:5
玉樹菇食用方法 瀏覽:957
子宮上長了瘤子消除最佳方法 瀏覽:478
led燈接線柱焊接方法視頻 瀏覽:657
ipad如何隔空手勢操作方法 瀏覽:423