亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 機器學習中文參考手冊 - opencv china.htm

?? When I use opencv, I use this very useful paper to begin the study. This is all I searched from the
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
    cvSet( &trainClasses1, cvScalar(1) );

    cvGetRows( trainClasses, &trainClasses2, train_sample_count/2, train_sample_count );
    cvSet( &trainClasses2, cvScalar(2) );

    // learn classifier
    CvKNearest knn( trainData, trainClasses, 0, false, K );
    CvMat* nearests = cvCreateMat( 1, K, CV_32FC1);

    for( i = 0; i < img->height; i++ )
    {
        for( j = 0; j < img->width; j++ )
        {
            sample.data.fl[0] = (float)j;
            sample.data.fl[1] = (float)i;

            // estimates the response and get the neighbors' labels
            response = knn.find_nearest(&sample,K,0,0,nearests,0);

            // compute the number of neighbors representing the majority
            for( k = 0, accuracy = 0; k < K; k++ )
            {
                if( nearests->data.fl[k] == response)
                    accuracy++;
            }
            // highlight the pixel depending on the accuracy (or confidence)
            cvSet2D( img, i, j, response == 1 ?
                (accuracy > 5 ? CV_RGB(180,0,0) : CV_RGB(180,120,0)) :
                (accuracy > 5 ? CV_RGB(0,180,0) : CV_RGB(120,120,0)) );
        }
    }

    // display the original training samples
    for( i = 0; i < train_sample_count/2; i++ )
    {
        CvPoint pt;
        pt.x = cvRound(trainData1.data.fl[i*2]);
        pt.y = cvRound(trainData1.data.fl[i*2+1]);
        cvCircle( img, pt, 2, CV_RGB(255,0,0), CV_FILLED );
        pt.x = cvRound(trainData2.data.fl[i*2]);
        pt.y = cvRound(trainData2.data.fl[i*2+1]);
        cvCircle( img, pt, 2, CV_RGB(0,255,0), CV_FILLED );
    }

    cvNamedWindow( "classifier result", 1 );
    cvShowImage( "classifier result", img );
    cvWaitKey(0);

    cvReleaseMat( &trainClasses );
    cvReleaseMat( &trainData );
    return 0;
}
</PRE>
<DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px">[<A 
title=機器學習中文參考手冊 
href="http://www.opencv.org.cn/index.php?title=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%B8%AD%E6%96%87%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C&amp;action=edit&amp;section=22">編輯</A>]</DIV><A 
name=.E6.94.AF.E6.92.91.E5.90.91.E9.87.8F.E6.9C.BA.E9.83.A8.E5.88.86></A>
<H1>支撐向量機部分 </H1>
<P>支撐向量機(SVM),起初由vapnik提出時,是作為尋求最優(在一定程度上)二分類器的一種技術。後來它又被拓展到回歸和聚類應用。SVM是一種基于核函數的方法,它通過某些核函數把特征向量映射到高維空間,然後建立一個線性判別函數(或者說是一個高維空間中的能夠區分訓練數據的最優超平面,參考異或那個經典例子)。假如SVM沒有明確定義核函數,高維空間中任意兩點距離就需要定義。 
</P>
<P>解是最優的在某種意義上是兩類中距離分割面最近的特征向量和分割面的距離最大化。離分割面最近的特征向量被稱為”支撐向量”,意即其它向量不影響分割面(決策函數)。 
</P>
<P>有很多關于SVM的參考文獻,這是兩篇較好的入門文獻。 </P>
<P>【Burges98】 C. Burges. "A tutorial on support vector machines for pattern 
recognition", Knowledge Discovery and Data Mining 2(2), 1998. (available online 
at <A class="external autonumber" 
title=http://citeseer.ist.psu.edu/burges98tutorial.html 
href="http://citeseer.ist.psu.edu/burges98tutorial.html" rel=nofollow>[1]</A>). 
</P>
<P>LIBSVM - A Library for Support Vector Machines. By Chih-Chung Chang and 
Chih-Jen Lin (<A class="external autonumber" 
title=http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 
href="http://www.csie.ntu.edu.tw/~cjlin/libsvm/" rel=nofollow>[2]</A>) </P>
<DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px">[<A 
title=機器學習中文參考手冊 
href="http://www.opencv.org.cn/index.php?title=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%B8%AD%E6%96%87%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C&amp;action=edit&amp;section=23">編輯</A>]</DIV><A 
name=CvSVM></A>
<H2>CvSVM</H2>
<P>支撐矢量機 </P><PRE>class CvSVM&nbsp;: public CvStatModel //繼承自基類CvStatModel
{
public:
    // SVM type
    enum { C_SVC=100, NU_SVC=101, ONE_CLASS=102, EPS_SVR=103, NU_SVR=104 };//SVC是SVM分類器,SVR是SVM回歸

    // SVM kernel type
    enum { LINEAR=0, POLY=1, RBF=2, SIGMOID=3 }; //提供四種核函數,分別是線性,多項式,徑向基,sigmoid型函數。

    CvSVM();
    virtual ~CvSVM();

    CvSVM( const CvMat* _train_data, const CvMat* _responses,
           const CvMat* _var_idx=0, const CvMat* _sample_idx=0,
           CvSVMParams _params=CvSVMParams() );

    virtual bool train( const CvMat* _train_data, const CvMat* _responses,
                        const CvMat* _var_idx=0, const CvMat* _sample_idx=0,
                        CvSVMParams _params=CvSVMParams() );

    virtual float predict( const CvMat* _sample ) const;
    virtual int get_support_vector_count() const;
    virtual const float* get_support_vector(int i) const;
    virtual void clear();

    virtual void save( const char* filename, const char* name=0 );
    virtual void load( const char* filename, const char* name=0 );

    virtual void write( CvFileStorage* storage, const char* name );
    virtual void read( CvFileStorage* storage, CvFileNode* node );
    int get_var_count() const { return var_idx&nbsp;? var_idx-&gt;cols&nbsp;: var_all; }

protected:
    ...
};
</PRE>
<DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px">[<A 
title=機器學習中文參考手冊 
href="http://www.opencv.org.cn/index.php?title=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%B8%AD%E6%96%87%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C&amp;action=edit&amp;section=24">編輯</A>]</DIV><A 
name=CvSVMParams></A>
<H2>CvSVMParams</H2>
<P>SVM訓練參數struct </P><PRE>struct CvSVMParams
{
    CvSVMParams();
    CvSVMParams( int _svm_type, int _kernel_type,
                 double _degree, double _gamma, double _coef0,
                 double _C, double _nu, double _p,
                 CvMat* _class_weights, CvTermCriteria _term_crit );

    int         svm_type;
    int         kernel_type;
    double      degree; // for poly
    double      gamma;  // for poly/rbf/sigmoid
    double      coef0;  // for poly/sigmoid

    double      C;  // for CV_SVM_C_SVC, CV_SVM_EPS_SVR and CV_SVM_NU_SVR
    double      nu; // for CV_SVM_NU_SVC, CV_SVM_ONE_CLASS, and CV_SVM_NU_SVR
    double      p; // for CV_SVM_EPS_SVR
    CvMat*      class_weights; // for CV_SVM_C_SVC
    CvTermCriteria term_crit; // termination criteria
};
</PRE>
<P>svm_type,SVM的類型: </P>
<DL>
  <DD>CvSVM::C_SVC - n(n&gt;=2)分類器,允許用異常值懲罰因子C進行不完全分類。 
  <DD>CvSVM::NU_SVC - n類似然不完全分類的分類器。參數nu取代了c,其值在區間【0,1】中,nu越大,決策邊界越平滑。 
  <DD>CvSVM::ONE_CLASS - 
  單分類器,所有的訓練數據提取自同一個類里,然後SVM建立了一個分界線以分割該類在特征空間中所占區域和其它類在特征空間中所占區域。 
  <DD>CvSVM::EPS_SVR - 回歸。 訓練集中的特征向量和擬合出來的超平面的距離需要小于p。異常值懲罰因子C被采用。 
  <DD>CvSVM::NU_SVR - 回歸;nu 代替了p </DD></DL>
<P>kernel_type//核類型: </P>
<DL>
  <DD>CvSVM::LINEAR - 沒有任何向映射至高維空間,線性區分(或回歸)在原始特征空間中被完成,這是最快的選擇。 d(x,y) = x?y == 
  (x,y) 
  <DD>CvSVM::POLY - 多項式核: d(x,y) = (gamma*(x?y)+coef0)degree 
  <DD>CvSVM::RBF - 徑向基,對于大多數情況都是一個較好的選擇:d(x,y) = exp(-gamma*|x-y|2) 
  <DD>CvSVM::SIGMOID - sigmoid函數被用作核函數: d(x,y) = tanh(gamma*(x?y)+coef0) 
</DD></DL>
<P>degree, gamma, coef0:都是核函數的參數,具體的參見上面的核函數的方程。 </P>
<P>C, nu, p:在一般的SVM優化求解時的參數。 </P>
<P>class_weights: Optional weights, assigned to particular classes. They are 
multiplied by C and thus affect the mis-classification penalty for different 
classes. The larger weight, the larger penalty on mis-classification of data 
from the certain class. </P>
<P>term_crit: Termination procedure for iterative SVM training procedure (which 
solves a partial case of constrained quadratic optimization problem) The 
structure needs to be initialized and passed to the training method of CvSVM 
</P>
<DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px">[<A 
title=機器學習中文參考手冊 
href="http://www.opencv.org.cn/index.php?title=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%B8%AD%E6%96%87%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C&amp;action=edit&amp;section=25">編輯</A>]</DIV><A 
name=CvSVM::train></A>
<H2>CvSVM::train</H2>
<P>訓練SVM </P><PRE>bool CvSVM::train( const CvMat* _train_data, const CvMat* _responses,
                   const CvMat* _var_idx=0, const CvMat* _sample_idx=0,
                   CvSVMParams _params=CvSVMParams() );
</PRE>
<P>The method trains SVM model. It follows the conventions of generic train 
"method" with the following limitations: only CV_ROW_SAMPLE data layout is 
supported, the input variables are all ordered, the output variables can be 
either categorical (_params.svm_type=CvSVM::C_SVC or 
_params.svm_type=CvSVM::NU_SVC) or ordered (_params.svm_type=CvSVM::EPS_SVR or 
_params.svm_type=CvSVM::NU_SVR) or not required at all 
(_params.svm_type=CvSVM::ONE_CLASS), missing measurements are not supported. 
</P>
<P>所有的參數都被集成在CvSVMParams這個結構中。 </P>
<P><BR></P>
<DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px">[<A 
title=機器學習中文參考手冊 
href="http://www.opencv.org.cn/index.php?title=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%B8%AD%E6%96%87%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C&amp;action=edit&amp;section=26">編輯</A>]</DIV><A 
name=CvSVM::get_support_vector.2A></A>
<H2>CvSVM::get_support_vector*</H2>
<P>得到支撐矢量和特殊矢量的數 </P><PRE>int CvSVM::get_support_vector_count() const;
const float* CvSVM::get_support_vector(int i) const;
</PRE>
<P>這個方法可以被用來得到支撐矢量的集合。 </P>
<DIV class=editsection style="FLOAT: right; MARGIN-LEFT: 5px">[<A 
title=機器學習中文參考手冊 
href="http://www.opencv.org.cn/index.php?title=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E4%B8%AD%E6%96%87%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C&amp;action=edit&amp;section=27">編輯</A>]</DIV><A 
name=.E8.A1.A5.E5.85.85:.E5.9C.A8WindowsXP.2BOpenCVRC1.E5.B9.B3.E5.8F.B0.E4.B8.8B.E6.95.B4.E5.90.88OpenCV.E4.B8.8ElibSVM></A>
<H2>補充:在WindowsXP+OpenCVRC1平臺下整合OpenCV與libSVM </H2>
<P>雖然從RC1版開始opencv開始增設ML類,提供對常見的分類器和回歸算法的支持。但是尚存在一些問題,比如說例子少(官方許諾說很快會提供一批新例子,見CVS版)。單說SVM這種算法,它自己提供了一套比較完備的函數,但是并不見得優于老牌的libsvm(它也應該參考過libsvm,至于是否效率優于libsvm,我并沒有作過測試,官方也沒有什么說法,但是libsvm持續開源更新,是公認的現存的開源SVM庫中最易上手,性能最好的庫)。所以在你的程序里整合opencv和libSVM還是一種比較好的解決方案。在VC中整合有些小地方需要注意,這篇文檔主要是提供把圖象作為SVM輸入時程序遇到的這些小問題的解決方案。希望大家遇到問題時,多去讀libSVM的源碼,它本身也是開源的,C代碼寫得也很優秀,數據結構定義得也比較好。 
</P>
<P>首先是SVM的訓練,這部分我并沒有整合到VC里,直接使用它提供的python程序,雖然網格搜索這種簡易搜索也可以自己寫,但是識別時只需要訓練生成的SVMmodel文件即可,所以可以和主程序分離開。至于python在windows下的使用,還是要設置一下的,首先要在系統環境變量path里把python的路徑設進去,libsvm畫訓練等高線圖還需要gnuplot的支持,打開python源程序(grid.py),把gnuplot_exe設置成你機器里的安裝路徑,這樣才能正確的運行程序。然後就是改步長和搜索范圍,官方建議是先用大步長搜索,搜到最優值後再用小步長在小范圍內搜索(我覺得這有可能會陷入局部最優,不過近似出的結果還可以接受)。我用的python版本是2.4,gnuplot4.0。 
</P>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久草av在线| 制服视频三区第一页精品| 色噜噜夜夜夜综合网| 欧美一区二区免费视频| 一色屋精品亚洲香蕉网站| 久久国产剧场电影| 欧美亚洲另类激情小说| 国产精品久久久久精k8| 久久国产乱子精品免费女| 日本电影欧美片| 国产精品护士白丝一区av| 六月丁香婷婷久久| 欧美理论片在线| 亚洲精品成a人| 成人h动漫精品| 久久久久国产精品麻豆ai换脸| 亚洲高清不卡在线| 91麻豆成人久久精品二区三区| 国产欧美视频一区二区三区| 久久精品国产成人一区二区三区| 欧美久久婷婷综合色| 亚洲免费观看在线观看| 99久久伊人精品| 久久色.com| 国内精品国产成人国产三级粉色| 欧美精品v国产精品v日韩精品 | 中文字幕一区av| 成人综合婷婷国产精品久久蜜臀| 日韩免费高清电影| 日韩精品一级中文字幕精品视频免费观看| 日本韩国精品在线| 亚洲乱码国产乱码精品精98午夜 | 韩日精品视频一区| 日韩免费看的电影| 国产一区二区三区日韩| 久久综合九色综合久久久精品综合 | 精品一区二区在线观看| 制服.丝袜.亚洲.中文.综合| 天天色 色综合| 欧美精品第1页| 精彩视频一区二区三区| 欧美精品一区二区久久婷婷| 国产在线精品一区在线观看麻豆| 欧美不卡123| 国产成人综合亚洲网站| 中文文精品字幕一区二区| 成人av在线网| 亚洲男人电影天堂| 91精品国产91热久久久做人人 | 亚洲午夜精品17c| 欧美一区二区三区不卡| 久草精品在线观看| 欧美激情综合五月色丁香小说| 成人国产一区二区三区精品| 亚洲欧洲综合另类在线| 欧美日韩精品是欧美日韩精品| 免费在线观看视频一区| 久久久精品2019中文字幕之3| 国产成人综合网站| 亚洲日本va午夜在线电影| 欧美日本一道本| 国产一区二区三区香蕉| 日韩理论在线观看| 91精品国产综合久久久久久久久久 | 日韩免费观看高清完整版在线观看| 黑人巨大精品欧美一区| 亚洲欧洲av在线| 91精品国产欧美一区二区| 成人丝袜18视频在线观看| 一二三区精品视频| 精品对白一区国产伦| 91福利区一区二区三区| 久久精品国产77777蜜臀| 中文字幕在线不卡一区二区三区| 欧美久久久久中文字幕| 成人免费毛片高清视频| 美女脱光内衣内裤视频久久网站| 亚洲国产精品t66y| 91精品国产免费| 色婷婷精品久久二区二区蜜臂av | 麻豆一区二区三区| 日韩毛片视频在线看| 欧美成人免费网站| 91国模大尺度私拍在线视频| 久久99热99| 日日嗨av一区二区三区四区| 国产精品久久二区二区| 欧美成人福利视频| 欧美自拍偷拍一区| youjizz久久| 国产精品影视在线| 久久精品国产久精国产| 亚洲成人tv网| 亚洲图片欧美综合| 亚洲欧洲日韩av| 国产精品久久综合| 久久久91精品国产一区二区精品 | 精品国产百合女同互慰| 欧美午夜精品免费| 91色在线porny| 成人av在线资源网站| 国产福利一区在线观看| 美女网站一区二区| 日韩主播视频在线| 亚洲大片免费看| 亚洲一区二区在线播放相泽| 国产精品久久久久9999吃药| 中日韩av电影| 中文字幕欧美一区| 亚洲人快播电影网| 国产精品夫妻自拍| 中文字幕av一区二区三区高 | 99国产精品久久久久久久久久| 国产一区二区三区免费看| 久久99国产精品久久99果冻传媒| 午夜欧美2019年伦理| 日日摸夜夜添夜夜添精品视频| 亚洲成人av一区二区| 日韩中文字幕麻豆| 青青草原综合久久大伊人精品 | 日韩一级免费一区| 日韩欧美国产一二三区| 日韩欧美国产电影| 久久免费午夜影院| 国产日产精品1区| 中文字幕一区在线观看| 一区二区三区中文字幕电影| 亚洲午夜私人影院| 美女视频第一区二区三区免费观看网站| 午夜欧美2019年伦理| 裸体一区二区三区| 国产成人综合在线观看| 91在线精品一区二区| 欧美丝袜丝交足nylons| 日韩一区二区在线看片| 久久理论电影网| 成人欧美一区二区三区小说| 一区二区三区在线观看国产| 亚洲.国产.中文慕字在线| 美国十次了思思久久精品导航| 国产一区激情在线| 91丝袜国产在线播放| 欧美日韩美女一区二区| 精品捆绑美女sm三区| 国产精品三级电影| 亚洲国产精品综合小说图片区| 轻轻草成人在线| 99麻豆久久久国产精品免费| 91精品国产综合久久久久久久久久 | 欧美体内she精高潮| 精品少妇一区二区三区日产乱码| 欧美国产欧美综合| 天天综合网 天天综合色| 粉嫩一区二区三区在线看| 欧美性大战久久久久久久| 久久免费美女视频| 亚洲电影第三页| 国产精品88av| 51精品久久久久久久蜜臀| 中文字幕av一区二区三区免费看| 亚洲国产成人av好男人在线观看| 国产伦精品一区二区三区在线观看| 色哦色哦哦色天天综合| 精品国产一区二区三区忘忧草| 亚洲激情六月丁香| 国产精品自拍在线| 日韩欧美在线123| 一区二区三区精品在线| 国产成人免费视频| 日韩欧美电影一区| 亚洲国产成人精品视频| 99免费精品视频| 国产网站一区二区| 麻豆91精品视频| 欧美午夜一区二区三区| 国产精品人妖ts系列视频| 久久99国产精品免费| 欧美酷刑日本凌虐凌虐| 亚洲嫩草精品久久| 成人亚洲精品久久久久软件| 欧美成va人片在线观看| 三级精品在线观看| 欧美日韩视频在线一区二区| 亚洲欧美综合在线精品| 国产传媒日韩欧美成人| 久久综合九色综合久久久精品综合| 婷婷六月综合网| 精品婷婷伊人一区三区三| 樱桃国产成人精品视频| 成人h动漫精品| 国产精品免费观看视频| 国产成人精品免费视频网站| 欧美成人精品高清在线播放| 免费视频一区二区| 欧美一区二区三区的| 日韩专区欧美专区| 欧美一区二区日韩| 久久99这里只有精品| 亚洲精品一区二区在线观看| 韩国精品久久久|