机器学习——支持向量机SVM实例(兵王问题,SVM求解步骤以及思路,不求解不编程)
目錄
?
一、問題描述(兵王問題)
二、步驟
1、獲得數據
2、樣本劃分(訓練樣本和測試樣本)
3、訓練樣本得到SVM模型
? 1)數據處理
2)訓練樣本和測試樣本歸一化
3)選擇核函數和調參
4)明確任務
5)訓練方法——交叉驗證
6)參數的設置
3、獲得訓練后的參數
>>>問題1:為什么要獲得這些參數呢?
4、測試結果分析
1)二元分類一般要將測試結果分為四種情況(TP\FN\TN\FP)
2)測試樣本測試結果
5、對模型系統進行評價——ROC曲線
1)測試數據的流程:
>>>問題2:若正樣本數不夠多該怎么辦?
2)提升系統性能的辦法
3)ROC曲線
>>>問題3:怎么通過ROC曲線去評價一個系統的優劣?
4)系統性能評價指標1:有一個指標就是當FP接近0的時候,TP的大小
5)系統性能評價指標2:曲線所包含的面積(AUC)
6)?? 系統性能評價指標3:等容錯率(EER)
一、問題描述(兵王問題)
國際象棋中,一方一個王一個兵,另一方一個王,用SVM來解決是和局還是將死的結果
?
二、步驟
1、獲得數據
這里使用的是早期別人用過的數據集
?
2、樣本劃分(訓練樣本和測試樣本)
3、訓練樣本得到SVM模型
用下面的工具包對從總樣本劃分出來的訓練樣本進行訓練
1)數據處理
因為電腦只認得數字所以,將a,b,c,d...用數字表示,如a=1,b=2,如此類推,標簽也是:draw =? -1,one-fifteen = 1(-1表示和局,1表示將死)
2)訓練樣本和測試樣本歸一化
3)選擇核函數和調參
當不知道選擇什么核函數的時候,我們就選擇高斯核
這里的參數有兩個,一個是C,一個是gamma,如何確定這兩個參數?通過對偶問題中的目標函數來對兩個參數在他們的取值范圍內按照一定的步長逐一進行測試,取最優作為兩個參數的最終取值,如下C和gamma的組合有21x19,步長為2
4)明確任務
已知——5000個訓練樣本(包含樣本數據和每個數據對應的標簽)
未知、任務——C、gamma參數,通過訓練樣本訓練出SVM模型
5)訓練方法——交叉驗證
將5000個樣本隨機均分為5組(5——fold),5組名字分別為a,b,c,d,e,每次拿4組數據作為訓練模型,1組用于測試,每組數據進行輪換測試,最后模型的辨識率取五次測試辨識率的均值
組數越多,越精確,但是訓練時間多,因此需要進行權衡
這里涉及到了兩個循環,一個循環是遍歷所有的C和gamma,一個循環是將訓練樣本分成5組輪換進行訓練測試
6)參數的設置
3、獲得訓練后的參數
>>>問題1:為什么要獲得這些參數呢?
答:C和gamma確定了對偶問題模型
支持向量的個數可以通過經驗來判斷訓練的好壞,若支持向量過多則沒有訓練好
通過b和α我們可以對測試樣本進行分類,其中α是通過對偶問題求解所得
4、測試結果分析
5000樣本用于了訓練,那么剩下的樣本則用于測試,通常訓練的樣本不能拿來測試,因為模型本來就是通過訓練樣本進行創建的,我們的目的是用訓練得到的模型對其他樣本進行分類,考察的是模型的學習能力,類似于學習過程中的知識遷移
1)二元分類一般要將測試結果分為四種情況(TP\FN\TN\FP)
2)測試樣本測試結果
識別率一般不用來作為系統優劣的判斷依據,因為不夠準確,一般是通過ROC來進行判斷
5、對模型系統進行評價——ROC曲線
?
1)測試數據的流程:
?
>>>問題2:若正樣本數不夠多該怎么辦?
答:將閾值調小,就會有更多被錯誤識別為負樣本的正樣本被正確地識別為正樣本,即TP增大,同時NP也會增大,這樣的話系統的性能也會得到提升
?
2)提升系統性能的辦法
方法1:在模型還沒有確定的情況下,通過尋找一組更好的α和b來創建模型;
方法2:在模型確定的情況下,即α和b一定的情況下,我們可以通過適當地調小閾值來達到系統性能提升的效果
3)ROC曲線
理論依據:
?
曲線繪制 :根據上圖的①②③關系進行繪制TP-FP曲線
?
>>>問題3:怎么通過ROC曲線去評價一個系統的優劣?
答:在回答這個問題之前,我們得清楚TP和FP,TP指的是將正樣本正確的識別為正樣本,FP是將負樣本錯誤地識別為正樣本。
4)系統性能評價指標1:有一個指標就是當FP接近0的時候,TP的大小
指標1:有一個指標就是當FP接近0的時候,TP的大小可以用來評價一個系統的優劣,越大越好,因為識別率高。但是大多數情況下不能只看這一項指標,還要看一下總的走勢,如下圖所示:
在FP=0的時候,紅色線系統TP很高,但是藍線TP=0,而到了后面,相同的FP下,藍色線的TP大于紅色線的TP,這樣的兩個系統無法直接判斷出哪個系統更優。
但是在兵王問題中的ROC曲線,對任意相同的FP下,藍色線所代表的系統的TP都要大于等于其他系統,因此藍色線所代表的系統肯定在這四個系統中是最優的!
5)系統性能評價指標2:曲線所包含的面積(AUC)
面積越大,系統越優
6)系統性能評價指標3:等容錯率(EER)
EER越小,系統性能越好
總結
以上是生活随笔為你收集整理的机器学习——支持向量机SVM实例(兵王问题,SVM求解步骤以及思路,不求解不编程)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第六天任务情况
- 下一篇: 机器学习:HMM:基础