模糊神经网络有如下三种形式:
1.逻辑模糊神经网络
2.算术模糊神经网络
3.混合模糊神经网络
模糊神经网络就是具有模糊权系数或者输入信号是模糊量的神经网络。上面三种形式的模糊神经网络中所执行的运算方法不同。
模糊神经网络无论作为逼近器,还是模式存储器,都是需要学习和优化权系数的。学习算法是模糊神经网络优化权系数的关键。对于逻辑模糊神经网络,可采用基于误差的学习算法,也即是监视学习算法。对于算术模糊神经网络,则有模糊BP算法,遗传算法等。对于混合模糊神经网络,目前尚未有合理的算法;不过,混合模糊神经网络一般是用于计算而不是用于学习的,它不必一定学习。
谷歌人工智能写作项目:小发猫
其实百科介绍的很详细,如“人工神经网络是模拟人脑结构的思维功能,具有较强的自学习和联想功能,人工干预少,精度较高,对专家知识的利用也较少模糊神经网络和调度算法。但缺点是它不能处理和描述模糊信息,不能很好利用已有的经验知识,特别是学习及问题的求解具有黑箱特性,其工作不具有可解释性,同时它对样本的要求较高;模糊系统相对于神经网络而言,具有推理过程容易理解、专家知识利用较好、对样本的要求较低等优点,但它同时又存在人工干预多、推理速度慢、精度较低等缺点,很难实现自适应学习的功能,而且如何自动生成和调整隶属度函数和模糊规则,也是一个棘手的问题。”
即保证人工神经网络自身的学习能力下,采用模糊理论解决模糊信号,使神经网络权系数为模糊权,或者输入为模糊量。
比如原本神经网络处理的是连续数据(double)不适合求解模糊数据,此时就需要引入模糊理论,来构造适合于求解这类模糊数据的神经网络。
模糊神经网络就是模糊理论同神经网络相结合的产物,它汇集了神经网络与模糊理论的优点,集学习、联想、识别、信息处理于一体。
神经网络算法的三大类分别是:
1、前馈神经网络:
这是实际应用中最常见的神经网络类型。第一层是输入,最后一层是输出。如果有多个隐藏层,我们称之为“深度”神经网络。他们计算出一系列改变样本相似性的变换。各层神经元的活动是前一层活动的非线性函数。
2、循环网络:
循环网络在他们的连接图中定向了循环,这意味着你可以按照箭头回到你开始的地方。他们可以有复杂的动态,使其很难训练。他们更具有生物真实性。
循环网络的目的是用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。
循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。
3、对称连接网络:
对称连接网络有点像循环网络,但是单元之间的连接是对称的(它们在两个方向上权重相同)。比起循环网络,对称连接网络更容易分析。
这个网络中有更多的限制,因为它们遵守能量函数定律。没有隐藏单元的对称连接网络被称为“Hopfield 网络”。有隐藏单元的对称连接的网络被称为玻尔兹曼机。
扩展资料:
应用及发展:
心理学家和认知科学家研究神经网络的目的在于探索人脑加工、储存和搜索信息的机制,弄清人脑功能的机理,建立人类认知过程的微结构理论。
生物学、医学、脑科学专家试图通过神经网络的研究推动脑科学向定量、精确和理论化体系发展,同时也寄希望于临床医学的新突破;信息处理和计算机科学家研究这一问题的目的在于寻求新的途径以解决不能解决或解决起来有极大困难的大量问题,构造更加逼近人脑功能的新一代计算机。
【神经网络】
人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
最常用的就是BP神经网络了,你做数据挖掘SVM也很常用。
【模糊】
模糊逻辑指模仿人脑的不确定性概念判断、推理思维方式,对于模型未知或不能确定的描述系统,以及强非线性、大滞后的控制对象,应用模糊集合和模糊规则进行推理,表达过渡性界限或定性知识经验,模拟人脑方式,实行模糊综合判断,推理解决常规方法难于对付的规则型模糊信息问题。模糊逻辑善于表达界限不清晰的定性知识与经验,它借助于隶属度函数概念,区分模糊集合,处理模糊关系,模拟人脑实施规则型推理,解决因“排中律”的逻辑破缺产生的种种不确定问题 。
粗糙集(Roughset,也称粗集)理论是波兰学者2.Pawlak于1982年提出的,它为处理不确切的!不完整的信息提供了一种新的数学工具。粗糙集理论建立在分类机制的基础之上,将分类理解为特定空间上的等价关系,而等价关系构成了对该空间的划分。该理论将知识理解为对数据的划分,每一划分的集合称为概念。粗糙集理论的主要思想是在保持信息系统分类能力不变的前提下,利用己知的知识库,将不精确或不确定的知识用知识库中己有的知识来近似刻画,通过知识的补充!约简,导出问题的决策或分类规则。
粗糙集理论与其它处理不确定和不精确问题理论最显著的区别是粗糙集理论无须提供问题所需处理的数据集合之外的任何先验信息,对问题的不确定性的描述或处理比较客观,又由于这个理论未包含处理不精确或不确定原始数据的机制,所以该理论与概率论!模糊数学!证据理论等其它处理不精确或不确定问题的理论有很强的互补性。粗糙集理论不仅为信息科学和认知科学提供了新的研究方法,而且为智能信息处理提供了有效的处理技术。目前粗糙集理论己经是人工智能领域方面的一个研究热点,成为数据挖掘应用的主要技术之一,受到各国学者的高度重视。
Introduction
--------------------------------------------------------------------------------
神经网络是新技术领域中的一个时尚词汇。很多人听过这个词,但很少人真正明白它是什么。本文的目的是介绍所有关于神经网络的基本包括它的功能、一般结构、相关术语、类型及其应用。
“神经网络”这个词实际是来自于生物学,而我们所指的神经网络正确的名称应该是“人工神经网络(ANNs)”。在本文,我会同时使用这两个互换的术语。
一个真正的神经网络是由数个至数十亿个被称为神经元的细胞(组成我们大脑的微小细胞)所组成,它们以不同方式连接而型成网络。人工神经网络就是尝试模拟这种生物学上的体系结构及其操作。在这里有一个难题:我们对生物学上的神经网络知道的不多!因此,不同类型之间的神经网络体系结构有很大的不同,我们所知道的只是神经元基本的结构。
The neuron
--------------------------------------------------------------------------------
虽然已经确认在我们的大脑中有大约50至500种不同的神经元,但它们大部份都是基于基本神经元的特别细胞。基本神经元包含有synapses、soma、axon及dendrites。Synapses负责神经元之间的连接,它们不是直接物理上连接的,而是它们之间有一个很小的空隙允许电子讯号从一个神经元跳到另一个神经元。然后这些电子讯号会交给soma处理及以其内部电子讯号将处理结果传递给axon。而axon会将这些讯号分发给dendrites。最后,dendrites带着这些讯号再交给其它的synapses,再继续下一个循环。
如同生物学上的基本神经元,人工的神经网络也有基本的神经元。每个神经元有特定数量的输入,也会为每个神经元设定权重(weight)。权重是对所输入的资料的重要性的一个指标。然后,神经元会计算出权重合计值(net value),而权重合计值就是将所有输入乘以它们的权重的合计。每个神经元都有它们各自的临界值(threshold),而当权重合计值大于临界值时,神经元会输出1。相反,则输出0。最后,输出会被传送给与该神经元连接的其它神经元继续剩余的计算。
Learning
--------------------------------------------------------------------------------
正如上述所写,问题的核心是权重及临界值是该如何设定的呢?世界上有很多不同的训练方式,就如网络类型一样多。但有些比较出名的包括back-propagation, delta rule及Kohonen训练模式。
由于结构体系的不同,训练的规则也不相同,但大部份的规则可以被分为二大类别 - 监管的及非监管的。监管方式的训练规则需要“教师”告诉他们特定的输入应该作出怎样的输出。然后训练规则会调整所有需要的权重值(这是网络中是非常复杂的),而整个过程会重头开始直至数据可以被网络正确的分析出来。监管方式的训练模式包括有back-propagation及delta rule。非监管方式的规则无需教师,因为他们所产生的输出会被进一步评估。
Architecture
--------------------------------------------------------------------------------
在神经网络中,遵守明确的规则一词是最“模糊不清”的。因为有太多不同种类的网络,由简单的布尔网络(Perceptrons),至复杂的自我调整网络(Kohonen),至热动态性网络模型(Boltzmann machines)!而这些,都遵守一个网络体系结构的标准。
一个网络包括有多个神经元“层”,输入层、隐蔽层及输出层。输入层负责接收输入及分发到隐蔽层(因为用户看不见这些层,所以见做隐蔽层)。这些隐蔽层负责所需的计算及输出结果给输出层,而用户则可以看到最终结果。现在,为免混淆,不会在这里更深入的探讨体系结构这一话题。对于不同神经网络的更多详细资料可以看Generation5 essays
尽管我们讨论过神经元、训练及体系结构,但我们还不清楚神经网络实际做些什么。
The Function of ANNs
--------------------------------------------------------------------------------
神经网络被设计为与图案一起工作 - 它们可以被分为分类式或联想式。分类式网络可以接受一组数,然后将其分类。例如ONR程序接受一个数字的影象而输出这个数字。或者PPDA32程序接受一个坐标而将它分类成A类或B类(类别是由所提供的训练决定的)。更多实际用途可以看Applications in the Military中的军事雷达,该雷达可以分别出车辆或树。
联想模式接受一组数而输出另一组。例如HIR程序接受一个‘脏’图像而输出一个它所学过而最接近的一个图像。联想模式更可应用于复杂的应用程序,如签名、面部、指纹识别等。
The Ups and Downs of Neural Networks
--------------------------------------------------------------------------------
神经网络在这个领域中有很多优点,使得它越来越流行。它在类型分类/识别方面非常出色。神经网络可以处理例外及不正常的输入数据,这对于很多系统都很重要(例如雷达及声波定位系统)。很多神经网络都是模仿生物神经网络的,即是他们仿照大脑的运作方式工作。神经网络也得助于神经系统科学的发展,使它可以像人类一样准确地辨别物件而有电脑的速度!前途是光明的,但现在...
是的,神经网络也有些不好的地方。这通常都是因为缺乏足够强大的硬件。神经网络的力量源自于以并行方式处理资讯,即是同时处理多项数据。因此,要一个串行的机器模拟并行处理是非常耗时的。
神经网络的另一个问题是对某一个问题构建网络所定义的条件不足 - 有太多因素需要考虑:训练的算法、体系结构、每层的神经元个数、有多少层、数据的表现等,还有其它更多因素。因此,随着时间越来越重要,大部份公司不可能负担重复的开发神经网络去有效地解决问题。
NN 神经网络,Neural Network
ANNs 人工神经网络,Artificial Neural Networks
neurons 神经元
synapses 神经键
self-organizing networks 自我调整网络
networks modelling thermodynamic properties 热动态性网络模型
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
网格算法我没听说过
好像只有网格计算这个词
网格计算是伴随着互联网技术而迅速发展起来的,专门针对复杂科学计算的新型计算模式。这种计算模式是利用互联网把分散在不同地理位置的电脑组织成一个“虚拟的超级计算机”,其中每一台参与计算的计算机就是一个“节点”,而整个计算是由成千上万个“节点”组成的“一张网格”, 所以这种计算方式叫网格计算。这样组织起来的“虚拟的超级计算机”有两个优势,一个是数据处理能力超强;另一个是能充分利用网上的闲置处理能力。简单地讲,网格是把整个网络整合成一台巨大的超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享。
(2)由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用。(3)基于模型的控制算法及系统设计方法,由于出发点和性能指标的不同,容易导致较大差异;但一个系统语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器 。(4)模糊控制是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控制的过程和方法,增强控制系统的适应能力,使之具有一定的智能水平。(5)模糊控制系统的鲁棒性强,干扰和参数变化对控制效果的影响被大大减弱,尤其适合于非线性、时变及纯滞后系统的控制。|||什么是模糊控制?与传统控制理论相比有什么优点?模糊控制是近代控制理论中建立在模糊集合轮上基础上的一种基于语言规则与模糊推理的控制理论,它是智能控制的一个重要分支。与传统控制理论相比,模糊控制有两大不可比拟的优点:第一,模糊控制在许多应用中可以有效且便捷的实现人的控制策略和经验,这一优点自从模糊控制诞生以来就一直受到人们密切的关注;第二,模糊控制不需要被控对象的数学模型即可实现较好的控制,这是因为被控对象的动态特性已隐含在模糊控制器输入、输出模糊集及模糊规则中。所以模糊控制被越来越多的应用于各个领域,尤其是被广泛应用于家电系列中,基于模糊控制的洗衣机就是其中的一个典型实例。|||模糊控制实质上是一种非线性控制,从属于智能控制的范畴。模糊控制的一大特点是既具有系统化的理论,又有着大量实际应用背景。|||优点:对于难于建立模型的控制对象不失为一种良好的控制方法。
您好,是这样的:
经过训练后的参数比较差,用原数据输入训练好的网络,得出结果和要的结果误差很大,不明白是怎么回事?
还有要是多输入多输出这段程序该怎么改?模糊神经网络可以用matlab工具箱实现吗?
还有输入数据差别比较大(就是大小差异大)是不是要进行归一化再学习训练呢?
求解,求解答!
对于你的帮助不胜感激!
clear all
clc
close all
tic,
%[x,y]=data;
x=[1 2 3 4 5 6 7 8;
-1 -2 -3 -4 -5 -6 -7 -8];
y=[2 3 4 5 6 7 8 9]; %%%%%--数据显示,输入为-两输入,输出为-单输出。--------样本为p2组
[p1,p2]=size(x);
% 隶属度函数个数
k=7;
% 初始化四个隶属度函数的参数A,B及输出层初始权值W
for i=1:p1;
for j=1:k;
m(i,j)=1+0.6*rand(1);
b(i,j)=1+0.6*rand(1);
end
end
for j=1:k*k;
w(j)=1+rand(1);
end
%%%---推理计算输出值
for q=1:p2;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-----用同一隶属度参数对 输入样本 X 累计计算
% 选用高斯函数作为隶属度,求隶属度,共 size(x,2)+k 个。x(1) K个,x(2) K个
for i=1:p1;
for j=1:k;
u(i,j)=gaussmf(x(i,q),[m(i,j),b(i,j)]);
end
end
% 模糊推理计算:a21,a22.几个隶属度函数,得出几个值,此处已知输入为2
%%%%----由以前的取小做法改为相乘—prod(x,1) or prod(x,2)———
v=[];
for i=1:k
for j=1:k
v=[v,u(1,i)*u(2,j)];
end
end
% 归一化计算模糊推理的值;相当于已经除去了经典去模糊输出的分母值
for i=1:length(v);
v1(i)=v(i)/sum(v);
end
% 系统输出
% out1(q)=w*v';
% e(q)=(y(q)-out1(q));
% end
% out=out1
out1(q)=w*v1';
e(q)=y(q)-out1(q);
end
out=out1;
%- 三。参数修正过程。 增加方式,非批处理方式迭代
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%-----------------------------误差反向传播过程--------------------------------------------
% 取误差函数:E=(1/2)*sumsqr(t-y)
E=(1/2)*sumsqr(y-out);
EE=E;
% e=sum(y-out)
lr=0.3; % c2=zeros(2,2);
%%%%----------------------------------------误差反传后的参数修正过程-------------------
r=1; %
p=1;
s=1000; %
% e(r)=y(r)-out(r);
while p<=s & EE>0.05
%%%%%%%%%%%%%_____隶属度参数 M. B 输出层权值参数 W 的修正过程_____%%%%%%%%%%%%
%%1.--W
wc=zeros(1,k*k);
for i=1:k*k;
wc(i)=-lr*e(r)*v1(i);
end
%%2.--M
mc=zeros(p1,k);
for i=1:p1;
for j=1:k;
mc(i,j)=2*lr*e(r) * w(j) * (v(j)/u(i,j)) * exp(-((x(i,r)-m(i,j)).^2)/(b(i,j).^2))* (x(i,r)-m(i,j))/(b(i,j).^2);
end
end
%%3.--B
bc=zeros(p1,k);
for i=1:p1;
for j=1:k;
bc(i,j)=2*lr*e(r)* w(j) * (v(j)/u(i,j)) * exp(-((x(i,r)-m(i,j)).^2)/(b(i,j).^2)) * ((x(i,r)-m(i,j)).^2)/(b(i,j).^3);
end
end
% 4.参数修正 m b w
m=m-mc;
b=b-bc;
w=w-wc;
%%%%%%%%%%%_______利用修正后的参数重新计算_____________%%%%%%%%%%%%%%%%%%%%%
% 5.利用修正过的参数重新计算输出
for q=1:p2;
for i=1:p1;
for j=1:k;
u(i,j)=gaussmf(x(i,q),[m(i,j),b(i,j)]);
end
end
v=[];
for i=1:7
for j=1:7
v=[v,u(1,i)*u(2,j)];
end
end
% 归一化计算模糊推理的值;相当于已经除去了经典去模糊输出的分母值
for i=1:length(v)
v1(i)=v(i)/sum(v);
end
out1(q)=w*v1';
end
out=out1;
p=p+1;
EE=(1/2)*sumsqr(y-out);
E(p)=EE;
r=r+1;
if r>p2
r=1;
end
e(r)=(y(r)-out(r));
end
%%%%%%%%%%%%%%%%%%%________________当误差或迭代步数满足要求后得到结果_________________%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
m,b,w,E_out=EE,e
epoch=1:size(E,2);
figure
plot(epoch,E,'-r');
% plot(epoch,out(1),'b');
% axis([0 1.5*s min(E) max(E)]);
% set(gca,'fontsize',8);
% set(gca,'xtick',0:s/10:1.5*s);
%set(gca,'ytick',1e-30:1e5:1e5);
%set(gcf,'color','b')
title('误差变化曲线');xlabel('步数');ylabel('误差');
toc
%% %% 泛化过程