[神經網路]Matlab神經網路原理6.6.2節
阿新 • • 發佈:2018-12-19
clc,clear,close all; % 異或四點向量 traind = [0,0,1,1;0,1,0,1]; trainl = [0,1,1,0]; % 建立一個前向BP網路 節點為2 net = feedforwardnet(2); net.divideFcn=''; % **關鍵,關閉網路內部的訓練集與結果錯開的功能 %% Train net = train(net,traind,trainl); % 訓練 test_out = sim(net,traind); % 觀察結果 %% CSDN收錄版本 clear; %%用matlab工具箱實現異或 p=[0 0 1 1;0 1 0 1];%p為輸入 t=[0 1 1 0];%t為理想輸出 %隱含層有2個神經元,輸出層有1個神經元,隱含層的傳輸函式為logsig函式 %輸出層的傳輸函式為purelin函式 net=newff(minmax(p),[2,1],{'logsig','purelin'},'trainlm'); net.trainParam.epochs=1000;%訓練的最大次數為1000 net.trainParam.goal=0.0001;%訓練的精度為0.0001 LP.lr=0.1;%訓練的學習率為0.1 net.trainParam.show=20;%顯示訓練的迭代過程 net=train(net,p,t);%開始訓練 out=sim(net,p);%用sim函式模擬驗證
結果: