- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能控制理论及应用作业
1资料查询
BP 神经网络的主要应用:
人脸识别、风电功率预测、短时交通流混沌预测、高炉熔渣粘度预测、汇率预测、价格预测、函数逼近等
Rbf神经网络的主要应用:
函数逼近、短时交通流预测、模式识别、降水预测、民航客运量预测、遥感影像分析、声纹识别、语言识别、人脸识别、车牌识别、汇率预测
Hopfield网络应用:
车牌识别、图像识别、遥感影像分类、字母识别、交通标志识别、 优化计算中的应用、联想记忆存储器的实现、
2 BP编程算法:
2.1 利用样本训练一个BP网络
注:此程序自李国勇书中学习而来
程序部分:
function [ output_args ] = bp( input_args )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
%此设计为两层BP神经网络,3输入,3隐含层节点,两个输出
%初始化部分:
lr=0.05; %%需要给定学习速率
error_goal=0.001; %期望的误差
max_epoch=100000; %训练的最大步长
a=0.9; %惯性系数
Oi=0;
Ok=0;
%给两组输入,以及目标输出:
X=[1 1 1;-1 -1 1;1 -1 1;]; %随便给一组输入输入,训练BP网络
T=[1 1 1 ;1 1 1];
%X=-1:0.1:1; %输入范围
%T=sin(pi*X);
%X=[]
q=3; %隐含层的节点数自己定义,在此给3个
%初始化
[M,N]=size(X); %输入节点个数为M,N为样本数
[L,N]=size(T); %输出节点个数为L
wij=rand(q,M); %先给定加权系数一组随机值
wki=rand(L,q);
wij0=zeros(size(wij)); %加权系数矩阵的初始值
wki0=zeros(size(wki));
for epoch=1:max_epoch %计算开始
NETi=wij*X; %各个隐含层的净输入
for j=1:N
for i=1:q
Oi(i,j)=2/(1+exp(-NETi(i,j)))-1; %再输入作用下,隐含层的输出
end
end
NETk=wki*Oi; %各个输出层的净输入
for i=1:N
for k=1:L
Ok(k,i)=2/(1+exp(-NETk(k,i)))-1; %在输入作用下,输出层的输出
end
end
E=((T-Ok)*(T-Ok))/2; %性能指标函数,就是误差
if(Eerror_goal) break; %判断是否满足误差,满足的话就直接跳出计算
%不满足的话,就要修正加权系数
else
deltak=Ok.*(1-Ok).*(T-Ok); %计算△k
w=wki;
wki=wki+lr*deltak*Oi+a*(wki-wki0);
wki0=w;
deltai=Oi.*(1-Oi).*(deltak*wki); %计算△i
w=wij;
wij=wij+lr*deltai*X+a*(wij-wij0);
wij0=w;
end
epoch %当前是第多少步
X1=X; %保护当前的输入
NETi=wij*X1; %再一次计算隐含层的输入输出
for j=1:N
for i=1:q
Oi(i,j)=2/(1+exp(-NETi(i,j)))-
文档评论(0)