機器學習中特徵降維和特徵選擇的區別

2021-06-25 13:04:35 字數 1154 閱讀 6084

在machine learning中,特徵降維和特徵選擇是兩個常見的概念,在應用machine learning來解決問題的**中經常會出現。

對於這兩個概念,很多初學者可能不是很清楚他們的區別。很多人都以為特徵降維和特徵選擇的目的都是使資料的維數降低,所以以為它們是一樣的,曾經我也這麼以為,這個概念上的誤區也就導致了我後面對問題的認識不夠深入。後來得到老師的指點才徹底搞清楚了兩者的關係,現總結出來與大家分享。

machine learning的終極目標就是為了**,當然**前我們要對資料進行training。通常我們不會拿原始資料來訓練,為什麼吶?可能有些人覺得原始資訊包含了樣本最豐富的資訊,沒有經過任何處理的raw data能最完整表達樣本,這個觀點沒有錯。但是用raw data來直接訓練的話,有乙個問題就是我們設計的分類器在訓練集上會得到很好的performance,但在測試集上的performance卻變得非常差。這就是過擬合(overfitting)的問題。用raw data直接訓練還有乙個問題就是原始維度太高,耗時長。

解決過擬合的問題就要求我們找出raw data中差異性最大的那些特徵,這樣才能保證分類器在測試集有好的performance。所以通常我們都是要對原始資料進行特徵提取的。提取特徵後通常特徵維數依然不低,而且依然可能會出現過擬合的問題,為了解決這些問題,通常的做法就是降維和特徵選擇。降維用的最多是pca。

從上面的分析可能看到,感覺降維和特徵選擇都是為了使資料維度降小。但實際上兩者的區別是很大,他們的本質是完全不同的。下面著重說說兩者的區別。

降維本質上是從乙個維度空間對映到另乙個維度空間,特徵的多少別沒有減少,當然在對映的過程中特徵值也會相應的變化。舉個例子,現在的特徵是1000維,我們想要把它降到500維。降維的過程就是找個乙個從1000維對映到500維的對映關係。原始資料中的1000個特徵,每乙個都對應著降維後的500維空間中的乙個值。假設原始特徵中有個特徵的值是9,那麼降維後對應的值可能是3。

特徵選擇就是單純地從提取到的所有特徵中選擇部分特徵作為訓練集特徵,特徵在選擇前和選擇後不改變值,但是選擇後的特徵維數肯定比選擇前小,畢竟我們只選擇了其中的一部分特徵。舉個例子,現在的特徵是1000維,現在我們要從這1000個特徵中選擇500個,那個這500個特徵的值就跟對應的原始特徵中那500個特徵值是完全一樣的。對於另個500個沒有被選擇到的特徵就直接拋棄了。假設原始特徵中有個特徵的值是9,那麼特徵選擇選到這個特徵後它的值還是9,並沒有改變。

機器學習 特徵選擇及降維

資料中包含冗餘或無關變數 或稱特徵 屬性 指標等 旨在從原有特徵中找出主要特徵 演算法自動選擇特徵 特徵與目標值之間的關聯 決策樹 資訊熵 資訊增益 正則化 l1 l2 深度學習 卷積等 sklearn.feature selection刪除低方差的一些特徵,前面講過方差的意義。再結合方差的大小來考...

機器學習 特徵降維

機器學習中的資料維度與真實世界的維度本同末離。機器學習中,通常需要將現實世界中的資料進行轉化,形成計算機能夠處理的資料向量的形式,而往往為了學習到較好的模型,需要的資料向量維度都是非常大的。從而導致了學習乙個模型或者演算法往往需要大量的資源的消耗,有時甚至產生維度災難的問題。因此,為了緩解這一問題,...

機器學習 特徵選擇

特徵選擇是特徵工程中的重要問題 另乙個重要的問題是特徵提取 坊間常說 資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。由此可見,特徵工程尤其是特徵選擇在機器學習中占有相當重要的地位。通常而言,特徵選擇是指選擇獲得相應模型和演算法最好效能的特徵集,工程上常用的方法有以下 1.計算每...