原创 svm理論與實驗之12: Hello World

徐海蛟博士 Teaching. 我教學學習的libsvm版本是3.17最新版。應用3.17最新版自帶的訓練集heart_scale來完成第一個實驗,該訓練集樣本數:270,特徵數:13。童鞋們跟我一起玩。 1. 把LibSVM包解壓到相

原创 svm理論與實驗之20: libsvm多標籤實驗與評價指標

徐海蛟博士 Teaching. 數據集如下: 名稱 源 類型 類數 訓練樣本 測試樣本 特徵數 ---------------------------------------------------------------- sce

原创 svm理論與實驗之5: 線性分類器的求解

徐海蛟博士 Teaching. 一個求最小值的問題就是一個優化問題(也叫尋優問題,更文縐縐的叫法是規劃——Programming),它同樣由兩部分組成,目標函數和約束條件,可以用下面的式子表示:   (式1)   約束條件用函數c來表示

原创 svm理論與實驗之13: libsvm庫函數說明

徐海蛟博士 Teaching. 徐海蛟老師教學學習的libsvm版本是3.17最新版。 1. libSVM的數據格式 Label 1:value 2:value … … Label:是類別的標識,比如上節train.model中提到的1

原创 svm 預測標籤的概率輸出

對於圖片或文本,如果童鞋們需要初試分類效果,在MatLab做實驗是比較簡單的。例如:使用Libsvm庫函數svmtrain()訓練學習出一個模型Factor, 然後代入Factor,得到預測標籤向量Predict_label。 但是,這

原创 svm理論與實驗之4 — 問題的描述

徐海蛟博士 Teaching. 上節說到我們有了一個線性分類函數,也有了判斷解優劣的標準——即有了優化的目標,這個目標就是最大化幾何間隔,但是看過一些關於SVM的論文的人一定記得什麼優化的目標是要最小化||w||這樣的說法,這是怎麼回事

原创 svm理論與實驗之9:懲罰因子C

svm理論與實驗之9:懲罰因子C 徐海蛟博士 Teaching. 回想一下C所起的作用(表徵你有多麼重視離羣點,C越大越重視,越不想丟掉它們)。這個

原创 svm理論與實驗之7: 核函數

徐海蛟博士 Teaching.   之前一直在討論的線性分類器,器如其名(汗,這是什麼說法啊),只能對線性可分的樣本做處理。如果提供的樣本線性不可分,結果很簡單,線性分類器的求解程序會無限循環,永遠也解不出來。這必然使得它的適用範圍大大

原创 svm理論與實驗之17: libsvm最簡單Java示例(2行)

徐海蛟博士 Teaching. 怎麼用dos命令行使用svm-scale,svm-train,svm-predict三個程序,我們在前面博文中已經練習過了。這裏給出用JAVA調用LibSVM API最簡單的示例,用JAVA進行SVM分類

原创 svm理論與實驗之6: 線性分類器的求解(續集) — 問題的轉化

徐海蛟博士 Teaching.  讓我再一次比較完整的重複一下我們要解決的問題:我們有屬於兩個類別的樣本點(並不限定這些點在二維空間中)若干,   圓形的樣本點定爲正樣本(連帶着,我們可以把正樣本所屬的類叫做正類),方形的點定爲負例。我

原创 svm理論與實驗之11:svm開發工具包LibSVM

svm理論與實驗之11:svm開發工具包LibSVM 徐海蛟博士 Teaching.光說不練,很難真正理解svm的妙處,也難以真正實用。所以,有必要

原创 svm理論與實驗之10: SVM多類分類

徐海蛟博士 Teaching. 從 SVM的那幾張圖可以看出來,SVM是一種典型的兩類分類器,即它只回答屬於正類還是負類的問題。而現實中要解決的問題,往往是多類的問題(少部分例外,例如垃圾郵件過濾,就只需要確定“是”還是“不是”垃圾郵件

原创 svm理論與實驗之8:鬆弛變量

徐海蛟博士 Teaching.現在我們已經把一個本來線性不可分的文本分類問題,通過映射到高維空間而變成了線性可分的。就像下圖這樣:   圓形和方形的點各有成千上萬個(畢竟,這就是我們訓練集中文檔的數量嘛,當然很大了)。現在想象我們有另一

原创 svm理論與實驗之19: libsvm多類實驗

徐海蛟博士 Teaching. 我們實驗環境:libsvm 3.17, python 2.7.3, gnuplot 4.6。 數據集從小到大: dna 生物dna, satimage 衛星圖像, letter 字母。數據已經下載到了sv

原创 徐海蛟:向量X的歸一化及其Matlab簡單示例

徐海蛟博士 歸一化是要把需要處理的數據經過處理後限制在一定範圍內,例如:[-1,1]或[0,1]。歸一化是爲了後續數據處理的方便,也使得算法程序收斂加快。 在Matlab裏面,歸一化的方法共有3種: (1)mapminmax % 範圍映