BP神經網路與MATLAB實現案例二

2021-08-07 10:17:49 字數 1898 閱讀 3872

**

你現在手裡有一袋子雞腿(j),一袋子葡萄(t),要去換人家的西瓜(h)

假設雞腿20元/斤,葡萄17元/斤,西瓜2元/斤

也就是h=(20j+17t)/2

當然我們要通過機器去實現它

給出一組資料

讓我們對她進行一系列的**化

[input,ps1]=mapminmax([j;t]);

[target,ps2]=mapminmax(hh);

net=newff(input,target,6,,'trainlm');

net.trainparam.epochs=10000;

net.trainparam.goal=0.01;

net.trainparam.lr=0.001;

net=train(net,input,target);

jj=[324

1254

3]; %雞腿

tt=[541

2323

1];%葡萄

hhh=(20*j+17*t)/3;%西瓜

%**yuce=net(input1);

bagezhi=mapminmax('reverse',yuce,ps2);

set(0,'defaultfigurecolor','w')

figure

plot(hhh,'*','color',[222

8718]/255);hold on

plot(bagezhi,'-o','color',[244

2080]/255,...

'linewidth',2,'markersize',14,'markeredgecolor',[138

151123]/255);

legend('act','yuce')

xlabel('大西瓜大西瓜大西瓜'),ylabel('斤')

set(gca, 'box', 'off', 'tickdir', 'out', 'ticklength', [.02

.02], ...

'xminortick', 'on', 'yminortick', 'on', 'ygrid', 'on', ...

'xcolor', [.3

.3.3], 'ycolor', [.3

.3.3],'linewidth', 1)

結果如下

3步就到達了期望誤差

下面給出圈圈中的**值的資料和準確值

1.**資料

2.準確值

一眼便知,誤差很小,訓練理想,**較準確

再來看看validation和test

擬合的較為合理,且兩個圖的點沒有出現較少的情況,能說明問題

好了,麻麻再也不用擔心我該換回幾斤的西瓜了!

Matlab實現BP神經網路

該實現為 資料探勘 課程的一次作業。資料在 上,所以資料為csv格式。但bp神經網路演算法為最一般的實現,所以有參考價值。close all 關閉開啟的檔案 clear 清除記憶體中的資料 echo on 顯示執行的每一條命令 clc 清除命令列視窗 pause 敲任意鍵開始 定義訓練樣本 p為輸入...

BP神經網路與MATLAB實現案例一

眾做周知,bp神經網路是最常用的一種神經網路。本文主要講解 實現對玫瑰的識別 案例。關於神經網路的介紹與bp的詳解,論壇裡鋪天蓋地,不在此贅述。簡要概括一下 歸一化資料 構造輸出矩陣 建立神經網路 設定引數 啟動訓練 反歸一化 其中最大迭代次數300 期望誤差0.01 學習效率0.01 輸出識別率 ...

BP神經網路(基於MATLAB)

clc clear all 匯入資料 load s data.mat s含量所用資料 n 12 n 是自變數的個數 m 1 m 是因變數的個數 讀取訓練資料 train num 1600 訓練樣本數 train data s data 1 train num,特徵值歸一化 train input,m...