機器學習於分類問題之概述

機器學習於分類問題之概述

企業管理研究所 盧浩鈞教授

近年來人工智慧是最火紅的議題,一般而言人工智慧最常被討論的做法有深度學習與機器學習。套用哪種做法最重要的分水嶺,就是資料集的屬性與數量。依資料集的屬性來看,機器學習從資料中自動建置分析模型,運用類神經網路與統計學等方法洞察完整的樣貌,以盡量少的人為干預下結論並作成決策。深度學習屬於一種機器學習,係以多層結構的演算法辨識複雜的資料模型,適用於影像、語音、或其他非結構化資料的分類或預測。依資料集的數量來看,深度學習所需的資料往往非常龐大,以準確分類一張圖是貓或狗為例,以前需要約 4-5 萬張影像(目前技術成熟後也需要 1-2 萬張影像)。所以當無法大量取得資料時,其他的機器學習方法反而可以成為分類或預測的有力工具。

在使用機器學習上,下列關鍵決策會影響最終模型的正確性:

1.  選舉一個主要且合適的量測指標(metric)

首先要針對問題選擇一個主要且合適的量測指標,如正確率(accuracy)、召回率或敏感度(recall or sensitivity)、精確率或陽性預測值(precision or PPV)、陰性預測值(NPV)、或 ROC 曲線(receiver operating characteristic curve) / 曲面下面積(area under curve)。在很多場合不使用正確率做為量測指標,例如在不平衡資料(imbalanced data)下只看正確率是非常不正確的,往往需要參考其他指標( Kappa 係數, ROC, F-score, Precision/Recall)。而這種不平衡資料常見於醫療、會計、良率等應用領域。決定好了一個主要的量測指標才會有利於後續的特徵集選取。

2.    二元分類或是多元分類

當問題是二元分類時,要明確指明是要注重哪一個類別作為陽性標記(Positive label)。通常在(有病、無病)此種二元分類,會選擇有病作為陽性標記。標記的選擇非常重要,一旦選反了陽性與陰性標記,其結果會完全不對。當問題是多元分類時(類別數> 2),較要考慮是使用 macro average micro average、或是 weighted 做為多類別的平均值。

3.    特徵集選取

在原始資料集中通常會有許多特徵是相關且重複的,若沒有事先做特徵集選取,容易使最後模型過度適切(overfitting)。目前常見的選取方式有使用統計方法或是演算法。統計方法特徵集選取常見 PearsonVIFLasso 等,優點是快速簡單,缺點是背後的分析基礎都是架構在線性方程式。使用演算法而言目前比較常見為 Sequential forward/backward feature selection (SFS),優點是比較準確(因為所用的演算法可以選擇非線性的分類演算法),缺點是耗時且不通用。SFS 需要選取一個演算法為基礎,但是不同演算法所產出的特徵集是不可以通用的。

4.  超參數的選取

每種機器學習演算法都有許多超參數(hyperparameter),而這些超參數的排列組合少則數百種多則百萬種。對一個機器學習演算法,不同超參數訓練出來的模型有顯著差異。超參數的選取是非常耗時, 有時候光選取合適的超參數就可以耗時 2-3 周。更麻煩的是不同特徵集會得到不同超參數。若要同時考慮特徵集與超參數的選擇,其排列組合可能達到上千萬種則。目前常用超參數的選取方法格點搜尋(grid search)、隨機搜尋(random search)、自動搜尋(auto search)。許多學術論文指出隨機搜尋常會比格點搜尋找到更有利的超參數,而自動搜尋則是一個值得研究的議題。

5.  演算法的選擇

目前準確率高又有寫好的演算法常見於下列幾種:倒傳遞神經網路(BNNbackpropagation neural network)、向量支援機(SVMsupport vector machine)、隨機森林(RFrandom forest)、自適應增強(AdaBoostadaptive boosting)and 極端梯度增強(XGBoostextreme gradient boosting)。其中效果最好的大部分為集成式學習的自適應增強與極端梯度增強演算法。此外,在選擇演算法時充滿了挑戰,因為前述的(a)量測指標、(b)特徵集、(c)超參數、(d)不平衡資料的超取樣(oversampling)(e)交叉驗證(cross-validation)甚至連訓練資料每筆的順序都會影響到最後的成果。

 

 

因為機器學習有這麼多的考量點、所以不同人做出來模型差異會非常大,也因為如此,讓這個領域非常多變且有趣。