支持向量機及其應用_第1頁
支持向量機及其應用_第2頁
支持向量機及其應用_第3頁
支持向量機及其應用_第4頁
支持向量機及其應用_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、支持向量機算法研究及其應用指導老師:段華答 辯 人:李瀟目 錄問題描述結論與展望實現(xiàn)圖實現(xiàn)過程SVM簡介SVM簡介 支持向量機(英語:Support Vector Machine,常簡稱為SVM)是一種監(jiān)督式學習的方法,可廣泛地應用于統(tǒng)計分類以及回歸分析。它是Corinna Cortes和Vapnik等于1995年首先提出的,它在解決小樣本、非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢,并能夠推廣應用到函數(shù)擬合等其他機器學習問題中。這族分類器的特點是他們能夠同時最小化經(jīng)驗誤差與最大化幾何邊緣區(qū),因此支持向量機也被稱為最大邊緣區(qū)分類器。問題描述 SVM 支持向量機是一個類分類器,給定一些標記好的訓

2、練樣本,svm算法輸出一個最優(yōu)分隔超平面,假定給定幾個分屬兩類的點,這些點可以通過直線分割,通過svm將其分為兩類。實現(xiàn)過程 考慮如下問題: 假設給定一些分屬于兩類的2維點,這些點可以通過直線分割, 我們要找到一條最優(yōu)的分割線。 距離樣本太近的直線不是最優(yōu)的。我們的目標是找到一條直線,離所有點的距離最遠。 由此,SVM算法的實質(zhì)是找出一個能夠?qū)⒛硞€值最大化的超平面,這個值就是超平面離所有訓練樣本的最小距離。這個最小距離用SVM術語來說叫做 間隔(margin) 。 概括一下,最優(yōu)分割超平面 最大化訓練數(shù)據(jù)的間隔知識準備知識準備-確定最優(yōu)超平面確定最優(yōu)超平面 實現(xiàn)過程 1 建立訓練樣本建立訓練樣

3、本 本例中的訓練樣本由分屬于2個類別的2維點組成,其中一類包含一個樣本點,另一類包含三個點 float labels4 = 1.0, -1.0, -1.0, -1.0; float trainingData42 = 501, 10, 255, 10, 501, 255, 10, 501 ; 函數(shù) CvSVM:train 要求訓練數(shù)據(jù)儲存于float類型的 Mat 結構中, 因此我們定義了以下矩陣: Mat labelsMat(3, 1, CV_32FC1, labels);Mat trainingDataMat(3, 2, CV_32FC1, trainingData);實現(xiàn)過程2 2訓練支持

4、向量機訓練支持向量機 調(diào)用函數(shù) CvSVM:train 來建立SVM模型 CvSVM SVM; SVM.train(trainingDataMat, labelsMat, Mat(), Mat(), params);實現(xiàn)過程 3 SVM區(qū)域分割區(qū)域分割 函數(shù) CvSVM:predict 通過重建訓練完畢的支持向量機來將輸入的樣本分類。 我們通過該函數(shù)給向量空間著色, 及將圖像中的每個像素當作迪卡爾平面上的一點,每一點的著色取決于SVM對該點的分類類別:綠色表示標記為1的點,藍色表示標記為-1的點。 Vec3b green(0,255,0), blue (255,0,0); for (int i

5、 = 0; i image.rows; +i) for (int j = 0; j image.cols; +j) Mat sampleMat = (Mat_(1,2) i,j); float response = SVM.predict(sampleMat); if (response = 1) image.at(j, i) = green; else if (response = -1) image.at(j, i) = blue; 實現(xiàn)過程 4 支持向量支持向量 這里用了幾個函數(shù)來獲取支持向量的信息。函數(shù) CvSVM:get_support_vector_count 輸出支持向量的數(shù)量,

6、函數(shù) CvSVM:get_support_vector 根據(jù)輸入支持向量的索引來獲取指定位置的支持向量。 通過這一方法我們找到訓練樣本的支持向量并突出顯示它們。 int c = SVM.get_support_vector_count(); for (int i = 0; i c; +i) const float* v = SVM.get_support_vector(i); circle( image, Point( (int) v0, (int) v1), 6, Scalar(255, 255, 255), thickness, lineType); 實現(xiàn)圖 程序創(chuàng)建了一張圖像,在其中顯示了訓練樣本。 訓練得到SVM,并將圖像的每一個像素分類。 分類的結果將圖像分為紅綠藍三部分,中間線就是最優(yōu)分割超平面。 實現(xiàn)圖 最后支持向量通過灰色邊框加重顯示結論與展望 本文利用SVM 解決二維空間上的問題,我們考慮迪卡爾平面內(nèi)的點與線,而不是高維的向量與超平面。這一簡化是為了讓我們以更加直覺的方式建立起對SVM概念的理解,但是其基本的原理同樣適用于更高維的樣本分類情形。 支持向量機不僅有著統(tǒng)計學習理論的堅實理論基礎,而且具有直觀的幾何解釋和完美的數(shù)學形式。支持向量機主要討論分類問題和回歸問題,基于把回歸問題轉(zhuǎn)化為分類問題的研究工作。 支持向量機是借助于最優(yōu)化方法解決數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論