an introduction to feature selection
」,主要是我對這篇文章的乙個總結與我個人的一些認識。
特徵選擇和降維有著些許的相似點,這兩者達到的效果是一樣的,就是試圖去減少特徵資料集中的屬性(或者稱為特徵)的數目;但是兩者所採用的方式方法卻不同:降維的方法主要是通過屬性間的關係,如組合不同的屬性得新的屬性,這樣就改變了原來的特徵空間;而特徵選擇的方法是從原始特徵資料集中選擇出子集,是一種包含的關係,沒有更改原始的特徵空間。
引用自吳軍《數學之美》上的一句話:乙個正確的數學模型應當在形式上是簡單的。構造機器學習的模型的目的是希望能夠從原始的特徵資料集中學習出問題的結構與問題的本質,當然此時的挑選出的特徵就應該能夠對問題有更好的解釋,所以特徵選擇的目標大致如下:
主要有三種方法:
其主要思想是:對每一維的特徵「打分」,即給每一維的特徵賦予權重,這樣的權重就代表著該維特徵的重要性,然後依據權重排序。
主要的方法有:
其主要思想是:將子集的選擇看作是乙個搜尋尋優問題,生成不同的組合,對組合進行評價,再與其他的組合進行比較。這樣就將子集的選擇看作是乙個是乙個優化問題,這裡有很多的優化演算法可以解決,尤其是一些啟發式的優化演算法,如ga,pso,de,abc等,詳見「優化演算法——人工蜂群演算法(abc)」,「優化演算法——粒子群演算法(pso)」。
主要方法有:
recursive feature elimination algorithm
(遞迴特徵消除演算法)
其主要思想是:在模型既定的情況下學習出對提高模型準確性最好的屬性。這句話並不是很好理解,其實是講在確定模型的過程中,挑選出那些對模型的訓練有重要意義的屬性。
主要方法:正則化,可以見「簡單易學的機器學習演算法——嶺回歸(ridge regression)」,嶺回歸就是在基本線性回歸的過程中加入了正則項。
這篇文章中最後提到了一點就是用特徵選擇的一點trap。個人的理解是這樣的,特徵選擇不同於特徵提取,特徵和模型是分不開,選擇不同的特徵訓練出的模型是不同的。在機器學習=模型+策略+演算法的框架下,特徵選擇就是模型選擇的一部分,是分不開的。這樣文章最後提到的特徵選擇和交叉驗證就好理解了,是先進行分組還是先進行特徵選擇。
答案是當然是先進行分組,因為交叉驗證的目的是做模型選擇,既然特徵選擇是模型選擇的一部分,那麼理所應當是先進行分組。如果先進行特徵選擇,即在整個資料集中挑選擇機,這樣挑選的子集就具有隨機性。
我們可以拿正則化來舉例,正則化是對權重約束,這樣的約束引數是在模型訓練的過程中確定的,而不是事先定好然後再進行交叉驗證的。
機器學習特徵選擇方法
有一句話這麼說,特徵決定上限,模型逼近上限。特徵選擇對後面的模型訓練很重要,選擇合適重要的特徵,對問題求解尤為重要,下面介紹一些常見的特徵選擇方法。通常來說,從兩個方面考慮來選擇特徵 相關係數法 使用相關係數法,先要計算各個特徵對目標值的相關係 常用的有皮爾遜相關係數,斯皮爾曼秩係數,可見本部落格中...
機器學習特徵選擇方法
有一句話這麼說,特徵決定上限,模型逼近上限。特徵選擇對後面的模型訓練很重要,選擇合適重要的特徵,對問題求解尤為重要,下面介紹一些常見的特徵選擇方法。通常來說,從兩個方面考慮來選擇特徵 特徵是否發散 如果乙個特徵不發散,例如方差接近於0,也就是說樣本在這個特徵上基本上沒有差異,這個特徵對於樣本的區分並...
機器學習特徵選擇方法
特徵決定上限,模型逼近上限。特徵選擇對後面的模型訓練很重要,選擇合適重要的特徵,對問題求解尤為重要,下面介紹一些常見的特徵選擇方法。通常來說,從兩個方面考慮來選擇特徵 特徵是否發散 如果乙個特徵不發散,例如方差接近於0,也就是說樣本在這個特徵上基本上沒有差異,這個特徵對於樣本的區分並沒有什麼用。特徵...