SVM(Support Vector Machine)指的是支持向量機(jī),是常見(jiàn)的一種判別方法。在機(jī)器學(xué)習(xí)領(lǐng)域,是一個(gè)有監(jiān)督的學(xué)習(xí)模型,通常用來(lái)進(jìn)行模式識(shí)別、分類以及回歸分析。
廢話不多說(shuō),上圖;由此,可以看出【支持向量機(jī)】是一種可以將數(shù)據(jù)進(jìn)行分類的模型!也包括測(cè)試數(shù)據(jù)。測(cè)試數(shù)據(jù)能說(shuō)明什么問(wèn)題,代表什么不在此討論;
如此x強(qiáng)大的分類模型,具體是怎么運(yùn)作的?想講清楚,的確較難,在此簡(jiǎn)單描述一下SVM的概念,測(cè)重使用的思路。
模型理論
首先,用一副圖來(lái)形象的描述一下支持向量機(jī)是個(gè)什么樣的角色;請(qǐng)大家看到連接X(jué)、Y軸的那條斜率為負(fù)的直線,于二維平面它表示成一條過(guò)XY軸的直線,在直線兩端明確的區(qū)分了圈圈和叉叉,這條直線就是SVM,就是我們要找的支持向量機(jī)模型;于更高階的情況中它可能是一個(gè)平面或者是N個(gè)形容不出來(lái)的平面所組成的東西,暫且叫它【模型】;這個(gè)模型由M組測(cè)試數(shù)據(jù)訓(xùn)練而成,這個(gè)模型就是后面用來(lái)自動(dòng)化監(jiān)管測(cè)試數(shù)據(jù)的定心丸。
模型的求解
求解過(guò)程是建立模型的第二步臺(tái)階,異常重要!很多資料中都有求解的相關(guān)記載,在這里不做深入推導(dǎo),提供些資料供大家熟悉:
模型的使用
1.準(zhǔn)備? 數(shù)據(jù)拆分,70%訓(xùn)練數(shù)據(jù),30%測(cè)試數(shù)據(jù);訓(xùn)練數(shù)據(jù)中一部分正向數(shù)據(jù),一部分負(fù)向數(shù)據(jù)
2.訓(xùn)練? 將數(shù)據(jù)帶入到Java代碼中去跑一下,直到跑出一組W數(shù)據(jù)且誤差率收斂的陣列。
3.使用? 截取測(cè)試過(guò)程中的數(shù)據(jù),實(shí)時(shí)輸入到【模型】中,得到輸出結(jié)果:
一旦模型算出結(jié)果偏向于-1,那么預(yù)測(cè)異常已經(jīng)發(fā)生;偏向于+1,一切正常;
因此,在實(shí)時(shí)測(cè)試中所獲得的數(shù)據(jù)又可以反過(guò)來(lái)作為訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行補(bǔ)充,數(shù)據(jù)量越大,訓(xùn)練模型越準(zhǔn)確(大到一定值后就沒(méi)意義了)。
模型可以用來(lái)作為判定當(dāng)前測(cè)試環(huán)節(jié)有沒(méi)有發(fā)生異常,或者趨近于異常。可以有效的在重大事件發(fā)生之前做好應(yīng)急措施(這是終極目標(biāo))。