分類: 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。
對于高維空間的兩類問題,最直接的方法是找到一個最佳的分類超平面,使得
并且
,對于所有的正負訓練樣本
和
. 因此,以上問題可以表達為:

%% training...%Linear programmingfor i=1:n A(i,:) = [-x(:,i)',-1];endfor i=1:m A(i+n,:) = [y(:,i)',1];endc = ones(n+m,1)*(-1);w = linprog(zeros(d+1,1),A,c);hold on;%% visualize the classification areax1 = -shift-2:0.1:shift+2*sigma;y1 = (-w(3)-w(1)*x1)/w(2);plot(x1,y1,'-','LineWidth',2);legend('Positive samples','Negative samples','Linear programming');

由于采用線性規(guī)化來解線性可分問題存在無數(shù)多個解,那么哪個一解是最優(yōu)的呢? 我們希望找到一個超平面,使得該平面前后平移d的距離后分類碰到正負樣本并且使d最大化。2*d 即為以下兩個平面之間的距離:

從上圖可見,線性SVM分類的效果要好于線性分類器。
PS: 本文所有代碼可在http://download.csdn.net/detail/ranchlai/6009209下載。
新聞熱點
疑難解答