基于AUTO-SKLEARN的图像识别算法
2019-10-21杨怡滨林科浩
杨怡滨 林科浩
摘要:本文提出了一种基于自动机器学习(Automatic Machine Learning)框架AUTO-SKLEARN的图像识别算法。通过逻辑回归、K-近邻、SVM、多层感知神经网络、AUTO-SKLEARN构建了5个图像识别模型,进而以准确率、精确率、召回率,混淆矩阵、F1值为基准进行不同模型的性能评价。经反复的实例论证和理论测算,该框架相较于传统机器学习,平均精确率达到了0.98以上,能够在节省参数调节时间的基础之上,获得更优秀的效果。
关键词:图像识别 AutoML AUTO-SKLEARN 自动机器学习
中图分类号:TP3 文献标识码:A
Abstract:This paper proposes an image recognition algorithm based on AUTO-SKLEARN, an automatic machine learning framework. Five image recognition models were constructed by logistic regression, K-nearest neighbor, SVM, multi-layer perceptual neural network and AUTO-SKLEARN, and the performance of different models was calculated based on accuracy, accuracy, recall rate, confusion matrix and F1 value. Evaluation. Through repeated case studies and theoretical calculations, the framework has an average accuracy of 0.99 or more compared to traditional machine learning, and can achieve better results on the basis of saving parameter adjustment time.
1.引言
图像识别技术主要利用计算机的功能来对图像信息进行处理、分析、理解,基于计算机得出的结果即可判断不同属性的目标。在某种程度上,图像识别技术即是模仿、强化人类本身对图像信息识别的机能,能够通过计算机功能代替人类去自动处理、分辨图像物理信息,同时能够对人类难以识别、观察的信息进行处理,以此降低人工作业的负担。在现代的技术水平之下,图像识别技术又属于人工智能化技术的范畴,其能够针对每个图像的特征进行分析,并对在进行图像识别时产生的眼动进行表明。图像识别技术的原理是根据技术的信息识别结果,在自身数据存储库中寻找相似性的数据原型,进而来对图像进行识别。[1]
常用的图像识别方法有六种,分别是统计模式识别法、模板匹配法、模型识别法、句法识别法、神经网络识别法、模糊集识别法[2]。其中模型识别法使用的模型多数为机器学习相关的模型,例如SVM,朴素贝叶斯算法等。
2.基础算法
2.1自动机器学习
机器学习是一个复杂的过程,包括数据预处理,特征工程[3],模型选择,模型参数调优,模型评估,结果分析等。其中各个部分主要包含内容如下:
(1)数据预处理包括了数据合并,缺失值处理,异常值处理等[4]。
(2)特征工程包括特征选择,特征构建,特征变换等。
(3)模型选择包括根据数据选择合适的模型,模型组合等。
(4)模型参数调优包括了超参数优化,模型优化等。
(5)模型评估包括了混淆矩阵,ROC曲线,AUC值,精确率(Precision),召回率(Recall)等[3]。
(6)结果分析包括了结果展现,结果可视化,结果应用等。
自动机器学习是将机器学习流程自动化的过程,贯穿了机器学习的整个过程。在典型的机器学习应用程序中,机器学习工程师需要根据实际应用场景,对每个步骤做出调整,工作量巨大[6]。为解决这一困境,自动机器学习应运而生。
自动机器学习借鉴了诸多机器学习的知识,例如贝叶斯优化(Bayesian optimization),元学习(Meta learning),迁移学习(Transfer learning)等。
2.2AUTO-SKLEARN
AUTO-SKLEARN是Frank Hutter团队开发的工具包[7]。AUTO-SKLEARN采用貝叶斯优化方法对机器学习库中的各种算法进行超参数优化,并以元学习的方式在贝叶斯优化前缩小优化空间,除此之外,还生成了机器学习集成模型,以这种集成学习的方式增强学习和识别性能。
2.2.1贝叶斯优化
美国学者Pelikan等在2002年提出了贝叶斯优化算法[8]。这种算法首先随机产生了初始种群;然后从当前种群中选择(可以采用进化算法的各种选择方法)出候选解;继而对选择后的种群建立贝叶斯网络;之后,新的候选解就从贝叶斯网络的采样中获取;最后,将采样得到的解重新加入到原来的种群中,甚至可以用新的解代替原来的所有的解;重复这个过程,直到满足终止条件。终止条件可以是算法已经收敛找到了最优解,或者是种群失去了多样性,又或者是算法无法收敛不太可能找到更优的解[9]。贝叶斯优化算法的算法流程如下:
在最优化采集函数的前提下,贝叶斯优化能够在理论上保证最终收敛。直观上,这是因为迭代过程中每次迭代都采样最有“价值”的点进行评估,只要保证足量的迭代次数,算法最终一定会收敛到全局最优解[10]。
2.2.2元学习
在20世纪90年代,Wolpert等提出了的NFL定理:如果对具体学习任务的本质不作任何先验假设,则没有任何理由认定某种学习算法比另外一种更好;如果某种算法对某个特定的问题看上去比另外一种算法更好,则仅仅是它更适合这一特定的学习任务,而并非泛泛地说该算法是“优越”的[11]。同时,有学者意识到算法选择可被视作学习任务。两相结合,算法选择在机器学习学科中逐渐发展,渐而形成了元学习分支。近年来,元学习逐渐成为了一种典型的通过大数据指导样本数据的学习方法,成为了机器学习领域继增强学习(Reinforcement Learning)之后又一个重要的领域[12]。
在常规的机器学习任务中,资深机器学习工程师了解各类算法的性能,能够在诸多算法中选择出有优势的数据处理与识别算法。元学习通过不同算法的性能进行推理,以模仿这种策略。在初始阶段,评估每个候选算法在各个数据集上性能,并提取这些数据的元特征,构成元数据;然后采用适当的元算法对元数据进行元学习,获得数据集特征与算法性能间的映射关系,形成元知识库[13]。算法的选择需要依靠元知识的指导,当新的数据集加入时,可先对该数据集进行特征提取,然后根据与元知识库的特征匹配程度,选择最优的算法[14]。在AUTO-SKLEARN中采用该方法来缩小CASH(Combined Algorithm Selection and Hyperparameter optimization)问题的搜索范围,这样一来,就大大缩小了算法选择与超参数优化的搜索范围,显著提高效率[7]。
3.实验与结果分析
本次实验使用的数据采用digits数据集。该数据集是一个大型数据库的手写数字是通常用于训练各种图像处理系统[15][16]。数据集含1797张8*8像素的手写字体图片。
在上述数据的基础之上,在k折交叉验证时以75%的数据作为训练集,25%的数据作为测试集,使用AUTO-SKLEARN进行模型训练,而后使用精确率(Precision),召回率(Recall),F1值(F1-Score)评估模型。同时,为了进一步验证模型结果,使用了准确率,精确率,召回率用于对比人工调节参数的模型和AUTO-SKLEARN自动机器学习模型的对比。
3.1AUTO-SKLEARN识别失流故障
使用AUTO-SKLEARN构建失流故障模型得出该模型在0-9这10个手写字体的精确率,召回率,F1值及其均值,如表 1所示。
由上述两张表可知,基于AUTO-SKLEARN的图像识别模型性能非常突出,整体的精确率,召回率,F1值均达到0.98,充分表明模型的有效性及适用性。但同时也需要注意由于图像样本基数相对小,过分追求准确率单一指标容易造成过拟合。
3.2对比分析
为验证AUTO-SKLEARN构建的模型的效果,使用K-近邻,逻辑回归、支持向量机(SVM)、多层感知神经网络4种算法与之进行对比,得到算法结果如表4所示。
4.结语
本文应用了AUTO-SKLEARN自动机器学习框架。使用digits数据集,选择K-近邻,逻辑回归、支持向量机(SVM)、多层感知神经网络和AUTO-SKLEARN构建的模型进行对比,最终证明相比于其他机器学习算法具有更好的诊断效果。该框架的不足之处在于其目前只能在Linux或Unix系统中进行部署,通用性有待加强,同时模型的训练无法以模型效果作为依据。
参 考 文 献
[1]孙瑜阳 . 深度学习及其在图像分类识别中的研究综述 [J]. 信息技术与信息化 ,2018(1):138-140.
[2]于筱川. 基于机器学习的车辆目标识别方法[D].西安电子科技大学,2009.
[3]王珏, 周志华, 周傲英. 机器学习及其应用[M]. 清华大学出版社, 2006.
[4]Pang-Ning Tan, Michael Steinbach, Vipin Kumar. 数据挖掘导论[M]. 人民邮电出版社, 2011.
[5]Pudi V. Data Mining: Concepts and Techniques[M]. Oxford University Press, 2009.
[6]Thornton C, Hutter F, Hoos H H, et al. Auto-WEKA: combined selection and hyperparameter optimization of classification algorithms[J]. Computer Science, 2012:847-855.
[7]Feurer M, Klein A, Eggensperger K, et al. Efficient and robust automated machine learning[C].Advances in Neural Information Processing Systems. 2015: 2962-2970.
[8]Pelikan M.bayesian optimization algorithm: from single level to hierarchy[D].Dissertation from the Dept of Com-puter Science at the University of Illinois at Urbana-Cham-paign,2002.
[9]江敏, 陈一民. 贝叶斯优化算法的发展综述[J]. 计算机工程与设计, 2010, 31(14):3254-3259.
[10]崔佳旭, 杨博. 贝叶斯优化方法和应用综述[J]. 软件学报.
[11]Wolpert D H, Macready W G. No free lunch theorems for search[J]. IEEE Trans on EvolutionaryComputation, 1997, 1(1): 67-82.
[12]涂同珩, 金煒东. 基于自动机器学习流程优化的雷达辐射源信号识别[J]. 计算机应用研究, 2019(1).
[13]Vilalta R, Giraud-Carrier C G, Brazdil P, et al. Using Meta-Learning to Support Data Mining[J]. IJCSA, 2004, 1(1): 31-45.
[14]曾子林, 张宏军, 张睿, 等. 基于元学习思想的算法选择问题综述[J]. 控制与决策, 2014, 29(6): 961-968.
[15]Support vector machines speed pattern recognition - Vision Systems Design. Vision Systems Design. Retrieved 17 August 2013.
[16]Gangaputra, Sachin. Handwritten digit database. Retrieved 17 August 2013.