面向機器學習的特徵工程 七、非線性特徵提取和模型堆疊

面向機器學習的特徵工程 七、非線性特徵提取和模型堆疊

來自專欄 MachineLearning12 人贊了文章

來源:ApacheCN《面向機器學習的特徵工程》翻譯項目

譯者:friedhelm739

校對:(虛位以待)

當在數據一個線性子空間像扁平餅時 PCA 是非常有用的。但是如果數據形成更複雜的形狀呢?一個平面(線性子空間)可以推廣到一個 流形 (非線性子空間),它可以被認為是一個被各種拉伸和滾動的表面。

如果線性子空間是平的紙張,那麼捲起的紙張就是非線性流形的例子。你也可以叫它瑞士卷。(見圖 7-1),一旦滾動,二維平面就會變為三維的。然而,它本質上仍是一個二維物體。換句話說,它具有低的內在維度,這是我們在「直覺」中已經接觸到的一個概念。如果我們能以某種方式展開瑞士卷,我們就可以恢復到二維平面。這是非線性降維的目標,它假定流形比它所佔據的全維更簡單,並試圖展開它。

圖7-1

關鍵是,即使當大流形看起來複雜,每個點周圍的局部鄰域通常可以很好地近似於一片平坦的表面。換句話說,他們學習使用局部結構對全局結構進行編碼。非線性降維也被稱為非線性嵌入,或流形學習。非線性嵌入可有效地將高維數據壓縮成低維數據。它們通常用於 2-D 或 3-D 的可視化。

然而,特徵工程的目的並不是要使特徵維數儘可能低,而是要達到任務的正確特徵。在這一章中,正確的特徵是代表數據空間特徵的特徵。

聚類演算法通常不是局部結構化學習的技術。但事實上也可以用他們這麼做。彼此接近的點(由數據科學家使用某些度量可以定義的「接近度」)屬於同一個簇。給定聚類,數據點可以由其聚類成員向量來表示。如果簇的數量小於原始的特徵數,則新的表示將比原始的具有更小的維度;原始數據被壓縮成較低的維度。

與非線性嵌入技術相比,聚類可以產生更多的特徵。但是如果最終目標是特徵工程而不是可視化,那這不是問題。

我們將提出一個使用 k 均值聚類演算法來進行結構化學習的思想。它簡單易懂,易於實踐。與非線性流體降維相反,k 均值執行非線性流形特徵提取更容易解釋。如果正確使用它,它可以是特徵工程的一個強大的工具。

閱讀全文?

github.com圖標
推薦閱讀:

特徵工程簡介
【特徵工程】特徵選擇與特徵學習
kaggle編碼categorical feature總結
推薦 CVPR2018:Decoupled Networks
OneHotEncoder獨熱編碼和 LabelEncoder標籤編碼

TAG:機器學習 | 特徵工程 | Python |