基于遗传规划决策树的信息物理融合系统数据分类方法
技术领域
本发明涉及一种基于遗传规划的决策树分类方法,主要用于解决信息物理融合系统中大规模数据考虑代价损失时,分类过程繁琐、耗时过多、效率低下的问题,属于信息物理融合系统和数据挖掘的交叉技术应用领域。
背景技术
信息物理融合系统被认为是继计算机、互联网之后世界信息技术的第三次浪潮。信息物理融合系统可以理解为基于嵌入式设备的高效网络化智能信息系统,是具有高度自主感知、自主判断、自主调节和自治能力,能够实现虚拟世界和现实物理世界互联与协同的下一代智能系统。信息物理融合系统在功能上主要考虑性能优化,是集计算(Computation)、通信(Communication)与控制(Control)3C于一体的智能技术。现在,信息物理融合系统技术已经得到了国际工商业界和许多大型国际公司的高度关注,发展速度极为迅速,已被应用于交通、医疗、能源等多个重要发展领域,具有广阔的应用前景。
数据挖掘是一个迭代过程,它从大量的数据中搜寻有价值的、非同寻常的新信息,是人和计算机合作的结果;它在人类专家描述问题和目标的知识与计算机的搜索能力之间寻求平衡,以求获得最好的结果。数据挖掘是计算机行业中发展最快的领域之一,以前它只是计算机科学和统计学中的一个主题,现如今,它已经迅速发展成为一个独立的领域。数据挖掘最强大的一个优势在于它可以把许多方法和技术应用与大量的问题集。数据挖掘是一个在大数据集上进行的自然行为,所以其最大的目标市场是整个数据仓库、数据集市和决策支持业界,包括诸如零售、制造、电信、医疗、保险、运输等行业。
分类是一种重要的数据分析形式,它提取刻画重要数据类的模型。这种模型称为决策树,预测分类的类标号。分类一般分为两个步骤:第一步,我们基于给出的数据建立一个分类模型;第二步,确定该模型的准确率是否可以接受,如果可以,则使用该模型对新的数据进行分类。大部分的分类算法是内存驻留的算法,通常假定数据量很小。随着现代技术的不断发展,数据挖掘研究建立在这些工作基础上,开发了可伸缩的分类和预测技术,能够处理大的、驻留磁盘的数据。分类有大量应用,包括欺诈检测、目标营销、性能预测、制造和医疗诊断等。
决策树是一种类似流程图的树结构,它是一种典型的分类方法。它首先对数据进行处理,利用归纳算法生成可读的规则并建立决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。在20世纪70年代后期和20世纪80年代初期,机器学习研究院J.Ross Quinlan开发了决策树算法,称为迭代的二分器(Iterative Dichotomiser,ID3)。Quinlan后来又提出了ID3的后继C4.5成为了新的监督学习算法的性能比较基准。1984年,多位统计学家出版了《Classification and Regression Trees》(CART),介绍了二叉决策树的产生。传统的决策树算大多采用了贪心方法,并且使用了自顶向下递归的分治方法构造树结构。
遗传规划是进化计算领域的重要技术之一,也称遗传编程,是由美国的Koza教授于1992年提出的一种新的进化计算方法。利用这种技术可以在不知道解的任何信息的情况下,自动化的解决问题。在Nichael L.Cramer发明了基于树状结构的遗传规划后,其作为进化算法的重要方向之一被广泛应用。之后在学者的大力推进发展下,遗传规划开始被应用于自动编程以及数值组合优化问题中。
遗传规划是一个基于随机搜索技术的优化方法,由一群个体组成,每一个个体代表一个染色体,且都有一个适应度。依据达尔文进化论中的适者生存的原则,通过处理具有高适应度的个体来产生下一代的种群,如此反复。最终,所需求解的问题的最优解或者近似最优解,会出现在某一代中。遗传规划相较于遗传算法而言,其最为显著的特点为,在遗传规则中是以树型结构为个体,进而有这些个体组成种群。其中树型结构的节点分别由终结点、原始函数和运算符号组成。
遗传规划运用进化计算的思想,采用树型结构来进行个体的编码。克服了传统遗传算法在定长基因编码上的局限。遗传规划是一种通用的,不依赖于待解问题所处领域的方法,提供了一种找到待解问题最优解或者近似最优解的统一方法。
遗传规划可以动态生成预测分析的最优非线性结果,也能应用在信息物理融合系统的分类问题中,包括气象预报、金融、医疗等领域。原因在于他不需要数据统计分布的与处理知识,就能进行类别判别的处理。
发明内容
技术问题:本发明的目的是提供一种基于遗传规划决策树的信息物理融合系统数据分类方法,该方法在决策树建立的过程中增加了遗传规划的步骤,以解决信息物理融合系统中大规模数据考虑代价损失时,分类过程繁琐、耗时过多、效率低下的问题。
技术方案:本发明所述的基于遗传规划决策树的信息物理融合系统数据分类方法,用户先在信息物理融合系统中构建多棵决策树,再使用遗传规划的方法对这些决策树进行优化处理,最终留下合适的几个决策树。利用留下的决策树,在减少代价损失的基础上对训练数据类别进行修改,用修改后的训练数据重新生成一棵决策树,使用最终生成的决策树对数据进行分类。
本发明所述的信息物理融合系统由若干物理单元和一个信息单元组成,其中所述的物理单元用于收集数据;所述信息单元用于接收并存储物理单元发送的数据,以及对这些进行分析和处理。
基于遗传规划决策树的信息物理融合系统数据分类方法包括以下步骤:
步骤1)用户将信息物理融合系统的组成单元划分为多个物理单元和一个信息单元;所述物理单元用于收集数据,所述信息单元用于分析和处理数据;
步骤2)用户启动物理单元开始收集信息物理融合系统的数据。每个数据包括数据样本号、属性值、类别、错误分类的代价损失值;
步骤3)信息单元将由物理单元传送来的数据划分为训练数据和测试数据,并记录下数据类别的个数;
步骤4)信息单元采用有放回的方式,使用训练数据建立多个决策树。所述决策树为机器学习分类算法中一种树型结构的分类器,分类器是一种计算机程序,作用是可自动将数据分到已知类别;
步骤5)使用测试样本对建立好的决策树进行测试,记录每个决策树的分类准确率和代价损失。所述分类准确率是指该决策树在对测试数据进行分类时,正确分类的数据数和总的测试数据数的比值;代价损失指的是该决策树对所有测试数据进行分类后,所得到的错误分类的代价总和;
步骤6)在信息单元中计算并记录所有决策树的适应度值。所述适应度值是用户分别赋予该决策树的分类准确率和代价损失一个权值,该决策树的分类准确率以及代价损失的加权和便是该决策树的适应度值;
步骤7)在信息单元中对决策树进行运算处理,具体步骤如下:
步骤7.1)在所有决策树中,除去适应度值最高的决策树,任意选取两个决策树;
步骤7.2)在被选取的两个决策树上,分别随机选择一个节点,交换以这两个节点为根节点的子树,并计算记录此时的决策树的适应度值;
步骤7.3)使用之前未参与运算的决策树替换运算后的适应度值最低的决策树;
步骤7.4)判断此时信息单元中的决策树个数是否和数据类别数相等,若相等则终止运算;否则继续重复步骤7;
步骤8)在信息单元中,使用最终留下的决策树对训练数据进行分类处理。如果所有决策树对某个训练数据的类别判定一致,则将该数据的类别标记为此判定类别;否则根据最小条件风险修改类标记。所述最小条件风险具体如下:首先计算该训练数据分类为每一个类别的概率;其次分别计算不同概率和每个决策树的分类准确率、此时所需要付出的错误分类代价,三者的乘积;最后选取乘积最小时,决策树对该训练数据进行分类判定的类别作为训练数据的类别;
步骤9)信息单元使用上述修改过的训练数据重新生成新的决策树。
有益效果:本发明在对信息物理融合系统数据进行分类的时候,使用了数据挖掘中分类算法的决策树算法,并引入了遗传规划相关步骤,以解决信息物理融合系统中大规模数据考虑代价损失时,分类耗时过多、效率低下的问题。具体来说,本发明所述的基于遗传规划决策树的信息物理融合系统数据分类方法具有如下的有益效果:
(1)决策树易于理解和实现,使用者在学习过程中不需要了解很多的背景知识,只需要通过解释后,可以理解决策树所表达的意义即刻。
(2)决策树能够直接体现数据的特点,树型结构易于使用者观察和理解。
(3)引入遗传规划可以在大规模数据考虑代价损失时,通过优化决策树对数据处理繁琐的过处,在保证一定的分类准确率和较低的代价损失的同时,有效的减少最终决策树构建的耗时。
(4)遗传规划运用进化计算的思想,采用树型结构来进行个体的编码。和决策树算法可以很好的契合在一起。
(5)遗传规划是一种通用的,不依赖于待解问题所处领域的方法,提供了一种找到待解问题最优解或者近似最优解的统一方法。
附图说明
图1建立单个决策树的过程。
图2基于遗传规划决策树的信息物理融合系统数据分类方法流程图。
具体实施方式
本发明使用结合遗传规划的决策树算法,优化信息物理融合系统中对于数据的分类,减少错误分类带来的损失。下面根据附图和实施例对本发明作更详细的描述。本专利根据医院心脏检测数据进行具体描述,心脏检测数据包括样本号、属性值、类别等。其中属性包括年龄、性别、胸痛类型、空腹血糖、最大心率等14个属性,其中最后一个属性为类别。类别数为2,分别是患有心脏疾病和不患有心脏疾病。
1、用户将信息物理融合系统的组成单元划分为多个物理单元和一个信息单元;所述物理单元用于收集心脏检测数据,所述信息单元用于分析和处理心脏检测数据;
2、用户启动所有物理单元进行数据的采集,之后将收集到的数据传送至信息单元,供信息单元进行后续的分析处理。
3、信息单元将由物理单元传送来的数据划分为训练数据和测试数据。其中每个数据包含数据样本号、属性值、类别、错误分类的代价损失值。记录下数据类别的个数。
4、信息单元使用训练数据构建多个决策树,在构建的过程中采用有放回的方式。所述决策树为机器学习分类算法中一种树型结构的分类器,其中根结点包含所有的输入样本数据,叶子结点为分类的结果,其余结点代表对某个属性的测试。分类器是一种计算机程序,作用是可自动将数据分到已知类别。具体的每个决策树建立过程如下:
4.1、建立一个结点作为决策树的根结点。
4.2、判断训练集中是否只有一个类别,若是则将结点标记为叶子结点,并结束决策树的构造过程;若否则判断样本是否有属性存在。
4.3、若样本没有属性,则将训练集中拥有个数最多的类别标记为叶子结点,并结束构造过程;若否则开始寻找最好的分裂规则。
4.4、计算信息增益,选取最大的作为分裂属性建立分支,并从样本数据中的删除此属性。所述信息增益是一种衡量标准,是看属性能够为分类带来多少信息(此处的信息是指对于最终分类结果的影响),带来的信息越多(影响越大),该属性越重要。其中信息增益的公式为D是训练集,pi表示训练集中属于类i的非零概率。所述分裂属性是指选择某个属性作为决策树树型结构分支的条件,如果属性值是离散的,则一般包含这个属性所有可能属性值个数的分支;如果是连续数值属性,则通常是判断这个数值是否大于或则小于等于某个事先定义的常量,给出一个二叉分裂。
4.5、对每个分支进行上述d步骤的操作,并且进行b和c步骤的判断;
5、使用测试样本对建立好的决策树进行测试,记录每个决策树的分类准确率和代价损失。所述分类准确率是指该决策树在对测试数据进行分类时,正确分类的数据数和总的测试数据数的比值;代价损失指的是该决策树对所有测试数据进行分类后,所得到的错误分类的代价总和。
6、在信息单元中计算并记录所有决策树的适应度值。所述适应度值是用户分别赋予该决策树的分类准确率和代价损失一个权值,该决策树的分类准确率以及代价损失的加权和便是该决策树的适应度值。
7、在信息单元中对决策树进行运算处理,具体步骤如下:
7.1、在所有决策树中,除去适应度值最高的决策树,任意选取两个决策树。
7.2、在被选取的两个决策树上,分别随机选择一个节点,交换以这两个节点为根节点的子树。并计算记录此时的决策树的适应度值。
7.3、使用之前未参与运算的决策树替换运算后的适应度值最低的决策树。
7.4、判断此时信息单元中的决策树个数是否和数据类别数相等,若相等则终止运算;否则继续重复步骤7。
8、在信息单元中,使用最终留下的决策树对训练数据进行分类处理。如果所有决策树对某个训练数据的类别判定一致,则将该数据的类别标记为此判定类别;否则根据最小条件风险修改类标记。所述最小条件风险具体如下:首先计算该训练数据分类为每一个类别的概率;其次分别计算不同概率和每个决策树的分类准确率、此时所需要付出的错误分类代价,三者的乘积;最后选取乘积最小时的决策树对该训练数据进行分类判定的类别作为训练数据的类别。
9、信息单元使用上述训练修改过的训练数据构建决策树。