機器學習的重要方面包括“ 特徵選擇 ”和“ 特徵提取 ”。
什麼是特性選擇(或變量選擇)?
選擇學習算法的輸入變量的某個子集的問題,它應該將注意力集中在這個子集上,而忽略其餘的。換句話說,降維。作為人類,我們經常這樣做!
數學上講,
- 在給定一組特徵F = {f1,…,fi,…,fn}的情況下,特徵選擇問題是找到一個“最大限度提高學習者分類模式能力”的子集
- F '應該最大化一些得分函數
- 這個通用定義包含特徵選擇(即特徵選擇算法也執行映射,但只能映射到輸入變量的子集)
特徵選擇:兩種思想流派
關於特徵選擇有兩種觀點
雖然上述兩種思想共存,但我們將重點放在特徵選擇的動機上。
- 特別是在處理大量變量時,需要降維
- 特徵選擇可以顯著提高學習算法的性能
維度的詛咒
所需的樣本數量(為了達到同樣的精度)隨變量的數量呈指數增長。
在實踐中:訓練例子的數量是固定的。
分類器的性能通常會因為大量的特性而降低
在許多情況下,丟棄變量所丟失的信息是由較低維度空間中的更精確的映射/抽樣所彌補的。
特徵選擇 - 最優性?
理論上,目標是找到最佳特徵子集(最大化評分函數的子集)。
在實際應用中,這通常是不可能的。
對於大多數問題,搜索可能的特徵子集的整個空間在計算上是難以處理的
通常必須滿足最佳子集的近似值
該領域的大部分研究致力於尋找有效的搜索 - 啟發式方法
最佳特徵子集:
- 通常,根據分類器的性能來定義最佳特徵子集
- 理論上最好的是希望貝葉斯誤差率
特徵相關性
在文獻中有幾種相關的定義。
- 1個變量的相關性,給定其他變量的相關性,給定學習算法的相關性。
- 大多數定義都是有問題的,因為有一些問題是所有的特性都被聲明為不相關的
- 這可以通過兩個相關性來定義:弱相關性和強相關性。
- 一個特徵可能是相關的、弱相關、強相關或者不相關(冗餘)。
變量/特徵的強相關性:
設Si = {f1,...,fi-1,fi + 1,... fn}是除fi之外的所有特徵的集合。用si表示對Si中所有特徵的值賦值。
特徵fi是強相關的,如果存在一些xi,y和si,其中p(fi = xi,Si = si)> 0,使得
p(Y = y | fi = xi; Si = si)≠p(Y = y | Si = si)
這意味著單獨移除fi將總是導致最佳貝葉斯分類器的性能下降。
變量/特徵的弱相關性:
特徵fi是弱相關的,如果它不是非常相關的,並且存在Si的特徵Si'的子集,其中存在一些xi,y和si',其中p(fi = xi,Si'= si')> 0這樣
p(Y = y | fi = xi; Si'= si')≠p(Y = y | Si'= si')
這意味著,存在特徵的一個子集的Si“使得在最佳的貝葉斯分類器的性能的Si”是差於Si’ U { fi }
總結
- 特性選擇可以顯著提高學習算法的性能(準確性和計算時間)——但這並不容易!
- 相關性< - >最優
閱讀更多 不靠譜的貓 的文章