三大特征選擇策略對比,提升機器學(xué)習(xí)格調(diào)不是問題
什么是特征選擇?在解決問題時,總會有許多不相關(guān)的東西摻雜其中,那我們就需要找尋他們的關(guān)鍵特征進行清晰建模。伴隨這一問題的還有大量數(shù)據(jù)問題,它們有時是多余的,或者不甚相關(guān)。特征選擇是這樣一個研究領(lǐng)域,它試圖通過算法完成重要特征的選取。
為什么不把全部特征直接丟進機器學(xué)習(xí)模型呢?
現(xiàn)實世界的問題并沒有開源數(shù)據(jù)集,其中更沒有與問題相關(guān)的信息。而特征選擇有助于你最大化特征相關(guān)性,同時降低非相關(guān)性,從而增加了構(gòu)建較好模型的可能性,并減小模型的整體大小。
頂級的特征選擇方法比如說我們要預(yù)測水上公園的票價走勢;為此我們決定查看天氣數(shù)據(jù)、冰淇淋銷量、咖啡銷量以及季節(jié)狀況。
從下表中我們可以看到,夏季的門票明顯比其他季節(jié)好賣,而冬季賣不出一張票。咖啡銷量整年中比較穩(wěn)定,冰淇淋則一年之中都有銷量,但旺季是 6 月。
表 1:文中使用的各項虛構(gòu)數(shù)據(jù)。
圖 1:各項虛構(gòu)數(shù)據(jù)的圖示對比。
我們想要預(yù)測水上公園票價,但很可能不需要所有數(shù)據(jù)以得到最佳結(jié)果。數(shù)據(jù)存在 N 個維度,并且 K 數(shù)值會給出最佳結(jié)果。但是不同大小的子集之間存在大量的結(jié)合。
我們的目標(biāo)是減少維度數(shù)量,同時不損失預(yù)測能力。讓我們退回一步,看看那些我們能使用的工具。
窮舉搜索這項技術(shù)能 100% 保證找到最好的可能特征以建立模型。我們認為它非??尚?,因為它將搜索所有可能的特征組合并找到返回模型最低點的組合。
在我們的例子中有 15 個可能的特征組合可供搜索。我使用公式 (2^n—1) 計算組合的數(shù)量。這個方法在特征數(shù)量較少的時候可行,但如果你有 3000 個特征就不可行了。
幸運的是,還有一個稍微好點的方法可用。
隨機特征選擇大多數(shù)情形中,隨機特征選擇可以工作的很好。如果要將特征數(shù)減少 50%,只需隨機選擇其中 50% 的特征并刪除。
模型訓(xùn)練完成之后,檢驗?zāi)P偷男阅?,重?fù)這個過程直到你滿意為止。遺憾的是,這仍然是個蠻力方法。
當(dāng)需要處理一個很大的特征集,又不能削減規(guī)模的時候,該怎么辦?
最小冗余最大關(guān)聯(lián)特征選擇
將所有的想法整合起來就能得出我們的算法,即 mRMR 特征選擇。算法背后的考慮是,同時最小化特征的冗余并最大化特征的關(guān)聯(lián)。因此,我們需要計算冗余和關(guān)聯(lián)的方程:
讓我們用虛構(gòu)的數(shù)據(jù)寫一個快速腳本來實現(xiàn) mRMR:
我并沒有對結(jié)果抱有什么期待,冰淇淋的銷量看起來能很精確地對售票量建模,而氣溫不可以。在這個例子中,似乎只需要一個變量就可以精確地對售票量建模,但在實際的問題中肯定不是這樣的。