第二章 文獻探討
第五節 分類器
分類器可以依據資料的特性與性質,有效的將複雜且過多的特徵作個分類,並且 給定一個等級,可以達到自動判斷的目的。在眾多分類器中,本研究「基於中文基本 筆劃之視動整合電腦化自動評量系統」採用支撐向量機(Support Vector Machine, SVM)
與 K 最近鄰近法分類器(K Nearest Neighbors Classifier, KNN)為為主要的分類器。
壹、支撐向量機(Support Vector Machine, SVM)
近年來 SVM 開始廣泛應用,並且在許多研究中比傳統分類器具有更好的分類效 果(Camps & Bruzzone, 2005;Fauvel, Chanussot & Benediktsson, 2006)。而 SVM 主要
是要解決 Multi-Layer Perceptron(MLP)兩個問題:
資料來源:An Introduction to Statistical Learning, by G. James, D. Witten, and R.
Tibshirani, 2013, New York: Springer.
圖 1-2 SVM 認為最適當的邊界
資料來源:An Introduction to Statistical Learning, by G. James, D. Witten, and R.
Tibshirani, 2013, New York: Springer.
則目標要找出最大的 margin 並設定一條決策邊界
w
Tx b 0
可以把兩個類別分開,如圖 1-所示,margin 會落在直線
w
Tx b 1
和w
Tx b 1
上且這兩條直線和決策邊界 平行,因此決策邊界的範圍為w w w
w
w
T2 1 2
0 0
1
。
圖 1-3 SVM 希望能找到一個直線具有最大的 margin
資料來源:An Introduction to Statistical Learning, by G. James, D. Witten, and R.
Tibshirani, 2013, New York: Springer.
另外,在訓練樣本的時候希望 SVM 能滿足下列式子: 在利用 Lagrange multipliers 來解決最佳化的問題:
ㄧ、線性可分割 SVM (linearly separable SVM)
如圖 1-4 中,當兩個類別可以使用線性分割時,則可得到 optimal hyperplane 為
資料來源:An Introduction to Statistical Learning, by G. James, D. Witten, and R.
Tibshirani, 2013, New York: Springer.
二、非線性 SVM(Nonlinear SVM)
非線性 SVM 實際應用上對於複雜度比較高的問題而言,要在原空間應用 linear SVM 直接求得 optimal hyperplane 是ㄧ件困難的事情。所以要將原特徵空間的資料轉 換到另一個特徵空間,再使用 linear SVM 是一個重要的研究。要達成這個目的,可以 利用 kernel method,假設
為 kernel function,
為相對應的特徵函數,所以要簡化為 linear separable,則可以利用
把原空間的資料轉換到另一個特徵空間,如圖 1-5 所示。圖 1-5 Nonlinear SVM 的想法
資料來源:Kernel Methods for Pattern Analysis, by S. T. John, and C. Nello, 2004, Cambridge University Press.
其中 optimal hyperplane 為
因此,要得到精確的最佳化的解,可以利用 kernel function
計算出w
Tw
和w
T ( x
i)
,貳、K 最近鄰近法分類器(K Nearest Neighbors Classifier, KNN)
K 最近鄰近法分類器(K Nearest Neighbors Classifier, KNN)雖然在樣式辨認上已 經年代久遠,但卻是一個很直覺且簡潔的分類器,所以常被當作基礎的分類器和其他 複雜的分類器分類效能進行比較。KNN 在高維度的資料上也有很好的分類效果,包括 手寫數字、衛星影像和心電圖等(Hastie, Tibshirani & Friedman, 2001),不過與其他分 類器不同,在於 KNN 是一個無參數的分類器。
在辨識未知類別的測試樣本點
x
時,KNN 會根據未知測試樣本點x
利用 K 個最近 相鄰的點所出現的頻率來分類,並依據相鄰的點出現最高的訓練樣本點的類別判斷,所以 KNN 是利用「物以類聚」的概念來進行分類(Fukunaga, 1990)。KNN 主要是想 利用延伸測試樣本點 x 的區域,直到找出 K 個最近的相鄰點。而且,當 K 的數字增加 的時候不一定辨識的效果會比較好。在相關研究應用上,當 K 的數目比較小的情況下,
辨識的正確率更高(Hastie & Tibshirani, 1996)。本研究使用 KNN 來進行資料集的分 類,將 K 設定為 K=1,則為 1NN。