採用核函式方法對下列資料進行非線性分類。給出matlab具體**,及採用訓練樣本進行測試得到的準確率結果。
x=[0 1 0 1 2 -1];y=[0 0 1 1 2 -1];z=[-1 1 1 -1 1 1];其中,(x,y)代表二維的資料點,z 表示相應點的型別屬性。
執行**:
data=[1,0;0,1;2,2;-1,-1;0,0;1,1];
groups=[1;1;1;1;-1;-1];
figure;
subplot(2,2,1);
struct1 = svmtrain(data,groups,'kernel_function','quadratic', 'showplot',true);
classes1=svmclassify(struct1,data,'showplot',true);
title('二次核函式');
correctrate1=sum(groups==classes1)/6
subplot(2,2,2);
struct2 = svmtrain(data,groups,'kernel_function','rbf', 'rbf_sigma',0.41,'showplot',true);
classes2=svmclassify(struct2,data,'showplot',true);
title('高斯徑向基核函式(核寬
0.41)'
);correctrate2=sum(groups==classes2)/6
subplot(2,2,3);
struct3 = svmtrain(data,groups,'kernel_function','polynomial', 'showplot',true);
classes3=svmclassify(struct3,data,'showplot',true);
title('多項式核函式');
correctrate3=sum(groups==classes3)/6
subplot(2,2,4);
struct4 = svmtrain(data,groups,'kernel_function','mlp', 'showplot',true);
classes4=svmclassify(struct4,data,'showplot',true);
title('多層感知機核函式');
correctrate4=sum(groups==classes4)/6
執行結果:
小菜君的SVM筆記之核方法與核函式
前面對非線性支援向量機進行了簡單的介紹。例如moons資料集,為其增加乙個維度,即可很容易地構造乙個平面對兩類樣本進行分割。然而,若對映至3維空間無法較好分割則需要對映到更高維空間,尤其是當原始資料維度較高時,可能需要將其對映到無窮維空間,這根本無法計算。首先,給出核函式的定義。定義 設x math...
WPF呼叫Matlab函式方法
有的時候用c 寫影象處理方法,比較費事,不如matlab簡單,但是matlab又做不出wpf那樣的好看介面,怎麼辦呢。今天正好我要實現這個功能,就順便寫個小例子,給需要的人做個借鑑。想要用wpf呼叫matlab 就用到了matlab生成.dll檔案的功能。注 我的vs版本是2013,matlab版本...
呼叫不同路徑下函式的方法(matlab)
由於最近做了一些科研任務,用到了matlab,當需要呼叫函式時,為了方便就直接將函式檔案和呼叫指令碼放到同一路徑下,這樣做肯定是沒有問題的。但是如果目錄採用類似於c 多目錄組織,如下圖 這時候呼叫相應目錄下的函式或者檔案最好的方法是類似於c 那樣把目錄路徑 包含進來 其實很簡單,只用呼叫一條命令,假...