tft每日頭條

 > 圖文

 > 機器學習降維圖解

機器學習降維圖解

圖文 更新时间:2024-10-05 17:05:44

機器學習降維圖解(周末AI課堂線性降維方法)1

周末好啊各位同學,我們又見面了。

科幻名著《三體》裡有句犀利的台詞——降低維度用于攻擊。不過,這個“降維”絕對不隻是科幻界的專用名詞。

在機器學習中,你同樣得了解它。

很多初學者往往會把降維(Dimensionality reduction),特征選擇(feature selection),以及特征提取(feature extraction)混為一談,因為這三者都削減了進入模型的變量個數。

但降維是一個更為寬泛的概念,它包括了特征選擇和特征提取。

雖然降維過後,最終使用的變量個數減少了,但特征選擇挑選的是特征子集,也就是說,保留下來的所有特征都在原來的特征集中可以找到;而特征提取所提取的是不再是特征子集,而是原來特征的線性(或者非線性)組合,我們經過特征提取後的變量都是新的變量,它的本質是将原始高維空間向低維空間投影,我們所使用的特征不僅少了,而且不再是原來的特征。

距離是機器學習中的一個很重要的概念。每個樣本可以表示為一個向量,也就是高維空間的一個點,距離可以用來衡量樣本之間的相似度。但是在高維空間,距離的計算會變得非常困難,而我們關心的問題可能在低維空間就會得到很好的解決。但這不意味着低維空間隻是對高維空間的近似,有些問題中,高維空間會增加很多噪聲,而在低維空間中會得到比高維空間更好的性能。

在上周《如何進行特征選擇(理論篇)》的學習中,相信大家已經對特征選擇有了足夠的認識,所以本文的“降維”特指特征提取。

對于降維有兩種分類方式:其一,根據目标值(target)的參與與否,分為有監督降維和無監督降維;其二,根據高維空間與低維空間的關系,分為線性降維和非線性降維。

我們對每種方法分舉一例:

線性\監督

無監督

監督

線性

PCA

LDA

非線性

ISOMAP

KLDA

機器學習降維圖解(周末AI課堂線性降維方法)2

主成分分析(PCA)

數學準備:

1.協方差矩陣:随機變量組成的向量,每組随機變量的協方差構成的一個對稱矩陣,其對角元是每組随機變量的方差

2.矩陣的對角化:對于矩陣M,有可逆矩陣V,使得

機器學習降維圖解(周末AI課堂線性降維方法)3

成為對角矩陣,而M的特征值對應的特征向量組成了該可逆矩陣V。(換而言之,矩陣V的每一列對應着M的特征向量)

3.正交矩陣:轉置矩陣等于其逆矩陣(

機器學習降維圖解(周末AI課堂線性降維方法)4

),構成矩陣的列向量彼此正交。

4.數據中心化:對每組随機變量減去均值,再除以标準差。本質是将每組随機變量變為标準的高斯分布。

PCA(Principal component analysis)是用投影的方法将高維空間壓縮到低維。

想象一下,此時你站在路燈下面,你本身是三維的(此時此刻除去了時間維度),你的影子卻在一個二維平面上。

機器學習降維圖解(周末AI課堂線性降維方法)5

如圖,我們将二維空間的點投影到一條直線上。

但是,我們有無數個投影的方向,就像上圖我們可以找出無數條直線來進行投影,那麼哪條直線,哪個方向才是最好的呢?PCA的目标就是,找一條直線,使得投影之後的點盡可能的遠離彼此,因為點之間的互相遠離而不是相互重疊,就意味着某些距離信息被保留了下來。

在高維空間(維數D)的所有的樣本可以被表示為一個向量:

機器學習降維圖解(周末AI課堂線性降維方法)6

在投影之後的低維空間(維數d),樣本也是一個向量:

機器學習降維圖解(周末AI課堂線性降維方法)7

向量的變化可以通過一個矩陣聯系起來,這個矩陣我們把它叫做投影矩陣,它的作用是将一個高維向量投影到低維空間得出一個低維向量:

機器學習降維圖解(周末AI課堂線性降維方法)8

此時,中心化數據的優勢就體現了出來,因為經過中心化的數據,

機器學習降維圖解(周末AI課堂線性降維方法)9

,這就意味着數據的協方差矩陣就成了

機器學習降維圖解(周末AI課堂線性降維方法)10

,投影之後的協方差矩陣就成為了

機器學習降維圖解(周末AI課堂線性降維方法)11

,我們的目标是使其方差最大,而協方差矩陣的對角元正是方差,所以我們隻需要對其求迹:

機器學習降維圖解(周末AI課堂線性降維方法)12

換而言之,我們需要找的投影矩陣W其實是一個使

機器學習降維圖解(周末AI課堂線性降維方法)13

對角化的可逆矩陣,而它的轉置等于它的逆

機器學習降維圖解(周末AI課堂線性降維方法)14

。所以我們尋找W的過程,就是尋找

機器學習降維圖解(周末AI課堂線性降維方法)13

的特征向量的過程,而方差最大化的過程,也就是尋找

機器學習降維圖解(周末AI課堂線性降維方法)13

最大特征值的過程。

所以,我們隻需要對

機器學習降維圖解(周末AI課堂線性降維方法)13

做特征值分解,将其特征值排序,取到前面的d個特征向量,彼此正交,構成了投影矩陣W,而它們所張成的低維空間,就是使得投影點方差最大的低維空間。

機器學習降維圖解(周末AI課堂線性降維方法)18

如圖,這是對一個二元高斯分布用PCA進行降維後的結果,這個平面就是由兩個最大的特征值對應的特征向量所張成,可以看出,特征向量彼此正交,且首先找到的是最大的特征值對應的特征向量,逐步尋找第二個,第三個.....如果我們的目标空間是n維,就會取到前n個。

機器學習降維圖解(周末AI課堂線性降維方法)2

線性判别分析(LDA)

數學準備:

1.均值向量:由多組随機變量組成的向量,對每一組随機變量取均值所構成的向量。

2.厄米矩陣(Hermitan ):轉置等于其本身的矩陣,

機器學習降維圖解(周末AI課堂線性降維方法)20

3.廣義瑞利熵(Rayleigh quotient ):若x為非零向量,則

機器學習降維圖解(周末AI課堂線性降維方法)21

為A,B的廣義瑞利熵,它的最大值是

機器學習降維圖解(周末AI課堂線性降維方法)22

的最大特征值。

4.矩陣的奇異值分解:任何實矩陣M都可以被分解成為

機器學習降維圖解(周末AI課堂線性降維方法)23

這三個矩陣的乘積。U和V均為正交矩陣。U的列向量是

機器學習降維圖解(周末AI課堂線性降維方法)24

的特征向量,V的列向量是

機器學習降維圖解(周末AI課堂線性降維方法)25

的特征向量,同時奇異值的大小

機器學習降維圖解(周末AI課堂線性降維方法)24

是的特征值的平方根。

LDA(Linear Discriminant Analysis)的基本思想也是将高維空間的樣本投影到低維空間,使信息損失最少。

與PCA不同在于,PCA隻針對樣本矩陣,希望投影到低維空間之後,樣本投影點的方差最大;但LDA不僅針對樣本矩陣,還使用了類别信息,它希望投影到低維空間後,相同樣本的方差最小(相同樣本的集中化),不同樣本的距離最大(不同樣本離散化)。

機器學習降維圖解(周末AI課堂線性降維方法)27

如圖所示,将二維空間投影到一維空間,即一條直線上。圖2相比圖1,類間樣本距離更大,類内樣本方差更小。

以二分類問題為例,我們用

機器學習降維圖解(周末AI課堂線性降維方法)28

表示兩類樣本,用

機器學習降維圖解(周末AI課堂線性降維方法)29

表示兩類樣本的均值向量,用

機器學習降維圖解(周末AI課堂線性降維方法)30

來表示兩類樣本的協方差矩陣,與PCA一樣,我們假設存在一個投影矩陣W,這些量會在低維空間變成:

機器學習降維圖解(周末AI課堂線性降維方法)31

其中

機器學習降維圖解(周末AI課堂線性降維方法)32

分别為低維空間的樣本,均值向量和協方差矩陣。在投影空間的相同樣本的方差最小,意味着

機器學習降維圖解(周末AI課堂線性降維方法)33

最小;而不同樣本的距離最大,意味着

機器學習降維圖解(周末AI課堂線性降維方法)34

最大。

我們定義原始空間的樣本協方差矩陣之和為

機器學習降維圖解(周末AI課堂線性降維方法)35

,類内散度矩陣(whithin-class scatter matrix),用來刻畫原始空間上相同樣本的方差:

機器學習降維圖解(周末AI課堂線性降維方法)36

同時定義類間散度矩陣(between-class scatter matrix)

機器學習降維圖解(周末AI課堂線性降維方法)37

,用來刻畫原始空間上不同樣本的距離:

機器學習降維圖解(周末AI課堂線性降維方法)38

将以上的原則結合起來,我們的目的就變成了:

機器學習降維圖解(周末AI課堂線性降維方法)39

根據廣義瑞利熵的形式,我們尋求最大值就變成了對

機器學習降維圖解(周末AI課堂線性降維方法)40

進行奇異值分解,然後選取最大的奇異值和相應的特征向量。這些特征向量所張成的低維空間,就是我們的目标空間。

機器學習降維圖解(周末AI課堂線性降維方法)41

讀芯君開扒

課堂TIPS

• 降維在表示論中屬于低維表示,本質是将原本空間壓縮到更小的空間,在這個過程中保證信息損失的最小化。與之相對的是稀疏表示,它是将原本的空間嵌入到更大的空間,在這過程中保證信息損失的最小化。

• PCA有多種理解方式,除了在低維空間使得樣本方差最大化,也可以理解為最小重構均方誤差,将問題轉化為所選低維空間重構的數據與實際數據的差。引入貝葉斯視角,還可以将PCA理解為最小化高斯先驗誤差。如果從流形的角度看,就是把數據看作一個拓撲空間的點集,在高斯概率空間内找到一個對應的線性流形。

• PCA和LDA的優化目标均可以用拉格朗日乘子法解決。PCA同樣也可以通過奇異值分解來解決。奇異值分解方法可以理解為是特征值分解的推廣,因為特征值分解要求矩陣為一個方陣,但奇異值分解并無此要求。

機器學習降維圖解(周末AI課堂線性降維方法)41

作者:唐僧不用海飛絲

如需轉載,請後台留言,遵守轉載規範

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved