34、神经模糊推理系统:原理、架构与学习机制

神经模糊推理系统:原理、架构与学习机制

1. 模糊系统与神经网络的结合

模糊系统与神经网络的结合通常被称为模糊神经网络(FNNs)或神经模糊系统(NFSs)。它们将人工神经网络(ANNs)和模糊推理系统(FISs)集成在一起,既能学习数据中的复杂表示,又能保持人类可解释的规则集。不过,二者存在细微差别:
- FNN :使用模糊集理论设计神经网络的神经元。
- NFS :是一种学习机器,通过利用神经网络的近似技术来寻找模糊系统的参数(如模糊集、模糊规则)。NFS 包含一个使用神经网络结构的 FIS,并可以通过反向传播算法、遗传算法或自然启发式优化进行训练。

早期的 NFS 开发使用专家推导的规则和隶属函数。然而,从数据中学习规则的需求很快变得明显,这为更强大的自推导规则学习技术铺平了道路。在这一类别中,开发了离线和在线方法,其中在线方法还能处理时变甚至时间序列数据。

NFS 通常具有以下特点:
- 基于模糊架构,通过数据驱动的学习启发式进行训练,考虑局部知识以在从神经网络理论推断的基本模糊系统中引发局部变化。
- 在学习阶段的任何时候都可以用一组模糊规则表示,因此可以在有或没有模糊规则先验知识的情况下初始化。
- 学习受到约束,以确保底层模糊系统的语义属性。
- 近似一个 n 维未知函数,该函数部分由训练示例表示。
- 模糊规则可以解释为训练数据的模糊原型。

2. 神经模糊推理系统的架构

虽然已经提出了三层和四层的 NFS,但最常见且具有通用性的 NFS 架构由五层组成,从下到上分别用罗马数字 I 到 V 表示:
- 第一层(I) :输入变量层,每个节点 $x_i$ 表示一个输入属性。
- 第二层(II) :模糊语言变量或模糊标签层,用 $X_{i, j_i}$ 表示。
- 第三层(III) :模糊规则层,将输入属性的模糊标签映射到输出属性的模糊标签,模糊规则用 $R_k$ 表示。
- 第四层(IV) :输出属性的模糊标签层,用 $Y_{m, l_m}$ 表示。
- 第五层(V) :输出变量的属性层,用 $y_m$ 表示。

为了便于理解,我们考虑一个 NFS,它将输入(国家经济状况、信用评分、到学校的距离、当前储蓄、标准生活费用、社会声望)映射到输出(汽车类型、房价)。在这个问题中,有六个输入属性和两个输出属性,每个输入属性可能有自己的语言变量。

输入属性 语言变量示例
信用评分 很差、勉强较差、一般、良好、优秀
到学校的距离 可步行、适合公共交通或校车、需要自驾
汽车类型 小型、中型、大型

我们用 $i \in [1, N_I]$ 表示输入数据 $x$ 的第 $i$ 个属性,$(i, j_i)$ 表示第 $i$ 个属性的第 $j_i$ 个隶属函数。对于层 V 和 IV 的索引 $m \in [1, N_V]$ 和 $l_m \in [1, N_{m, IV}]$,与层 I 和 II 的 $i$、$j$ 类似。$k \in [1, N_{III}]$ 用于表示第 $k$ 条规则 $R_k$。

以一个具体规则为例:如果信用评分良好且到学校的距离需要自驾,那么汽车类型为中型且房价为低。在这种情况下,$N_{III} = 10$,$R_3$ 可以表示为 $R_3 : (2, 3) \text{ AND } (3, 3) \Rightarrow (1, 2) \text{ AND } (2, 1)$。

层 III 可以进一步表示为从不同输入属性的模糊隶属函数组合(前件 $a_k$)到不同输出属性的隶属函数组合(后件 $c_k$)的映射。前件 $a_k$ 是每个输入属性一个隶属函数的唯一组合,后件 $c_k$ 是每个输出属性一个隶属函数的组合。

我们用 $(x_p, y_p)$ 表示第 $p$ 个训练数据实例,$P$ 表示训练数据实例的数量。对于层 I 中索引为 $i$ 的节点,其激发强度、权重和输出信号分别表示为 $f^I_i$、$w^I_i$ 和 $o^I_i$,后续层以此类推。

3. 神经模糊推理系统的其他设计元素

除了上述神经网络架构外,神经模糊推理系统还有其他设计元素,包括隶属函数的设计考虑、规则库的组成和推理机制。

3.1 模糊标签数量的考虑

模糊变量通常会分配语言值或模糊标签,这些语言值也可以用数字表示。例如,对于“你有多喜欢三文鱼?”这个问题,回答可以在 1 - 5 的整数范围内给出,1 表示“一点也不喜欢”,5 表示“非常喜欢”,其他整数表示不同程度的喜欢。

根据问题和自动学习的需求,需要考虑是否使用固定数量的模糊标签,或者模糊标签的数量是否也是一个可学习的参数。如果在学习前可以固定某个属性的标签数量,那么学习问题就简化为如何对清晰属性进行模糊划分以及如何定义相应的隶属函数。如果需要调整或确定某个属性的最佳模糊标签数量,则需要考虑增加标签、合并连续标签、修剪特定标签的链接甚至删除无关标签等操作。

3.2 隶属函数的设计考虑

隶属函数的形状(即表示隶属函数的数学函数)是最重要的决策。为了学习的简单性和模块化,通常对所有标签和属性使用单一类型的函数,如梯形函数。同时,还可以利用所选函数的特殊数学性质来实施所需的约束,例如:
- 所有隶属函数除了在空间中的平移外,具有相同的形状参数。
- 每个属性的所有可能清晰值范围内的每个清晰值至少由一个模糊标签表示(最小表示约束),数学上表示为 $\sum_{\forall j_i} \mu_{(i, j_i)}(x_i) \geq 0$。
- 任何清晰值处的模糊隶属函数值之和为 1(最大表示约束),对于梯形函数,这意味着左边函数的 $m_2$ 等于相邻右边函数的“低”值。

这些决策在设计阶段做出,但在学习阶段实施。例如,在学习过程中需要创建新的模糊标签时,如果存在最小表示约束,可能不需要重新定义与新标签清晰值边界重叠的隶属函数;但如果同时存在最大表示约束,则需要重新定义现有函数的边界,为新标签腾出空间,并定义新标签隶属函数的参数,以满足两个约束条件。

3.3 规则库和推理机制的设计考虑

每个规则都有一个前件和一个后件,前件可能是多个属性和多个模糊结果的组合。在实践中,为每个规则的推理选择合适的组合方式有助于学习。以下是两种情况的对比:

情况 规则示例 特点
情况 1:个体属性用‘OR’,属性间用‘AND’ 规则 1:如果 $x_1$ 为‘低’或‘中’且 $x_3$ 为‘高’,则 $y_1$ 为‘小’且 $y_5$ 为‘高’;规则 2:如果 $x_1$ 为‘非常低’或‘低’且 $x_3$ 为‘高’,则 $y_1$ 为‘大’且 $y_5$ 为‘低’ 可以使用相同的推理模块,便于学习最优规则和模糊聚类,还能分离不同模糊标签的学习
情况 2:无组合指导 规则 1:如果 $x_1$ 为‘低’或‘中’且 $x_3$ 为‘高’,则 $y_5$ 不为‘高’;规则 2:如果 $x_1$ 为‘低’且 $x_2$ 为‘低’或 $x_3$ 为‘高’,则 $y_1$ 为‘大’且 $y_5$ 为‘低’ 需要学习一组运算符和不同的推理模块

在推理机制方面,通常有广义肯定前件式(Modus Ponens)和广义否定后件式(Modus Tollens)两种选择:
- 肯定前件式 :“如果 A 为真,则 B 为真。A 为真。因此,B 为真。”
- 否定后件式 :“如果 A 为真,则 B 为真。B 不为真。因此,A 不为真。”

由于肯定前件式相当于前向传播,通常被选作推理机制。在存在多条规则的情况下,有真值实现、Yager 推理机制、近似类比推理方案和组合推理规则(CRI)等复合推理机制,其中 CRI 是最常用的方法。

4. 神经模糊推理系统的学习机制

4.1 与模糊标签相关的学习机制

识别模糊标签的问题可以看作是定位清晰属性值的聚类问题。因此,聚类方法非常相关,但不能假设固定数量的聚类,并且聚类必须允许模糊和重叠的边界,这使得简单的分区技术(如 k - 近邻或 k - 均值)不适用。常见的模糊分区方法包括线性向量量化、模糊 Kohonen 分区、模糊自适应共振理论、离散增量聚类等。

在模糊标签未知时,可以使用整个数据集或其子集通过这些技术生成模糊标签。由于神经网络学习通常是一个迭代过程,将分区学习作为一个增量过程是有利的,例如一次使用一批数据来形成或细化分区。同时,需要考虑随着分区大小的变化、新分区的创建、现有分区或聚类的合并等情况,隶属函数的参数将如何变化。

4.2 模糊规则的学习机制

根据训练数据实例,需要识别规则库。可以使用多种方法来实现,如自组织映射、规则归纳算法、伪外积、基于粗糙集的属性约简等。与识别模糊分区相比,这是一个更复杂的问题,因为需要识别输入和输出之间的关系。

模糊规则库的学习可以通过以下两种常见方式实现:
- 在联合输入 - 输出空间中寻找分区 :将输入和输出的模糊标签作为联合空间分区的一部分进行学习。
- 规则选择技术 :假设存在包含所有可能前件和后件组合的详尽规则库,使用训练数据来识别和选择被激发的规则,这种技术将识别模糊标签的任务与学习规则库的任务分开。

不过,像伪外积这样的方法是单遍且详尽的,存在计算复杂度高和需要同时获取所有数据的问题。而类似于神经网络的迭代或增量学习方法则具有更大的灵活性,能够发挥神经网络的真正优势并实现在线学习。

4.3 神经模糊推理系统的网络学习机制

神经模糊推理系统有多种学习机制,一些单遍技术(如聚类和伪外积)也可以进行迭代学习以进一步优化。以下是一些常见的学习技术:
- Hebbian 学习 :基于正强化理论,当一个链接被刺激时,通过增加其权重来加强它,权重增量与链接的激发强度成正比。但在实践中,某些强规则的权重会线性增加,导致网络不稳定和强链接饱和,同时抑制其他相关规则,影响 NFS 的性能。
- 关联解离学习 :根据 Bienenstock Cooper Munro(BCM)理论,对突触强化进行动态调整。突触的加强以关联和分离的方式进行生物学调节,通过一个滑动阈值来实现突触权重的长期增强或抑制,确保权重不会变得不稳定,并根据当前权重和激发强度调整强化奖励,有助于提高选择性和减少信息损失。

BCM 理论中,突触权重的变化满足以下要求:
- 突触权重的变化与突触前活动(即规则的前件)成正比,这与 Hebbian 学习方案的前件要求相匹配。
- 突触权重的变化与突触后活动 $y$ 的非单调函数 $\varphi(y)$ 成正比。对于相对较低的 $y$,突触权重 $w$ 减小;对于较大的 $y$,突触权重增加。交叉点($w = 0$)称为滑动修改阈值 $\theta$。
- 滑动修改阈值 $\theta$ 本身是突触后活动 $y$ 的时间加权历史的非线性函数。

突触权重 $w$ 在时间 $p$ 可以由以下公式定义:
$w = \varphi(y_p, \theta(p)) x_p + w_p$
其中,$x$ 和 $y$ 是突触的输入和输出,$\varphi(y_p, \theta(p)) = y_p (y_p - \theta(p))$。

综上所述,神经模糊推理系统结合了模糊系统和神经网络的优势,在架构设计和学习机制方面有多种选择和考虑因素。通过合理的设计和学习,可以实现对复杂数据的有效建模和推理。

5. 学习机制的对比与分析

为了更清晰地了解神经模糊推理系统不同学习机制的特点,我们对前面提到的几种学习机制进行对比分析。

学习机制 优点 缺点 适用场景
模糊分区方法(线性向量量化、模糊 Kohonen 分区等) 适用于模糊和重叠边界的聚类,能处理未知模糊标签情况 不能假设固定数量的聚类,简单分区技术不适用 模糊标签未知,需要对清晰属性值进行聚类的场景
自组织映射、规则归纳算法等规则学习方法 能识别输入和输出之间的关系 计算复杂度高,需要同时获取所有数据 需要从训练数据中识别规则库的场景
Hebbian 学习 简单且具有一定的通用性 强规则权重线性增加导致网络不稳定,抑制其他规则 对学习机制简单性要求较高,对网络稳定性要求不高的场景
关联解离学习 能动态调整突触权重,提高选择性和减少信息损失 基于复杂的 BCM 理论,理解和实现相对困难 需要网络具有较好稳定性和选择性的场景

6. 案例分析:以家庭决策为例

6.1 问题描述

我们再次回到之前提到的 NFS 案例,即一个家庭在搬到新城市时,根据输入(国家经济状况、信用评分、到学校的距离、当前储蓄、标准生活费用、社会声望)来决策输出(汽车类型、房价)。

6.2 架构设计

根据前面介绍的五层 NFS 架构,我们构建如下架构:
- 第一层(I) :六个输入节点分别对应六个输入属性。
- 第二层(II) :每个输入属性有各自的模糊语言变量,如信用评分有“很差”“勉强较差”“一般”“良好”“优秀”等。
- 第三层(III) :根据训练数据和规则学习机制,生成一系列模糊规则,将输入属性的模糊标签映射到输出属性的模糊标签。
- 第四层(IV) :输出属性(汽车类型、房价)的模糊标签层。
- 第五层(V) :输出节点对应汽车类型和房价的具体属性。

6.3 学习过程

模糊标签学习

使用模糊分区方法,如线性向量量化,对输入属性的清晰值进行聚类,生成模糊标签。例如,对信用评分数据进行聚类,确定不同模糊标签的范围。

模糊规则学习

采用规则归纳算法,根据训练数据识别规则库。例如,通过分析大量家庭的决策数据,得出“如果信用评分良好且到学校的距离需要自驾,那么汽车类型为中型且房价为低”等规则。

网络学习

选择关联解离学习机制,根据 BCM 理论动态调整突触权重。在训练过程中,不断更新规则的权重,使网络能够更准确地进行决策。

6.4 结果分析

通过训练后的 NFS 模型,家庭可以根据自身的输入属性,得到关于汽车类型和房价的合理决策。同时,由于模糊规则的可解释性,家庭可以理解为什么做出这样的决策。

7. 总结与展望

7.1 总结

神经模糊推理系统结合了模糊系统和神经网络的优势,能够处理复杂的数据和具有不确定性的问题。在架构方面,五层架构是最常见且通用的形式,通过不同层的设计实现输入到输出的映射。在设计元素方面,需要考虑模糊标签数量、隶属函数形状和规则库及推理机制等因素。在学习机制方面,有多种方法可供选择,每种方法都有其优缺点和适用场景。

7.2 展望

未来,神经模糊推理系统有望在更多领域得到应用,如智能交通、医疗诊断等。同时,随着技术的发展,可能会出现更高效的学习机制和架构设计,进一步提高神经模糊推理系统的性能和可解释性。例如,结合深度学习的方法,对大规模数据进行更深入的学习和分析。

7.3 流程图:神经模糊推理系统整体流程

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px

    A([输入数据]):::startend --> B(架构设计):::process
    B --> C(模糊标签学习):::process
    C --> D(模糊规则学习):::process
    D --> E(网络学习):::process
    E --> F([输出决策]):::startend
    G{是否满足要求?}:::decision -->|是| F
    G -->|否| C
    E --> G

通过以上的分析和案例,我们对神经模糊推理系统有了更全面的了解,希望能为相关领域的研究和应用提供一定的参考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值