特徵提取
特征提取(英語:)在機器學習、模式识别和圖像處理中有很多的應用。特徵提取是從一個初始測量的資料集合中開始做,然後建構出富含資訊性而且不冗餘的導出值,稱為特徵值(feature)。它可以幫助接續的學習過程和歸納的步驟,在某些情況下可以讓人更容易對資料做出較好的詮釋。特徵提取是一個降低維度的步驟,初始的資料集合被降到更容易管理的族群(特徵)以便於學習,同時保持描述原始資料集的精準性與完整性。[1]
當一個演算法的輸入資料太過於龐大冗餘以至於不便處理(如:一樣的測量方法但是分別使用英尺和公尺表示,或是影像中像素的重複性),這些資料可以被轉換成化簡後的特徵集合,也稱作特徵向量(feature vector),決定這些原始資料子集的步驟稱為特徵提取[2] 。成功的情形下,被選擇的特徵包含跟輸入資料相關的資訊,因此這些被化簡後的特徵能夠被用來做理想的任務,而不使用原始完整的初始資料來做這個任務。
概論
相較於原始龐大的資料集合需要很大量的資源來描述,特徵提取可以減少需要描述這些資料的資源。當我們分析複雜資料時,其中一個主要的問題是源自於變數的數量過多。分析很多個變數一般來說需要很大量的記憶體以及計算能力,同時太多變數也可能造成分類問題的演算法有過度擬合於訓練資料的現象,因此對新的採樣無法有效地歸納。特徵提取是處理變數組合並維持資料充足的準確性時,常通稱的術語。很多機器學習的實作者認為適當的特徵提取是有效模型構建的關鍵。[3]
可以利用已經建構好的應用相關的特徵集合來改善結果,通常這樣的特徵集合是被專家所建構。其中一種此類處理被叫做特徵工程師。除此之外,我們也可以使用一般的降維技術,如下:
圖像處理
特徵提取其中一個非常重要的應用領域為圖像處理,其中的演算法可以被用來偵測跟分離數位影像跟影片串流中,想要提取的部分或形狀(特徵)。常見的影像處理相關的特徵處理如下:
曲率
- 邊緣方向
- 改變強度
- 自相關
影像動作
- 移動偵測
- 微分方法
- 光流法
軟體中的特徵提取
很多資料分析的軟體包提供特徵提取以前資料降維。常見的數值編程環境有提供內建的指令來做一些較簡單而常用的特稱提取(例如:主成分分析)。更多特定的演算法可以在公開的腳本或第三方提供的擴充包中取得。另外,也有軟體包為了特定軟體機器學習應用,特別為其設計特徵提取。[4]
深度學習的特徵提取
以往主成分分析為特徵提取極常使用的降維方法,近來利用深度學習神經網路的自編碼器則相當常被使用。他可以跟深度學習中的各種技術(例如:深度神經網路,卷積神經網路)結合。其中,卷積神經網路能十分有效的擷取影像中的特徵,因此對於影像的資料降維擷取特徵的效果特別傑出。此外,卷積神經網路在大型資料庫中影像辨識相關的議題上(例如:物件分類)取得相當傑出的成果。[5]。因此也有人使用在大型資料庫上預先訓練好的卷積神經網路來做特徵提取。
參考資料
- . deepai.org.
- Alpaydin, Ethem. . London: The MIT Press. 2010: 110 [4 February 2017]. ISBN 978-0-262-01243-0.
- Reality AI Blog, "Its all about the features," September 2017, https://reality.ai/it-is-all-about-the-features/
- for example, https://reality.ai/
- ResNet https://arxiv.org/abs/1512.03385