機器學習之特徵選擇章節 《機器學習 周志華》

2021-09-25 10:44:10 字數 2980 閱讀 6773

所謂的特徵選擇實際是屬性選擇,在進行機器學習任務時,往往給定的屬性中有個別屬性是十分重要的,這些屬性被稱為「相關特徵」,而另外一些屬性對當前學習任務的最後結果沒什麼影響,這些屬性被稱為「無關特徵」,特徵選擇就是從給定的所有特徵(屬性)中選擇出「相關特徵」子集。

特徵選擇的目的一方面是在遇到維數災難問題時,通過選擇「相關特徵」,在選擇後的特徵上進行建模分析,從而減弱維數災難問題。另一方面在進行特徵選擇後,特徵數量的減少也會降低機器學習任務的難度,使問題簡單化。

1.相同點:都是為了達到減少資料維度的目的,減輕可能出現的維數災難問題。

2.不同點:兩者的本質不同。

(1)特徵選擇在本質上就是從給定的所有特徵中選擇部分特徵(相關特徵)作為訓練集特徵,特徵在選擇前和選擇後不改變值,由於我們只選擇了其中的一部分特徵,因此選擇後的特徵維數肯定比選擇前小。

(2)降維的本質是學習乙個對映函式 f : x->y,其中x是原始資料點的表達,目前最多使用向量表達形式。 y是資料點對映後的低維向量表達,通常y的維度小於x的維度。

(3)舉個例子,現在的特徵是200維,我們想要把它降到100維。利用特徵選擇的方法,則可以從這200個特徵中選擇100個,這100個被選擇的相關特徵的值和沒進行選擇前的原始特徵中那100個特徵的值是相等的,而另外100個沒有被選擇到的特徵就不存在了。若利用降維的方法,目的要找個乙個從200維對映到100維的對映關係 f : x->y,降維前的200個特徵的值通過對映關係和降維後的100維空間的值相對應,特徵的值可能會發生改變。

大致分為三類:過濾式、包裹式和嵌入式

1.過濾式特徵選擇過程與學習器無關,相當於先對初始特徵進行過濾,再用過濾後的特徵訓練學習器。過濾式特徵選擇法簡單、易於執行、易於理解,通常對於理解資料有較好的效果。

2.包裹式特徵選擇法的特徵選擇過程與學習器相關,使用學習器的效能作為特徵選擇的評價準則,選擇最有利於學習器效能的特徵子集。從最終學習器效能來看,包裹式特徵選擇比過濾式特徵選擇要好,但通常情況下包裹式特徵選擇的計算開銷要遠大於過濾式特徵選擇。

3.嵌入式特徵選擇法使用機器學習模型進行特徵選擇。特徵選擇過程與學習器相關,特徵選擇過程與學習器訓練過程融合,在學習器訓練過程中自動進行特徵選擇。

relief設計了乙個「相關統計量」來度量特性的重要性,該統計量為乙個向量,其每個分量對應於乙個初始向量,特徵子集中每個特徵對應的統計量分量的和決定了特徵子集的重要性,然後可以設立乙個相關統計量的閾值來進行過濾,或者也可以指定要選取的特徵個數k,選擇相關統計量的分量最大的k個特徵。

因此,這裡的重點就在於如何確定相關統計量,relief定義猜中近鄰為某個樣本的同類樣本中最近鄰xi,

nh

x_xi

,nh​

,而猜錯近鄰為異類樣本中的最近鄰xi,

nm

x_xi

,nm​

,那麼定義相關統計量對應於屬性j的分量為:

δ j=

∑idi

ff(x

ij,x

i,nh

j)2+

diff

(xij

,xi,

nmj)

2\delta ^=\sum_^diff\left ( x_^,x_^ \right )^+diff\left ( x_^,x_^ \right )^

δj=i∑​

diff

(xij

​,xi

,nhj

​)2+

diff

(xij

​,xi

,nmj

​)2其中xaj

x_^xa

j​表示樣本xax_

xa​在屬性j上的取值,dif

f(xa

j,xb

j)

diff\left ( x_^,x_^ \right )

diff(x

aj​,

xbj​

)取決於屬性j的型別。

若x ix_

xi​與猜中近鄰xi,

nh

x_xi

,nh​

在屬性j上的距離小於xix_

xi​與猜錯近鄰xi,

nm

x_xi

,nm​

的距離,則說明j對分割槽同類和異類樣本是有益的,於是要增大屬性j對應的統計量分量,反之減少屬性j對應的統計量分量。

上面的公式是針對二分類問題的,relief也可以很容易地拓展到多類上去:

δ j=

∑idi

ff(x

ij,x

i,nh

j)2+

∑l≠k

(pl×

diff

(xij

,xi,

l,nm

j)2)

\delta ^=\sum_^diff\left ( x_^,x_^ \right )^+\sum_^\left (p_\times diff\left ( x_^,x_^ \right )^ \right )

δj=i∑​

diff

(xij

​,xi

,nhj

​)2+

l̸​=

k∑​(

pl​×

diff

(xij

​,xi

,l,n

mj​)

2)1.過濾式選擇是先設計乙個過濾方法進行特徵選擇,再去訓練學習器。而這個過濾方式是設計乙個「相關統計量」,去對特徵進行計算,最後設定乙個閾值去進行選擇。相關統計量計算:對於每個樣本xi,他都會做以下事情:

找出同類中,最鄰近的樣本x1x_

x1​;在異類中,找出最鄰近的x2x_

x2​。如果xix_

xi​與x1x_

x1​更近,說明特徵是對同類異類有益的,會增大相對應的統計量;反之,如果xix_

xi​與x2x_

x2​更近,說明特徵起到***,會減少相對應的統計量。

2.包裹式選擇法的特徵選擇過程與學習器相關,它直接使用學習器的效能作為特徵選擇的評價準則,選擇最有利於學習器效能的特徵子集。

機器學習 特徵選擇

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

機器學習 特徵選擇

資料預處理完成以後,特徵比較多時,就需要對特徵進行選擇。使有意義的特徵輸入模型進行訓練。特徵選擇通常來說從兩個方面入手 特徵選擇的方法 在sklearn中可以使用feature selection庫來進行特徵選擇。2.1.1 方差選擇法 方差選擇法需要計算各特徵的方差,然後根據給定的方差閾值選擇特徵...

機器學習 特徵選擇

當資料預處理完成後,我們需要選擇有意義的特徵輸入機器學習的演算法和模型進行訓練。通常來說,從兩個方面考慮來選擇特徵 根據特徵選擇的形式又可以將特徵選擇方法分為3種 embedded 嵌入法,先使用某些機器學習的演算法和模型進行訓練,得到各個特徵的權值係數,根據係數從大到小選擇特徵。類似於filter...