




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、主成分分析(primary component analysis)問題:假設在IR中我們建立的文檔-詞項矩陣中,有兩個詞項為“learn”和“study”,在傳統的向量空間模型中,認為兩者獨立。然而從語義的角度來講,兩者是相似的,而且兩者出現頻率也類似,是不是可以合成為一個特征呢? 模型選擇和規則化談到的特征選擇的問題,就是要剔除的特征主要是和類標簽無關的特征。比如“學生的名字”就和他的“成績”無關,使用的是互信息的方法。 而這里的特征很多是
2、和類標簽有關的,但里面存在噪聲或者冗余。在這種情況下,需要一種特征降維的方法來減少特征數,減少噪音和冗余,減少過度擬合的可能性。 PCA的思想是將n維特征映射到k維上(k<n),這k維是全新的正交特征。這k維特征稱為主元,是重新構造出來的k維特征,而不是簡單地從n維特征中去除其余n-k維特征。 計算過程: 假設我們得到的2維數據如下:
3、0; 行代表了樣例,列代表特征,這里有10個樣例,每個樣例兩個特征。可以這樣認為,有10篇文檔,x是10篇文檔中“learn”出現的TF-IDF,y是10篇文檔中“study”出現的TF-IDF。第一步分別求x和y的平均值,然后對于所有的樣例,都減去對應的均值。這里x的均值是1.81,y的均值是1.91,那么一個樣例減去均值后即為(0.69,0.49),得到 第二步,求特征協方差矩陣,如果數據是3維,那么協方差矩陣是 &
4、#160; 這里只有x和y,求解得 對角線上分別是x和y的方差,非對角線上是協方差。協方差是衡量兩個變量同時變化的變化程度。協方差大于0表示x和y若一個增,另一個也增;小于0表示一個增,一個減。如果和是統計獨立的,那么二者之間的協方差就是;但是協方差是,并不能說明和是獨立的。協方差絕對值越大,兩者對彼此的影響越大,反之越小。協方差是沒有單位的量,因此,如果同樣的兩個變量所采用的量綱發生變化,它們的協方差也會產生樹枝上的變化。
5、160; 第三步,求協方差的特征值和特征向量,得到 上面是兩個特征值,下面是對應的特征向量,特征值0.0490833989對應特征向量為,這里的特征向量都歸一化為單位向量。 第四步,將特征值按照從大到小的順序排序,選擇其中最大的k個,然后將其對應的k個特征向量分別作為列向量組成特征向量矩陣。 這里特征值只有兩個,我們選擇其中最大的那個,這里是1.28402771,對應的特征向量是。
6、160; 第五步,將樣本點投影到選取的特征向量上。假設樣例數為m,特征數為n,減去均值后的樣本矩陣為DataAdjust(m*n),協方差矩陣是n*n,選取的k個特征向量組成的矩陣為EigenVectors(n*k)。那么投影后的數據FinalData為 這里是 FinalData(10*1) = DataAdjust(10*2矩陣)×特征向量
7、60; 得到結果是 這樣,就將原始樣例的n維特征變成了k維,這k維就是原始特征在k維上的投影。 上面的數據可以認為是learn和study特征融合為一個新的特征叫做LS特征,該特征基本上代表了這兩個特征。 上述過程有個圖描述: 正號表示預處理后的樣本點,斜著的兩條線就分別是正交的特征向量(由于協方差矩陣是對稱的,因此其特征
8、向量正交),最后一步的矩陣乘法就是將原始樣本點分別往特征向量對應的軸上做投影。 如果取的k=2,那么結果是 這就是經過PCA處理后的樣本數據,水平軸(上面舉例為LS特征)基本上可以代表全部樣本點。整個過程看起來就像將坐標系做了旋轉,當然二維可以圖形化表示,高維就不行了。上面的如果k=1,那么只會留下這里的水平軸,軸上是所有點在該軸的投影。 這樣PCA的過程基本結束。在第一步減均值之后,其實應該
9、還有一步對特征做方差歸一化。比如一個特征是汽車速度(0到100),一個是汽車的座位數(2到6),顯然第二個的方差比第一個小。因此,如果樣本特征中存在這種情況,那么在第一步之后,求每個特征的標準差,然后對每個樣例在該特征下的數據除以。 歸納一下,使用我們之前熟悉的表示方法,在求協方差之前的步驟是: 其中是樣例,共m個,每個樣例n個特征,也就是說是n維向量。是第i個樣例的第j個特征。是樣例均值。是第j個特征的標準差。
10、160; 整個PCA過程貌似及其簡單,就是求協方差的特征值和特征向量,然后做數據轉換。但是有沒有覺得很神奇,為什么求協方差的特征向量就是最理想的k維向量?其背后隱藏的意義是什么?整個PCA的意義是什么? PCA理論基礎 要解釋為什么協方差矩陣的特征向量就是k維理想特征,我看到的有三個理論:分別是最大方差理論、最小錯誤理論和坐標軸相關度理論。這里簡單探討前兩種,最后一種在討論PCA意義時簡單概述。 最大方差理論 在信號處理中認為信號具有較大的方差,噪聲有較小的方差,信噪
11、比就是信號與噪聲的方差比,越大越好。如前面的圖,樣本在橫軸上的投影方差較大,在縱軸上的投影方差較小,那么認為縱軸上的投影是由噪聲引起的。因此我們認為,最好的k維特征是將n維樣本點轉換為k維后,每一維上的樣本方差都很大。比如下圖有5個樣本點:(已經做過預處理,均值為0,特征方差歸一) 下面將樣本投影到某一維上,這里用一條過原點的直線表示(前處理的過程實質是將原點移到樣本點的中心點)。
12、 假設我們選擇兩條不同的直線做投影,那么左右兩條中哪個好呢?根據我們之前的方差最大化理論,左邊的好,因為投影后的樣本點之間方差最大。 這里先解釋一下投影的概念: 紅色點表示樣例,藍色點表示在u上的投影,u是直線的斜率也是直線的方向向量,而且是單位向量。藍色點是在u上的投影點,離原點的距離是(即或者)由于這些樣本點(樣例)的每一維特征均值都為0,因此投影到u上的樣本點(只有一個到原點的距離值)的均值仍然是0。
13、; 回到上面左右圖中的左圖,我們要求的是最佳的u,使得投影后的樣本點方差最大。 由于投影后均值為0,因此方差為: 中間那部分很熟悉啊,不就是樣本特征的協方差矩陣么(的均值為0,一般協方差矩陣都除以m-1,這里用m)。 用來表示,表示,那么上式寫作 由于u是單位向量
14、,即,上式兩邊都左乘u得, 即 We got it!就是的特征值,u是特征向量。最佳的投影直線是特征值最大時對應的特征向量,其次是第二大對應的特征向量,依次類推。 因此,我們只需要對協方差矩陣進行特征值分解,得到的前k大特征值對應的特征向量就是最佳的k維新特征,而且這k維新特征是正交的。得到前k個u以后,樣例通過以下變換可以得到新的樣本。 其中的
15、第j維就是在上的投影。 通過選取最大的k個u,使得方差較小的特征(如噪聲)被丟棄。最小平方誤差理論: 假設有這樣的二維樣本點(紅色點),回顧我們前面探討的是求一條直線,使得樣本點投影到直線上的點的方差最大。本質是求直線,那么度量直線求的好不好,不僅僅只有方差最大化的方法。再回想我們最開始學習的線性回歸等,目的也是求一個線性函數使得直線能夠最佳擬合樣本點,那么我們能不能認為最佳的直線就是回歸后的直線呢?回歸時我們的最小二乘法度量的是樣本點到直線的坐標軸距離。比如這個問題中,特征是x,類標簽是y。回歸時
16、最小二乘法度量的是距離d。如果使用回歸方法來度量最佳直線,那么就是直接在原始樣本上做回歸了,跟特征選擇就沒什么關系了。 因此,我們打算選用另外一種評價直線好壞的方法,使用點到直線的距離d來度量。 現在有n個樣本點,每個樣本點為m維(這節內容中使用的符號與上面的不太一致,需要重新理解符號的意義)。將樣本點在直線上的投影記為,那么我們就是要最小化 這個公式稱作最小平方誤差(Least Square
17、d Error)。 而確定一條直線,一般只需要確定一個點,并且確定方向即可。 第一步確定點: 假設要在空間中找一點來代表這n個樣本點,“代表”這個詞不是量化的,因此要量化的話,我們就是要找一個m維的點,使得 最小。其中是平方錯誤評價函數(squared-error criterion function),假設m為n個樣本點的均值:
18、60; 那么平方錯誤可以寫作: 后項與無關,看做常量,而,因此最小化時, 是樣本點均值。 第二步確定方向: 我們從拉出要求的直線(這條直線要過點m),假設直線的
19、方向是單位向量e。那么直線上任意一點,比如就可以用點m和e來表示 其中是到點m的距離。 我們重新定義最小平方誤差: 這里的k只是相當于i。就是最小平方誤差函數,其中的未知參數是和e。 實際上是求的最小值。首先將上式展開:
20、0; 我們首先固定e,將其看做是常量,然后對進行求導,得 這個結果意思是說,如果知道了e,那么將與e做內積,就可以知道了在e上的投影離m的長度距離,不過這個結果不用求都知道。 然后是固定,對e求偏導數,我們先將公式(8)代入,得 其中 與協方差矩陣類似,只是缺少個分
21、母n-1,我們稱之為散列矩陣(scatter matrix)。 然后可以對e求偏導數,但是e需要首先滿足,引入拉格朗日乘子,來使最大(最小),令 求偏導 這里存在對向量求導數的技巧,方法這里不多做介紹。可以去看一些關于矩陣微積分的資料,這里求導時可以將看作是,將看做是。 導數等于0時,得
22、 兩邊除以n-1就變成了,對協方差矩陣求特征值向量了。 從不同的思路出發,最后得到同一個結果,對協方差矩陣求特征向量,求得后特征向量上就成為了新的坐標,如下圖: 這時候點都聚集在新的坐標軸周圍,因為我們使用的最小平方誤差的意義就在此。PCA理論意義: PCA將n個特征降維到k個,可以用來進行數據壓縮,如果100
23、維的向量最后可以用10維來表示,那么壓縮率為90%。同樣圖像處理領域的KL變換使用PCA做圖像壓縮。但PCA要保證降維后,還要保證數據的特性損失最小。再看回顧一下PCA的效果。經過PCA處理后,二維數據投影到一維上可以有以下幾種情況: 我們認為左圖好,一方面是投影后方差最大,一方面是點到直線的距離平方和最小,而且直線過樣本點的中心點。為什么右邊的投影效果比較差?直覺是因為坐標軸之間相關,以至于去掉一個坐標軸,就會使得坐標點無法被單獨一個坐標軸確定。
24、160; PCA得到的k個坐標軸實際上是k個特征向量,由于協方差矩陣對稱,因此k個特征向量正交。看下面的計算過程。 假設我們還是用來表示樣例,m個樣例,n個特征。特征向量為e,表示第i個特征向量的第1維。那么原始樣本特征方程可以用下面式子來表示: 前面兩個矩陣乘積就是協方差矩陣(除以m后),原始的樣本矩陣A是第二個矩陣m*n。 上式可以簡寫為 我
25、們最后得到的投影結果是,E是k個特征向量組成的矩陣,展開如下: 得到的新的樣例矩陣就是m個樣例到k個特征向量的投影,也是這k個特征向量的線性組合。e之間是正交的。從矩陣乘法中可以看出,PCA所做的變換是將原始樣本點(n維),投影到k個正交的坐標系中去,丟棄其他維度的信息。舉個例子,假設宇宙是n維的(霍金說是11維的),我們得到銀河系中每個星星的坐標(相對于銀河系中心的n維向量),然而我們想用二維坐標去逼近這些樣本點,假設算出來的協方差矩陣的特征向量分別是圖中的水平和豎直方向,那么我們建議
26、以銀河系中心為原點的x和y坐標軸,所有的星星都投影到x和y上,得到下面的圖片。然而我們丟棄了每個星星離我們的遠近距離等信息。 總結與討論:PCA技術的一大好處是對數據進行降維的處理。我們可以對新求出的“主元”向量的重要性進行排序,根據需要取前面最重要的部分,將后面的維數省去,可以達到降維從而簡化模型或是對數據進行壓縮的效果。同時最大程度的保持了原有數據的信息。 PCA技術的一個很大的優點是,它是完全無參數限制的。在PCA的計算過程中完全不需要人為的設定參數或是根據任何經驗模型對計算進行干預,最后的結果只與數據相關,與用戶是獨立的。 但是,這一點同時也可以看作是缺點。如果用戶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論