《百面機器學習》拾貝 第四章 降維

2022-05-07 08:06:12 字數 2431 閱讀 3379

宇宙,是時間和空間的總和。時間是一維的,空間。。。maybe 9 or 10維?

降維,即用乙個低維度的向量表示原始高維度的特徵。常見的降維方法有主成分分析、線性判別分析、等距對映、區域性線性嵌入、拉普拉斯特徵對映、區域性保留投影等。

01 pca最大方差理論

在機器學習領域中,我們對原始資料進行特徵提取,有時會得到比較高維的特徵向量。在這些向量所處的高維空間中,包含很多的冗餘和雜訊。我們希望通過降維的方式來尋找資料內部的特性,從而提公升特徵表達能力,降低訓練複雜度。主成分分析(principal components analysis,pca)作為降維中最經典的方法,至今已有100多年的歷史,它屬於一種線性非監督、全域性的降維演算法。

q:如何定義主成分?從這種定義出發,如何設計目標函式使得降維達到提取主成分的目的?針對這個目標函式,如何對pca問題進行求解?

a: pca旨在找到資料中的主成分,並利用這些主成分表徵原始資料,從而達到降維的目的。舉乙個簡單的例子,在三維空間中有一系列資料點,這些點分布在乙個過原點的平面上。如果我們用自然座標系x,y,z三個軸來表示資料,就需要使用三個維度。而實際上,這些點只出現在乙個二維平面上,如果我們通過座標系旋轉變換使得資料所在平面與x,y平面重合,那麼我們就可以通過x′,y′兩個維度表達原始資料,並且沒有任何損失,這樣就完成了資料的降維。而x′,y′兩個軸所包含的資訊就是我們要找到的主成分。

但在高維空間中,我們往往不能像剛才這樣直觀地想象出資料的分布形式,也就更難精確地找到主成分對應的軸是哪些。不妨,我們先從最簡單的二維資料來看看pca究竟是如何工作的,如圖4.1所示。

(a)二維空間中經過中心化的一組資料

(b)該組資料的主成分

圖4.1 二維空間資料主成分的直觀視覺化

圖4.1(a)是二維空間中經過中心化的一組資料,我們很容易看出主成分所在的軸(以下稱為主軸)的大致方向,即圖4.1(b)中黃線所處的軸。因為在黃線所處的軸上,資料分布得更為分散,這也意味著資料在這個方向上方差更大。在訊號處理領域,我們認為訊號具有較大方差,雜訊具有較小方差,訊號與雜訊之比稱為訊雜比。訊雜比越大意味著資料的質量越好,反之,訊雜比越小意味著資料的質量越差。由此我們不難引出pca的目標,即最大化投影方差,也就是讓資料在主軸上投影的方差最大

02 pca最小平方誤差理論

上一節介紹了從最大方差的角度解釋pca的原理、目標函式和求解方法。本節將通過最小平方誤差的思路對pca進行推導。

q:pca求解的其實是最佳投影方向,即一條直線,這與數學中線性回歸問題的目標不謀而合,能否從回歸的角度定義pca的目標並相應的求解問題呢?

a:看書吧

03 線性判別分析

線性判別分析(linear  discriminant  analysis,lda)是一種有監督學習演算法,同時經常被用來對資料進行降維。

相比於pca,lda可以作為一種有監督的降維演算法。在pca中,演算法沒有考慮資料的標籤(類別),只是把原資料對映到一些方差比較大的方向上而已。

假設用不同的顏色標註c 1 、c 2 兩個不同類別的資料,如圖4.4所示。根據pca演算法,資料應該對映到方差最大的那個方向,亦即y軸方向。但是,c 1 ,c 2 兩個不同類別的資料就會完全混合在一起,很難區分開。所以,使用pca演算法進行降維後再進行分類的效果會非常差。但是,如果使用lda演算法,資料會對映到x軸方向。那麼,lda演算法究竟是如何做到這一點的呢?

q:對於具有類別標籤的資料,應當如何設計目標函式使得降維的過程中不損失類別資訊?在這種目標下,應當如何進行求解?

a

lda首先是為了分類服務的,因此只要找到乙個投影方向ω,使得投影後的樣本盡可能按照原始類別分開。

04 線性判別分析與主成分分析

同樣作為線性降維方法,pca是有監督的降維演算法,而lda是無監督的降維演算法。雖然在原理或應用方面二者有一定的區別,但是從這兩種方法的數學本質出發,我們不難發現二者有很多共通的特性。

q:lda和pca作為經典的降維演算法,如何從應用的角度分析其原理的異同?從數學推導的角度,兩種降維演算法在目標函式上有何區別與聯絡?

a:看書看書

第四章 PCA降維

目錄1.pca降維 pca 主成分分析 principe conponents analysis 2.維度的概念 一般認為時間的一維,而空間的維度,眾說紛紜。霍金認為空間是10維的。3.為什麼要進行降維?維度災難 當維度超過一定值的時候,分類器效果呈現明顯下降。pca旨在找到資料中的主成分,並利用這...

機器學習第四章學習筆記

真的不開學了嗎,家裡蹲一學期?頂不住了 而在學習的過程中,首先的問題就是解域 這兩個引數的解究竟在哪個範圍,確定了範圍再求出最優解 也就是在解域中求得最優解 首先對於資料預處理,使兩類在超平面的同一側 並行感知機和序列感知機是以樣本的給出方式劃分的,樣本一次全部給出稱為並行,乙個乙個給出稱為序列 而...

機器學習 第四章KNN演算法

k近鄰演算法是機器學習中最簡單的分類演算法之一,這篇文章主要講解knn演算法的在scikit learn中的使用,其中不僅僅包括了演算法本身,還有測試訓練集的分離,交叉驗證的使用,資料標準化等。首先用乙個簡單的例子引入knn演算法 import numpy as np import matplotl...