資源簡介
MATLAB平臺下實現構造前饋神經網絡,實現BP算法,對鳶尾花數據集進行分類。

代碼片段和文件信息
%讀取訓練數據
[f1f2f3f4class]?=?textread(‘trainData.txt‘??‘%f%f%f%f%f‘150);
%特征值歸一化
[inputminImaxI]?=?premnmx(?[f1??f2??f3??f4?]‘)??;
%構造輸出矩陣
s?=?length(?class?)?;
output?=?zeros(?s??3??)?;
for?i?=?1?:?s?
???output(?i??class(?i?)??)?=?1?;
end
%創建神經網絡
net?=?newff(?minmax(input)??[10?3]??{?‘logsig‘?‘purelin‘?}??‘traingdx‘?)?;?
%設置訓練參數
net.trainparam.show?=?50?;
net.trainparam.epochs?=?3000;
net.trainparam.goal?=?0.01?;
net.trainParam.lr?=?0.01?;
%開始訓練
net?=?train(?net?input??output‘?)?;
%讀取測試數據
[t1?t2?t3?t4?c]?=?textread(‘testData.txt‘??‘%f%f%f%f%f‘150);
%測試數據歸一化
testInput?=?tramnmx?(?[t1t2t3t4]‘??minI?maxI?)?;
%仿真
Y?=?sim(?net??testInput?)?
%統計識別正確率
[s1??s2]?=?size(?Y?)?;
hitNum?=?0?;
for?i?=?1?:?s2
????[m??Index]?=?max(?Y(?:???i?)?)?;
????if(?Index??==?c(i)???)?
????????hitNum?=?hitNum?+?1?;?
????end
end
sprintf(‘識別率是?%3.3f%%‘100?*?hitNum?/?s2?)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????997??2018-05-14?12:50??bpAnnIris.m
?????文件???????1349??2011-07-10?13:38??testData.txt
?????文件???????2708??2011-07-10?13:42??totalData.txt
?????文件???????1359??2011-07-10?13:39??trainData.txt
-----------?---------??----------?-----??----
?????????????????6413????????????????????4
- 上一篇:ADRC的simuli
nk仿真 - 下一篇:煙花算法進行函數優化通用matlab代碼
評論
共有 條評論