利用模糊神经网络控制解决问题的原理及方法
通过课程学习,我了解了模糊控制和神经网络控制解决问题的基本原理和方法。通过查阅资料,了解到模糊控制和神经网络控制在实际生活中如何解决问题。我参考火灾探测系统为例,介绍模糊控制解决问题的原理及方法。
首先,简要介绍一下Bp神经网络控制和模糊控制的原理。
1.Bp神经网络的结构及算法
BP网络可以有多层,但为叙述简捷以三层为例导出计算公式。设BP网络为三层网络,输入神经元以i编号,隐蔽层神经元以j编号,输出层神经元以k编号,示意图如图1-1所示,其具体形式在下面给出,隐蔽层第j个神经元的输入为:netjwjioi,第j个神经元的输出为ojg(netj),输出层第k个神经
i
元的输入为netkwkjoj,相应的输出为okg(netk),式中g为sigmoid型函
1,式中ʘ为阈值或偏置值。ʘ˃0则使sigmoid曲线沿横坐1e(x)
1标左移,反之则右移。因此,各神经元的输出应为oj、(1exp((wjioij)))数,g(x)=g(x)
i
ok1
(1exp((wkjojk)))
j
图1-1 神经网络结构图
BP网络学习过程中的误差反向传播过程是通过使一个目标函数(实际输出与希望输出之间的误差平方和)最小化来完成的,可以利用梯度下降法导出计算公式。
在学习过程中,设第k个输出神经元的希望输出为tpk,而网络输出为opk,则系统平均误差为E1(tpkopk)2,为了表示方便,省去下标p,平均误差2ppk
可写成E1(tkok)2,式中平均误差E也称为目标函数。根据梯度下降法,2k
权值的变化项∆wkj与ƏE/Əwkj成正比,即∆wkj=-ƞ ƏE/Əwkj,由上述各公式可得:
∆wkj=-ƞ ƏE/Əwkj=(Eoknetk)(tkok)ok(1ok)oj,记oknetkwkj
k(tkok)ok(1ok)oj,对于隐含层神经元,也可写成∆wji=-ƞ
EEojnetjEoj(1oj),由于)oj(1oj)oi,jƏE/Əwji=(ojojnetjwjioj
ƏE/Əoj不能直接计算,而是以参数的形式表示,即
-ƏE/Əoj=-
kEnetkE()(netkojnetkk(wkjoj)joj)(kE)wkjkwkj,netkk
则导出各个权重系数的调整量为∆wkj(tkok)ok(1ok)oj,∆wji=joi,式中ƞ称为学习效率,jkwkj[oj(1oj)],k(tkok)ok(1ok)
k
BP网络的学习算法的具体步骤如下:
1. 从训练本集中取某一样本,把它的输入信息输入到网络中
2. 由网络正向计算出各层节点的输出
3. 计算网络的实际输出与期望输出的误差
4. 从输入层起始反向计算到第一个隐层,按一定原则向减小误差方向调整网络的各个联接权值
5. 对训练样本集中的每一个样本重复以上步骤,直到对整个训练样本集的误差达到要求为止。
2. 模糊控制的结构与算法
课程所学我们知道模糊控制器的设计原则如下
定义输入输出变量
定义所有变量的模糊化条件
设计控制规则库
设计模糊推理结构
选择精确化策略的方法
模糊控制解决问题的方法为:
模糊化过程 1. 2. 3. 4. 5. 1.
2. 模糊规则
3. 模糊推理
4. 清晰化过程
模糊控制系统的原理框图如图2-1所示。
图2-1 模糊控制原理框图
可以看出其结构与一般计算机数字控制系统基本类似。只是其控制器为模糊控制器。模糊控制系统由以下几部分组成:输入输出接口、执行机构、检测装置、被控对象及模糊控制器。模糊控制器是模糊控制系统的核心,也是模糊控制系统区别于其他自动控制系统的主要标志,下面对模糊控制器三个主要阶段做简要的介绍:
2.1 输入模糊化
模糊化是把系统输入的精确量转化为模糊控制器中所需的模糊量的过程,为了完成输入的模糊化,我们必须知道输入精确值对模糊集的隶属函数(这里不作说明)。模糊集的个数可根据被控对象的不同而不同,例如,可分成正大,正中,正小,零,负小,负中,负大七种。隶属函数的形状可根据实际情况而定,要求不高的一般可取三角形或梯形。
2.2 模糊推理决策
模糊控制器的主要工作是依据语言规则进行模糊推理决策。因此在进行模糊规则推理之前,先要指定好语言控制规则。实际上控制规则是根据操作者或专家的经验知识来确定的,它们也可以在试验过程中不断进行修正和完善。规则的形式很像计算机程序设计语言常用到的条件语句“IF…THEN…”。模糊控制规则随着模糊控制器的输入输出维数的不同采用不同的形式。
1)单输入单输出型:其控制规则为 IF X=A, THEN Y=B
2) 多输入单输出型:其控制规则为 IF X1=A1,AND(OR) X2=A2,…AND(OR)XN=AN,THEN Y=B
3) 多输入多输出型:IF X1=A1, AND(OR) X2=A2,…AND(OR)XN=AN,THEN Y=B1,AND(OR)Y2=B2,…AND(OR)YN=BN
这里的AND和OR在模糊推理中相应于“交”“并”运算
2.2.3逆模糊化
输出逆模糊化就是将语言表达的模糊量恢复到精确的数值,也就是根据输出模糊子集的隶属度计算出确定的数值。下面介绍三种主要的方法
1)最大隶属度法:这种方法就是选取模糊子集隶属度最大的元素作为控制量。如果最大点有几个,则取它们的平均值。例如有两个模糊子集分别为
0.10.30.20.80.60.20.5110.8,U1,在U1中,元素1的隶U12101221012
属度最大,则取u=1为输出量;而在U2中,元素0和1的隶属度都为最大,则取u=(0+1)/2=0.5作为输出量。选择最大隶属度方法简单易行,算法实时性好,但它利用的信息量较少,会引起一定的不确定性。
2)加权平均法:此法又称重心法,有两种形式。第一种是普通加权平均法,其控制量的精确值u由下式决定:u(u)ui
i1
nni.第二种是算术加权平均法,其控(u)i
i1
i
制量的精确值u由下式求出:ukui
i1
nn,其中k的选择可根据实际情况来决定。 k
i1i
3)取中位法:为了充分利用所有信息,求出将模糊集隶属函数曲线与横坐标之间的面积平分为两等的数,用此数作为逆模糊化的结果。
模糊控制的算法步骤
1)根据当前采样得到的系统的输出值,计算所选择的系统的输入变量
2)将输入变量的精确值变为模糊量,即模糊化处理
3)根据输入模糊变量及模糊控制规则,按模糊推理合成规则计算控制模糊量,即进行推理决策
4)由上述得到的控制模糊量计算精确的控制量,即模糊化处理
3. Bp神经网络串联模糊控制在火源探测方面的应用
3.1 火源探测硬件系统
火源探测系统由温度-火焰复合探测器,放大滤波,A/D转换,微处理器识别和数据输出五部分组成,系统结构如3-1图所示。
图3-1 火灾探测系统结构框图
本文的火灾探测系统主要应用于电路,变压器间和配电室等室内封闭空间。当发生火灾时,室内产生高温以及高强度的火焰辐射,系统前端采用温度-火灾复合探测器进行构建,将探测到的温度及火焰辐射通过一定的信号预处理电路进行放大,滤波和A/D转换得到的数字信号送入微处理器中进行分析判断。
3.2 模糊神经网络与火灾探测
在火灾探测中,单纯依靠模糊逻辑或神经网络都存在一定的局限性,不能达到理想的辨识效果,如将两者结合则具有广阔的前景。因此本文采用模糊神经网络进行火灾信号的识别。
3.2.1 基本结构
本文建立的模糊神经网络采用串联型结构,模糊神经网络的基本结构如图3-2所示
图3-2模糊神经网络的基本结构框图
图3-2中,模糊神经网络各层的作用如下:
1)输入层:温度-火焰复合探测器的输出信号(即目标温度,环境温度和红外辐射)作为网络的输入数据。
2)信号处理层:对网络的输入数据进行放大,滤波和A/D转换,需要指出的是对输入量进行归一化处理,可以防止小数值被大数值淹没而影响网络矫正过程
3)预测层:通过输入训练样本来调节连接权值
4)模糊推理层:完成对网络输出有火概率与无火概率的模糊推理
5)输出层:最终的输出为火灾概率,对火灾概率应用门限法进行判断,将阈值设为0.5,即大于0.5输出报警信号,判断有大火发生。
3.2.2 构建模糊神经网络过程
对前端传感器的输出信号(目标温度,环境温度,红外辐射)进行信号预处理,获得较为理想的数据,从而根据获得的数据进行模糊神经网络的构建,构建过程如下:
1)建立一个三输入,两输出,隐含层为七层的三层BP神经网络,输入信号为目标温度,环境温度和红外辐射,输出为有火概率和无火概率。将现场采集的试验数据分成两部分,200组作为训练样本,200组作为检验样本。通过误差方向传递算法对训练样本进行训练,修改权值达到预定的目标误差,然后对检验样本进行仿真,得到200组输出,包括有火与无火概率。
2)模糊推理的进一步处理包括输入量和输出量的模糊量化和标定,建立控制规则以及精确化过程。
输入量为神经网络输出的有火与无火概率P1、P2,输出量为火灾发生的概率P。首先将它们转化为模糊量,并给出P1、P2和P的上下限(均为[0,1])作为论域U
根据经验和火灾数据统计,神经网络输出的P1、P2分成三级,即大、中、小。火灾发生概率P分成两级,即大、小,均采用高斯函数作为隶属函数。 构建模糊集{Ai}、{Bi}和{Ci},其中Ai、Bi分别表示神经网络的输出P1,P2在隶属度函数作用下的值域范围,Ci表示火灾概率P在隶属度函数作用下的值域范围,i表示模糊规则数,本文建立了三条模糊规则分别如下:
If (有火概率P1 is PS)and(无火概率P2 is PL ) THEN (火灾概率P is PS) If (有火概率P1 is Pm)and(无火概率P2 is Pm ) THEN (火灾概率P is Pl) If (有火概率P1 is Pl)and(无火概率P2 is Ps) THEN (火灾概率P is Pl)
在推理得到的模糊集合中,取一个能代表这个模糊推理结果可能性的精确值的过程成为精确化过程,本文采用重心法进行精确化。
4.总结
通过对火灾探测器的控制分析,我复习了模糊神经网络控制的原理和解决问题的方法。熟悉了数据模糊化,建立模糊规则的过程。通过火灾探测器的控制分析,可以看出模糊控制和神经网络控制在实际生活中有很重要的作用,对于解决控制问题很有帮助。
利用模糊神经网络控制解决问题的原理及方法
通过课程学习,我了解了模糊控制和神经网络控制解决问题的基本原理和方法。通过查阅资料,了解到模糊控制和神经网络控制在实际生活中如何解决问题。我参考火灾探测系统为例,介绍模糊控制解决问题的原理及方法。
首先,简要介绍一下Bp神经网络控制和模糊控制的原理。
1.Bp神经网络的结构及算法
BP网络可以有多层,但为叙述简捷以三层为例导出计算公式。设BP网络为三层网络,输入神经元以i编号,隐蔽层神经元以j编号,输出层神经元以k编号,示意图如图1-1所示,其具体形式在下面给出,隐蔽层第j个神经元的输入为:netjwjioi,第j个神经元的输出为ojg(netj),输出层第k个神经
i
元的输入为netkwkjoj,相应的输出为okg(netk),式中g为sigmoid型函
1,式中ʘ为阈值或偏置值。ʘ˃0则使sigmoid曲线沿横坐1e(x)
1标左移,反之则右移。因此,各神经元的输出应为oj、(1exp((wjioij)))数,g(x)=g(x)
i
ok1
(1exp((wkjojk)))
j
图1-1 神经网络结构图
BP网络学习过程中的误差反向传播过程是通过使一个目标函数(实际输出与希望输出之间的误差平方和)最小化来完成的,可以利用梯度下降法导出计算公式。
在学习过程中,设第k个输出神经元的希望输出为tpk,而网络输出为opk,则系统平均误差为E1(tpkopk)2,为了表示方便,省去下标p,平均误差2ppk
可写成E1(tkok)2,式中平均误差E也称为目标函数。根据梯度下降法,2k
权值的变化项∆wkj与ƏE/Əwkj成正比,即∆wkj=-ƞ ƏE/Əwkj,由上述各公式可得:
∆wkj=-ƞ ƏE/Əwkj=(Eoknetk)(tkok)ok(1ok)oj,记oknetkwkj
k(tkok)ok(1ok)oj,对于隐含层神经元,也可写成∆wji=-ƞ
EEojnetjEoj(1oj),由于)oj(1oj)oi,jƏE/Əwji=(ojojnetjwjioj
ƏE/Əoj不能直接计算,而是以参数的形式表示,即
-ƏE/Əoj=-
kEnetkE()(netkojnetkk(wkjoj)joj)(kE)wkjkwkj,netkk
则导出各个权重系数的调整量为∆wkj(tkok)ok(1ok)oj,∆wji=joi,式中ƞ称为学习效率,jkwkj[oj(1oj)],k(tkok)ok(1ok)
k
BP网络的学习算法的具体步骤如下:
1. 从训练本集中取某一样本,把它的输入信息输入到网络中
2. 由网络正向计算出各层节点的输出
3. 计算网络的实际输出与期望输出的误差
4. 从输入层起始反向计算到第一个隐层,按一定原则向减小误差方向调整网络的各个联接权值
5. 对训练样本集中的每一个样本重复以上步骤,直到对整个训练样本集的误差达到要求为止。
2. 模糊控制的结构与算法
课程所学我们知道模糊控制器的设计原则如下
定义输入输出变量
定义所有变量的模糊化条件
设计控制规则库
设计模糊推理结构
选择精确化策略的方法
模糊控制解决问题的方法为:
模糊化过程 1. 2. 3. 4. 5. 1.
2. 模糊规则
3. 模糊推理
4. 清晰化过程
模糊控制系统的原理框图如图2-1所示。
图2-1 模糊控制原理框图
可以看出其结构与一般计算机数字控制系统基本类似。只是其控制器为模糊控制器。模糊控制系统由以下几部分组成:输入输出接口、执行机构、检测装置、被控对象及模糊控制器。模糊控制器是模糊控制系统的核心,也是模糊控制系统区别于其他自动控制系统的主要标志,下面对模糊控制器三个主要阶段做简要的介绍:
2.1 输入模糊化
模糊化是把系统输入的精确量转化为模糊控制器中所需的模糊量的过程,为了完成输入的模糊化,我们必须知道输入精确值对模糊集的隶属函数(这里不作说明)。模糊集的个数可根据被控对象的不同而不同,例如,可分成正大,正中,正小,零,负小,负中,负大七种。隶属函数的形状可根据实际情况而定,要求不高的一般可取三角形或梯形。
2.2 模糊推理决策
模糊控制器的主要工作是依据语言规则进行模糊推理决策。因此在进行模糊规则推理之前,先要指定好语言控制规则。实际上控制规则是根据操作者或专家的经验知识来确定的,它们也可以在试验过程中不断进行修正和完善。规则的形式很像计算机程序设计语言常用到的条件语句“IF…THEN…”。模糊控制规则随着模糊控制器的输入输出维数的不同采用不同的形式。
1)单输入单输出型:其控制规则为 IF X=A, THEN Y=B
2) 多输入单输出型:其控制规则为 IF X1=A1,AND(OR) X2=A2,…AND(OR)XN=AN,THEN Y=B
3) 多输入多输出型:IF X1=A1, AND(OR) X2=A2,…AND(OR)XN=AN,THEN Y=B1,AND(OR)Y2=B2,…AND(OR)YN=BN
这里的AND和OR在模糊推理中相应于“交”“并”运算
2.2.3逆模糊化
输出逆模糊化就是将语言表达的模糊量恢复到精确的数值,也就是根据输出模糊子集的隶属度计算出确定的数值。下面介绍三种主要的方法
1)最大隶属度法:这种方法就是选取模糊子集隶属度最大的元素作为控制量。如果最大点有几个,则取它们的平均值。例如有两个模糊子集分别为
0.10.30.20.80.60.20.5110.8,U1,在U1中,元素1的隶U12101221012
属度最大,则取u=1为输出量;而在U2中,元素0和1的隶属度都为最大,则取u=(0+1)/2=0.5作为输出量。选择最大隶属度方法简单易行,算法实时性好,但它利用的信息量较少,会引起一定的不确定性。
2)加权平均法:此法又称重心法,有两种形式。第一种是普通加权平均法,其控制量的精确值u由下式决定:u(u)ui
i1
nni.第二种是算术加权平均法,其控(u)i
i1
i
制量的精确值u由下式求出:ukui
i1
nn,其中k的选择可根据实际情况来决定。 k
i1i
3)取中位法:为了充分利用所有信息,求出将模糊集隶属函数曲线与横坐标之间的面积平分为两等的数,用此数作为逆模糊化的结果。
模糊控制的算法步骤
1)根据当前采样得到的系统的输出值,计算所选择的系统的输入变量
2)将输入变量的精确值变为模糊量,即模糊化处理
3)根据输入模糊变量及模糊控制规则,按模糊推理合成规则计算控制模糊量,即进行推理决策
4)由上述得到的控制模糊量计算精确的控制量,即模糊化处理
3. Bp神经网络串联模糊控制在火源探测方面的应用
3.1 火源探测硬件系统
火源探测系统由温度-火焰复合探测器,放大滤波,A/D转换,微处理器识别和数据输出五部分组成,系统结构如3-1图所示。
图3-1 火灾探测系统结构框图
本文的火灾探测系统主要应用于电路,变压器间和配电室等室内封闭空间。当发生火灾时,室内产生高温以及高强度的火焰辐射,系统前端采用温度-火灾复合探测器进行构建,将探测到的温度及火焰辐射通过一定的信号预处理电路进行放大,滤波和A/D转换得到的数字信号送入微处理器中进行分析判断。
3.2 模糊神经网络与火灾探测
在火灾探测中,单纯依靠模糊逻辑或神经网络都存在一定的局限性,不能达到理想的辨识效果,如将两者结合则具有广阔的前景。因此本文采用模糊神经网络进行火灾信号的识别。
3.2.1 基本结构
本文建立的模糊神经网络采用串联型结构,模糊神经网络的基本结构如图3-2所示
图3-2模糊神经网络的基本结构框图
图3-2中,模糊神经网络各层的作用如下:
1)输入层:温度-火焰复合探测器的输出信号(即目标温度,环境温度和红外辐射)作为网络的输入数据。
2)信号处理层:对网络的输入数据进行放大,滤波和A/D转换,需要指出的是对输入量进行归一化处理,可以防止小数值被大数值淹没而影响网络矫正过程
3)预测层:通过输入训练样本来调节连接权值
4)模糊推理层:完成对网络输出有火概率与无火概率的模糊推理
5)输出层:最终的输出为火灾概率,对火灾概率应用门限法进行判断,将阈值设为0.5,即大于0.5输出报警信号,判断有大火发生。
3.2.2 构建模糊神经网络过程
对前端传感器的输出信号(目标温度,环境温度,红外辐射)进行信号预处理,获得较为理想的数据,从而根据获得的数据进行模糊神经网络的构建,构建过程如下:
1)建立一个三输入,两输出,隐含层为七层的三层BP神经网络,输入信号为目标温度,环境温度和红外辐射,输出为有火概率和无火概率。将现场采集的试验数据分成两部分,200组作为训练样本,200组作为检验样本。通过误差方向传递算法对训练样本进行训练,修改权值达到预定的目标误差,然后对检验样本进行仿真,得到200组输出,包括有火与无火概率。
2)模糊推理的进一步处理包括输入量和输出量的模糊量化和标定,建立控制规则以及精确化过程。
输入量为神经网络输出的有火与无火概率P1、P2,输出量为火灾发生的概率P。首先将它们转化为模糊量,并给出P1、P2和P的上下限(均为[0,1])作为论域U
根据经验和火灾数据统计,神经网络输出的P1、P2分成三级,即大、中、小。火灾发生概率P分成两级,即大、小,均采用高斯函数作为隶属函数。 构建模糊集{Ai}、{Bi}和{Ci},其中Ai、Bi分别表示神经网络的输出P1,P2在隶属度函数作用下的值域范围,Ci表示火灾概率P在隶属度函数作用下的值域范围,i表示模糊规则数,本文建立了三条模糊规则分别如下:
If (有火概率P1 is PS)and(无火概率P2 is PL ) THEN (火灾概率P is PS) If (有火概率P1 is Pm)and(无火概率P2 is Pm ) THEN (火灾概率P is Pl) If (有火概率P1 is Pl)and(无火概率P2 is Ps) THEN (火灾概率P is Pl)
在推理得到的模糊集合中,取一个能代表这个模糊推理结果可能性的精确值的过程成为精确化过程,本文采用重心法进行精确化。
4.总结
通过对火灾探测器的控制分析,我复习了模糊神经网络控制的原理和解决问题的方法。熟悉了数据模糊化,建立模糊规则的过程。通过火灾探测器的控制分析,可以看出模糊控制和神经网络控制在实际生活中有很重要的作用,对于解决控制问题很有帮助。