
人工神经网络ANN(Artificial Neural Network)是反映人脑结构及功能的一种数学模型,它是由大量的简单处理单元经广泛并行互连形成的一种网络系统。用以模拟人类进行知识的表示与存储以及利用知识进行推理的行为。它是对人脑系统的简化、抽象和模拟,具有人脑功能的许多特征。
目前,人工神经网络已在模式分类、机器视觉、机器听觉、智能计算、机器人控制、信号处理、组合优化问题求解、联想记忆、编码理论、医学诊断、金融决策、数据挖掘等领域得到广泛应用。
7.1 基于知识的神经网络(KBANN)
神经网络用于数据挖掘的困难之一是,对经过训练的神经网络的输出结果很难给出直观的解释。许多学者试图将专家系统和神经网络相结合,设计出兼有专家系统和神经网络优点的混合系统。其中,基于知识的神经网络就是其中最有代表性的一种系统。
基于知识的神经网络包含如下四个阶段:
1规则库表示阶段:提取原始的领域知识并将其组织成规则库;(属人工智能内容)
2映射阶段:将上述规则库中的每条规则映射成一个小的子网络,全体子网络就构成了一个原始网络结构;
3学习阶段:用训练样本对上述网络进行训练;(应用人工神经网络学习算法)
4规则提取阶段:将上述训练好的神经网络再映射成规则库。
其典型结构图为:
图1 基于知识的神经网络的信息流程
1)原始规则库转化为神经网络结构
(1)合取规则
在与肯定条件相对应的网络连接权设置为,在与否定条件相对应的网络连接权设置为,在与结论相对应的神经元的阈值设置为,其中P是肯定条件的个数。经验表明,在KBANN中,通常设置为4能取得较好的效果。如,规则
图2 合取规则转化为神经网络示间图
(2)析取规则
KBANN对与每个析取条件相对应的连接权设置为,对与结论相对应的神经元阈值设置为/2。如,规则
图3 析取规则转化为神经网络示意图
2)知识库转化为神经网络示例
设(a)为规则库;(b)为规则的层次结构,其中,实线代表必要关系,虚线表示抑制关系;(c)为由规则库转化而来的神经网络,其中,为了处理析取规则而引入X和Y结点,实线连接代表权重均设置为,它代表规则库中的依赖关系;细线代表有待进一步学习的连接权,它反映知识的精化。
7.2 基于KBANN的规则提取方法
基于KBANN在数据挖掘中的作用集中体现在规则提取阶段,这一问题在神经网络研究领域十分活跃。这里,主要给出一些从前馈网络(如,多层感知器MLP)中提取规则的方法。几乎所有的规则提取方法都假设经过训练的神经网络的神经元,要么处于活跃状态,要么处于不活跃状态。
1. 有代表性的规则提取方法
(1)LRE方法
用LRE方法对MLP进行规则提取主要两步:
●每一步,对网络中的每个隐层结点和输出结点搜索不同的输入组合,使得输入加权和大于当前结点的阈值;
●对每一个组合产生一条规则,其前件是各个输入条件的合取。
如,Either、KT和Subset算法就是LRE方法中有代表性的三种方法。它们的特点:生成的规则均较容易理解,但这三种方法有如下缺点:① 搜索空间大,故搜索效率低;② 前后生成的规则有可能发生重复;③ 不能保证所有有用的规则均被产生出来。
针对Subset算法的缺点,Towell等提出了MofN方法,该算法的基本思想是将所有权值分成若干个等价类,在每个等价类中成员的作用基本相似,因而可以相互互换。MofN方法通过六个步骤,从训练好的神经网络中提取规则,它们分别是:
1分类---即将连接权分成若干等价类;
2平均---即将每个等价类中的权值平均化;
3去除---即去除对神经元的作用较小的等价类;
4优化---即在去除了部分连接权后,对神经元的阈值进行优化;
5提取---即从经优化的神经网络中提取规则;
6简化---即将上述规则简化,使其更易于理解。
(2)黑箱方法
黑箱方法仅考虑从前馈神经网络的输入和输出的行为来提取规则。所以称之为黑箱是因为在提取规则时不考虑神经网络的类型和结构,主要关心输入和输出间的映射关系。
(3)提取模糊规则
在模糊神经网络和神经网络模糊系统的研究中,有些模糊神经网络和神经网络模糊系统中包含模糊规则的提取和精化方法。
(4)从递归网络中提取规则
该方法将递归网络的状态和有限自动机的状态相对应,可提高神经网络的泛化能力。
2. 一些新规则的提取方法
本节主要介绍Taha和Ghosh的最新研究工作,其中包含三种规则提取方法:
(1)二值输入输出规则提取算法(BIO-RE)
该方法属于一种简单的黑箱方法,它对二值输入的神经网络进行规则提取,若原始输入不是二值的,则必须先将其二值化:
其中,为原始输入;为阈值;是与相对应的二值化输入。
图4 感知器模型
它的算法为:
输入:经训练好的神经网络
输出:规则(库)
步骤:
1给出对应于各二值输入模式的神经网络输出;
2将二值输入和输出相对应,构成一个真值表;
3由上式真值表生成相应的布尔函数,即所需的规则(库)。
BIO-RE算法所提取的规则有如下一般形式:
IF [Not]输入变量 [[And] [Not]输入变量]* → 结论j
其中,[·]---表示任选项;[·]*---表示可重复0次或n次。
若最终提取的规则为
则必须将其改写为
由此可见,一个“真”二值输入变量(如,)表示“”;一个否定的二值输入变量(如,)表示“”
此法当输入输出本来就是二值的,或经二值化后不会显著影响其性能且输入变量不太大时,用BIO-RE算法是合适的,否则此方法就不太适用。
(2)部分规则提取算法(Partial-RE)
针对BIO-RE算法的不足,Partial-RE算法仅关心主要的连接权的组合,对每个隐层结点或输出层结点,将输入结点的正负连接权按降序排列,形成两个集合。然后从最大的正连接权开始,比如从第个结点进入的连接权最大,该算法判断在不考虑其他结点输入的情况下,能否使结点激活。若存在这样的结点,则生成一条规则
其中,表示该条规则的置信度:
这里,为输入与结点间的连接权;为结点j的阈值;称为置信参数,是一个小正数()。
若发现结点足够强使得结点被激活,则结点即被标记,今后当考察结点时,结点将不被考虑。Partial-RE算法继续检查剩余的正连接权,直到发现一个带正连接权的结点不能单独激活结点时为止。
必须注意:Partial-RE算法假定所有的输入均有相同的取值范围,这样它们对隐层结点的影响仅由权值决定。因此,必须对原始输入变量先进行量化:
其中,是原始输入变量经量化后的值;为输入X的标准均方差,是X的均值。
此外,该算法还寻找负权结点,在激活时,则产生如下规则:
不仅如此,该算法还寻找正权和负权的组合,并激活隐层或输出层结点,则产生如下规则:
当所有的规则都生成后,将它们改写成如下形式:
实验结果表明,Partial-RE算法比较适合于规模较大的问题,因为此时提取所有规则是一个NP-完全问题,而提取一部分最重要的规则是切实可行的办法。
(3)全部规则提取算法(Full-RE)
Full-RE算法与Partial-RE算法相比,它可以从连续输入、归一化输入及二值化输入等各种神经网络中提取规则,具有较好的普适性。
对每个隐层结点,Full-RE算法首先生成以下中间规则:
由于存在一组满足中间规则,这样就必须知道的取值范围。每个输入特征可以用个小区间来离散化为
当Full-RE算法发现离散化存在多组解时,它将根据连接权的符号选择的最大或最小离散化值。若是负的,则Full-RE算法选择的最大离散化值,否则选择的最小离散化值。离散化后形成下列线性规化问题:
使得
且,。
可以用任何一种求解线性规划问题的工具来求解该线性规划问题,从而得到X的取值范围。假设一个可行解为和,从输入和到结点的连接权分别是正数和负数,则Full-RE算法如下规则:
其中,。隐层和输出层间提取的规则可以表示为
Full-RE算法将中间规则和隐层与输出层间提取的规则复合形成新的规则,复合的方法是对每个隐层结点,将替换为中间规则中后件为的前件,最终形成的规则的一般形式为
值得注意的是,由于由Full-RE算法提取的规则中对前提条件的个数不作,而仅对相邻层间规则中的前提条件个数作。所以,当输入特征是二值时,就不需要二值化过程。
7.3 基于ANN的数据挖掘示例
《吴一帆,基于模糊神经网络的数据挖掘算法.caj,长沙电力学院学报,2002(4)》
