天天看点

三角模糊神经网络的预测

`

#模糊理论

在集合论中,一个对象要么属于要么不属于一个集合,仅仅表示的是“非

此即彼”的观念。但是在现实生活中,“亦此亦彼”和不确定的现象比比皆是,比如:温水和热水,物理学中速度的快慢,天气的好与坏,年轻与年老。这些概念处于过渡状态中,相互融合,彼此之间的分界线不清晰,因此很难用精确的尺度来进行划分。这种现象就被称为是模糊现象,对于模糊概念,经典的数学理论是无法解决的。

1965 年,Zadeh以集合论为基础研究了模糊数学处理方法,提出了模糊集、隶属函数、语言变量以及模糊推理等概念,创造了新的模糊数学研究领域,为模糊性的定量描述与处理提供了一种新途径。

1.1 模糊集合

在经典的集合论中,一个对象要么属于一个集合,要么不属于一个集合,

其特征函数值要么是 1,要么是 0。

三角模糊神经网络的预测

Zadeh 将普通集合论中特征函数的取值范围由{0,1}推广到闭区间[0,

1]上,并引入了模糊集和隶属函数的概念,以便于表示模糊概念和模糊概念之间存在的连续过渡特征。

模糊集合把x对集合的隶属度从只有 0 和 1,扩充为[0,1]。 Au

的值越接近于 1,则表明u隶属于 A 的程度越高,反之越接近于 0,则表示u隶属于 A的程度越低。

三角模糊神经网络的预测

2.3.2 模糊系统

模糊逻辑系统是指那些与模糊概念和模糊逻辑有直接关系的系统,模糊

产生器、模糊规则库、模糊推理机和模糊化器构成了模糊逻辑关系。模糊

逻辑系统的一般构成如下图

(1)模糊产生器:将输入值一一映射为模糊子集上的点。

(2)模糊规则库:由若干模糊推理规则组成的集合称为模糊规则库。

(3)模糊推理:模糊推理根据模糊子集和模糊推理规则,运用推理方法

推理出相应的输出。

(4)反模糊化器:由于模糊推理得到的输出值为模糊值,因此反模糊化

即是将系统输出的模糊量转换为系统的数值输出。

三角模糊神经网络的预测

2.3.3 隶属函数

隶属度函数是对模糊概念的定量描述。目前应用最为广泛的隶属度函数

有三角隶属函数和梯形隶属函数。

三角模糊神经网络的预测

2.4 BP 神经网络

神经网络模拟生物神经系统的结构和功能,由许多简单的并行工作处理

单元组成,在不同程度上模拟大脑的信息处理机制,能够进行复杂的逻辑操作和计算能力。目前神经网络已经大量应用于医疗领域、信息领域、工程领域、经济领域的预测等领域。 神经网络具备高度的并行结构和运算能力,因而具有较好的纠错能力和快速的处理效率。此外,神经网络具备自学能力。当外界环境发生变化时,一个训练好的神经网络能够自动调整参数,解决了数学模型或规则难以处理的问题。

2.4.1 BP 神经网络的结构

神经网络主要由以下三个神经元组成:输入层、隐含层以及输出层。同

层次内的神经元之间没有任何的连接,仅与相邻的层次的神经元之间有连接但无反馈。神经网络的学习包括两部分:首先是信号的正向传输,当样本数据从输入层输入网络,通过隐含层的处理后到达输出层,输出层的输出结果将与期望输出进行比较。如果两者的误差过大,则进入误差信号的反向传递,则是神经网络的第二个步骤。误差通过隐含层向输入层传播,通过原来的路径返回,分摊给每层的神经元,修正各输出值的权值。就这样不断的通过信号的正向传播和误差的反向传递,直到网络输出的误差达到期望值。

2.4.2 BP 神经网络的学习算法

整个祌经网络的学习算法分为以下 7 个步驟:

(1)神经网络的参数设置,设定学习效率、训练函数、传输函数、期望误差

和隐含层节点数等;

(2)从训练样本中随机输入一组样本值以及对应的期望输出值;

(3)通过神经网络正向信息传递,计算各神经元的输出;

(4)计算神经网络的实际输出与期望输出值之间的误差;

(5)判断误差是否达到期望误差,若达到即结束神经网络的学习;

(6)如果误差没有达到期望误差,则继续神经网络的学习,利用反向传播,

逐层修正网络的连接权值;

(7)返回第 3 步,直至训练集的样本误差达到期望值。

4.1 模糊神经网络的优点

模糊系统和神经网络在处理对象、数据的确定性等方面都存在着差异,

他们之间性能的比较如表 4-1 所示

神经网络具有自学习的能力、并行处理能力强,但不能处理模糊的知识,因此不能很好利用专家的经验。而模糊系统善于处理不确定的信息,但在数据处理时推理速度慢、精度较低,很难实现自适应学习。 如果能够将两者有机的结合在一起,便能大大发挥各自的优势并弥补不足。将模糊化的数据输入到神经网络中,通过神经网络的学习能力提取模糊规则,使得模糊系统具备了泛化能力。使得模型不仅能够处理精确化的信息,同时也能处理模糊信息,丰富了神经网络与模糊系统的运用。

三角模糊神经网络的预测

#实际案例

三角模糊

三角模糊神经网络的预测

``

Matlab代码

x=0:0.1:10

y=trimf(x,[0,4,7])

y1=trimf(x,[7,10,10])

plot(x,y,x,y1)

y2=trimf(x,[0,0,4])

y3=trimf(x,[4,7,10])

hold on

plot(x,y2,x,y3)

核心就是把前面的输入数据通过三角模糊输入神经网络,最后又把输出反模糊
神经网络输出
----------

![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTcwMTAyMjMxMTU1Njkx?x-oss-process=image/format,png)


----------
不懂的可以私信我




> 引用块内容

           

继续阅读