多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > 綜合技術(shù) > [Python] 機(jī)器學(xué)習(xí)庫 Scikit-learn之SVM

[Python] 機(jī)器學(xué)習(xí)庫 Scikit-learn之SVM

來源:程序員人生   發(fā)布時(shí)間:2015-06-04 08:11:56 閱讀次數(shù):14465次

0. SVM簡介

SVM是最經(jīng)常使用的分類器之1,其可以用來做分類,回歸和異常檢測。
其模型定義和學(xué)習(xí)以下:
原始問題:

minw,b,ζ12wTw+Cni=1ζi

subject to yi(wT?(xi)+b)1?ζi,

ζi0,i=1,...,n

對偶問題:

minα12αTQα?eTα

subject to yTα=0

0αiC,i=1,...,n

決策函數(shù):

sgn(ni=1yiαiK(xi,x)+ρ)

其中 e 是全為1的向量, C>0 是上邊界, Qn × n 半正定矩陣, QijK(xi,xj)=?(xi)T?(xj) 是核, 訓(xùn)練數(shù)據(jù)通過 ?被映照到高緯空間中.

svm的優(yōu)點(diǎn):

  1. 在高緯空間的有效性。
  2. 在特點(diǎn)維度高于樣本維度的情況下,仍然有效。
  3. 它的決策函數(shù)只使用訓(xùn)練數(shù)據(jù)的1部份,通常把這1部份數(shù)據(jù)稱之為支持向量,所以它是比較節(jié)省內(nèi)存的。
  4. 可以提供各種各樣的核函數(shù)來擴(kuò)大SVM的功能。

SVM的缺點(diǎn):

  1. 如果特點(diǎn)的維度遠(yuǎn)大于樣本的數(shù)目,那末性能將大大的下降。
  2. SVM不直接提供幾率估計(jì)。

1. SVM用來做分類:

SVC, NuSVC,LinearSVC

這3類都能用來做多類分類,SVC 和 NuSVC 類似,但是在1些參數(shù)上有所不同,LinearSVC 則是另外1種svm的實(shí)現(xiàn),它是線性核。
這里寫圖片描述

輸入:

SVC, NuSVC 和LinearSVC的輸入訓(xùn)練數(shù)據(jù):[n_samples, n_features] ,標(biāo)簽數(shù)據(jù):[n_samples],標(biāo)簽可以是整數(shù)或是字符串都可以。

#訓(xùn)練svm: >>> from sklearn import svm >>> X = [[0, 0], [1, 1]] >>> y = [0, 1] >>> clf = svm.SVC() >>> clf.fit(X, y) ` #測試svm` >>> clf.predict([[2., 2.]

成員變量:

由于svm模型只需要用到訓(xùn)練數(shù)據(jù)中的1部份,也就是支持向量的部份。
support_vectors_:寄存模型的支持向量。
support_ :寄存模型的支持向量的索引。
n_support: 寄存模型每類的支持向量的數(shù)目。

多類分類

原始的svm只能支持2類的分類,而多類分類是通過量次2分類來實(shí)現(xiàn)的,具體有兩種方式,即1對11對多兩種方式。
SVC 和 NuSVC是采取1對1的方式,如果 n_class 是總的種別的數(shù)目,那末共需要訓(xùn)練n_class * (n_class - 1) / 2 個(gè)不同的2分類器。

#獲得分類器的數(shù)目: X = [[0], [1], [2], [3]] Y = [0, 1, 2, 3] clf = svm.SVC() clf.fit(X, Y) dec = clf.decision_function([[1]]) print dec.shape[1]

不同的是, LinearSVC 是采取1對多的方式來進(jìn)行多分類,具體來講,有 n_class 個(gè)種別就訓(xùn)練n_class 個(gè)分類器,明顯,在了種別數(shù)目比較多的情況下,這樣更節(jié)省空間和時(shí)間。

不平衡數(shù)據(jù):

SVC實(shí)現(xiàn)了不平衡訓(xùn)練數(shù)據(jù)集上的處理,通過設(shè)置class_weight參數(shù)來給每一個(gè)種別設(shè)置不同的權(quán)重,具體的使用還得看文檔。

2. SVM用來做回歸

SVM分類器可以很自然的被擴(kuò)大用來做回歸,被稱之為支持向量回歸。
SVR跟SVC1樣,模型只斟酌支持向量的數(shù)據(jù),那些原理分界邊際的點(diǎn)將被忽視。
跟SVC類似,其也有3個(gè)類來顯示它,對應(yīng)的是: SVR, NuSVR , LinearSVR,

>>> from sklearn import svm >>> X = [[0, 0], [2, 2]] >>> y = [0.5, 2.5] >>> clf = svm.SVR() >>> clf.fit(X, y) SVR(C=1.0, cache_size=200, coef0=0.0, degree=3, epsilon=0.1, gamma=0.0, kernel='rbf', max_iter=-1, shrinking=True, tol=0.001, verbose=False) >>> clf.predict([[1, 1]]) array([ 1.5])

3. 密度估計(jì),異常檢測

種別:OneClassSVM 來實(shí)現(xiàn)異常檢測,這是1種無監(jiān)督的方法,它的訓(xùn)練數(shù)據(jù)只需要X,而無需Y。

4. 復(fù)雜度分析

SVM是1個(gè)2次計(jì)劃問題(QP問題),其實(shí)重訓(xùn)練數(shù)據(jù)集合中分離出支持向量的數(shù)據(jù)點(diǎn),在基于libsvm的實(shí)現(xiàn)中,其復(fù)雜度介于: O(nfeatures×n2samples)O(nfeatures×n3samples) 之間。

5. 核函數(shù)

? 線性核: ?x,x?.

? 多項(xiàng)式核: (γ?x,x?+r)

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 手机看片精品国产福利盒子 | 亚洲欧美日韩精品久久亚洲区色播 | a在线视频 | 日本一区二区三区免费看 | 亚洲小说另类 | 性欧美一级毛片在线播放 | 亚洲看| 欧美最猛黑人xxxx黑人猛交69 | japanese强迫第一次护士 | 亚洲欧洲自拍偷拍 | 亚洲精品在线视频观看 | www.欧美xxx| 中文字幕日韩欧美 | 波多野结衣在线免费观看视频 | 欧美成人午夜在线全部免费 | 免费视频一区 | 午夜在线播放视频在线观看视频 | 久久免费视频观看 | 日韩高清在线高清免费 | 日本一区二区免费在线观看 | 亚洲在线观看免费视频 | 国产亚洲福利一区二区免费看 | 麻豆日韩区久久综合 | 香蕉免费网站 | 日本不卡一区二区三区在线观看 | 亚洲乱码视频在线观看 | 一级一级毛片看看 | 国产高清在线精品免费不卡 | 亚洲精品在线播放视频 | 久久精品一区二区三区日韩 | 国产亚洲影院 | 目韩一区二区三区系列片丶 | 精品国产1区 | 国产成人不卡亚洲精品91 | 亚洲高清一区二区三区 | 国产综合久久一区二区三区 | 久久精品免费在线观看 | 91亚洲精品福利在线播放 | 一二三四视频社区5在线高清视频 | 一二三四免费手机在线观看视频 | 成人在线欧美 |