一完整的SVM分類器的程序_第1頁
一完整的SVM分類器的程序_第2頁
一完整的SVM分類器的程序_第3頁
一完整的SVM分類器的程序_第4頁
一完整的SVM分類器的程序_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一完整的svm分類器的程序求一完整的svm分類器的程序,matlab編寫的。推薦答案 檢舉i 2011-1-21 18:19這個是非線性svm的: 1 命令函數(shù)部分:clear;% 清屏clc;x =load (' data txt');n = length(x) ;%總樣本數(shù)量y = x(:, 4) ;%類別標志x 二 x(:, 1:3);tol = 0. 0001;%精度要求c = 1;%參數(shù),對損失函數(shù)的權(quán)重b = 0; %初始設置截距bwold = 0;%未更新a時的w(a)wnew = 0;%更新 a 后的 w(a)for i = 1 : 50%設置類別標志為1或者-

2、1y(i) = -1;enda = zeros (n, 1) ;%參數(shù) afor i = 1 : n%隨機初始化a, a屬于0, ca(i) = 0. 2;end%為簡化計算,減少重復計算進行的計算k = ones (n,n);for i = 1 :n%求出k矩陣,便于之后的計算for j 二 1 : nk(i, j) = k(x(i, :),x(j, :);endend sum二zeros (n, 1) ;%中間變量,便于之后的計算,sum(k) =sigma a(i)*y(i)*k(k, i);for k = 1 : nfor i 二 1 : nsum(k) = sum(k) + a(i)

3、 * y (i) * k(i, k);endendwhile 1%迭代過程%啟發(fā)式選點nl二1;%初始化,nl,n2代表選擇的2個點n2 = 2;%nl按照笫一個違反kkt條件的點選擇while nl 二 nif y (nl) * (sum(nl) + b) = 1 && a(nl) >= c && a(nl) <=0break;endif y(nl) * (sum(nl) + b) > 1 && a(nl) 二 0 break;endif y(nl) * (sum(nl) + b) < 1 && a(nl

4、) =cbreak;endnl 二 nl + 1;end%n2按照最大化ie1-e2 |的原則選取el 二 0;e2 二 0;maxdiff二0;%假設的最大誤差el = sum(nl) + b - y (nl) ;%nl 的誤差 for i 二 1 : ntempsum 二 sum(i) + b - y(i);if abs(el - tempsum)> maxdiff maxdiff 二 abs(el - tempsum); n2 二 i;e2 = tempsum;endend%以下進行更新alold 二 a(nl);a2old = a(n2);kk 二 k(nl,nl) + k(n2

5、, n2) - 2*k(nl,n2);a2new = a2old + y(n2) *(e1 - e2) / kk;%計算新的 a2 %a2必須滿足約束條件s 二 y(nl) * y(n2);if s 二二-1u = max(0, a2old 一 alold);v 二 min(c, c - alold + a2old);elseu 二 max(0, alold + a2old - c);v = min(c, alold + a2old);endif a2new > va2new 二 v;endif a2new < ua.2new 二 u;endalnew 二 alold + s *

6、(a2old - a2new) ;%計算新的 al a(nl) = alnew;%更新 aa(n2)二 a2new;%更新部分值sum 二 zeros (n,1);for k = 1 : nfor i 二 1 : nsum(k) = sum(k) + a(i) * y (i) * k(i, k);endendwold 二 wnew;wnew = 0; %更新 a 后的 w (a) temp sum = 0; %臨時變量for i 二 1 : nfor j 二 1 : ntempsum二 tempsum + y(i )*y(j)*a(i)*a(j)*k(i, j);endwnew二 wnew+

7、a.(i);endwnew二 wnew 一 0. 5 * tempsum;%以下更新b:通過找到某一個支持向量來計算 support二1;%支持向量坐標初始化while abs(a(support)< le4 && support <= nsupport 二 support + 1;endb = 1 / y (support) - sum (support);%判斷停止條件if abs(wnew/ wold - 1 )二 tolbreak;endend%輸出結(jié)果:包括原分類,辨別函數(shù)計算結(jié)果,svm分類結(jié)果 for i 二 1 : nfprintf ('第(

8、1 點:原標號',i);if i 二 50 fprintf (' -t );elsefprintf (' r );endfprintf (j判別函數(shù)值%f分類結(jié)果,,sum(i) + b);if abs (sum(i) + b - 1) < 0. 5fprintf (' ln,);else if abs(sum(i) + b + 1)0.5 fprintfc -ln');elsefprintf c 歸類錯誤n');endendend2名為f的功能函數(shù)部分: function y 二 k(xl,x2)y 二 exp(-0. 5*norm(xl

9、 - x2).八2);end3.數(shù)據(jù):0. 8871-0. 34918. 337601.25191.20836. 50410-1. 19251.93381.87900-0. 12772. 43712.697101.96973. 09066. 039100. 76030. 82411. 532301. 63823. 55164. 469401. 3438-0. 45395. 93660-1. 3361-2. 02011.63930-0. 38863. 30418. 04500-0. 67806. 0196-0. 408400. 3552-0. 10511.245801. 65604. 07860

10、. 852100.81173. 54516. 892501.4773-1.93403. 92560-0. 0732-0. 95260. 460900. 15214. 37112. 260001. 48200. 74930. 347500.61404. 52618. 377600. 57213. 34603. 785300. 52694. 14524. 390001. 7879-0. 53902. 551600. 98855. 76250. 18320-0. 33182. 4373-0. 688401. 35785. 47093. 430202. 7210-1. 12684. 771900. 5

11、039-0. 10252. 365001. 11071. 68853. 765000. 78621. 35877. 320301.0444-1. 58413. 634901. 77951. 72764. 984700. 67101. 4724-0. 550400. 23030. 2720-1.602801. 7089-1. 73994. 888201. 00590. 55575. 118802. 30500. 85452. 829401.95550. 98980.350101. 71411. 54133.873902. 27495. 32804. 960401.61710. 52703. 38

12、2603. 6681-1.84094. 893401. 19641.87811.414600. 77882. 10480. 038000. 79165. 09063. 851301. 08071. 88495. 976600. 63402. 60303. 694001. 9069-0. 06097. 420801. 65994. 9409& 110801. 37630. 88993. 906900. 84851. 46886. 739303. 67926. 10924. 905114. 38127.21486. 121114. 39713.41397. 797415. 07167. 7

13、25310. 537315. 30788.81386. 168214. 14485. 51562.873115. 36096. 04584. 081514. 74526. 63521. 368916. 02746. 5397-1.912015. 31743.01346. 793517. 24593. 69703. 124616. 10078. 10875. 556815. 99246. 92385. 793816. 02635. 33337. 518513. 64708. 09156. 471313. 65437. 22647. 578315.01146. 53353. 522914. 434

14、87. 4379-0. 029213. 60873. 73513.017213. 53745. 53547. 657816. 00482. 069110. 451313. 14234. 00035. 499413. 40127. 15368.351015. 54715. 1372-1. 509016. 50895. 4911& 046815. 45836. 76745. 935314. 17272. 97983. 602715. 16728.41364. 862114. 88083. 55141.995315. 49384. 19983. 244015. 45425. 88034. 426914. 87433. 9641& 141715. 97626. 77112. 381616. 69457. 28581.894214. 73015. 76521. 660814. 70845. 36233. 259616. 04083. 31387. 787614. 60248. 35170.219314. 70546. 6633-0. 349214. 71395. 63626. 233014. 085010. 71183.354116. 10886. 16354. 2292

溫馨提示

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

評論

0/150

提交評論