您好, 访客   登录/注册

机器学习分类问题及算法研究

来源:用户上传      作者:周捷 朱建文

  摘  要: 机器学习是一门综合性较强的学科,对该学科的研究多集中在分类问题和算法方面。基于此点,文章从机器学习的内涵及发展历程介绍入手,分析了机器学习中的分类问题及学习步骤,在此基础上对机器学习的算法分类进行论述。
  关键词: 机器学习;分类;算法
  中图分类号: TP181    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2019.07.040
  【Abstract】: Machine learning is a comprehensive subject, and research of the subject mostly focuses on classification and algorithms. Based on the point, the paper introduces connotation and development of machine learning, analyses classification issues and learning steps in machine learning, and discusses algorithms classification on above basis.
  【Key words】: Machine learning; Classification; Algorithm
  0  引言
  近年来,随着科技的不断进步,使得人工智能技术得到快速发展,作为人工智能核心的机器学习也获得业内专家学者的广泛关注,研究范围进一步扩大,研究的重点以分类问题及相关的算法为主[1]。机器学习的分类精度、学习速度以及解答的正确性和质量等方面,是评价其学习能力的关键指标[2]。鉴于此,下面重点对机器学习分类问题及算法展开探讨。
  1  机器学习的内涵及发展历程
  1.1  内涵
  机器学习是人工智能的核心,是实现计算机智能化的重要途径。近年来,随着计算机网络技术的快速发展,使得机器学习的内涵变得越来越丰富,尤其是在人工智能的数据挖掘和知识发现中,涉及了海量数据,其中的数据形式呈现为多样化的特点,如文本类、图形图像以及语音视频等等,既有结构化数据,也有半结构化数据,多种学习方法并存,如分类、聚类、贝叶斯、决策树以及遗传算法等等。机器学习最为主要的任务就是获得对输入数据分类的能力,主要包括对不同概念的区分以及对文字信息的识别等等,同时,还需要获得解决实际问题和行为控制的能力[3]。
  1.2  发展历程
  机器学习是人工智能领域研究的重点,其发展经历了四个阶段,上个世纪50年代中期到60年代中期,是机器学习的第一階段,在该阶段,业内的专家学者对机器学习的研究热情异常高涨,为机器学习的后续发展奠定了基础;上个世纪60年代中期到70年代中期,是机器学习的第二个阶段,在该阶段机器学习的研究趋于平缓;从上个世纪70年代中期到80年代中期,机器学习进入了第三阶段,这个阶段是机器学习的复兴时期;从1986年至今是机器学习发展的最新阶段,进入该阶段后机器学习正式成为边缘学科,很多高校都开设了机器学习课程,与人工智能基础问题的统一性观点也在该阶段逐步形成,如学习与问题求解的有机结合等。同时机器学习方法的应用领域逐步拓宽,有些成为可以流通的商品[4]。
  2  机器学习中的分类问题及学习步骤分析
  2.1  分类问题
  对于机器学习而言,分类问题是基础,很多应用均是从分类问题演变而来。机器学习能够借助计算机在海量的数据当中,对数据的规律和模式进行学习,并在学习的过程中,对数据内部潜在的、有利用价值的信息进行深入挖掘。机器学习的数据处理主要有两种,一种是监督学习,另一种是无监督学习。
  2.1.1  监督学习问题
  所谓的监督学习具体是指借助带有标签的数据地学习过程进行辅助,从而达到学习目标,通过实践证明这种机器学习方式的效果较好。然而,由于学习中需要使用标签数据,致使学习成本较高。在该学习方式下,初始数据是不可或缺的要素,必须在学习前进行收集[5]。监督学习最为突出的优势是可以使机器本身所具备的泛化能力得以充分发挥,由此便可使分类及回归等问题得到有效解决。在该学习方式中,较为常用的算法有以下几种:多层感知、神经网络以及逻辑回归等等,整个训练过程是以标注特征为核心展开的。通过监督学习能够使机器获得合理划分不同事物的能力,并且还能对规则以及规律数据等进行预测。该学习方式中的包含两类问题,一类是分类问题,其特征是输出变量处于离散状态;另一类是回归问题,其特征为是输出变量处于连续状态。
  2.1.2  无监督学习问题
  无监督学习是一种更加先进的学习方式,它是利用计算机本身所具备的自动化功能来完成学习过程,依托各种数据,对知识的吸收过程进行完善,由于该学习方式的成本具有可控性的特点[6]。因此,学习中无需投入较大的资金,经济性较高。但从实践情况上,这种机器学习方式的效率并不是很高。在该学习方式下,当样本数据尚未进行标记时,机器通常不会进入训练状态,其最为突出的优势在于机器能够与人一样,学习所需的知识,对于不需要的知识则会自动忽略,通过有选择性的学习,可以使知识的获取更具针对性。无监督学习方式中较为常用的算法有以下几种:深度置信网络、自动编码器等等,该学习方式在聚类问题的解决中应用较为广泛。在无监督学习问题中,数据本身并没有标签,学习过程主要是对数据中隐藏的结构进行分析,据此来发现是否有能够被区分的群组。
  2.2  基本学习步骤   在机器学习中,可以完成分类任务的算法被通称为分类器,在评价分类器优劣时,准确率是关键指标,即通过分类器进行分类后,获得的正确数据在总数据中的占比。数据集是由三个部分组成,即训练数据、验证数据和测试数据,这三个部分之间相互独立,任何一部分数据中都不得存在其它部分的数据,简而言之,就是在训练数据中不能包含验证数据或是测试数据[7]。
  2.2.1  构建训练模型
  这是分类器训练的第一个步骤,具体是指利用相关的训练数据及标签,对具体的训练模型进行构建。
  2.2.2  验证数据输入
  当训练模型建好之后,需要将相关的验证数据输入到模型当中,对数据标签与模型分类结果之间的差异和区别进行比较,以此来评价算法的学习效果。验证数据是机器学习算法准确率的获取基础,所以验证数据的选择尤为重要。
  2.2.3  算法的实际应用
  当模型训练达到预期目标后,并在验证数据上取得良好的效果时,便可将该模型用于解决一些实际问题。
  3  机器学习的算法分类
  目前,可在机器学习分类中使用的算法种类相对较多,其中较具典型性和代表性的算法有以下几种:决策树、支持向量机、关联规则以及AdaBoost算法等,下面分别进行分析。
  3.1  决策树算法
  决策树归属于预测模型的范畴,它表示的是一种映射关系,在该关系中的基本要素为对象的属性和值[8]。决策树中每一个节点均代表了一个具体的对象,每个分叉路径则表示可能存在的属性值。由于决策树本身只能进行单一的输出,如果需要实现复数的输出,则需要建立一个完全独立的决策树对不同类型的输出进行处理。决策树学习实质上就是从数据产生决策树的机器学习,是数据挖掘中较为常用的方法之一。在机器学习中,每一个决策树代表的是一种不同的树型结构,可由分支对某个类型的对象属性进行分类,数据测试过程则可通过对源数据库的分割来实现。为了简化数据测试过程,可采用递归式的方法对决策树中的枝叶、进行修剪。当无法继续进行分割时,递归便会随之结束。在对决策树进行构建时,可以对计算条件概率进行利用,而借助数学方法则可获得更加理想的效果。决策树的具体工作过程如下:一般的决策树都是从下向上生成,虽然可选择的分割方法种类不同,但最终目的却基本相同,即对目标进行最佳分割,从决策树的根节点到叶节点之间存在一条路径,这个路径被称之为规则,决策树的叉可以为二或是更多,在对每个节点进行衡量时,需要对该节点的记录数进行利用,若是叶节点,则可对路径进行分类[9]。
  决策树中,因ID3算法在实际应用中的问题较多,为了解决这些问题,业内的专家学者对ID3算法进行了改进,提出C4.5算法,该算法具有ID3算法全部优点,并弥补了ID3算法的不足,具体体现在如下几个方面:在属性的选择上可借助增益率来完成,从而解决了偏向选择值的问题;在决策树的构造过程中可以完成枝、叶的修剪;可對连续属性进行离散化处理,并且还可对不完整的数据进行处理。由于C4.5算法是对ID3算法的改进,所以其核心仍然为ID3算法,分类决策树算法是一种能够从大量事例中对分类规则进行提取的决策树,其根、枝和叶分别代表了学习的事例集、分类的判定条件以及分好的类。该算法对数据具有如下要求:数据中包含的全部属性均应当为离散量;训练例的属性中至少要有一个明确值,并且训练例应当具有唯一性。
  3.2  支持向量机
  支持向量机简称SVM,是一种监督学习方法,该算法在1964年被正式提出,并在上个世纪90年后获得快速发展,由此衍生出一系列的改进和扩展算法,在统计分类和回归分析中的应用较为广泛,可以解决文本分类及人像识别等问题。SVM是一种具有线性特征的分类器,其较为突出的特点是可以同时实现最小化经验误差和最大化几何边缘区。在解决统计分类问题时,EM(最大期望)算法比较常见,同时该算法在机器学习领域中的应用也比较广泛。EM算法的计算分为以下两个步骤,首先是对期望E进行计算,即最大期望值;其次,是对最大化M进行计算,两个步骤反复交替进行,直至获得最大期望值为止。业内的专家学者在对SVM算法进行深入研究后,将概算法核心思想总结为如下两点;一是可分析线性可分的情况,而对于非线性不可分的情况,需要借助映射算法对样本进行转化,从而使其具备线性可分的特征,进而使线性分析成为可能。二是以结构风险最小化作为理论基础,并在特征空间中完成最优分割面的建构,由此可使机器学习获得全局最优。
  3.3  关联规则算法
  关联规则算法的核心是递推,在分类属于布尔关联规则,所有大于最小支持度的项集被统称为频集。利用该算法可对数据的关联性进行挖掘,进而找出数据在决策中具有的参考价值。关联规则算法在运用时,需要使用到如下前置统计量:最大规则物件数、最小支援和最小信心水准。该算法的核心思想如下:找到全部频集,由此产生强关联规则,生成的规则不但要满足最小支持度,而且还应当符合最小可信度的要求,再利用频集产生期望的规则,当规则生成后,只有大于最小可信度的会被保留下来。在频集的生成中需要使用递推的方法。该算法唯一的不足是在使用过程中会对数据库进行重复扫描[10]。
  3.4  AdaBoost算法
  AdaBoost归属于迭代算法的范畴,该算法可以针对同一个训练集训练出多个不同的分类器,这些分类器全部都是弱分类器,通过对分类器进行集合后,便可以获得一个功能更加、性能更为完善的最终分类器,即强分类器。该算法的实现过程相对比较简单,即改变数据分布,其对样本权值的确定依据是分类的正确率,通过修改权值后获得的新数据为分类器训练提供数据,最终便可得到决策分类器。在机器学习中利用该算法可以将不必要的训练数据特征排除掉,从而使学习的重点集中在关键的数据上。业内的专家学者对该算法的研究大多集中在分类问题上,其能够解决的问题包括多类单标签、多类多标签等,该算法能够利用全部的训练样本完成学习。   从本质的角度上来看,AdaBoost算法是对弱分类算法的提升过程,具体是通过连续不断地训练来达到提升分类能力的目的。具体如下:在对N个训练样本进行学习后,可以获得弱分类器,再将分错的样本和新数据构成一个新的训练样本,然后继续学习获得第二个弱分类器,重复这一过程获得第三个弱分类器,最后通过提升获得强分类器。在实际应用中发现,该算法存在如下问题:训练集调整和弱分类器联合,通过对该算法的优化调整可使这两个问题得到解决,即在训练数据的选取上采用加权的方法,由此可使训练的焦点集中在难分的样本上。同时利用加权投票机制代替平均投票机制,使分类效果较好的弱分类器在所有的分类器中占有较大的权重,效果差的则具有较小的权重,这样便可顺利实现弱分类器的联合。
  4  结语
  综上所述,机器学习作为人工智能的核心,分类则是其最为关键的一个任务,通过对分类问题的研究,能够使机器学习的能力获得进一步提升。目前,虽然机器学习算法的种类较多,但却并没有任何一种算法能够解决所有的问题,因此,可将算法进行联合使用,发挥优点弥补不足,以此来促进机器学习能力的提升。
  参考文献
  [1]       张润, 王永滨. 机器学习及其算法和发展研究[J]. 中国传媒大学学报(自然科学版), 2016, 23(2): 10-18.
  [2]       王静. 基于机器学习的文本分类算法研究与应用[D]. 电子科技大学, 2015.
  [3]       熊玲, 周文瑄, 唐建, 等. 面向專题检测的主题与社群联合聚类模型[J]. 指挥信息系统与技术, 2017, 8(4): 64-70.
  [4]       鞠芳, 唐辉, 陈学亮, 等. 试析基于机器学习的文本分类[J]. 电脑编程技巧与维护, 2018, 401(11): 38-41.
  [5]       刘鑫. 机器学习研究及其在生存分析中的应用[D]. 电子科技大学, 2018.
  [6]       李炜. 机器学习概述[J]. 科技视界, 2017(12): 149.
  [7]       张志强. 基于自学习向量空间模型文本分类算法的研究与应用[J]. 软件, 2016(9): 118-121.
  [8]       裴松年. 基于机器学习的分类算法研究[D]. 中北大学, 2016.
  [9]       陈嘉博. 机器学习算法研究及前景展望[J]. 信息通信, 2017(6): 76.
  [10]    贾鑫. 面向函数型数据分析的机器学习算法研究与应用[D]. 北京化工大学, 2016.
转载注明来源:https://www.xzbu.com/8/view-15016176.htm