全文共2698字,預計學習時長6分鐘
周末好啊各位同學,我們又見面了。
科幻名著《三體》裡有句犀利的臺詞——降低維度用於攻擊。不過,這個「降維」絕對不只是科幻界的專用名詞。
在機器學習中,你同樣得了解它。
很多初學者往往會把降維(Dimensionality reduction),特徵選擇(feature selection),以及特徵提取(feature extraction)混為一談,因為這三者都削減了進入模型的變量個數。
但降維是一個更為寬泛的概念,它包括了特徵選擇和特徵提取。
雖然降維過後,最終使用的變量個數減少了,但特徵選擇挑選的是特徵子集,也就是說,保留下來的所有特徵都在原來的特徵集中可以找到;而特徵提取所提取的是不再是特徵子集,而是原來特徵的線性(或者非線性)組合,我們經過特徵提取後的變量都是新的變量,它的本質是將原始高維空間向低維空間投影,我們所使用的特徵不僅少了,而且不再是原來的特徵。
距離是機器學習中的一個很重要的概念。每個樣本可以表示為一個向量,也就是高維空間的一個點,距離可以用來衡量樣本之間的相似度。但是在高維空間,距離的計算會變得非常困難,而我們關心的問題可能在低維空間就會得到很好的解決。但這不意味著低維空間只是對高維空間的近似,有些問題中,高維空間會增加很多噪聲,而在低維空間中會得到比高維空間更好的性能。
在上周《如何進行特徵選擇(理論篇)》的學習中,相信大家已經對特徵選擇有了足夠的認識,所以本文的「降維」特指特徵提取。
對於降維有兩種分類方式:其一,根據目標值(target)的參與與否,分為有監督降維和無監督降維;其二,根據高維空間與低維空間的關係,分為線性降維和非線性降維。
我們對每種方法分舉一例:
線性\監督
無監督
監督
線性
PCA
LDA
非線性
ISOMAP
KLDA
主成分分析(PCA)
數學準備:
1.協方差矩陣:隨機變量組成的向量,每組隨機變量的協方差構成的一個對稱矩陣,其對角元是每組隨機變量的方差
2.矩陣的對角化:對於矩陣M,有可逆矩陣V,使得
成為對角矩陣,而M的特徵值對應的特徵向量組成了該可逆矩陣V。(換而言之,矩陣V的每一列對應著M的特徵向量)
3.正交矩陣:轉置矩陣等於其逆矩陣(
),構成矩陣的列向量彼此正交。
4.數據中心化:對每組隨機變量減去均值,再除以標準差。本質是將每組隨機變量變為標準的高斯分布。
PCA(Principal component analysis)是用投影的方法將高維空間壓縮到低維。
想像一下,此時你站在路燈下面,你本身是三維的(此時此刻除去了時間維度),你的影子卻在一個二維平面上。
如圖,我們將二維空間的點投影到一條直線上。
但是,我們有無數個投影的方向,就像上圖我們可以找出無數條直線來進行投影,那麼哪條直線,哪個方向才是最好的呢?PCA的目標就是,找一條直線,使得投影之後的點儘可能的遠離彼此,因為點之間的互相遠離而不是相互重疊,就意味著某些距離信息被保留了下來。
在高維空間(維數D)的所有的樣本可以被表示為一個向量:
在投影之後的低維空間(維數d),樣本也是一個向量:
向量的變化可以通過一個矩陣聯繫起來,這個矩陣我們把它叫做投影矩陣,它的作用是將一個高維向量投影到低維空間得出一個低維向量:
此時,中心化數據的優勢就體現了出來,因為經過中心化的數據,
,這就意味著數據的協方差矩陣就成了
,投影之後的協方差矩陣就成為了
,我們的目標是使其方差最大,而協方差矩陣的對角元正是方差,所以我們只需要對其求跡:
換而言之,我們需要找的投影矩陣W其實是一個使
對角化的可逆矩陣,而它的轉置等於它的逆
。所以我們尋找W的過程,就是尋找
的特徵向量的過程,而方差最大化的過程,也就是尋找
最大特徵值的過程。
所以,我們只需要對
做特徵值分解,將其特徵值排序,取到前面的d個特徵向量,彼此正交,構成了投影矩陣W,而它們所張成的低維空間,就是使得投影點方差最大的低維空間。
如圖,這是對一個二元高斯分布用PCA進行降維後的結果,這個平面就是由兩個最大的特徵值對應的特徵向量所張成,可以看出,特徵向量彼此正交,且首先找到的是最大的特徵值對應的特徵向量,逐步尋找第二個,第三個.....如果我們的目標空間是n維,就會取到前n個。
線性判別分析(LDA)
數學準備:
1.均值向量:由多組隨機變量組成的向量,對每一組隨機變量取均值所構成的向量。
2.厄米矩陣(Hermitan ):轉置等於其本身的矩陣,
。
3.廣義瑞利熵(Rayleigh quotient ):若x為非零向量,則
為A,B的廣義瑞利熵,它的最大值是
的最大特徵值。
4.矩陣的奇異值分解:任何實矩陣M都可以被分解成為
這三個矩陣的乘積。U和V均為正交矩陣。U的列向量是
的特徵向量,V的列向量是
的特徵向量,同時奇異值的大小
是的特徵值的平方根。
LDA(Linear Discriminant Analysis)的基本思想也是將高維空間的樣本投影到低維空間,使信息損失最少。
與PCA不同在於,PCA只針對樣本矩陣,希望投影到低維空間之後,樣本投影點的方差最大;但LDA不僅針對樣本矩陣,還使用了類別信息,它希望投影到低維空間後,相同樣本的方差最小(相同樣本的集中化),不同樣本的距離最大(不同樣本離散化)。
如圖所示,將二維空間投影到一維空間,即一條直線上。圖2相比圖1,類間樣本距離更大,類內樣本方差更小。
以二分類問題為例,我們用
表示兩類樣本,用
表示兩類樣本的均值向量,用
來表示兩類樣本的協方差矩陣,與PCA一樣,我們假設存在一個投影矩陣W,這些量會在低維空間變成:
其中
分別為低維空間的樣本,均值向量和協方差矩陣。在投影空間的相同樣本的方差最小,意味著
最小;而不同樣本的距離最大,意味著
最大。
我們定義原始空間的樣本協方差矩陣之和為
,類內散度矩陣(whithin-class scatter matrix),用來刻畫原始空間上相同樣本的方差:
同時定義類間散度矩陣(between-class scatter matrix)
,用來刻畫原始空間上不同樣本的距離:
將以上的原則結合起來,我們的目的就變成了:
根據廣義瑞利熵的形式,我們尋求最大值就變成了對
進行奇異值分解,然後選取最大的奇異值和相應的特徵向量。這些特徵向量所張成的低維空間,就是我們的目標空間。
讀芯君開扒
課堂TIPS
降維在表示論中屬於低維表示,本質是將原本空間壓縮到更小的空間,在這個過程中保證信息損失的最小化。與之相對的是稀疏表示,它是將原本的空間嵌入到更大的空間,在這過程中保證信息損失的最小化。
PCA有多種理解方式,除了在低維空間使得樣本方差最大化,也可以理解為最小重構均方誤差,將問題轉化為所選低維空間重構的數據與實際數據的差。引入貝葉斯視角,還可以將PCA理解為最小化高斯先驗誤差。如果從流形的角度看,就是把數據看作一個拓撲空間的點集,在高斯概率空間內找到一個對應的線性流形。
PCA和LDA的優化目標均可以用拉格朗日乘子法解決。PCA同樣也可以通過奇異值分解來解決。奇異值分解方法可以理解為是特徵值分解的推廣,因為特徵值分解要求矩陣為一個方陣,但奇異值分解並無此要求。
留言 點讚 發個朋友圈
我們一起探討AI落地的最後一公裡
作者:唐僧不用海飛絲
如需轉載,請後臺留言,遵守轉載規範