基于神经网络集成学习的智能决策支持系统构建
摘要:传统DSS与一直无法较好地解决实际决策问题,特别是难以对复杂环境和复杂问题进行有效的决策和求解。集成学习通过重复采样可产生个体学习器之间差异度,从而提高个体学习器的泛化能力。神经网络集成学习方法简单效果明显,可显著提高系统的泛化能力。该文将神经网络集成技术应用到DSS中,对基于神经网络集成方法的智能决策支持系统体系进行了构建。
关键词:决策支持系统;专家系统;集成学习;神经网络集成
中图分类号:TP18文献标识码:A文章编号:1009-3044(2008)27-2045-02
The Construction of the IDSS Based on the Neural Network Ensemble
WANG Jian-min, LI Tie-jun, DONG Yun-qiang
(PLA University of Science and Technology, Nanjing 210007, China)
Abstract: It is difficult to solve the problem, which is gaps between classical Decision Support System (DDS) and practical decision-making problems, especially the complexes. Ensemble Learning is a hot topic in Machine Learning studies. The improvement of generalization performance of individuals comes primarily from the diversity caused by re-sampling the training set. Neural Network Ensemble (NNE) can significantly improve the generalization ability of learning systems through training a finite number of neural networks and combining their result. The paper introduces the DSS and NNE, and studies the application of NNE on constructing IDSS knowledge base.
Key words: DSS; expert system; ensemble learning; NNE
1 引言
决策支持系统(Decision Support System,简称DSS)的概念在20世纪初由Keen P G和Morton M S等人提出,1980年Sprague R H 提出了基于数据库和模型库的DSS结构,目前各个DSS框架结构,概括起来分为基于X库和基于知识的DSS的框架结构两大类,前者以各种库及其管理系统作为DSS的核心,后者以问题处理单元作为系统的主要部分。随着研究的深入,人们发现传统的手段难以在决策中取得理想的结果,于是将AI中知识表示与知识处理的思想引入到了DSS中,产生了智能决策支持系统(Intelligent Decision Support Systems,简称IDSS)。目前在研究的各类DSS大都与计算机技术紧密关联,对计算机依赖程度过高,从而产生了很多局限,且不能解决或者有效提供对于复杂巨问题的决策支持[1]。
机器学习是人工智能研究的重要方向,已在DSS中扮演起越来越重要的角色,若将两者有机地结合起来,改进问题处理系统,增设学习系统,就成为一种基于学习的DSS体系结构,简称ML-IDSS [2]。对神经网络算法运用集成学习(Ensemble Learning )的思想,即为神经网络集成(Neural Network Ensemble)方法,它通过训练多个神经网络并将其结果进行合成,可显著地提高神经网络系统的泛化能力。该方法易于使用且效果明显,是一种非常有效的工程化神经计算方法 [3]。
2 决策支持系统(Decision Support System)
一般认为决策支持系统是“决策”(D)、“支持”(S)、“系统”(S)三者汇集成的一体,即通过不断发展的计算机建立系统的技术(System),逐渐扩展支持能力(Support),达到更好的辅助决策(Decision)[4]。
传统DSS通过模型来操纵数据,实际上支持的仅仅是决策过程中结构化和具有明确过程性的部分,人们更希望解决半结构化和非结构化的决策问题。即传统DSS的局限性表现在:系统在决策支持中的作用是被动的,不能根据决策环境的变化提供主动支持(主动的DSS或者协同的DSS),对决策中普遍存在的非结构化问题无法提供支持,以定量数学模型为基础,对决策中常见的定性问题、模糊问题和不确定性问题缺乏相应的支持手段。
AI技术应用于DSS中后,有效地增强了DSS的效能,提高了辅助决策和支持决策的能力,极大地丰富了DSS的信息存取和信息处理手段,同时也使DSS在军事、政府、工程规划、制造等领域受到越来越多的青睐,现有的DSS除了在定量分析支持上有提升外,对于决策中的半结构化和非结构化的问题也提供了一定的定性分析支持,但是集成了专家系统的DSS,定性知识处理能力依然较弱,且基于专家系统的智能决策系统适用范围狭窄,依然无法完成全部的定性分析支持,更无法处理复杂问题的决策支持 [1]。
3 神经网络集成(Neural Network Ensemble)
3.1 机器学习(Machine Learning)
机器学习是一门新兴的边缘学科,其突出的自学习能力让人们看到了它在DSS中应用的前景。现有的DSS定性知识处理能力弱,没有自学习适应能力,而这正是机器学习应用于DSS中的突出优点。神经网络是机器学习中具有强大生命力的算法之一。
3.2 神经网络集成(NNE)
神经网络算法已经成功应用在诸多领域,但由于缺乏严密理论体系指导,其应用效果完全取决于使用者的经验。神经网络集成一般是几个神经网络的线性组合,它具有比单个神经网络更好的泛化能力。
3.2.1 问题的提出:强学习器与弱学习器
在PAC学习模型中,存在强学习与弱学习之分,且两者存在等价性问题。若存在的一个多项式级学习算法在辨别一组概念的过程中,辨别正确率很高,那么它是强可学习的;如果学习算法辨别一组概念的正确率仅比随机猜测略好,那么它是弱可学习的,并且弱、强学习算法之间存在等价性问题,即可以将弱学习算法提升成强学习算法。等价性问题是神经网络集成思想的出发点。1990年,Schapire针对此问题给出了构造性证明并提出集成方法和相应的Boosting算法。
3.2.2 神经网络集成的定义
通过训练多个神经网络并将其结果进行合成,可以显著提高神经网络系统的泛化能力,1990年,Hansen和Salamon开创性地提出了神经网络集成(Neural Network Ensemble)方法。1996年,Sollich和Krogh给出了神经网络集成的定义,即“神经网络集成是用有限个神经网络对同一个问题进行学习,集成在某输入示例下的输出由构成集成的各神经网络在该示例下的输出共同决定”。目前这个定义已被广泛接受。
3.2.3 神经网络集成实现方法[5]
对神经网络集成实现方法的研究主要集中在两个方面,即怎样将多个神经网络的输出结论进行结合以及如何生成集成中的个体网络。当神经网络集成用于分类器时,集成的输出通常由个体网络的输出投票产生。通常采用绝对多数投票法或相对多数投票法,且后者优于前者。因此,在对分类器进行集成时,目前大多采用相对多数投票法。
3.2.3.1 结论生成方法分析[5]
假设集成由N个独立的神经网络分类器构成,采用绝对多数投票法,再假设每个网络以1-p的概率给出正确的分类结果,并且网络之间错误不相关,则该神经网络集成发生错误的概率:
在p<1/2时,perr随N的增大而单调递减。因此,如果每个神经网络的预测精度都高于50%,并且各网络之间错误不相关,则神经网络集成中的网络数目越多,集成的精度就越高。当N趋向于无穷时,集成的错误率趋向于0。在采用相对多数投票法时,神经网络集成的错误率比上式复杂得多,但是Hansen和Salamon [3]的分析表明,采用相对多数投票法在多数情况下能够得到比绝对多数投票法更好的结果。
3.2.3.2 个体生成方法分析[5]
Boosting算法的代表是AdaBoost(Adaptive Boost)。AdaBoost算法的主要思想是给定一弱学习算法和训练集,初始化时对每一个训练例赋相等的权重1/n,然后用学习算法对训练集训练多轮,每次训练后,对训练失败的训练例赋以较大的权重,让学习算法在后续的学习中集中对比较难的训练例进行学习。Boosting算法用于回归分析时,只要一个效果比随机猜测略好的粗糙算法即可,称之为基础算法。通过不断地调用这个基础算法就可以获得一个拟合和预测误差都相当好的组合回归模型。Boosting算法可以应用于任何基础回归算法,无论是线性回归、神经网络、还是支持向量机(SVM)方法,都可以有效地提高精度。因此,Boosting可被视为一种通用的增强基础算法性能的回归分析算法。
Bagging(Bootstrap Aggregating)又被称为自举聚合。Bagging技术的主要思想是给定一弱学习算法和一训练集。让该学习算法训练多轮,每轮的训练集由从初始的训练集中随机取出的若干训练例组成,初始训练集在某轮训练集中可以出现多次或根本不出现。训练之后可得到一个预测函数序列,最终的预测函数对分类问题采用投票方式,对回归问题采用简单平均方法对新示例进行判别。
Bagging与Boosting的区别在于Bagging的训练集选择是随机的,各轮训练集之间相互独立,而Boosting的训练集选择不是独立的,各轮训练集的选择与前面各轮的学习结果有关;Bagging的各个预测函数没有权重,可以并行生成,而Boosting是有权重的,只能依次顺序生成;Boosting往往从一些弱的学习器开始,组合形成一个集成学习器,从而给出一个好的学习结果,而Bagging学习效果的好坏往往取决于集成学习器中每个学习器的相关性和各个学习器的学习效果。对于神经网络这类极为耗时的学习方法,Bagging可通过并行训练节省大量时间开销。
4 基于NNE的IDSS构建
当前的IDSS多是基于专家系统的,正是针对这种情况,结合NNE学习,可以有效地克服专家系统在智能决策上的不足,使得IDSS具有一定的定性分析和逻辑知识处理功能、智能调度与问题规划功能、自学习适应能力等等。基本的体系结构如图1所示。
在此体系结构下,知识系统的知识获取成了一个关键技术,那么知识获取模块的研究与构建就显得很重要。传统的专家系统知识获取仅限于有限的专家知识库,利用NNE技术,可实现知识的自动获取,并可实现高效与高质量。IDSS知识库不仅包括采用人工手段获取的专家知识(一般用规则、框架来表示),还包括通过神经网络集成学习训练样本而自动获取的知识,它一般用神经网络来表示(知识库中存放神经网络的权值矩阵)。而神经网络块库,存放已经训练成功的神经网络块。每个神经网络块包括3部分:输入转换和选择器、神经网络集成、输出转换器。IDSS知识库中的神经网络块库的主要功能是提供3个接口:1)与知识库管理系统的接口;2)与自动知识获取系统的接口;3)与推理机的接口。其原理如图2所示。
5 结束语
DSS已经向着智能化、综合化、集成化方向发展,综合应用多种方法的综合决策支持系统已经成为DSS系统发展的必然方向。神经网络集成方法操作简单且效果明显,已在语音识别、图形/图像识别、人脸识别、遥感信息处理等领域得到成功应用。但是,在神经网络集成研究中仍然存在着很多有待解决的问题,如当神经网络集成中的个体网络差异较大时,集成的效果较好,但如何获得差异较大的个体网络以及如何评价多个网络之间的差异度,目前仍没有较好的方法;神经网络中存在的“黑箱性”等问题,在神经网络集成中会进一步加重,这将成为该领域人们关注的研究方向之一。另外,在解决IDSS的知识获取问题方面,在实际应用中人们将会日益增多地采用数据挖
掘与神经网络集成技术相结合的方法,以获取更好的效果。
参考文献:
[1] 钱学森,于景无,戴汝为. 一个科学的新领域——开放的复杂巨系统及其方法论[J].自然杂志,1990,13(1):3-10.
[2] 杨善林,倪志伟.机器学习与智能决策支持系统[M].北京:科学出版社,2004.
[3] Hansen L K, Salamon P.Neural Network ensembles[J].IEEE Trans Pattern Analysis and Machine Intelligence,1990,12(10): 993-1001.
[4] 陈文伟.决策支持系统教程[M].北京: 清华大学出版社,2004.
[5] 周志华,陈世福.神经网络集成[J].计算机学报,2002,25(1):1-8.
注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
上一篇:论机械制造的智能化技术发展趋势