久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

libSVM簡(jiǎn)介及核函數(shù)模型選擇

 老狗肚皮 2014-05-29

1. libSVM簡(jiǎn)介

訓(xùn)練模型的結(jié)構(gòu)體

struct svm_problem //儲(chǔ)存參加計(jì)算的所有樣本

{

int l//記錄樣本總數(shù)

double *y//指向樣本類別的組數(shù)

struct svm_node **x;//數(shù)據(jù)樣本

};

當(dāng)樣本類別事先已經(jīng)被告知時(shí),,可以通過(guò)數(shù)字來(lái)給樣本數(shù)據(jù)進(jìn)行標(biāo)識(shí)(如果是兩類通常以1-1來(lái)表示),。如果不清楚樣本類別可以用樣本個(gè)數(shù)編號(hào)來(lái)設(shè)置,這時(shí)候分類的準(zhǔn)確率也就無(wú)法判定了,。

數(shù)據(jù)樣本是一個(gè)二維數(shù)組,,其中每個(gè)單元格儲(chǔ)存的是一個(gè)svm_nodey與樣本數(shù)據(jù)的對(duì)應(yīng)關(guān)系為:

數(shù)據(jù)節(jié)點(diǎn)的結(jié)構(gòu)體

struct svm_node //儲(chǔ)存單一向量的單個(gè)特征

{

      int index; //索引

      double value; //

};

如果需要儲(chǔ)存向量x=(1,121,12321,121,1),就可以使用6個(gè)svm_node來(lái)保存,,內(nèi)存映像為:

index

        1   

     2

         3

        4

     5

    -1

value

       1

   121

      12321

      121

      1

   NULL

注意:向量是以索引值為-1的元素為結(jié)束標(biāo)志位的,。如果沒(méi)有標(biāo)志位將導(dǎo)致程序崩潰。

SVM模型類型枚舉

enum { C_SVCNU_SVCONE_CLASSEPSILON_SVRNU_SVR };

 C_SVCC表示懲罰因子,,C越大表示對(duì)錯(cuò)誤分類的懲罰越大

 NU_SVC:和C_SVC相同,。

 ONE_CLASS:不需要類標(biāo)號(hào),用于支持向量的密度估計(jì)和聚類.

 EPSILON_SVR:-不敏感損失函數(shù),對(duì)樣本點(diǎn)來(lái)說(shuō),,存在著一個(gè)不為目標(biāo)函數(shù)提供任何損失值的區(qū)域,,即-帶。

 NU_SVR:由于EPSILON_SVR需要事先確定參數(shù),,然而在某些情況下選擇合適的參數(shù)卻不是一件容易的事情,。而NU_SVR能夠自動(dòng)計(jì)算參數(shù)

注意:C_SVCNU_SVC其實(shí)采用的模型相同,,但是它們的參數(shù)C的范圍不同,C_SVC采用的是0到正無(wú)窮,,NU_SVC[0,1]

核函數(shù)類型枚舉

enum { LINEARPOLYRBFSIGMOIDPRECOMPUTED }; 

 LINEAR:線性核函數(shù)(linear kernel

 POLY:多項(xiàng)式核函數(shù)(ploynomial kernel

 RBF:徑向機(jī)核函數(shù)(radical basis function)

 SIGMOID: 神經(jīng)元的非線性作用函數(shù)核函數(shù)(Sigmoid tanh)

 PRECOMPUTED:用戶自定義核函數(shù)

 

只有四個(gè)常用核函數(shù),,但我們必須決定哪一個(gè)是首選,。然后是懲罰因子C和核參數(shù)的選擇。

在支持向量機(jī)中使用的核函數(shù)主要有四類:

線性核函數(shù):
多項(xiàng)式核函數(shù):
RBF核函數(shù):
Sigmoid核函數(shù):

其中,, 和 均為核參數(shù),。

究竟用哪一種核函數(shù)取決對(duì)數(shù)據(jù)處理的要求,不過(guò)建議一般都是使用RBF核函數(shù),。因?yàn)镽BF核函數(shù)具有良好的性態(tài),,在實(shí)際問(wèn)題中表現(xiàn)出了良好的性能。

1 RBF核
        通常而言,,RBF核是合理的首選,。這個(gè)核函數(shù)將樣本非線性地映射到一個(gè)更高維的空間,與線性核不同,,它能夠處理分類標(biāo)注和屬性的非線性關(guān)系,。并且,線性核是RBF的一個(gè)特例(Keerthi and Lin 2003),,因此,,使用一個(gè)懲罰因子C的線性核與某些參數(shù)(C,γ)的RBF核具有相同的性能。同時(shí),,Sigmoid核的表現(xiàn)很像一定參數(shù)的RBF核(Lin and Link 2003),。
        第二個(gè)原因,超參數(shù)(hyperparameter)的數(shù)量會(huì)影響到模型選擇的復(fù)雜度(因?yàn)閰?shù)只能靠試驗(yàn)呀?。?。多項(xiàng)式核比RBF核有更多的超參數(shù)。
最后,,RBF核有更少的數(shù)值復(fù)雜度(numerical difficulties),。一個(gè)關(guān)鍵點(diǎn)0<Kij<=1對(duì)比多項(xiàng)式核,后者關(guān)鍵值需要 infinity(rxiTxj+r>1)或者zero(rxiTxj+r<1),,這是高階運(yùn)算,。此外,我們必須指出sigmoid核在某些參數(shù)下不是合法的 (例如,,不是兩個(gè)向量的內(nèi)積),。(Vapnik 1995)
當(dāng)然,也存在一些情形RBF核是不適用的,。特別地,,當(dāng)特征維數(shù)非常大的時(shí)候,很可能只能適用線性核,。 

  • svm_type –

    指定SVM的類型,,下面是可能的取值:

    • CvSVM::C_SVC C類支持向量分類機(jī)。 n類分組  (n \geq 2),,允許用異常值懲罰因子C進(jìn)行不完全分類,。
    • CvSVM::NU_SVC \nu類支持向量分類機(jī)。n類似然不完全分類的分類器,。參數(shù)為 \nu 取代C(其值在區(qū)間【0,,1】中,nu越大,,決策邊界越平滑),。
    • CvSVM::ONE_CLASS 單分類器,所有的訓(xùn)練數(shù)據(jù)提取自同一個(gè)類里,,然后SVM建立了一個(gè)分界線以分割該類在特征空間中所占區(qū)域和其它類在特征空間中所占區(qū)域,。
    • CvSVM::EPS_SVR \epsilon類支持向量回歸機(jī)訓(xùn)練集中的特征向量和擬合出來(lái)的超平面的距離需要小于p,。異常值懲罰因子C被采用,。
    • CvSVM::NU_SVR \nu類支持向量回歸機(jī)。 \nu 代替了 p,。

  • kernel_type –

    SVM的內(nèi)核類型,,下面是可能的取值:

    • CvSVM::LINEAR 線性內(nèi)核,。沒(méi)有任何向映射至高維空間,線性區(qū)分(或回歸)在原始特征空間中被完成,,這是最快的選擇,。K(x_i, x_j) = x_i^T x_j.
    • CvSVM::POLY 多項(xiàng)式內(nèi)核: K(x_i, x_j) = (\gamma x_i^T x_j + coef0)^{degree}, \gamma > 0.
    • CvSVM::RBF 基于徑向的函數(shù),對(duì)于大多數(shù)情況都是一個(gè)較好的選擇: K(x_i, x_j) = e^{-\gamma ||x_i - x_j||^2}, \gamma > 0.
    • CvSVM::SIGMOID Sigmoid函數(shù)內(nèi)核:K(x_i, x_j) = \tanh(\gamma x_i^T x_j + coef0).
  • degree – 內(nèi)核函數(shù)(POLY)的參數(shù)degree,。
  • gamma – 內(nèi)核函數(shù)(POLY/ RBF/ SIGMOID)的參數(shù)\gamma,。
  • coef0 – 內(nèi)核函數(shù)(POLY/ SIGMOID)的參數(shù)coef0
  • Cvalue – SVM類型(C_SVC/ EPS_SVR/ NU_SVR)的參數(shù)C,。
  • nu – SVM類型(NU_SVC/ ONE_CLASS/ NU_SVR)的參數(shù) \nu,。
  • p – SVM類型(EPS_SVR)的參數(shù) \epsilon
  • class_weights – C_SVC中的可選權(quán)重,,賦給指定的類,,乘以C以后變成 class\_weights_i * C。所以這些權(quán)重影響不同類別的錯(cuò)誤分類懲罰項(xiàng),。權(quán)重越大,,某一類別的誤分類數(shù)據(jù)的懲罰項(xiàng)就越大。
  • term_crit – SVM的迭代訓(xùn)練過(guò)程的中止條件,,解決部分受約束二次最優(yōu)問(wèn)題,。您可以指定的公差和/或最大迭代次數(shù)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多