• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-21
  • 语言: Matlab
  • 标签: 神经网络  

资源简介

神经网络matlab程序神经网络matlab程序神经网络matlab程序

资源截图

代码片段和文件信息

clear all
clc
close all;                  %关闭当前所有figure图像
TrainNum=20;
inputNum=1;
hideNum=10;
outputNum=1;

rng(‘default‘)   %依据系统时钟种子产生随机数
rng(0)
x_train=8*rand(1TrainNum)-4
y_vec=1.1*(1-x_train+2*x_train.^2).*exp(-x_train.^2/2);


NoiseVar=0.01;                    %噪声强度为0.1(添加噪声的目的是为了防止网络过度拟合)
Noise=NoiseVar*randn(1TrainNum);   %生成噪声
y_train=y_vec + Noise;                   %将噪声添加到输出样本上

[x_trainxtrain]=mapminmax(x_train);
[y_trainytrain]=mapminmax(y_train);

precision=0.5; %预设精度
lr=0.01;
SSE=1;
mc=0.1;

W1=0.2*rand(hideNuminputNum)-0.1;   %初始化输入层与隐含层之间的权值
B1=0.2*rand(hideNum1)-0.1;       %初始化输入层与隐含层之间的阈值
W2=0.2*rand(outputNumhideNum)-0.1; %初始化输出层与隐含层之间的权值              
B2=0.2*rand(outputNum1)-0.1;                %初始化输出层与隐含层之间的阈值

W1_1=W1;W1_2=W1_1;
W2_1=W2;W2_2=W2_1;
B1_1=B1;B1_2=B1_1;
B2_1=B2;B2_2=B2_1;

ErrHistory=[];                              %给中间变量预先占据内存
count=1;
counthistory=[1];
% tic
while(SSE>precision)
    HiddenIn=x_train;
    HiddenNet=W1*HiddenIn+repmat(B11TrainNum); % 隐含层网络输出10*100
    HiddenOut=sin(HiddenNet);  %sin(HiddenNet)1./(1+exp(-HiddenNet)),
    finalNet=W2*HiddenOut+repmat(B21TrainNum);    % 输出层网络输出1*100
    finalOut=finalNet;    %sin(finalNet)1./(1+e

评论

共有 条评论