当前位置:首页 > AI实验讲义
for(j=1;j<=iHidden;j++){ dblData=mWeighti.r(i,j); ar< for(i=1;i<=iHidden;i++) for(j=1;j<=iOutput;j++){ dblData=mWeighto.r(i,j); ar< //记录权值变化 for(j=1;j<=iHidden;j++) for(i=1;i<=iOutput;i++) ar< //输入-隐层权重变化 for(i=1;i<=iInput;i++) for(j=1;j<=iHidden;j++) ar< //纪录阙值 for(i=1;i<=iHidden;i++){ dblData=mThresholdi.r(i); ar< for(i=1;i<=iOutput;i++){ dblData=mThresholdo.r(i); ar< //纪录输入输出的极值 for(i=1;i<=iInput;i++){ dblData=mInputNormFactor.r(i,1); ar< 41 //学习速率 ar< else{ int i,j; CString strTemp=\ double dblTemp; ar>>strTemp;//读入标志 //读入神经元个数 ar>>iInput>>iHidden>>iOutput; mChangei=zeros(iInput,iHidden); mChangeo=zeros(iHidden,iOutput); mWeighti=zeros(iInput,iHidden); mWeighto=zeros(iHidden,iOutput); //读入权值 for(i=1;i<=iInput;i++) for(j=1;j<=iHidden;j++) { ar>>dblTemp; mWeighti.r(i,j)=dblTemp; } for(i=1;i<=iHidden;i++) for(j=1;j<=iOutput;j++) { ar>>dblTemp; mWeighto.r(i,j)=dblTemp; } //读入权值变化 for(j=1;j<=iHidden;j++) for(i=1;i<=iOutput;i++) ar>>mChangeo.r(j,i); //输入-隐层权重 for(i=1;i<=iInput;i++) for(j=1;j<=iHidden;j++) ar>>mChangei.r(i,j); //读入阙值 mThresholdi=zeros(1,iHidden); for(i=1;i<=iHidden;i++) {ar>>dblTemp; mThresholdi.r(i)=dblTemp; 42 } mThresholdo=zeros(1,iOutput); for(i=1;i<=iOutput;i++) {ar>>dblTemp; mThresholdo.r(i)=dblTemp; } //读入输入输出的极值 mInputNormFactor=zeros(iInput,2); for(i=1;i<=iInput;i++){ ar>>dblTemp; mInputNormFactor.r(i,1)=dblTemp; //极小值 ar>>dblTemp; mInputNormFactor.r(i,2)=dblTemp; //极大值 } mTargetNormFactor=zeros(iOutput,2); for(i=1;i<=iOutput;i++) {ar>>dblTemp; mTargetNormFactor.r(i,1)=dblTemp; //输出数据极小值 ar>>dblTemp; mTargetNormFactor.r(i,2)=dblTemp; } //读入误差范围 ar>>dblMse; //读入学习速率 ar>>dblLearnRate1>>dblLearnRate2; //创建计算用的单个样本矩阵 mInput=zeros(1,iInput); mHidden=zeros(1,iHidden); mOutput=zeros(1,iOutput); //误差矩阵 mOutputDeltas=zeros(iOutput); mHiddenDeltas=zeros(iHidden); } } //如果不是新网络,比如从文件恢复的网络,调用此函数构建学习样本 void CBpNet::LoadPattern(Mm mIn, Mm mOut) { if(mIn.cols()!=iInput||mOut.cols()!=iOutput){ ::MessageBox( NULL,\学习样本格式错误!\错误\ return; 43 } mSampleInput=zeros(mIn.rows(),mIn.cols()); mSampleTarget=zeros(mOut.rows(),mOut.cols()); mSampleInput=mIn; mSampleTarget=mOut; m_isOK=false; m_IsStop=false; lEpochs=0; dblMomentumFactor=0.95; dblError=1.0; } <4>BP算法参考程序(VB语言版):参见附件源程序。 实验5:模糊推理 实验6:模糊神经网络 44
共分享92篇相关文档