沈荣 张保文
摘要:文章主要对机器学习中经典的四种学习方式即监督式学习、非监督式学习、半监督式学习、强化学习进行简单介绍,并重点提出了涉及机器学习方式下常用的一些算法,主要对机器学习目前最常用的回归算法、Apriori算法、FP Growth算法、决策树算法的基本理论进行阐述,并对决策树算法的基本构造方法进行详细说明。
关键词:监督式学习;回归算法;决策树算法;聚类算法
机器学习涉及神经网络、图建模、人工智能、最优化理论、模式识别、信号处理、深度学习等方面。目前机器学习较为新兴领域就是深度学习,深度学习主要是构建和模拟人脑进行分析学习,使计算机能够模拟人脑对数据进行解释,如图像、声音、和文本。由于机器学习领域深度学习的广泛应用,越来越多的学术机构和企业已经把目光转向了深度学习领域。近年来,机器学习领域深度学习目前在语音识别、计算机视觉、图像分类和自然语言方面取得了一定的成功。
1机器学习
对于机器学习,有以下基本的4种学习方式:
1)监督式学习
监督式学习方式是先输入“训练数据”,建立预测模型,在将预测结果与实际结果比较,直到一个预期的准确率。督式学习常见算法有回归算法和反向传递神经网络。
2)非监督式学习
在非监督式学习中,聚类分析的使用最为广泛,聚类的主要思想是将具体或抽象的对象的集合分组成多各类或簇的过程。聚类分析主要用数学的方法来研究与处理给定对象的分类,找出数据集中的相似性,从而找出有用信息。常见的聚类算法主要有基于划分的方法、基于密度方法、基于层次方法、基于网格方法。
3)半监督式学习
半监督式学习模型主要用来预测,最常用的是支持向量机算法,该方法建立在统计学习理论的VC维理论和结构风险最小原理基础之上,支持向量机在解决小样本,非线性及高维模式识别中表现出色,目前该算法可以推广并应用到函数拟合等其他机器学习问题中,目前该成为了模式识别中常用的方法之一。使用SVM还可以在高维空间构造良好的预测模型。
4)强化学习
在这种学习模式下,输入数据作为对模型的反馈,常见算法包括Q-Learning以及时间差学习(Temporal difference learning)。
2机器学习常用算法归类
我们可以根据算法的功能和形式的类似性进行分类,常用的分类有基于树的算法,基于神经网络的算法等等,下面介绍一些常用的算法。
2.1回归算法
回归算法预测的结果是连续的数值,线性回归算法是最常用的算法之一,其使用输入值的线性组合来预测输出值。
常见的回归算法还包括:最小二乘法(Ordinary Least Square),逻辑回归(Logistic Regression),逐步式回归(Stepwise Regression),多元自适应回归样条(Multivariate Adaptive Regression Splines)以及本地散点平滑估计(Locally Estimated Scatterplot Smoothing)。
2.2Apriori算法
1994年,R.Afrawal和R.Srikant提出了著名的Apriori算法。Apriori算法基于頻繁项集性质的先验知识,使用由上至下逐层搜索的迭代方法,即从频繁1项集开始,采用频繁k项集搜索频繁k+1项集,直到不能找到更多的频繁项集为止。
Aporiori的核心步骤是连接步和剪枝步,它是一种基于水平数据分布的、宽度优先的算法,由于使用了层次搜索的剪枝技术,使得Apfiofi算法在挖掘频繁模式时具有较高的效率。
同时Apriori算法有两个很大的缺点:一是Apriori算法是一个多趟搜索算法,每次搜索都要扫描事物数据库,I/O开销巨大,对于候选k项集ck来说,必须扫描其中的每个元素以确认是否加入频繁k项集Lk,若候选k项集Ck中包含n项,则至少需要扫描事物数据库n次。另外Apriori算法可能产生庞大的候选项集。由于针对频繁项集Lk-1的k-2连接运算,由Lk-1产生的候选k项集Ck是呈指数增长的,如此海量的候选集对于计算机的运算时间和存储空间都是巨大的挑战。
2.3FPGrowth算法
韩家炜等提出了一种不产生数据项集的算法——频繁模式树增长算法(Frequent Patter Tree Growth,FP增长)。FP增长是一种自底向上的探索树,由FP树(FP-tree)产生频繁项集的算法。它采用分而治之的算法,将数据库中的频繁项集压缩到一棵频繁模式树中,同时保持项集之间的关联关系。然后将这颗压缩后的频繁模式树分成一些条件子树,每个条件子树对应一个频繁项,从而获得频繁项集,最后进行关联规则挖掘。该算法高度浓缩了数据库,同时也能保证对频繁项集的挖掘是完备的。
2.4决策树算法
决策树(Decision Tree)最早产生于20世纪60年代,是一种生成分类器的有效方法,它从一组无次序、无规则的事例中推理出决策树表示形式的分类规则。在数据处理过程中,将数据按树状结构分成若干分支形成决策树,每个分支包含数据元祖的类别归属共性,从决策树的根到叶结点的每一条路径都对应着一条合取规则,整颗决策树就对应着一组析取表达式规则。因此,本质上来说,决策树就是通过一系列规则对数据进行分类的过程。
决策树分类算法通常分为两个步骤:构造决策树和修剪决策树。
构造决策树算法采用自上而下的递归构造,输入是一组带有类别标记的例子,构造的结果是一棵二叉树或多叉树,其内部结点是属性,边是该属性的所有取值,树的叶子结点都是类别标记。
构造决策树的方法主要是根据实际需求及所处理的数据的特性,选择类别标识属性和决策树的决策属性集,在决策属性集中选择最有分类标识能力的属性作为决策树的当前决策结点,根据当前决策结点属性取值的不同,将训练样本数据集划分为若干子集,针对上一步中得到的每一个子集,重复进行上两个步骤,直到最后的子集符合约束的3个条件之一,根据符合条件不同生成叶子节点。
由于训练样本中的噪声数据和孤立点,构建决策树可能存在对训练样本过度适应问题,从而导致在使用决策树模型进行分类时出错。因此,需要对决策树进行修剪,除去不必要的分支,也能使决策树得到简化。常用的决策树修剪策略可以分为3种,基于代价复杂度的修剪(cost-complexity Pruning)、悲观修剪(Pessimistic Pruning)、最小描述长度修剪(Minimum Descripyion Length,MDL)修剪。
3小结
本文对机器学习的四种方式进行了介绍,对机器学习的几种经典算法进行了描述,然而,机器学习的路还很漫长,在大数据云计算发展的今天,机器学习的应用也越来越广泛,由于机器学习领域中的深度学习能够深刻刻画海量数据中的内在信息,未来几年,机器学习将会被广泛应用于大数据的预测,而不是停留在浅层模型上,即使是通过人工神经网络建立的精度越来越高的模型,这都将促进科技的发展,推动人工智能和人机交互的步伐。