-
大小: 6.76MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-11-14
- 語言: 其他
- 標(biāo)簽:
資源簡介
BP神經(jīng)網(wǎng)絡(luò)用于兩類圖片識(shí)別分類

代碼片段和文件信息
//#include
#include
#include
#include
#include
#include
//#include?
#include
#include
#include?“deal_image.h“
//using?namespace?std;
#define?innode?25??//輸入結(jié)點(diǎn)數(shù)??R
#define?hidenode?10//隱含結(jié)點(diǎn)數(shù)??C
#define?outnode?2?//輸出結(jié)點(diǎn)數(shù)
#define?trainsample?2000//BP訓(xùn)練樣本數(shù)
#define?testsample?200//BP訓(xùn)練樣本數(shù)
double?w[innode][hidenode];//隱含結(jié)點(diǎn)權(quán)值
double?w1[hidenode][outnode];//輸出結(jié)點(diǎn)權(quán)值
void?save_weight();
void?show_weight();
void?read_weight();
void?clear_weight();
class?BpNet
{
public:
????double?p[trainsample][innode];?????//輸入的樣本
????double?t[trainsample][outnode];????//樣本要輸出的
BpNet();
????virtual?~BpNet();
?
void?init();
????void?train(double?p[trainsample][innode]double?t[trainsample][outnode]);//Bp訓(xùn)練
????double?*recognize(double?*p);//Bp識(shí)別
????double?rate_w;?//權(quán)值學(xué)習(xí)率?(輸入層-隱含層)
????double?rate_w1;//權(quán)值學(xué)習(xí)率?(隱含層-輸出層)
????double?rate_b1;//隱含層閥值學(xué)習(xí)率
????double?rate_b2;//輸出層閥值學(xué)習(xí)率
????double?e;//誤差計(jì)算
????double?error;//允許的最大誤差
????double?result[outnode];//?Bp輸出
};
BpNet::BpNet()
{
????error=1.0;
????e=0.0;
????rate_w=0.15;??//權(quán)值學(xué)習(xí)率?(輸入層--隱含層)
????rate_w1=0.15;?//權(quán)值學(xué)習(xí)率?(隱含層--輸出層)
}
BpNet::~BpNet()
{
}
/***********???權(quán)值初始化???**************/
void?winit(double?m[]int?n)?
{
srand((unsigned)time(NULL));???//防止多次隨機(jī)產(chǎn)生的結(jié)果一致的情況
for(int?j=0;j {
m[j]=rand()%51/100.0-0.25;????//生成[-0.250.25]的隨機(jī)數(shù)
cout< // m[j]=0.1;
}
cout< }
//ofstream?outfile;
ifstream?infile;
ifstream?infile_train;
ifstream?infile_test;
/***********???各權(quán)值和閾值的初始化??************/
void?BpNet::init()
{
srand((int)time(0));???//防止多次隨機(jī)產(chǎn)生的結(jié)果一致的情況
cout<<“輸入節(jié)點(diǎn)權(quán)值w:“;
????winit((double*)w(innode)*(hidenode));??????//權(quán)值初始化,個(gè)數(shù)為??輸入層節(jié)點(diǎn)數(shù)??乘以??隱藏層節(jié)點(diǎn)數(shù)
cout<<“輸出節(jié)點(diǎn)權(quán)值w1:“;
winit((double*)w1(hidenode)*outnode);????//個(gè)數(shù)為??隱藏層節(jié)點(diǎn)數(shù)??乘以??輸出層節(jié)點(diǎn)數(shù)
cout<
save_weight();
}
double?X[trainsample][innode];?????????//訓(xùn)練樣本
double?Y[trainsample][outnode];????????//預(yù)計(jì)結(jié)果
double?Z[trainsample][innode+outnode];????//?訓(xùn)練樣本+?預(yù)計(jì)結(jié)果??
/***************????讀取訓(xùn)練樣本???****************/
void?read_trian()
{
int?a=0;
infile_train.open(“feature_train_cross.txt“);
while?(!infile_train.eof()?&&?a!=trainsample)??
{??
string?line;
getline(infile_trainline);
istringstream?istr(line);?
// cout< for(int?j=0;j {
istr>>Z[a][j];
}
a++;
}?
????//cout<<“ZZZZZZZZZZZZZZZ“< for(int?i=0;i {
for(int?j=0;j {
// cout< }
// cout< }
//cout<<“XXXXXXXXXXXXXXXXXXX“< for(int?i=0;i {
for(int?j=0;j {
X[i][j]=Z[i][j];
// cout< }
// cout< }?
// cout<<“YYYYYYYYYYYYYYYY“< for(int?i=0;i {
for(int?j=0;j {
Y[i][j]=Z[i][innode+j];
// cout< }
// cout< }?
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????11502??2016-05-21?20:55??BP\BP\BP.cpp
?????文件???????4073??2016-05-20?02:30??BP\BP\BP.vcxproj
?????文件???????1077??2016-05-20?02:30??BP\BP\BP.vcxproj.filters
?????文件???????2732??2016-05-21?20:55??BP\BP\BP3weight.txt
?????文件???????1799??2016-05-21?20:32??BP\BP\BP3weight111.txt
?????文件??????11789??2016-05-19?17:03??BP\BP\BP_3.h
?????文件???????6604??2016-05-20?15:13??BP\BP\deal_image.h
?????文件?????????71??2016-05-21?20:55??BP\BP\Debug\BP.lastbuildstate
?????文件???????2395??2016-05-21?20:55??BP\BP\Debug\BP.log
?????文件?????513821??2016-05-21?20:55??BP\BP\Debug\BP.obj
?????文件???????1146??2016-05-21?20:55??BP\BP\Debug\cl.command.1.tlog
?????文件??????10552??2016-05-21?20:55??BP\BP\Debug\CL.read.1.tlog
?????文件????????328??2016-05-21?20:55??BP\BP\Debug\CL.write.1.tlog
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
?????文件??????????2??2016-05-21?20:55??BP\BP\Debug\li
............此處省略10161個(gè)文件信息
評(píng)論
共有 條評(píng)論