• 沒有找到結果。

第三章 研究方法

3.3 特徵選取

本研究特徵選取方法採用 SVM 的核心方法 F-score 作為特徵選取演算法,

此方法僅能搭配SVM 分類器一同使用。根據圖 16 特徵選取流程圖所示,將所取 得的特徵集合,利用 F-score 的標準先做特徵排序(Feature Ranking),接著從已 排序過後的特徵序列中,使用循序向後法(Sequential Backward Selection),策略 性挑選出不一樣的特徵個數作為子集合來進行訓練。

透過SVM 格子式參數搜尋(Grid search) 以及交叉驗證來找出 RBF kernel 中 最佳的參數(C, γ)以及正確率(CV rate),檢驗此模型對於該分類任務的準確率好 壞。重複此步驟,直到嘗試完所有特徵子集合數量為止,並輸出其中CV rate 最 佳特徵子集合視為最佳的訓練模型。

圖 16 特徵選取流程圖

26

根據上小節所產生的特徵排序序列(Ranking Feature List),當序列個數很小 時,可以使用窮舉法找出集合裡最好的特徵子集合(Feature Subset)。但一般狀況 下特徵序列內的特徵數量極大,假設特徵序列中含有 n 個特徵,若我們一次考 慮兩個特徵組合,全部計算便需要嘗試 n(n-1)/2 種組合。因此策略式挑選方法 變得更重要,為了加速特徵的選擇,在有限時間內找到相對好的次佳解,此處 採用循序向後選取法(Sequential Backward Selection)亦是向後淘汰法(Recursive Feature Elimination, RFE)的方式做挑選以及嘗試各種不同的特徵子集合。

也就是說,在嘗試挑選個數的時候,每次都將挑選子集個數減半。舉例而 言,若 n=100,則嘗試的排列組合個數將會有 100、50、25、12、6、3、1 個特 徵等組合,並且全部依照已排序過的特徵序列作拿取,如圖 17 特徵子集合組合,

以特徵數100 為例所示。

27

而向後淘汰法的挑選方式,已經在[25]文獻中被證明是很有效的,但這種 挑選方法的前提是只適用於已經排序過的特徵集合。

圖 17 特徵子集合組合,以特徵數 100 為例

3.3.3 特徵子集驗證

利用特徵序列以及特徵個數的取得,會產生各種不一樣的特徵子集合,每 個不一樣的子集合,透過 SVM 格子式搜尋找尋 RBF Kernel 函式參數 γ 以及於 線性不可分(Non-Separable)的懲罰權重(Cost, C),以及在找尋參數的過程中,訓 練經過交叉驗證法可得知該參數的模型準確率(CV rate),用以檢視優劣,最後 從所有子集合的模型中找擁有最佳準確率者作為最佳訓練模型,同時輸出特徵 子集合,供其使用。

此節特徵選取的做法,亦可參考表 3 演算法: 最佳特徵子集合模型演算法:

最佳特徵子集合模型。

28

表 3 演算法: 最佳特徵子集合模型

演算法: 最佳特徵子集合模型

輸入:5-fold 訓練集,測試集 輸出:預測每種特徵子集合

1. 利用 f-score 特徵排序演算法計算特徵序列,𝒇𝒋,j=1,…,n。

2. For 每個特徵數量 m,𝐦 ∈ {𝟏, 𝟐, 𝟒, … , 𝟐𝒊, … , 𝐧}。

(a) 從特徵序列中選 m 個特徵產生訓練樣本,𝐟𝐣,j=1,…,m。

(b) 利用格子式搜尋(Grid search)找到最佳 C, γ 參數。

(c) 用訓練樣本訓練 SVM 模型。

(d) 用測試樣本預測 SVM 模型。

3. 輸出最大準確率之模型(Max CV Rate)及特徵集合。

29

相關文件