APP下载

基于集成学习的小麦识别研究

2019-07-03曾一平

现代商贸工业 2019年17期

曾一平

摘 要:机器学习是数据挖掘中比较重要的一个部分,而机器学习中有一类非常的算法为集成学习。集成学习主要是使用多个弱学习器进行学习,再使用各种结合规则把所有弱学习器的结果进行综合,来得到一种强学习器的学习方法。依据UCI小麦分类数据集,在该数据集上分别采用了kNN,logsitic,SVM,集成学习等方法,分别取得了88%,90%,90%,91%的准确率,验证了集成学习在处理机器学习问题上的优异性。

关键词:UCI小麦分类;KNN;逻辑回归;SVM;集成学习

中图分类号:TB     文献标识码:A      doi:10.19311/j.cnki.1672-3198.2019.17.101

0 引言

在机器学习中,对于分类问题的研究解决了许多与生活息息相关的问题。而集成学习是研究分类问题的优质方法。集成学习分为同质集成与异质集成,目前来说,同质集成学习的应用是最广泛的,而同质集成学习使用最多的模型是决策树,主流的机器学习库如sklearn,仅仅实现了同质集成学习。所以,对于异质集成学习进行研究也就十分必要。

本研究通过一些机器学习的算法和模型去构建一个程序,能根据小麦的7个特征,来识别是三种类型小麦中的哪一种类型,从而探究异质集成学习的方法。

1 数据集特征

小麦数据集是包含210个小麦样本的数据集,来自于UCI官网,每个小麦包括7个特征,分别为区域,周长,压实度,籽粒长度,籽粒宽度,不对称系数,籽粒腹沟长度。本研究将根据该数据集,探究异质集成学习的方法。

为了训练模型和测试模型,我们把数据集分为训练集和测试集两部分。对于我们的UCI小麦数据集,共有210个样本。我们随机挑选出160个数据作为训练样本,用于模型的训练。剩下50个数据作为测试样本,用于模型的测试。

2 构建分类模型

2.1 构建kNN模型

2.1.1 基本原理

kNN模型是数据挖掘中一种简单的分类模型。该模型通过将所有训练集映射在一个空间中,然后计算测试集样本与所有训练集样本之间的距离,最后选取k个与该样本较近的样本,经过投票原则来判断测试集样本的类别。

2.1.2 在UCI小麦数据集上应用kNN模型

在我们的UCI小麦数据集上,我们将训练集的160个样本映射在空间内来训练Knn模型。在预测阶段,我们通过计算测试集的50个小麦样本与训练集的160个小麦样本的距离,选取k个与该样本较近的样本,经过投票原则来预测小麦的种类。

2.1.3 结果分析

我们使用了sklearn中的kNN模型函数,在UCI小麦数据集上运用了kNN模型。经过测试,当k= 2,3,4,5时,模型在测试集样本上的准确率分别达到了86%,84%,86%,88%。最终终当k = 5時,在测试集上的准确率比较高,达到了88%,结果如图1所示。

2.1.4 kNN模型的优缺点分析

kNN模型的优点在于模型简单易懂,而且设定的参数少。不仅如此,随着k的增大,对于异常值的敏感度会下降。但是缺点也是十分明显,对测试样本分类时的计算量大,内存开销大,由于需要对每一个测试集上的样本都要计算它到训练集上所有样本的距离,最终才能计算出它的K个最近邻点。但是由于我们的样本数目较少,因此采用kNN模型较其它模型来看速度相差不多,而且在测试集上能够达到相似的效果。

2.2 构建逻辑回归模型

2.2.1 基本原理

逻辑回归模型是一种在实际生产环境中被广为使用的模型。在多分类问题中,逻辑回归的是采用S函数来作为我们的假设函数。在我们的小麦分类问题中,sigmoid函数的输出结果就是属于每一类小麦的概率,范围在[0,1]之间。逻辑回归的训练过程是在寻找一个适合的学习参数θ向量,减小模型在训练集上的预测误差,并且在训练的过程中,采用一定的正则化手段,来削弱模型的过拟合程度。

2.2.2 假设函数

逻辑回归采用S函数作为假设函数,如式(1)所示。函数的输出范围为[0,1],对应了小麦属于某个种类的概率。公式中的z = θTxX,其中θ是学习参数,X在该问题中是每个小麦样本的特征取值。

g(z) = 1/(1+e-z)(1)

2.2.3 交叉熵代价函数

代价函数的引入可以使我们来对模型输出的结果有一定的评估。而交叉熵代价函数就是分类问题中较为常用的函数,如式(2)所示。其中yi为样本的实际标签值,g(θ)为是模型的预测结果,即预测属于每一种小麦的概率值。

J(θ) = -∑yi*log(g(θ))(2)

2.2.4 逻辑回归的正则化

在训练的过程中,随着迭代次数的增加,代价函数也会不断降低,最终趋于一个较小的值。代价函数越小,说明在训练集上的准确率越高,但是追求较小的代价函数的同时会带来机器学习中一个较为常见的过拟合问题。这时模型虽然在训练集上准确率较高,但是处理陌生数据的能力就会下降,也就是说,模型在测试集上的准确率会与在训练集上呈现的结果有很大地偏差。

过拟合问题虽然无法避免,但是可以在一定范围内缓和过拟合化的程度。这里我们有两种缓和过拟合模型的方法。第一种是增加训练集样本的数量,当训练集样本的数量增加时,模型可在一定程度上削弱过拟合的程度,但是在实际情况下,我们无法去获取到更多的样本,或者说是在获取样本的过程中代价过高。因此我们采用了第二种正则化手段来减轻过拟合。

正则化的基本原理是在代价函数上增加一定的正则化约束,从而能得到一个拟合较为适度的机器学习模型,提高了模型处理陌生数据的能力。

2.2.5 在UCI数据集上应用逻辑回归模型

在我们的UCI小麦分类问题中,由于小麦种类一共有三类。因此我们无法直接使用逻辑回归解决该问题。但是我们可以采用ovr或者ovo等手段,将一个三分类问题进行转化,转化为三个二分类问题。其实就是把每种小麦作为一类,把剩下的两种小麦作为另外一类。在这种情况下,每两个小麦类别之间训练一个逻辑回归分类器。在预测小麦种类时,我们将待预测类别的小麦特征分别代入三个S函数中,然后挑选最大概率的输出类别,预测为未知小麦的类别。

另外,在模型训练时,为了削弱模型中的过拟合程度,我们使用了L2正则化手段,加入了L2正则化项后的代价函数,如(3)式所示。

J(θ) = -∑yi*log(g(θ)) +∑C|θ|(3)

2.2.6 结果分析

经过训练后,模型最终在测试集小麦样本上达到了90%的准确率,这个准确率在KNN模型的基础上,提高了两个百分点。我们认为其主要原因在于我们加入的L2正则化项对于模型的过拟合程度有一定的削弱,虽然我们采用了ovr手段进行了问题转化,引入了“偏斜类”的问题,但是在总体上来看影响不是很大,从而模型的输出结果更为理想。

2.3 构建SVM模型

2.3.1 SVM模型基本原理

SVM又叫作支持向量机,在20世纪末被提出,是一种常见的一种判别分类方法。SVM在机器学习领域,是一个有监督的学习模型,被用来进行数据分类以及回归问题。与数据挖掘的其他分类模型不同,它能对陌生数据有更好的处理。并且针对非线性可分数据,有一套核函数的理论来处理。由于其出色的性能表现,使其生产生活中被广泛使用。

SVM可以理解为是改进了逻辑回归模型,逻辑回归的训练过程是找到一个超平面将不同类别的数据划分开来。但是由于可能存在无数个线性可分的超平面能够划分数据,逻辑回归并没有定义这个超平面的性质。但是对于SVM算法,则定义了这条超平面为所有超平面中距离不同类别间隔最大的一个超平面。因此,SVM也叫作大间隔边界分类器。这个超平面能够更好的克服敏感点的影响。实现更强的泛化能力。

2.3.2 核函数

由于实际的情况下,大多数数据集为线性不可分,在低纬空间无法直接找到超平面将不同类别进行划分,因此直接使用逻辑回归或者SVM等模型进行求解。此时就需要使用核函数将数据从低维空间映射到高维空间,在低维空间的数据变换到高维空间后,由于自由度增大而变得线性可分,此时再运用逻辑回归或者SVM等模型,就可以实现超平面的划分。

2.3.3 结果分析

在SVM模型的训练过程中,我们使用了不同类型的核函数,径向基核函数,线性核函数等。最终结果显示,当使用径向基核函数时,效果最好,在测试集的小麦样本上取得了90%的准确率。因此可见,SVM是在分类模型中泛化能力比较强的分类器。

2.3.4 SVM模型优缺点分析

SVM是整体性能表现比较优秀的一个分类模型,而且其引入的核技巧,能够很好的解决数据的线性不可分问题。但是SVM对于小样本问题以及异常数据点比较敏感,在这种情况下,可能无法训练出一个较好的分类模型。

2.4 构建集成学习器

2.4.1 集成学习基本原理

在实际的机器学习问题中,我们期望能够通过训练集训练出一个强学习器,即准确率比较高的分类模型。但是现实情况是,每个分类模型都有其固有的优异性以及局限性,因此,我们往往只能得到多个不同的弱学习器。在这种情况下,集成学习的方法被提出。所谓的集成学习,就是综合多个弱学习期的预测结果,通过某种结合策略,来得到最终的预测结果。在这种情况下,即使某几个弱学习器给出了错误的预测结果,只要能保证大多数的弱学习器的预测结果是正确的, 经过策略的综合,我们也能够得到正确的预测结果。

因此,从集成学习的工作原理来看,要想组成集成学习需要两步:第一步是训练出多个弱学习器,这是组成集成学习的基础。第二步是采用一定的结合策略,将这些弱学习器组合成新的学习器,获得最终的强学习器。

2.4.2 集成学习之个体学习器

得到个体学习器的方式一般有两种:第一种方式是从同一种模型得到个体学习器,即是同质学习器,例如都来自神经网络。另外一种方式是从不同模型得到个体学习器,即是异质的,比如分别使用kNN,逻辑回归,SVM的输出再加以集成。

在目前的实际运用中,同质集成学习运用的较为广泛,对异质集成的研究比较少,但异质集成在特定的问题中,也是一种很好的学习方式。因此,我们选择了异质学习器作为我们的研究方向。

2.4.3 集成学习之结合策略

2.4.3.1 平均法

对于机器学习中的回归问题,常常将所有的输出结果进行平均后,来得到最终的强學习器的输出。

最简单的方式为算法平均,如(4)式所示。Wi为每个个体学习器的权重,最终的预测结果如(5)式所示。H(x)作为集成学习器的最终输出,每个个体学习器的输出是hi(x),个体学习器的个数是T。

H(x)=1/T∑hi(x)(4)

H(x)=∑wi*hi(x)(5)

2.4.3.2 投票法

对于机器学习中的分类问题,我们通常利用投票法进行预测。将所有弱分类器的预测结果进行投票来得到最终的预测结果。

第一种的投票法是相对多数投票法,也就是选取T个弱学习器中的预测结果中票数最多的那一类。如果有大于等于两个类别获得最高票,则就从这些并列得到最高票的类别中随机选择一个类别作为最终的类别。

第二种的是加权投票法,将每个弱分类器的投票结果乘以一个权重,最终把对所有类别的加权票数求和,最大的票数类别作为最终的类别。

在UCI小麦数据集上,我们使用了三个个体分类器,KNN模型,逻辑回归模型,SVM模型,我们把三个模型的预测结果采用基本投票的方式综合起来,票数最多的小麦类别作为预测样本的类别,最终得到准确率相对每个个体学习器更高的强学习器。

经过对个体学习器的集成,最终在测试集小麦样本上达到了91%准确率,对比单独的个体学习期,提升了1个百分点。虽然只有一个百分点的提升,但足以证明在采用了异质集成学习后,模型的性能得到改善。

3 结语

本文使用UCI小麦数据集,在该数据集上,分别使用了KNN模型,逻辑回归模型,SVM模型以及异质集成学习,分别取得了88%,90%,90%,91%的准确率,模型的性能经过异质集成学习后得到了改善,验证了异质集成学习的优异性。

参考文献

[1]窦小凡.KNN算法综述[J].通讯世界,2018,(10):273-274.

[2]王宏涛,孙剑伟.基于BP神经网络和SVM的分类方法研究[J].软件,2015,36(11):96-99.

[3]官洪运,杨益伟,吴炜,欧阳江坤.基于逻辑回归模型的火焰检测[J].信息技术与网络安全,2018,37(10):36-40.