一、下載LIBSVM工具包
首先將LIBSVM工具包下載至SVM EXAMPLE的目錄下。
圖片來源:中國慕課大學(xué)《機(jī)器學(xué)習(xí)概論》
然后將LIBSVM的路徑加載至MATLAB的路徑中,以使MATLAB可找到LIBSVM工具包中所有與MATLAB有接口的函數(shù)(個(gè)人理解:經(jīng)過此步驟后,MATLAB可以調(diào)用LIBSVM工具包中的函數(shù))。
圖片來源:中國慕課大學(xué)《機(jī)器學(xué)習(xí)概論》
二、數(shù)據(jù)預(yù)處理
處理兵(車)王問題的MATLAB程序文件名稱為:testSVMChessLibSVM.m。該MATLAB程序采用讀文件的方式獲取數(shù)據(jù),并將六維數(shù)據(jù)(六維數(shù)據(jù)表示三個(gè)棋子的位置)存儲(chǔ)于xapp中,一維數(shù)據(jù)(一維數(shù)據(jù)表示某一情況下,兵(車)王問題返回結(jié)果)存儲(chǔ)于yapp中。
圖片來源:中國慕課大學(xué)《機(jī)器學(xué)習(xí)概論》
獲取數(shù)據(jù)后,首先需所有28056個(gè)數(shù)據(jù)順序打亂,再將5000個(gè)數(shù)據(jù)作為訓(xùn)練集,將23056個(gè)數(shù)據(jù)作為測試集,以保證訓(xùn)練集和測試集的選擇完全隨機(jī)。之后將訓(xùn)練集和測試集歸一化。
圖片來源:中國慕課大學(xué)《機(jī)器學(xué)習(xí)概論》
該MATLAB程序選擇的核函數(shù)是RBF核函數(shù)(高斯徑向基函數(shù)核),并根據(jù)LIBSVM網(wǎng)站,將超參數(shù)c的取值范圍選定為2-5~215,超參數(shù)g(gamma,gamma代表RBF核函數(shù)中1/σ2的值)取值范圍選定為2-15~23。
三、確定超參數(shù)c和g的值
在上述超參數(shù)c和g的取值范圍內(nèi)遍歷所有c和g的組合,尋找識(shí)別率最大的c和g組合的機(jī)器學(xué)習(xí)模型。
為估計(jì)識(shí)別率,需要在5000個(gè)訓(xùn)練集中選取部分?jǐn)?shù)據(jù)作為估計(jì)識(shí)別率的數(shù)據(jù)。所選取估計(jì)識(shí)別率的數(shù)據(jù)不能與訓(xùn)練機(jī)器學(xué)習(xí)模型的數(shù)據(jù)相同,否則會(huì)導(dǎo)致過擬合(OVERFITTING),從而導(dǎo)致估計(jì)識(shí)別率高于實(shí)際識(shí)別率。估計(jì)識(shí)別率的數(shù)據(jù)與訓(xùn)練機(jī)器學(xué)習(xí)模型的數(shù)據(jù)相同類似于學(xué)生考試的題目與日常練習(xí)題目相同,若學(xué)生考試的題目與日常練習(xí)題目相同,則學(xué)生的考試成績將偏高。
為充分利用訓(xùn)練集數(shù)據(jù),機(jī)器學(xué)習(xí)模型訓(xùn)練常采用交叉驗(yàn)證的方式估計(jì)識(shí)別率。在該MATLAB程序中,訓(xùn)練集數(shù)據(jù)被等分為5份,每份1000個(gè)數(shù)據(jù),分別以A、B、C、D、E標(biāo)號(hào),然后進(jìn)行下述訓(xùn)練和估計(jì):
(1)采用A、B、C、D訓(xùn)練,采用E估計(jì)識(shí)別率;
(2)采用A、B、C、E訓(xùn)練,采用D估計(jì)識(shí)別率;
(3)采用A、B、D、E訓(xùn)練,采用C估計(jì)識(shí)別率;
(4)采用A、C、D、E訓(xùn)練,采用B估計(jì)識(shí)別率;
(5)采用B、C、D、E訓(xùn)練,采用A估計(jì)識(shí)別率; 最后將五個(gè)識(shí)別率取平均值,得出總識(shí)別率,該過程被稱為五折交叉驗(yàn)證(5-fold cross validation),LIBSVM工具包中“-v 5”表示五折交叉驗(yàn)證。
圖片來源:中國慕課大學(xué)《機(jī)器學(xué)習(xí)概論》
交叉驗(yàn)證在訓(xùn)練數(shù)據(jù)數(shù)量不變的情況下,保證采用更多的數(shù)據(jù)訓(xùn)練和估計(jì)識(shí)別率,從而估計(jì)出更準(zhǔn)確的識(shí)別率。交叉驗(yàn)證的劣勢(shì)是增加模型訓(xùn)練的時(shí)間。
交叉驗(yàn)證的形式之一是留一法(LEAVE-ONE-OUT),即每次采用一個(gè)數(shù)據(jù)估計(jì)識(shí)別率,剩余數(shù)據(jù)均參與訓(xùn)練。留一法常被用于訓(xùn)練數(shù)據(jù)較少且需要精確估計(jì)識(shí)別率的情況。
在該MATLAB程序中,共包含兩次交叉驗(yàn)證,第一次交叉驗(yàn)證初步確定超參數(shù)c和g的組合,第二次交叉驗(yàn)證更精確地確定超參數(shù)c和g的組合。
四、訓(xùn)練機(jī)器學(xué)習(xí)模型
在確定超參數(shù)c和g的組合后,使用該超參數(shù)c和g的組合和5000個(gè)訓(xùn)練樣本得出最終的機(jī)器學(xué)習(xí)模型,圖一為所得出的機(jī)器學(xué)習(xí)模型的參數(shù),其中,“nr_class:2”表示此機(jī)器學(xué)習(xí)模型是二分類模型,“totalSV:220”表示此機(jī)器學(xué)習(xí)模型具有220個(gè)支持向量,“rho:39.9485”表示b的值為39.9485。
圖一,圖片來源:中國慕課大學(xué)《機(jī)器學(xué)習(xí)概論》
最后,采用測試集的數(shù)據(jù)測試模型,得出識(shí)別率為99.61%。
審核編輯:劉清
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7524瀏覽量
164147 -
MATLAB仿真
+關(guān)注
關(guān)注
4文章
176瀏覽量
19964 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8435瀏覽量
132885 -
LibSvm
+關(guān)注
關(guān)注
0文章
3瀏覽量
6466
原文標(biāo)題:機(jī)器學(xué)習(xí)相關(guān)介紹(17)——支持向量機(jī)(兵(車)王問題MATLAB程序)
文章出處:【微信號(hào):行業(yè)學(xué)習(xí)與研究,微信公眾號(hào):行業(yè)學(xué)習(xí)與研究】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
![](https://file1.elecfans.com/web2/M00/83/F6/wKgZomRl9beAeYE4AACKBcWoopc686.png)
#硬聲創(chuàng)作季 人工智能入門課程:16. [2.11.1]--支持向量機(jī)(兵王問題程序設(shè)計(jì))
四種支持向量機(jī)用于函數(shù)擬合與模式識(shí)別的Matlab示例程序
特征加權(quán)支持向量機(jī)
基于改進(jìn)支持向量機(jī)的貨幣識(shí)別研究
基于支持向量機(jī)(SVM)的工業(yè)過程辨識(shí)
![基于<b class='flag-5'>支持</b><b class='flag-5'>向量</b><b class='flag-5'>機(jī)</b>(SVM)的工業(yè)過程辨識(shí)](https://file.elecfans.com/web2/M00/49/55/pYYBAGKhtEaAFqVIAAASrPzLBCc118.jpg)
支持向量機(jī)的故障預(yù)測模型
MATLAB的循環(huán)向量化編程方法的詳細(xì)資料研究
OpenCV機(jī)器學(xué)習(xí)SVM支持向量機(jī)的分類程序免費(fèi)下載
什么是支持向量機(jī) 什么是支持向量
![什么是<b class='flag-5'>支持</b><b class='flag-5'>向量</b><b class='flag-5'>機(jī)</b> 什么是<b class='flag-5'>支持</b><b class='flag-5'>向量</b>](https://file.elecfans.com/web1/M00/B1/09/o4YBAF33OXaAQ1J3AAEEMv6BbwI705.png)
支持向量機(jī)網(wǎng)絡(luò)搜索優(yōu)化應(yīng)用程序下載
支持向量機(jī)(原問題和對(duì)偶問題)
支持向量機(jī)(兵(車)王問題程序設(shè)計(jì))
![<b class='flag-5'>支持</b><b class='flag-5'>向量</b><b class='flag-5'>機(jī)</b>(<b class='flag-5'>兵</b>(<b class='flag-5'>車</b>)<b class='flag-5'>王</b>問題<b class='flag-5'>程序</b>設(shè)計(jì))](https://file1.elecfans.com/web2/M00/89/86/wKgZomSG0o6AfuWGAAAyNpjTiUk279.png)
評(píng)論