最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

支持向量機模型

2023-06-30 13:43 作者:SPSSAU官方賬號  | 我要投稿

SPSSAU-在線SPSS分析軟件

支持向量機 support vector machines ?SVM ? SPSSAU

支持向量機模型

支持向量機(support vector machines, SVM)是一種二分類模型,所謂二分類模型是指比如有很多特征(自變量X)對另外一個標(biāo)簽項(因變量Y)的分類作用關(guān)系,比如當(dāng)前有很多特征,包括身高、年齡、學(xué)歷、收入、教育年限等共5項,因變量為‘是否吸煙’,‘是否吸煙’僅包括兩項,吸煙和不吸煙。那么該5個特征項對于‘是否吸煙’的分類情況的作用關(guān)系研究,則稱為‘二分類模型’,但事實上很多時候標(biāo)簽項(因變量Y)有很多個類別,比如某個標(biāo)簽項Y為‘菜系偏好’,中國菜系有很多,包括川菜、魯菜、粵菜、閩菜、蘇菜、浙菜、湘菜和徽菜共計8類,此時則需要進(jìn)行‘多分類決策函數(shù)’轉(zhuǎn)化,簡單理解為兩兩類別(8個中任意選擇2)分別建立SVM模型,然后進(jìn)行組合使用。

機器學(xué)習(xí)算法常見算法中包括決策樹、隨機森林、貝葉斯等,上述均有良好的可解釋性,比如決策樹是將特征按分割點不停地劃分出類別,隨機森林是多個決策樹模型,貝葉斯模型是利用貝葉斯概率原理進(jìn)行計算。與上述不同,支持向量機模型是利用運籌規(guī)劃約束求最優(yōu)解,而此最優(yōu)解是一個空間平面,此空間平面可以結(jié)合特征項,將‘吸煙’和‘不吸煙’兩類完全地分開,尋找該空間平面即是支持向量機的核心算法原理。

支持向量機的計算原理復(fù)雜,但對其通俗地理解并不復(fù)雜,只需要知道其需要求解出‘空間平面’,該‘空間平面’可以把不同的標(biāo)簽項(因變量Y)類別特別明顯的劃分開即可。類似其它機器學(xué)習(xí)算法,支持向量機的構(gòu)建步驟上,一般也需要先對數(shù)據(jù)進(jìn)行量綱化處理、設(shè)置訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)比例、設(shè)置相關(guān)參數(shù)調(diào)優(yōu),最終實現(xiàn)在訓(xùn)練數(shù)據(jù)上有著良好表現(xiàn),并且測試數(shù)據(jù)上也有著良好表現(xiàn)即可。

支持向量機模型案例

Contents

1 背景 2

2 理論 2

3 操作 4

4 SPSSAU輸出結(jié)果 4

5文字分析 5

6 剖析 6

1 背景

本部分支持向量機使用的‘鳶尾花分類數(shù)據(jù)集’進(jìn)行案例演示,其共為150個樣本,包括4個特征屬性(4個自變量X),以及標(biāo)簽(因變量Y)為鳶尾花卉類別,共包括3個類別分別是剛毛鳶尾花、變色鳶尾花和弗吉尼亞鳶尾花(下稱A、B、C三類)。

2 理論

支持向量機模型的原理上,其可見下圖。

比如紅色表示“吸煙”,黃色表示“不吸煙”,那么如何找到一個平面最大化的將兩類群體分開,如上圖所示,分開有很多種方式,左側(cè)也可以分開,右側(cè)也能分開。但明顯的,右側(cè)會“分的更開”,因而如何尋找到這樣的一個空間平面,讓標(biāo)簽項各類別最為明顯的分開,此算法過程即為支持向量機。將點分開時,離平面最近的點要盡可能的遠(yuǎn),比如右側(cè)時A點和B點離平面最近,那么算法需要想辦法讓該類點盡可能地遠(yuǎn)離平面,這樣就稱為“分的更好”。左側(cè)時挨著平面最近的兩個點離平面太近,所以右側(cè)的分類更好。

與此同時,理論上可以找到‘空間平面’,將點徹底完全地分開,但此種情況并沒有用,因為它只是數(shù)學(xué)上徹底地分開,但對真實數(shù)據(jù)業(yè)務(wù)并沒有幫助,與此同時,數(shù)學(xué)計算上如果盡可能地讓點分開,那么很容易出現(xiàn)‘過擬合’現(xiàn)象,即訓(xùn)練數(shù)據(jù)時模型構(gòu)建完美,但測試數(shù)據(jù)上的表現(xiàn)糟糕,因而通過可對此類情況進(jìn)行懲罰,即設(shè)置‘誤差項懲罰系數(shù)值’。另外,為構(gòu)建出空間平面,還需要使用到非線性函數(shù),SVM模型時稱‘核函數(shù)’,其用用于將特征從低維(比如二維XY軸平面)向高維空間轉(zhuǎn)換,并且對其進(jìn)行一定參數(shù)設(shè)置,以尋找較優(yōu)模型。

結(jié)合支持向量機的原理情況,其涉及以下參數(shù),如下:

上述參數(shù)中,誤差項懲罰系數(shù)是一個懲罰值,該值越大時訓(xùn)練數(shù)據(jù)越容易表現(xiàn)良好,但越容易產(chǎn)生‘過擬合’現(xiàn)象。參數(shù)調(diào)整時,如果發(fā)現(xiàn)有‘過擬合’情況,建議將該值往下設(shè)置,SPSSAU默認(rèn)該值為1(已經(jīng)較小)。核函數(shù)是SVM算法時,將低維向高維轉(zhuǎn)化的‘助手’,建議設(shè)置方式如下:

核函數(shù)系數(shù)值(也稱Gamma值),其意義相對較小,通常使用默認(rèn)值即可;

核函數(shù)最高次冪:如果使用多項式核函數(shù)時,最高次冪越大,模型效果越好,但更容易帶來‘過擬合’問題,建議設(shè)置為2、3或者4進(jìn)行對比比(默認(rèn)該值為3);

多分類決策函數(shù):基礎(chǔ)的的SVM只處理二分類問題,如果標(biāo)簽項(因變量Y)有多個類別,比如8大菜系共8個類別時,那么算法上有兩種方式,第1種是每個類別與余下類別(作為反例)建立1個SVM然后整合(共計建立8個SVM),即ovr法(1對其余法),還有一種方式是兩兩配對法即ovo法,8個類別形成8*(8-1)/2=28個配對組合,即進(jìn)行28次SVM然后整合,該項默認(rèn)值為ovr法。

最后:模型收斂參數(shù)值和最大迭代次數(shù)這兩項,其為算法內(nèi)部迭代求最優(yōu)解的參數(shù)值,正常情況下不用設(shè)置。

3 操作

本例子操作如下:

訓(xùn)練集比例默認(rèn)選擇為:0.8即80%(150*0.8=120個樣本)進(jìn)行訓(xùn)練支持向量機模型,余下20%即30個樣本(測試數(shù)據(jù))用于模型的驗證。需要注意的是SVM時涉及距離計算,因而需要對特征進(jìn)行量綱處理,通常量綱處理方式為正態(tài)標(biāo)準(zhǔn)化,此處理目的是讓數(shù)據(jù)保持一致性量綱。當(dāng)然也可使用其它的量綱方式,比如區(qū)間化,歸一化等。

接著對參數(shù)設(shè)置如下:

誤差項懲罰系數(shù)值為1,如果希望訓(xùn)練集數(shù)據(jù)有著更好的表現(xiàn),則可將其設(shè)置更高,但一定需要注意此時測試集的效果情況,否則就會出現(xiàn)‘過擬合’現(xiàn)象。本案例數(shù)據(jù)僅4個特征X,訓(xùn)練數(shù)據(jù)量為120個,因而使用高斯核較為適合,核函數(shù)系數(shù)值默認(rèn)。多分類決策函數(shù)上使用ovr(即一對多余法),這樣會減少運行時間加快運行速度。模型收斂參數(shù)和最大迭代次數(shù)保持默認(rèn)值。

4 SPSSAU輸出結(jié)果

SPSSAU共輸出5項結(jié)果,依次為基本信息匯總,訓(xùn)練集或測試集模型評估結(jié)果,測試集結(jié)果混淆矩陣,模型匯總表和模型代碼,如下說明:

上述表格中,基本信息匯總展示出因變量Y(標(biāo)簽項)的分類分布情況,模型評估結(jié)果(包括訓(xùn)練集或測試集)用于模型的擬合效果判斷,尤其是測試集的擬合效果,以及提供測試集數(shù)據(jù)的混淆矩陣結(jié)果;模型匯總表格將各類參數(shù)值進(jìn)行匯總,并且在最后附錄SVM模型構(gòu)建的核心代碼。

5文字分析

接下來針對最重要的模型擬合情況進(jìn)行說明,如下表格:

上表格中分別針對訓(xùn)練集和測試集,提供四個評估指標(biāo),分別是精確率、召回率、f1-scrore、準(zhǔn)確率,以及平均指標(biāo)和樣本量指標(biāo)等,如下表格說明:

具體上述具體指標(biāo)的解讀,可見決策樹模型幫助手冊,通常使用F1-score值進(jìn)行評估即可,訓(xùn)練數(shù)據(jù)時f1-score值為0.96,并且測試集數(shù)據(jù)也保持著0.94高分,二者比較接近,因而意味著應(yīng)該不存在‘過擬合’現(xiàn)象,而且模型良好。

接著進(jìn)一步查看測試數(shù)據(jù)的‘混淆矩陣’,即模型預(yù)測和事實情況的交叉集合,如下圖:

‘混淆矩陣’時,右下三角對角線的值越大越好,其表示預(yù)測值和真實值完全一致。上圖中僅B類中2個樣本被判斷成C類,其余全部正確,意味著本次支持向量機模型在測試數(shù)據(jù)上表現(xiàn)良好。最后SPSSAU輸出模型參數(shù)信息值,如下表格:

上述參數(shù)信息僅為再次輸出匯總,并無其它目的,最后SPSSAU輸出使用python中slearn包構(gòu)建本次支持向量機模型的核心代碼如下:

model = svm.SVC(C=1.0, kernel=rbf, gamma=scale, tol = 0.001, max_iter=2000, decision_function_shape=ovr) ?

model.fit(x_train, y_train)

6 剖析

涉及以下幾個關(guān)鍵點,分別如下:

  • 支持向量機模型時是否需要標(biāo)準(zhǔn)化處理?

一般建議是進(jìn)行標(biāo)準(zhǔn)化處理,因為SVM模型時涉及距離計算,需要量綱化數(shù)據(jù)處理,通常使用正態(tài)標(biāo)準(zhǔn)化處理方式即可。

  • 保存預(yù)測值

保存預(yù)測值時,SPSSAU會新生成一個標(biāo)題用于存儲模型預(yù)測的類別信息,其數(shù)字的意義與模型中標(biāo)簽項(因變量Y)的數(shù)字保持一致意義。

  • SPSSAU進(jìn)行支持向量機模型構(gòu)建時,自變量X(特征項)中包括定類數(shù)據(jù)如何處理?

支持向量機模型時本身并不單獨針對定類數(shù)據(jù)處理,如果有定類數(shù)據(jù),建議對其啞變量處理后放入,關(guān)于啞變量可點擊查看。

http://spssau.com/front/spssau/helps/otherdocuments/dummy.html

  • SPSSAU中隨機模型合格的判斷標(biāo)準(zhǔn)是什么?

機器學(xué)習(xí)模型中,通常均為先使用訓(xùn)練數(shù)據(jù)訓(xùn)練模型,然后使用測試數(shù)據(jù)測試模型效果。通常判斷標(biāo)準(zhǔn)為訓(xùn)練模型具有良好的擬合效果,同時測試模型也有良好的擬合效果。機器學(xué)習(xí)模型中很容易出現(xiàn)‘過擬合’現(xiàn)象即假的好結(jié)果,因而一定需要重點關(guān)注測試數(shù)據(jù)的擬合效果。針對單一模型,可通過變換參數(shù)調(diào)優(yōu),與此同時,可使用多種機器學(xué)習(xí)模型,比如使用決策樹、隨機森林、神經(jīng)網(wǎng)絡(luò)等,綜合對比選擇最優(yōu)模型。

  • 支持向量機SVM更多參考資料?

更多關(guān)于SVM的資料,可通過sklearn官方手冊查看,點擊查看。

https://scikit-learn.org/stable/modules/svm.html#svm-classification

  • SPSSAU進(jìn)行SVM支持向量機時提示數(shù)據(jù)質(zhì)量異常?

當(dāng)前SVM支持分類任務(wù),需要確保標(biāo)簽項(因變量Y)為定類數(shù)據(jù),如果為定量連續(xù)數(shù)據(jù),也或者樣本量較少(或者非會員僅分析前100個樣本)時可能出現(xiàn)無法計算因而提示數(shù)據(jù)質(zhì)量異常。

支持向量機模型的評論 (共 條)

分享到微博請遵守國家法律
龙井市| 温宿县| 静乐县| 洞头县| 夏津县| 县级市| 北辰区| 林周县| 延津县| 射阳县| 会理县| 东海县| 乐山市| 沁源县| 和静县| 瑞昌市| 昭平县| 太仆寺旗| 绥芬河市| 汝城县| 集贤县| 胶州市| 衡阳市| 石景山区| 连平县| 敦化市| 本溪市| 扶沟县| 岗巴县| 海安县| 雷波县| 乾安县| 六盘水市| 页游| 南皮县| 光泽县| 大荔县| 万全县| 栾城县| 专栏| 竹北市|