.net网站开发教程,wordpress flat,普通电脑如何做网站服务器吗,企查查官网登录目录 #x1f4a5;1 概述
#x1f4da;2 运行结果
#x1f389;3 参考文献
#x1f468;#x1f4bb;4 Matlab代码 #x1f4a5;1 概述
1、径向基神经网络
径向基函数网络是由三层构成的前向网络#xff1a;第一层为输入层#xff0c;节点个数的能与输入的维数1 概述
2 运行结果
3 参考文献
4 Matlab代码 1 概述
1、径向基神经网络
径向基函数网络是由三层构成的前向网络第一层为输入层节点个数的能与输入的维数第二层为隐含层节点个数视问题的复杂度而定第三层为输出层节点个数等于输出数据的维数。由径向基函数的定义可知函数值仅与自变量的范数有关。
2、多层感知器
多层感知器MLPMultilayer Perceptron是一种前馈人工神经网络模型其将输入的多个数据集映射到单一的输出的数据集上。
3、两者的异同
对于任意一个多层感知器都存在一个可以替代它的径向基神经网络反之任意一个径向基神经网络也存在一个多层感知器可以替代它。两者功能相近但又有明显区别
径向基神经网络是三层网络输入层、隐含层、输出层只有一个隐含层而多层感知器则可以有多个隐含层。
径向基神经网络的隐含层和输出层完全不同隐含层采用非线性函数径向基函数作为基函数而输出层采用线性函数两者作用不同。在多层感知器中隐含层和输出层没有本质区别一般都采用非线性函数。由于径向基函数网络输出的是线性加权和因此学习速度更快。
径向基神经网络的基函数计算的是输入向量与基函数中心之间的欧氏距离两者取差值再取欧几里得范数而多层感知器的隐单元的激励函数则计算输入向量与权值的内积。
多层感知器对非线性映射全局逼近而径向基函数使用局部指数衰减的非线性函数进行局部逼近因此要达到相同的精度径向基函数需要的参数比多层感知器少得多。
BP网络使用sigmoid函数作为激励函数有很大的输入可见域。径向基函数网络引入RBF函数当输入值偏离基函数中心时输出逐渐减小并很快趋于零。这一点比多层感知器更符合神经元响应基于感受域这一特点比BP网络具有更深厚的理论基础。同时由于输入可见区域很小径向基函数网络需要更多的径向基神经元。
2 运行结果 主函数部分代码
% Program for MLP..........................................
% Update weights for a given epoch clear all;
close all;
clc; weights zeros(1,30,4);
weights_in zeros(30,10,4);
errors zeros(4,1);
for set1:4 switch set
% Set 1
case 1 inp_rows [251:1000]; out_rows [1:250]; % Set 2
case 2 inp_rows [1:250 501:1000]; out_rows [251:500]; % Set 3
case 3 inp_rows [1:500 751:1000]; out_rows [501:750]; % Set 4
case 4 inp_rows [1:750]; out_rows [751:1000];
end % Load the training data..................................................
filexlsread(fin_19.xlsx);
for i1:11 minval min(file(:,i)) ; maxval max(file(:,i)); minmat ones(size(file,1),1).*minval; maxmat ones(size(file,1),1).*maxval; tp ones(size(file,1),1); file(:,i) ((file(:,i) - minmat) ./ (maxmat -minmat)).* 2 - tp ;
end
Ntrain file(inp_rows,:);
[NTD,~] size(Ntrain);
% Initialize the Algorithm Parameters.....................................
inp 10; % No. of input neurons
hid 30; % No. of hidden neurons
out 1; % No. of Output Neurons
lam 0.0001; % Learning rate
epo 2000; % Initialize the weights..................................................
Wi 0.001*(rand(hid,inp)*2.0-1.0); % Input weights
Wo 0.001*(rand(out,hid)*2.0-1.0); % Output weights % Train the network.......................................................
for ep 1 : epo sumerr 0; DWi zeros(hid,inp); DWo zeros(out,hid); for sa 1 : NTD xx Ntrain(sa,1:inp); % Current Sample tt Ntrain(sa,inp1:end); % Current Target Yh 1./(1exp(-Wi*xx)); % Hidden output Yo Wo*Yh; % Predicted output er tt - Yo; % Error DWo DWo lam * (er * Yh); % update rule for output weight DWi DWi lam * ((Wo*er).*Yh.*(1-Yh))*xx; %update for input weight sumerr sumerr sum(er.^2); end Wi Wi DWi; Wo Wo DWo;
% disp(sqrt(sumerr/(NTD)))
% save -ascii Wi.dat Wi;
% save -ascii Wo.d at Wo;
end 3 参考文献
[1]张驰,郭媛,黎明.人工神经网络模型发展及应用综述[J].计算机工程与应用,2021,57(11):57-69.
4 Matlab代码