matlab練習程序(單層感知器)


clear all;
close all;
clc;

%生成兩組已標記數據
randn('seed',0);
mu1=[0 0 0];
S1=[0.3 0 0;
    0 0.35 0;
    0 0 0.4];  
P1=mvnrnd(mu1,S1,100);

mu2=[4 4 4];
S2=[1.2 0 0;
    0 1.85 0;
    0 0 1.9];
P2=mvnrnd(mu2,S2,100);
P = [P1;P2]';

%設置標記
T1 = zeros(100,1);
T2 = ones(100,1);
T = [T1;T2]';

net=newp([1 1;1 1;1 1],1);      %生成感知器,net是返回參數
net.trainParam.epochs=10;       %設置訓練次數最大是10
net=train(net,P,T);             %利用訓練集對感知器進行訓練

plotpv(P,T);                    %畫出數據
plotpc(net.iw{1},net.b{1})      %畫出分類線

%生成測試數據
mu2=[2 2 2];
S2=[1.2 0 0;
    0 1.85 0;
    0 0 1.9];
Q=mvnrnd(mu2,S2,100)';
Y=sim(net,Q) ;                  %Y是利用感知器net對Q進行分類的結果
figure;
plotpv(Q,Y);                    %畫出輸入的結果表示的點
plotpc(net.iw{1},net.b{1})      %畫出分類線

對已標記數據分類:

對測試數據分類:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM