神经网络 - 用单层感知器实现多个神经元的分类 - (Matlab建模)
生活随笔
收集整理的這篇文章主要介紹了
神经网络 - 用单层感知器实现多个神经元的分类 - (Matlab建模)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
訓練樣本矩陣:
P = [0.1? 0.7? 0.8? 0.8? 1.0? 0.3? 0.0? –0.3? –0.5? –1.5;
??? 1.2? 1.8? 1.6? 0.6? 0.8? 0.5? 0.2? 0.8?? –1.5? –1.3];
訓練樣本對應的分類:
T = [1? 1? 1 0? 0 1? 1? 1? 0? 0 ;0? 0? 0? 0? 0? 1 ?1? 1? 1? 1];
用MATLAB實現分類,并畫出網絡模型。
MATLAB代碼:
P= [0.1 0.7 0.8 0.8 1.0 0.3 0.0 -0.3 -0.5 -1.5; 1.2 1.8 1.6 0.6 0.8 0.5 0.2 0.8 -1.5 -1.3]; %給定訓練樣本數據 T= [1 1 1 0 0 1 1 1 0 0 ; 0 0 0 0 0 1 1 1 1 1]; %給定樣本數據所對應的類別,用1 和0來表示兩種類別 net=newp([-2 2;-1 1],2); %創建一個有兩個輸入、樣本數據的取值范圍都在 [-1,1] %之間,并且網絡有兩個神經元的感知器神經網絡 net.trainParam.epochs = 30; %設置網絡的最大訓練次數為30次 net=train(net,P,T); %使用訓練函數對創建的網絡進行訓練 Y=sim(net,P) %對訓練后的網絡進行仿真 E1=mae(Y-T) %計算網絡的平均絕對誤差,表示網絡錯誤分類 Q=[0.7 1.9 0.9 -0.4 0.2 1.3 -1.5 -0.3 -0.7 1.5; 1.2 0.4 -1.6 0.1 1.9 0.0 0.2 0.8 -1.5 0.9]; %檢測訓練好的神經網絡的性能 Y1=sim(net,Q) %對網絡進行仿真,仿真輸出即為分類的結果 figure; %創建一個新的繪圖窗口 plotpv(Q,Y1); %在坐標圖中繪制測試數據 plotpc(net.iw{1},net.b{1}) %在坐標圖中繪制分類線運行結果:
Y =
???? 1???? 1???? 1???? 0???? 0???? 1???? 1???? 1???? 0???? 0
???? 0???? 0???? 0???? 0???? 0???? 1???? 1???? 1???? 1???? 1
E1 =0
Y1 =
???? 1???? 0???? 0???? 1???? 1???? 0???? 1???? 1???? 0???? 0
???? 0???? 0???? 1???? 1???? 0???? 1???? 1???? 1???? 1???? 0
訓練誤差曲線:
訓練后的分類線:
網絡模型:
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的神经网络 - 用单层感知器实现多个神经元的分类 - (Matlab建模)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python新手练习项目_适合Pytho
- 下一篇: linux错误自动报告工具,linux