第三十四课.模糊神经网络

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

模糊理论

在本篇内容中我们将了解模糊神经网络Fuzzy Neural Network在此之前先了解模糊理论。现实世界总是充满不确定性。因此在建模系统的时候我们需要考虑这种不确定性。我们之前其实已经在概率论中接触过这种不确定的建模形式。类似于概率论Zadeh开发了一种不同的不确定表示形式即模糊集Fuzzy Set。

Fuzzy Set

fig1

以身高为例定义集合A为高个子在经典的Crisp Settwo-value二元集理论中只定义某一元素隶属于或不隶属于A。比如高个子的定义是身高高于1.75m那么身高1.78m的人是A的成员而身高1.50m的人不是A的成员。但是这样的集合存在问题

  • 假设一个人身高1.73m尽管他离1.75m的标准只差了0.02m却被粗暴地判定为不是高个子
  • 在集合A里也没有任何区分度。身高1.75m与身高2.20m被一视同仁
  • 对于集合A内成员也没有包含语义semantic描述

在模糊集Fuzzy Set中所有人都是集合A的成员member只是匹配度不同。例如身高2.20m的人的成员匹配度可为0.95而身高1.7m的人成员匹配度为0.40。与传统集合不同模糊集中的每个元素都有对应的隶属度membership value。隶属度是指一个元素属于这个集合的确定度或不确定度。模糊集被隶属度函数描述在为模糊集选择隶属度函数时要符合以下约束

  • 隶属函数的下界是0上界是1
  • 对于每个元素 x ∈ X x\in X xX隶属函数 μ ( x ) \mu(x) μ(x)的值是唯一的换言之在同一个模糊集中每一个元素只有一个隶属度

从上面描述可以发现Crisp Set其实是Fuzzy Set的特殊形式其限制了隶属函数值为0或1。

在应用中模糊子集用于表达更详细的语义比如对于年龄age其子集有old与young以young为例年龄对于young的隶属函数如下
fig2

对于温度其子集有coldcoolcomfortablewarmhot
fig3
另外还有更常用的子集{NB,NM,NS,O,PS,PM,PB}7 个词汇分别代表负大Negative Big、负中Negative Middle、负小Negative Small、零Zero、正小Positive Small、正中Positive Middle、正大Positive Big。

Fuzzy set operations

现在重新定义模糊集的表示模糊集可以被记作 A A A映射 μ A ( ⋅ ) \mu_{A}(\cdot) μA()被称为模糊集 A A A上的隶属函数。对于每个 x ∈ U x\in U xU μ A ( x ) \mu_{A}(x) μA(x)叫做元素 x x x对模糊集 A A A的隶属度。

模糊集的常用表示方法如下

  • 解析法即给出隶属函数的具体表现形式
  • Zadeh记法例如 A = 1 x 1 + 0.5 x 2 + 0.72 x 3 + 0 x 4 A=\frac{1}{x_{1}}+\frac{0.5}{x_{2}}+\frac{0.72}{x_{3}}+\frac{0}{x_{4}} A=x11+x20.5+x30.72+x40其中分母是论域任何科学理论都有它的研究对象这些对象构成一个不空的集合称为论域中的元素分子是该元素的隶属度若隶属度为0该项可以省略
  • 序偶法例如 A = { ( x 1 , 1 ) , ( x 2 , 0.5 ) , ( x 3 , 0.72 ) , ( x 4 , 0 ) } A=\left\{(x_{1},1),(x_{2},0.5),(x_{3},0.72),(x_{4},0)\right\} A={(x1,1),(x2,0.5),(x3,0.72),(x4,0)}序偶对的前者是论域中的元素后者是该元素对应的隶属度
  • 向量法在有限论域场合给论域中元素规定顺序则可以用向量表示 A = ( 1 , 0.5 , 0.72 , 0 ) A=(1,0.5,0.72,0) A=(1,0.5,0.72,0)

对于两个模糊集 A A A B B B模糊集的基本运算为

  • 包含 A ⊆ B ⇔ A ( x ) ≤ B ( x ) , x ∈ U A\subseteq B\Leftrightarrow A(x)\leq B(x),x\in U ABA(x)B(x),xU
  • 相等 A = B ⇔ A ( x ) = B ( x ) , x ∈ U A=B\Leftrightarrow A(x)=B(x),x\in U A=BA(x)=B(x),xU
  • A ∪ B A\cup B AB的隶属函数 μ ( x ) \mu(x) μ(x) ( A ∪ B ) ( x ) = A ( x ) ∨ B ( x ) (A\cup B)(x)=A(x)\vee B(x) (AB)(x)=A(x)B(x)
  • A ∩ B A\cap B AB的隶属函数 μ ( x ) \mu(x) μ(x) ( A ∩ B ) ( x ) = A ( x ) ∧ B ( x ) (A\cap B)(x)=A(x)\wedge B(x) (AB)(x)=A(x)B(x)
  • A C A^{C} AC的隶属函数 μ ( x ) \mu(x) μ(x) A C ( x ) = 1 − A ( x ) A^{C}(x)=1-A(x) AC(x)=1A(x)

Fuzzy Min Max Classifier

下面我们认识模糊最小最大分类器这算是最早期的模糊神经网络
fig4
假设我们有一个 n n n维的特征 A h A_{h} Ah我们有 K = c K=c K=c个判别函数隶属度函数其中每个判别函数都描述了特征相对于该隶属度对应的模糊子集的置信度置信度在 [ 0 , 1 ] [0,1] [0,1]之间。我们相信在推断过程中输出最大值的判别函数是最可信的从而考虑将输入的特征分类到该模糊子集下。

可见像小波网络一样模糊神经网络在多层神经网络的基础上增加了一些可解释性比如使用隶属度函数作为神经网络中的激活函数并且每个神经元都有不同的隶属度计算方式这让每个神经元天生就具有了更强的物理意义。

在过去由于计算资源训练算法的发展很薄弱模糊神经网络的训练可能像深度信念网络那样困难但现在我们可以使用反向传播就进行清晰的训练。

应用基于模糊神经网络的水轮机调速器PID控制

我们可以将模糊神经网络与PID控制结合将机组转速的误差和误差变化率作为网络的输入经过网络的模糊推理向PID控制器输出三个参数 K p , K i , K d K_{p},K_{i},K_{d} Kp,Ki,Kd模型框架如下
fig5

令输入变量为转速误差 e e e和误差变化率 e c e_{c} ec输出变量为比例系数积分系数微分系数 K p , K i , K d K_{p},K_{i},K_{d} Kp,Ki,Kd。确定输入和输出变量中间的词集模糊子集为 X = { N B , N M , N S , Z , P S , P M , P B } X=\left\{NB,NM,NS,Z,PS,PM,PB\right\} X={NB,NM,NS,Z,PS,PM,PB}7 个词汇分别代表负大Negative Big、负中Negative Middle、负小Negative Small、零Zero、正小Positive Small、正中Positive Middle、正大Positive Big。

e e e e c e_{c} ec的论域均为 { − 6 , − 5 , − 4 , − 3 , − 2 , − 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 } \left\{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6\right\} {6,5,4,3,2,1,0,1,2,3,4,5,6}其次定义各个模糊子集的隶属函数为正态分布 F ( x ) = e x p [ − ( x − c ) 2 σ 2 ] F(x)=exp[-\frac{(x-c)^{2}}{\sigma^{2}}] F(x)=exp[σ2(xc)2]其中 x x x为论域中的样本 c , σ c,\sigma c,σ分别为位置参数尺度参数两个参数可以取不同的值使得各个模糊子集的隶属函数不一样。

模糊神经网络包括5层分别为输入层隶属函数层模糊推理层归一化层输出层。网络结构如下
fig6

下面对每一层进行分析

  • 对于第一层即输入层该层不做变换地输出2个节点分别为转速误差和误差变化率 x i x_{i} xi其中 i = 1 , 2 i=1,2 i=1,2
  • 第二层为隶属函数层该层接收第一层的两个输出通过前面定义的正态分布隶属函数分别将转速误差和误差变化率两个变量映射到7个词汇上即得到两组隶属度值每组有7个模糊子集每个模糊子集对应一个隶属度值 A i j ( x i ) = e x p [ − ( x i − c i j ) 2 σ i j 2 ] A_{i}^{j}(x_{i})=exp[-\frac{(x_{i}-c_{ij})^{2}}{\sigma_{ij}^{2}}] Aij(xi)=exp[σij2(xicij)2]其中 c i j , σ i j c_{ij},\sigma_{ij} cij,σij分别为第 i i i个输入变量中第 j j j个词汇变量下的隶属函数的参数。
  • 第三层为模糊推理层该层的每一个输出节点对应一个模糊规则该层的输出在于计算每个模糊规则的隶属度值用两个变量下的隶属度乘积表示 α l = A 1 i 1 ( x 1 ) × A 2 i 2 ( x 2 ) \alpha_{l}=A_{1}^{i_{1}}(x_{1})\times A_{2}^{i_{2}}(x_{2}) αl=A1i1(x1)×A2i2(x2)其中 i 1 = i 2 = { 1 , 2 , 3 , 4 , 5 , 6 , 7 } , l = 1 , 2 , . . . , 49 i_{1}=i_{2}=\left\{1,2,3,4,5,6,7\right\},l=1,2,...,49 i1=i2={1,2,3,4,5,6,7},l=1,2,...,49 i 1 , i 2 i_{1},i_{2} i1,i2为两个变量下的7个词汇索引因此模糊规则有49种 α l \alpha_{l} αl代表每条模糊规则的隶属度。
  • 第四层为归一化层用于对49个模糊规则的隶属度值进行归一化
  • 最后一层为输出层用于对得到的特征49个模糊规则的隶属度值进行线性变换得到输出结果。

这个模糊神经网络使用PID的历史调节数据训练通过回归的训练方式更新隶属函数层和输出层的参数。

可见模糊神经网络在结构上引入了模糊规则使得神经网络具有了一定可解释性。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6