楊怡濱 林科浩
摘要:本文提出了一種基于自動機器學習(Automatic Machine Learning)框架AUTO-SKLEARN的圖像識別算法。通過邏輯回歸、K-近鄰、SVM、多層感知神經(jīng)網(wǎng)絡、AUTO-SKLEARN構建了5個圖像識別模型,進而以準確率、精確率、召回率,混淆矩陣、F1值為基準進行不同模型的性能評價。經(jīng)反復的實例論證和理論測算,該框架相較于傳統(tǒng)機器學習,平均精確率達到了0.98以上,能夠在節(jié)省參數(shù)調節(jié)時間的基礎之上,獲得更優(yōu)秀的效果。
關鍵詞:圖像識別? 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.引言
圖像識別技術主要利用計算機的功能來對圖像信息進行處理、分析、理解,基于計算機得出的結果即可判斷不同屬性的目標。在某種程度上,圖像識別技術即是模仿、強化人類本身對圖像信息識別的機能,能夠通過計算機功能代替人類去自動處理、分辨圖像物理信息,同時能夠對人類難以識別、觀察的信息進行處理,以此降低人工作業(yè)的負擔。在現(xiàn)代的技術水平之下,圖像識別技術又屬于人工智能化技術的范疇,其能夠針對每個圖像的特征進行分析,并對在進行圖像識別時產(chǎn)生的眼動進行表明。圖像識別技術的原理是根據(jù)技術的信息識別結果,在自身數(shù)據(jù)存儲庫中尋找相似性的數(shù)據(jù)原型,進而來對圖像進行識別。[1]
常用的圖像識別方法有六種,分別是統(tǒng)計模式識別法、模板匹配法、模型識別法、句法識別法、神經(jīng)網(wǎng)絡識別法、模糊集識別法[2]。其中模型識別法使用的模型多數(shù)為機器學習相關的模型,例如SVM,樸素貝葉斯算法等。
2.基礎算法
2.1自動機器學習
機器學習是一個復雜的過程,包括數(shù)據(jù)預處理,特征工程[3],模型選擇,模型參數(shù)調優(yōu),模型評估,結果分析等。其中各個部分主要包含內(nèi)容如下:
(1)數(shù)據(jù)預處理包括了數(shù)據(jù)合并,缺失值處理,異常值處理等[4]。
(2)特征工程包括特征選擇,特征構建,特征變換等。
(3)模型選擇包括根據(jù)數(shù)據(jù)選擇合適的模型,模型組合等。
(4)模型參數(shù)調優(yōu)包括了超參數(shù)優(yōu)化,模型優(yōu)化等。
(5)模型評估包括了混淆矩陣,ROC曲線,AUC值,精確率(Precision),召回率(Recall)等[3]。
(6)結果分析包括了結果展現(xiàn),結果可視化,結果應用等。
自動機器學習是將機器學習流程自動化的過程,貫穿了機器學習的整個過程。在典型的機器學習應用程序中,機器學習工程師需要根據(jù)實際應用場景,對每個步驟做出調整,工作量巨大[6]。為解決這一困境,自動機器學習應運而生。
自動機器學習借鑒了諸多機器學習的知識,例如貝葉斯優(yōu)化(Bayesian optimization),元學習(Meta learning),遷移學習(Transfer learning)等。
2.2AUTO-SKLEARN
AUTO-SKLEARN是Frank Hutter團隊開發(fā)的工具包[7]。AUTO-SKLEARN采用貝葉斯優(yōu)化方法對機器學習庫中的各種算法進行超參數(shù)優(yōu)化,并以元學習的方式在貝葉斯優(yōu)化前縮小優(yōu)化空間,除此之外,還生成了機器學習集成模型,以這種集成學習的方式增強學習和識別性能。
2.2.1貝葉斯優(yōu)化
美國學者Pelikan等在2002年提出了貝葉斯優(yōu)化算法[8]。這種算法首先隨機產(chǎn)生了初始種群;然后從當前種群中選擇(可以采用進化算法的各種選擇方法)出候選解;繼而對選擇后的種群建立貝葉斯網(wǎng)絡;之后,新的候選解就從貝葉斯網(wǎng)絡的采樣中獲取;最后,將采樣得到的解重新加入到原來的種群中,甚至可以用新的解代替原來的所有的解;重復這個過程,直到滿足終止條件。終止條件可以是算法已經(jīng)收斂找到了最優(yōu)解,或者是種群失去了多樣性,又或者是算法無法收斂不太可能找到更優(yōu)的解[9]。貝葉斯優(yōu)化算法的算法流程如下:
在最優(yōu)化采集函數(shù)的前提下,貝葉斯優(yōu)化能夠在理論上保證最終收斂。直觀上,這是因為迭代過程中每次迭代都采樣最有“價值”的點進行評估,只要保證足量的迭代次數(shù),算法最終一定會收斂到全局最優(yōu)解[10]。
2.2.2元學習
在20世紀90年代,Wolpert等提出了的NFL定理:如果對具體學習任務的本質不作任何先驗假設,則沒有任何理由認定某種學習算法比另外一種更好;如果某種算法對某個特定的問題看上去比另外一種算法更好,則僅僅是它更適合這一特定的學習任務,而并非泛泛地說該算法是“優(yōu)越”的[11]。同時,有學者意識到算法選擇可被視作學習任務。兩相結合,算法選擇在機器學習學科中逐漸發(fā)展,漸而形成了元學習分支。近年來,元學習逐漸成為了一種典型的通過大數(shù)據(jù)指導樣本數(shù)據(jù)的學習方法,成為了機器學習領域繼增強學習(Reinforcement Learning)之后又一個重要的領域[12]。
在常規(guī)的機器學習任務中,資深機器學習工程師了解各類算法的性能,能夠在諸多算法中選擇出有優(yōu)勢的數(shù)據(jù)處理與識別算法。元學習通過不同算法的性能進行推理,以模仿這種策略。在初始階段,評估每個候選算法在各個數(shù)據(jù)集上性能,并提取這些數(shù)據(jù)的元特征,構成元數(shù)據(jù);然后采用適當?shù)脑惴▽υ獢?shù)據(jù)進行元學習,獲得數(shù)據(jù)集特征與算法性能間的映射關系,形成元知識庫[13]。算法的選擇需要依靠元知識的指導,當新的數(shù)據(jù)集加入時,可先對該數(shù)據(jù)集進行特征提取,然后根據(jù)與元知識庫的特征匹配程度,選擇最優(yōu)的算法[14]。在AUTO-SKLEARN中采用該方法來縮小CASH(Combined Algorithm Selection and Hyperparameter optimization)問題的搜索范圍,這樣一來,就大大縮小了算法選擇與超參數(shù)優(yōu)化的搜索范圍,顯著提高效率[7]。
3.實驗與結果分析
本次實驗使用的數(shù)據(jù)采用digits數(shù)據(jù)集。該數(shù)據(jù)集是一個大型數(shù)據(jù)庫的手寫數(shù)字是通常用于訓練各種圖像處理系統(tǒng)[15][16]。數(shù)據(jù)集含1797張8*8像素的手寫字體圖片。
在上述數(shù)據(jù)的基礎之上,在k折交叉驗證時以75%的數(shù)據(jù)作為訓練集,25%的數(shù)據(jù)作為測試集,使用AUTO-SKLEARN進行模型訓練,而后使用精確率(Precision),召回率(Recall),F(xiàn)1值(F1-Score)評估模型。同時,為了進一步驗證模型結果,使用了準確率,精確率,召回率用于對比人工調節(jié)參數(shù)的模型和AUTO-SKLEARN自動機器學習模型的對比。
3.1AUTO-SKLEARN識別失流故障
使用AUTO-SKLEARN構建失流故障模型得出該模型在0-9這10個手寫字體的精確率,召回率,F(xiàn)1值及其均值,如表 1所示。
由上述兩張表可知,基于AUTO-SKLEARN的圖像識別模型性能非常突出,整體的精確率,召回率,F(xiàn)1值均達到0.98,充分表明模型的有效性及適用性。但同時也需要注意由于圖像樣本基數(shù)相對小,過分追求準確率單一指標容易造成過擬合。
3.2對比分析
為驗證AUTO-SKLEARN構建的模型的效果,使用K-近鄰,邏輯回歸、支持向量機(SVM)、多層感知神經(jīng)網(wǎng)絡4種算法與之進行對比,得到算法結果如表4所示。
4.結語
本文應用了AUTO-SKLEARN自動機器學習框架。使用digits數(shù)據(jù)集,選擇K-近鄰,邏輯回歸、支持向量機(SVM)、多層感知神經(jīng)網(wǎng)絡和AUTO-SKLEARN構建的模型進行對比,最終證明相比于其他機器學習算法具有更好的診斷效果。該框架的不足之處在于其目前只能在Linux或Unix系統(tǒng)中進行部署,通用性有待加強,同時模型的訓練無法以模型效果作為依據(jù)。
參? 考? 文? 獻
[1]孫瑜陽 . 深度學習及其在圖像分類識別中的研究綜述 [J]. 信息技術與信息化 ,2018(1):138-140.
[2]于筱川. 基于機器學習的車輛目標識別方法[D].西安電子科技大學,2009.
[3]王玨, 周志華, 周傲英. 機器學習及其應用[M]. 清華大學出版社, 2006.
[4]Pang-Ning Tan, Michael Steinbach, Vipin Kumar. 數(shù)據(jù)挖掘導論[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]江敏, 陳一民. 貝葉斯優(yōu)化算法的發(fā)展綜述[J]. 計算機工程與設計, 2010, 31(14):3254-3259.
[10]崔佳旭, 楊博. 貝葉斯優(yōu)化方法和應用綜述[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]涂同珩, 金煒東. 基于自動機器學習流程優(yōu)化的雷達輻射源信號識別[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.