類推學派(Analogical Reasoning)主要知識推理哲學,不是用貝氏推理的「概率」也不是符號學派的「因果關係」(Causal Relationship),而是用物件與物件間的「相似性」(Similarity)來做資訊分類與分群的判斷與分析,即「物以類聚」。
K鄰近演算法
多數決(Majority Vote)
在KNN演算法中任何一個新物件的分類是由K個以之類別的「鄰居」來投票,並採取多數決來確定其分類。
相似度的算法(Calcilation of Similarity)
KNN所謂的物件與物件相似度主要有兩種方法計算:
加權式的KNN(Weighted KNN)
有時雖兩物件相似,但相似性程度會有所不同,因此不同距離的相似度不應該有相同的影響力,距離愈近的影響力應該愈大,因此加權式的KNN會依距離遠近給予不同的相似性權重。
KNN主要應用
KNN優點
KNN的限制與缺點
支持向量機(Support Vector Machine, SVM)
SVM基本概念
主要目的是找到一條最具「區分立」且「寬度最寬」的「國境線」來精確地劃分兩個國家的國民。
①離兩邊邊界距離最大、寬度最寬:不同類別可以劃出許多不同的分類線,例如在A線和B線兩條國界線的中間,其離雙邊距離(幾何間隙)最大,於AB兩條線的「分類間隙」最大,因為「間隙愈大」愈容易安全的區分兩類物件,不容易互相越界,混淆不清楚產生誤判。
②支持向量(Support Vector, SV)基本概念:「支持劃出」國界線的特定樣本(向量),亦即能用來定義分界線(A線、B線)的樣本。
SVM建構步驟
①特徵選擇:透過特徵工程找出最重要、最相關的物件特徵。
②尋找SVM線:利用標註好「信用好」與「信用壞」樣本來訓練SVM,將其不斷調整SVM各個參數來平行移動分界線或調整分較線的斜率。
③驗證SVM線:找到最寬的分界線後,檢查SVM的準確度。
④優化調整SVM:若效能不好,則更換不同的特徵組合或增加更多的特徵變數,提高特徵維度,直到準確率達到我們的標準為止。
SVM核函數
並非所有問題都可用線性的SVM來分類,SVM之所以能夠廣泛普遍的應用就是因為它可以利用所謂的核函數(Kernel Function, KF)來處理各種非線性問題。
核函數:當不同類別的分割無法在原來空間上,用線性SVM來隔開時,SVM可以利用非線性投影或更高維度的函數轉換方式來將資料增加維度,將其轉換到更高維度的特徵空間中來進行分割。
①低維度資料轉換高維度資料。
②將線性不可分的問題轉換為非線性可分的問題。
SVM優點
①樣本量需求不高:SVM只靠少數的SV來分割平面,不需要大量非SV的樣本來計算,因此其在小樣本中的表現比其他演算法的表現好。
②可以處理高維度的樣本。
③穩定性高。
④比較少有過度擬合(Overfitting)的問題。
SVM缺點
①訓練時間長。
②解釋性問題:利用核函數來轉換問題的空間,轉換以後解釋能力較弱,較難說明主要影響變數。
③較適用於二分類問題:對多分類問題需要透過較複雜的轉換,較為麻煩與困難。
SVM綜合點整理
SVM☞
參考資料
人工智慧-概念應用與管理 林東清著