周末好啊各位同學,我們又見面了。
科幻名著《三體》裡有句犀利的台詞——降低維度用于攻擊。不過,這個“降維”絕對不隻是科幻界的專用名詞。
在機器學習中,你同樣得了解它。
很多初學者往往會把降維(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同樣也可以通過奇異值分解來解決。奇異值分解方法可以理解為是特征值分解的推廣,因為特征值分解要求矩陣為一個方陣,但奇異值分解并無此要求。
作者:唐僧不用海飛絲
如需轉載,請後台留言,遵守轉載規範
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!