libsvm與liblinear的區別

2021-07-09 03:49:51 字數 1609 閱讀 9004

libsvm和liblinear都是國立台灣大學的chih-jen lin博士開發的,libsvm主要是用來進行非線性svm 分類器的生成,提出有一段時間了,而liblinear則是去年才建立的,主要是應對large-scale的data classification,因為linear分類器的訓練比非線性分類器的訓練計算複雜度要低很多,時間也少很多,而且在large scale data上的效能和非線性的分類器效能相當,所以liblinear是針對大資料而生的。

這位網友對libsvm在matlab中的使用說明的很詳細,可以參考下。

有關liblinear和libsvm各自的優勢可以歸納如下:

1.libsvm用來就解決通用典型的分類問題

2.liblinear主要為大規模資料的線性模型設計

以下為一位網友採用liblinear進行資料分類的實驗效能說明「

」今天試用了以下liblinear,速度很快(快到我沒有想到), 

我的實驗資料: 

訓練集:21504 * 1500(1500是樣本的數量,21504是維度) 

測試集:21504 * 2985 

速度用秒來衡量,20次實驗總共不到2分鐘。 

同樣的問題我用了libsvm實驗速度上相差太大,libsvm實驗5次,每次將近10分鐘,時間是其次,發現乙個問題就是,libsvm比liblinear的結果相差1個百分點,沒有讀liblinear的文章,不知道問題出在那個地方,libsvm我直接用的預設引數,線性模型。這樣必然引起乙個問題,如果我想評價線性模型和非線性模型的效能,我不可能乙個用liblinear乙個用libsvm,如果兩個都用libsvm,報告的效能肯定有一些問題。 

所以如果你的問題維度很大(線性模型就有非常好的效能),不妨考慮liblinear. 「

對於什麼時候用線性模型的問題,我想上面的我舉的例子用linear classifier就比較好,非線性分類不一定比線性分類器好,尤其是在樣本及其有限,同時特徵維度很高的情況下,因為樣本有限的情況下,kernel map通常不準確,很有可能錯誤地劃分類別空間,可能造成比線性模型更差的結果。 

說到scale,我建議不要用libsvm裡自帶的scale,因為一旦使用這個工具,它就會把原來稀疏的資料,變成非稀疏的格式,這樣不但會生成非常大的資料檔案,而且liblinear對稀疏資料快速處理的優勢就不能體現出來了。因此,要scale,就自己寫乙個,以保持原來稀疏的格式

liblinear的好處就是速度快,尤其是對稀疏的特徵。缺點就是太吃記憶體了。10g的資料量需要接近50g的記憶體,資料量再大就沒法做了 。

另外,還有乙個經常提到的svm庫svm-per:

是康奈爾大學的人設計的。好像對計算機硬體的效能要求比liblinear要低...有做影象處理的人使用這個svm-per代替liblinear。

另外,對於多分類問題以及核函式的選取,以下經驗規則可以借鑑:

對於多分類問題:

對於15類場景來說,每類100幅訓練影象,如果直接訓練乙個15類的multi-class classifier,則訓練檔案的label值取1~15,wi標記不用指定(default 1)。如果對於每個類單獨訓練乙個分類器,這樣就把這個類的100幅影象作為正樣本(假設label=1),而其餘所有的訓練影象作為負樣本(共1400幅,假設label=-1),由此可以看出正負樣本不平

libsvm與matlab,安裝除錯

趁著所裡的網好,我趕緊寫下這麼一篇bug除錯,是關於matlab與 libsvm mat 2.89 3 farutoultimate3.0mcode 的 一下簡稱libsvm 閒話不多說了,首先介紹一下博主的機器 win10 64 bit matlab 2013ra 破解版 64bit visula...

svm與matlab中的libsvm應用

有關svm教程以及教材已經很多,資料中介紹的都很詳細。略過數學證明,用語言直觀簡潔地描述 svm就是乙個可以控制引數改變分隔平面的乙個二元分類器,得到1和 1的分類結果。除了分類,svm在加入了eps誤差引數之後可根據點距離分隔平面的遠近 給出具體的回歸函式值 這時的support vector m...

Libsvm使用總結

libsvm使用心得 分類,回歸 libsvm是實現svm的便捷開源工具,應用廣泛 除此之外還有lightsvm,沒用過 由國立台灣大學chih chung chang和 chih jen lin編寫,可以實現基於svm的分類和回歸。由於個人對svm的理論只是 略懂 下面只介紹libsvm在win3...