基于工业以太网故障诊断方法中决策树的创建方法
【专利摘要】本发明公开了一种基于工业以太网故障诊断方法中决策树的创建方法,将决策树划分为由决策属性节点、属性值分枝和叶节点组成,决策属性节点是进行分类的决策属性的集合,属性值分枝是按照决策属性进一步划分的取值特性的属性值的集合,叶节点是决策或分类结果的集合,再根据贪心算法构造决策树,根据用户的实际需要选择类别标识属性和决策树的决策属性集,再对构造完成的决策树进行校验、修正;利用本方法能够为工业以太网故障诊断提供有效的推理决策及数据支持,保证工业以太网故障诊断的准确实施和工作。
【专利说明】基于工业以太网故障诊断方法中决策树的创建方法
【技术领域】
[0001] 本发明涉及工业以太网控制系统【技术领域】,尤其涉及一种基于工业以太网故障诊 断方法中决策树的创建方法。
【背景技术】
[0002] PROFINET 由 PROFIBUS 国际组织(PROFIBUS International,PI)推出,是新一代 基于工业以太网技术的自动化总线标准。作为一项战略性的技术创新,PR0FINET为自动化 通信领域提供了一个完整的网络解决方案,囊括了诸如实时以太网、运动控制、分布式自动 化、故障安全以及网络安全等当前自动化领域的热点话题,并且,作为跨供应商的技术,可 以完全兼容工业以太网和现有的现场总线(如PROFIBUS)技术,保护现有投资。
[0003] 在过去的几年间,工业机网络的规模经历了爆炸式的增长。网络的应用已经深入 到人们生产的每一个角落,成为必不可少的基础设施。随着对网络依赖性的加强,人们对网 络的可靠性也提出了更高的要求:第一,有稳定、高效、安全的网络环境:第二,当网络发生 故障时,能够及时的检测出故障原因并修复。可以看出,网络故障诊断对保持网络的健康状 态具有重要的意义。然而在当今网络环境下,网络故障诊断遇到了前所未有的困难,其主要 表现在以下几个方面;控制器网络无论从规模上,还是从网络复杂性和业务多样性上都有 了巨大的发展。大规模网络的故障关系错综复杂,故障原因和故障现象之间的对应关系模 糊,大大提高了故障诊断的难度。
[0004] 网络设备的复杂性也提高了故障诊断的难度。网络设备的复杂性有两个含义:第 一是新的网络设备不断推出,功能越来越多,越来越复杂;第二是设备提供商数量众多,产 品规格和标准不统一。
[0005] 随着PROFINET的广泛应用,控制器技术和网络通信技术得到迅速发展,新的数字 通信网络不仅拥有多种业务流量,而且采用了多种融合的网络传输技术。不断采用的网络 新技术对网络故障诊断提出了越来越高的要求;正是由于上述困难的存在,传统的依靠网 络专家人工方式进行的故障诊断已经不能满足需要了。当代网络呼唤智能化的故障诊断技 术,以实现网络故障诊断的自动化,将人从繁重的诊断工作中解放出来。
[0006] 智能化网络故障诊断技术有下列四个方面的难点:
[0007] 第一,故障发现网络故障发生的不确定性和网络软硬件构架的动态变化,使得包 括专家在内的知识受到了局限。
[0008] 第二,故障定位一个设备产生故障会影响很多和它相连的设备或子系统,甚至会 导致网络的瘫痪,这种现象就叫做故障关联。
[0009] 第三,故障检测常规的故障检测方法需要建立数学模型,而数学模型的复杂性和 精确性难以满足高速网络的实时需求;简化的数学模型又导致实际控制效果不能令人满 O
[0010] 第四,故障表示由于网络应用的多样性与不断更新,现在还不能找到一个明确的 函数能表示所有的应用层故障。
【发明内容】
[0011] 本发明的目的是提供一种基于工业以太网故障诊断方法中决策树的创建方法,能 够为工业以太网故障诊断提供有效的推理决策及数据支持,保证工业以太网故障诊断的准 确实施和工作。
[0012] 本发明采用的技术方案为:
[0013] 一种基于工业以太网故障诊断方法中决策树的创建方法,所述的决策树包括决策 属性节点、属性值分枝和叶节点,决策属性节点是进行分类的决策属性的集合,属性值分枝 是按照决策属性进一步划分的取值特性的属性值的集合,叶节点是决策或分类结果的集 合;
[0014] 决策树的创建方法包括以下步骤:
[0015] A :首先,根据用户的实际需要选择类别标识属性和决策树的决策属性集,类别标 识属性是指根据用户实际需要选取的某一特定属性,决策属性集是指在除了类别标识属性 之外的所有属性中选择的属性集;
[0016] B :根据贪心算法构造决策树,贪心算法指以自顶向下递归规律,各个击破的方式, 贪心算法步骤如下:
[0017] B1 :树从代表训练样本的单个节点开始;
[0018] B2:如果训练样本均在同一个类,则该节点成为叶节点,并用该类标记,否则,选择 最有分类能力的属性节点作为决策树的当前叶节点;
[0019] B3:根据当前节点属性取值的不同,将训练样本数据集划分为若干子集,每个取值 形成一个分枝;
[0020] B4 :针对步骤B3得到的一个子集,重复进行步骤B3,递归形成每个划分样本上的 决策树;
[0021] B5 :递归划分步骤当且仅当下列条件之一成立时停止:
[0022] (1)给定节点的所有样本属于同一类。
[0023] (2)没有剩余属性可以用来进一步划分样本;在这种情况下,使用多数表决,将给 定的节点转换成树叶,并以样本中元组个数最多的类别作为类别标记,同时也可以存放该 节点样本的类别分布。
[0024] (3)如果某一分枝没有样本,则以样本的多数类创建一个叶节点。
[0025] C :当步骤B中的决策树构造完毕后,需要对构造完成的决策树进行校验、修正;
[0026] C1 :使用新的训练样本数据集中的数据校验构造完成的决策树产生的初步规则;
[0027] C2 :将影响预测准确性的分枝剪除,修正完毕。
[0028] 本发明将决策树划分为由决策属性节点、属性值分枝和叶节点组成,决策属性节 点是进行分类的决策属性的集合,属性值分枝是按照决策属性进一步划分的取值特性的属 性值的集合,叶节点是决策或分类结果的集合,再根据贪心算法构造决策树,根据用户的实 际需要选择类别标识属性和决策树的决策属性集,再对构造完成的决策树进行校验、修正; 利用本方法能够为工业以太网故障诊断提供有效的推理决策及数据支持,保证工业以太网 故障诊断的准确实施和工作。
【专利附图】
【附图说明】
[0029] 图1为本发明的决策树创建流程图;
[0030] 图2为本发明的决策树构建示意图。
【具体实施方式】
[0031] 如图1、2所示,本发明所述的决策树包括决策属性节点、属性值分枝和叶节点,决 策属性节点是进行分类的决策属性的集合,属性值分枝是按照决策属性进一步划分的取值 特性的属性值的集合,叶节点是决策或分类结果的集合;
[0032] 决策树的创建方法包括以下步骤:
[0033] A :首先,根据用户的实际需要选择类别标识属性和决策树的决策属性集,类别标 识属性是指根据用户实际需要选取的某一特定属性,决策属性集是指在除了类别标识属性 之外的所有属性中选择的属性集;
[0034] B :根据贪心算法构造决策树,贪心算法指以自顶向下递归规律,各个击破的方式, 贪心算法步骤如下:
[0035] B1 :树从代表训练样本的单个节点开始;
[0036] B2:如果训练样本均在同一个类,则该节点成为叶节点,并用该类标记,否则,选择 最有分类能力的属性节点作为决策树的当前叶节点;
[0037] B3:根据当前节点属性取值的不同,将训练样本数据集划分为若干子集,每个取值 形成一个分枝;
[0038] B4:针对上一步得到的一个子集,重复进行步骤B3,递归形成每个划分样本上的 决策树;
[0039] B5 :递归划分步骤当且仅当下列条件之一成立时停止:
[0040] (1)给定节点的所有样本属于同一类。
[0041] (2)没有剩余属性可以用来进一步划分样本;在这种情况下,使用多数表决,将给 定的节点转换成树叶,并以样本中元组个数最多的类别作为类别标记,同时也可以存放该 节点样本的类别分布。
[0042] (3)如果某一分枝没有样本,则以样本的多数类创建一个叶节点。
[0043] C :当步骤B中的决策树构造完毕后,需要对构造完成的决策树进行校验、修正; [0044] C1 :使用新的训练样本数据集中的数据校验构造完成的决策树产生的初步规则;
[0045] C2 :将影响预测准确性的分枝剪除,修正完毕。
[0046] 决策树是由内部的决策属性、属性值构成的枝干和用于保存结果的叶节点组成, 那么它的推理过程就是利用其内部所蕴含的知识进行问题求解的过程。也就是说,决策树 推理就是从根节点开始,通过重复的在内部节点上进行决策属性及其取值的比较,确定决 策树向下延伸(即搜索)的分支,最终到达叶节点,得到所要的结论,那么,决策树的推理过 程结束。事实上,决策树的推理过程就是对决策树按深度优先策略进行遍历的过程,只要到 达叶节点,便结束它的推理(或遍历)过程。
[0047] 决策树学习的目的是从大量的实例中归纳出以决策树形式表示的知识,故可以认 为决策树学习过程就是一种知识获取过程。这样,决策树学习与知识获取问题就联系起来, 我们通过把知识获取问题转换为决策树学习问题就可以实现知识的自动获取,而决策树学 习的核心是学习算法。
[0048] 知识表示是一种描述专家知识的约定,以便于把人类的知识表示成机器能够处理 的数据结构。良好的知识表示形式不仅可以提高知识存储的有效性和运用效率,而且也可 以提高智能系统的推理效率。决策树的内部决策属性节点、属性值分枝和叶节点构成了一 种树形数据结构。通过决策树的学习算法生成一棵决策树,它就可以实现对未知事例进行 分类或进行决策分析。因此可以认为一棵学习完成的决策树中包含了一定的知识,也就是 说,决策树具有表达知识的能力。决策树的内部节点是属性的集合,分枝是属性值的集合, 而叶节点是决策或分类结果的集合。决策树就是利用属性及其取值来表示知识的前提部 分,而用叶节点表示知识的结论部分,从而把专家知识以决策树的形式表示出来。一条决策 树分类规则就是确定故障分类决策的一个知识,也就是说基于这个知识即可判定故障的类 型。这正是利用决策树建立网络故障诊断专家系统知识库的基本依据。
[0049] 为了说明决策树知识表示方法,作为示例,给出一组判断故障的规则。
[0050] 规则1 : if主机网卡工作正常and主机配置正确and主机CPU利用率> 90,then 主机系统故障故障。
[0051] 规则2 :if主机网卡工作不正常and主机网卡不能收到包,then主机网络硬件故 障。
[0052] 通过这种方法,决策规则集合变成了关系数据库中的一个表格,表格中条件属性 和决策属性之间的逻辑关系通过规则字典来体现。每条决策规则变成了一条数据记录。
[0053] 因此,研宄基于决策树的知识获取方法实际上就是研宄决策树学习的学习算法。 下面论述利用学习算法生成决策树,以实现知识的自动获取,即机器学习。
[0054] 决策树构造可以分两步进行。第一步,决策树的生成:由训练样本集生成决策树。 一般情况下,训练样本数据集是一格根据实际需要由历史的、有一定综合程度的、用于数据 分析处理的数据集合。第二步,决策树的剪枝:对上一阶段生成的决策树进行检验、校正和 修正。这一步的作用主要是用新的样本数据集(称为测试数据集)中的数据校验决策树生 成过程步骤一产生的初步规则,将那些影响预测准确性的分枝剪除。
[0055] 决策树生成的过程中,输入为训练样本数据集,输出结果就是决策树。决策树中包 含节点、分支、叶子三种元素。其中,决策树的每一个决策节点对应着进行分类的一个决策 属性(测试属性),分支对应着按该属性进一步划分的取值特征,叶子代表类或类的分布。 首先,根据用户的实际需要选择类别标识属性和决策树的决策属性集,决策属性集是指在 候选属性(除了类别标识属性之外的所有属性)中选择的属性集,然后开始构造决策树,决 策树归纳的基本算法是贪心算法,即以自顶向下递归的各个击破的方式构造决策树。算法 描述如下:
[0056] 步骤1 :树以代表训练样本的单个节点开始。
[0057] 步骤2 :如果样本都在同一个类,则该节点成为树叶,并用该类标记。
[0058] 步骤3 :否则,算法选择最有分类能力的属性作为决策树的当前节点。
[0059] 步骤4 :根据当前决策节点属性取值的不同,将训练样本数据集划分为若干子集。 每个取值形成一个分枝,有几个取值形成几个分支。
[0060] 步骤5 :针对上一步得到的一个子集,重复进行先前步骤,递归形成每个划分样本 上的决策树。一旦一个属性出现在一个节点上,就不必在该节点的任何后代考虑它。
[0061] 步骤6 :递归划分步骤当且仅当下列条件之一成立时停止:
[0062] (1)给定节点的所有样本属于同一类。
[0063] (2)没有剩余属性可以用来进一步划分样本。在这种情况下,使用多数表决,将给 定的节点转换成树叶,并以样本中元组个数最多的类别作为类别标记,同时也可以存放该 节点样本的类别分布。
[0064] (3)如果某一分枝没有样本,则以样本的多数类创建一个树叶。
[0065] 决策树生成后,需要从决策树中提取分类规则,一般需要进行两个步骤,首先获得 简单规则,然后精简规则属性。
[0066] -、获得简单规则
[0067] 对于生成好的决策树,可以非常容易地从中提取分类规则,并以if-then的形式 表示。我们对从根到树叶的每条路径创建一个规则,沿着给定路径上的每个属性-值对 形成规则前件(if?部分)的一个合取项,叶节点包含类预测,形成规则后件(then部分)。 If-then规则易于理解,特别是当给定的树很大时。
[0068] 二、精简规则属性
[0069] 从决策树上直接获得的简单规则,一般都包含了很多无关的属性,在不影响规则 预测效果的情况下,应尽量删除那些不必要的规则。
[0070] 设规则的形式为W,
[0071] If CthenCLASSD
[0072] 精简之后的规则形式为R
[0073] ifC,Then CLASS D
[0074] 其中C'是从C中删除条件Q之后的形式。这样,规则W'覆盖的实例可分为以下4个 部分:满足条件C,属于类D的;满足条件C,属于其他类的;满足条件C',但不满足条件Q,属 于类D的;满足条件C',但不满足条件Q,属于其他类的,以上四类实例分别用Y1、F1,Y2,F2 来表示。规则W覆盖了 Y1+F1个实例,其中误判实例数目为F1。规则R覆盖Y1+F1+Y2+F2。所 以规则R的误判概率为Ucf (El,Y1+E1),规则R -的误判概率为UCF (E1+E2, Y1+E1+Y2+E2)。 如果 Ucf (Fl,Y1+F1)> = Ucf (F1+F2, Y1+F1+Y2+F2),则可以从条件 C 中删除条件 Q。
[0075] 获得最优规则前件集是一个重要问题。一种贪婪搜索方法是,每次从条件集合中 删除一个对预测效果影响最小的条件,如果删除该条件后,误判概率减少了,则上述过程继 续。如果删除后,误判概率增加了,则不能够删除该条件,而整个精简过程也同时结束。
[0076] 将决策树转化为规则后,由于他们易于理解的,所以它们可以构成专家系统的基 础。规则的剪枝将比树的剪枝算法提供更高的准确率,因为规则的剪枝相当于在树的剪枝 中只剪一个叶节点,而这在树的剪枝中是做不到的。
[0077] 为了验证构造决策树方法在系统知识获取上的有效性,选取网络设备信息中的7 种属性组成故障识别参数集A。其中A1代表网卡状态、A2代表配置是否正确、A 3代表CPU 利用率、A4代表DISK利用率、A 5代表网卡收包错误率、A6代表是否重启动、A7代表网卡 是否捕获到包,共80个样本实例来建立故障决策树,其中选取20个作为测试数据。选取的 样本数据如表4. 1所示。
[0078] 表4. 1样本数据
[0079]
【权利要求】
1. 一种基于工业以太网故障诊断方法中决策树的创建方法,其特征在于:所述的决策 树包括决策属性节点、属性值分枝和叶节点,决策属性节点是进行分类的决策属性的集合, 属性值分枝是按照决策属性进一步划分的取值特性的属性值的集合,叶节点是决策或分类 结果的集合; 决策树的创建方法包括以下步骤: A :首先,根据用户的实际需要选择类别标识属性和决策树的决策属性集,类别标识属 性是指根据用户实际需要选取的某一特定属性,决策属性集是指在除了类别标识属性之外 的所有属性中选择的属性集; B :根据贪心算法构造决策树,贪心算法指以自顶向下递归规律,各个击破的方式,贪心 算法步骤如下: B1 :树从代表训练样本的单个节点开始; B2 :如果训练样本均在同一个类,则该节点成为叶节点,并用该类标记,否则,选择最有 分类能力的属性节点作为决策树的当前叶节点; B3:根据当前节点属性取值的不同,将训练样本数据集划分为若干子集,每个取值形成 一个分枝; B4 :针对步骤B3得到的一个子集,重复进行步骤B3,递归形成每个划分样本上的决策 树; B5 :递归划分步骤当且仅当下列条件之一成立时停止: (1) 给定节点的所有样本属于同一类; (2) 没有剩余属性可以用来进一步划分样本;在这种情况下,使用多数表决,将给定的 节点转换成树叶,并以样本中元组个数最多的类别作为类别标记,同时也可以存放该节点 样本的类别分布; (3) 如果某一分枝没有样本,则以样本的多数类创建一个叶节点; C :当步骤B中的决策树构造完毕后,需要对构造完成的决策树进行校验、修正; C1 :使用新的训练样本数据集中的数据校验构造完成的决策树产生的初步规则; C2 :将影响预测准确性的分枝剪除,修正完毕。
【文档编号】H04L12/24GK104506340SQ201410677493
【公开日】2015年4月8日 申请日期:2014年11月21日 优先权日:2014年11月21日
【发明者】孟瑾, 吴雪芹, 王德吉, 张乾, 蔡保国, 孟霞, 刘博
申请人:河南中烟工业有限责任公司