劉叢 彭敦陸 鄔春學


摘 要:機器學習處于人工智能的核心位置,對機器學習研究和人工智能發(fā)展具有非常重要的推動作用。由于機器學習涉及到太多數(shù)學背景而提高了學習者學習難度,并且學習者基礎薄弱也制約了其學習深度。針對機器學習的學習現(xiàn)狀及學習者面臨的問題,提出分層次學習方法。該方法可讓學習者對知識點的理解由淺入深、層層深入,并且讓不同需求的學習者認清學習目標。實踐證明,該方法提高了學習者積極性,能很好地使學習者入門、深入及精通,提高了學習效率。
關鍵詞:機器學習;人工智能;分層深入學習
DOI:10.11907/rjdk.173298
中圖分類號:G434
文獻標識碼:A 文章編號:1672-7800(2018)005-0223-04
Abstract:Since machine learning is at the core of artificial intelligence, research on machine learning plays a very important role in the development of artificial intelligence. Because machine learning involves various mathematical backgrounds, it increases the difficulty of learners. And the weak foundation of learners also limits the depth of their learning. Aiming at the learning status of machine learning and the problems faced by learners, this paper proposes a hierarchical learning method. This method can allow learners to understand the knowledge points and allow different needs ofhelps step by step learners with different needs to recognize learning objectives. Through practice, it has been proved that this method improves the enthusiasm of learners, enables learners to get started, makes them learn more deeply and proficiently, and improves their learning effects.
Key Words:machine learning; artificial intelligence; stratified deep learning
0 引言
隨著信息技術的高速發(fā)展以及軟硬件技術、智能理論的不斷完善,人工智能技術越來越受到研究者的關注。其已經(jīng)廣泛應用于諸多領域,如智能機器、智能制造、智能安防、智能醫(yī)療、智能金融、智能安全、智能零售、智能教育等。作為人工智能的核心,機器學習是其重要的組成部分。其是一門多學科交叉的學科,以優(yōu)化論、概率論、矩陣論、逼近論、統(tǒng)計學點集拓撲學為基礎,具有深厚的數(shù)學背景[1]。其主要研究如何使用計算機建立合適的模型,從海量數(shù)據(jù)中總結出規(guī)律,并轉化成知識,以逐漸改善自身性能。由于大多數(shù)模型都有非常深厚的數(shù)學背景,所以學習者在學習時會遭遇諸多困境。
近年來,機器學習的教學方法也被越來越多地提出。文獻[2]針對機器學習存在的問題,提出了理論結合實踐的教學方法,并在教學中激發(fā)學習者的學習興趣。文獻[3]以分組化教學,提高學生的學習興趣,并且設計了新的教學大綱。文獻[4]提出了以教學與研究相結合的教學模式,以提高學生的創(chuàng)新能力。文獻[5]使用問題驅(qū)動的機器學習教學方法。文獻[6]提出以深度學習為機器學習的主導,加強案例教學,提高學生的科研能力。諸多教學研究者提出了自己的教學方法,但是少有研究者在機器學習的教學深度和分層教學上有所嘗試。根據(jù)近年來在機器學習方面的研究及教學工作,本文總結出一套針對不同層次的入門-深入-精通的學習方法,并使用FCM算法作為案例詳細講解。
1 機器學習現(xiàn)狀
1.1 模型多,算法深奧難懂
由于機器學習涉及到太多的數(shù)學模型,如模型建立、模型求解、模型準確性以及模型求解方法的完備性等都需要非常多的數(shù)學背景。如在聚類的Kmeans算法中,需要用到凸優(yōu)化的求解方法,梯度下降法、牛頓法以及共軛梯度法等算法需要對導數(shù)、偏導數(shù)、海森矩陣等相關知識有非常深入的掌握。在證明迭代算法的收斂性時還需要用到點集之間的映射、連續(xù)映射、閉映射以及邊緣海森矩陣等相關知識。在支持向量機中,求解過程會用到拉格朗日乘子、二次規(guī)劃以及最大最小優(yōu)化問題。在神經(jīng)網(wǎng)絡求解中會用到反向傳播算法,該算法通過計算權重的偏導數(shù)對權重進行更新。降維算法以及線性嵌入使用最多的為矩陣論中的矩陣變換以及特征值與特征向量等求解方法。決策樹是基于信息論設計的。混合高斯模型及其求解方法期望最大化使用最大似然估計以及Jensen不等式的思想,而貝葉斯算法則使用統(tǒng)計學與概率論的相關知識。面對如此龐大而又深奧的數(shù)學知識,很多學習者感覺寸步難行,失去了學習的興趣和動力。
1.2 內(nèi)容分散,學習深度不足
現(xiàn)有機器學習參考的是分章節(jié)介紹不同的學習模型。如聚類、K近鄰、樸素貝葉斯、支持向量機等每個模型作為一章介紹。每章之間的關聯(lián)性不是很強,就會導致學習者在學習過程中對每個算法都無法深度了解。針對每個算法沒有形成一條完整的知識鏈。其次部分參考書由于在編寫其過程中也只是對算法作淺層次的介紹,而深度略顯不足,所以無法使學習者掌握其深刻內(nèi)涵。
1.3 基礎不同,學習目標單一
機器學習面向各種不同專業(yè)的學習者,其基礎各不相同。具有數(shù)學背景的學習者理論基礎比較深厚,其它工科類背景的學習者理論基礎稍顯薄弱,而非工科背景的學習者理論基礎則更不好。所以不同的學習者應該制定不同的學習目標和學習方法。
針對上述問題,在機器學習教學中,注重學習者分層學習,研究如何針對不同層次的學習者,確定學習目標及學習方法并激發(fā)學習者深入學習的興趣及創(chuàng)新能力。
2 機器學習層次分析:以模糊c均值為例
FCM聚類算法[7]在機器學習中應用非常廣泛,目前文獻對其研究比較深入,該算法學習詳細講解其針對不同目標的學習者所要達到的深度,讓絕大多數(shù)學習者輕松入門,讓部分算法設計者理解算法的基本推理步驟以及所需要的數(shù)學知識,讓少數(shù)深入研究者掌握該算法的優(yōu)缺點,并在此基礎上激發(fā)其創(chuàng)新靈感。FCM的基本思想為將模糊劃分的思想加入聚類模型中,建立具有模糊思想的類內(nèi)緊湊型。使用梯度下降法優(yōu)化該目標函數(shù)至最小,以獲取最優(yōu)隸屬度因子和聚類中心位置,提高聚類精度。
2.1 模型建立
Kmeans算法[8]是給定一個數(shù)據(jù)集X={x1,x2,...,xn},其中xi∈Rd為d維變量。K-means算法將該數(shù)據(jù)集中的n個數(shù)據(jù)劃分到c個簇中,使得同一個簇中的數(shù)據(jù)相似性較大,不同簇中的數(shù)據(jù)相似性較小。根據(jù)該思想可以對同一簇中的元素建立對應的模型,如公式(1)。其中Ci表示第i個簇中所有數(shù)據(jù)所組成的集合,vi表示該簇的中心點。通過最小化公式(1),可獲得該簇內(nèi)數(shù)據(jù)之間相似性最大。
分析得知,公式(2)與公式(3)相同。通過增加公式(4)這一約束條件,將隸屬度信息加入到目標函數(shù)中,但這不是真正的模糊C均值算法。將隸屬度修改如公式(5),即為完整的模糊C均值模型。
通過該模型的講解,使學習者了解FCM的思想、來源以及與Kmeans算法間的關系。對于使用FCM算法的學習者,需要將應用領域的數(shù)據(jù)轉化成一組X的形式,然后使用高級程序語言調(diào)用現(xiàn)有函數(shù)即可實現(xiàn)。
2.2 求解方法推導
對于深入學習的學習者,特別是對于算法程序設計的學習者來說,僅學會模型的建立是不夠的,更需要深入學習求解該模型的方法、推導過程及所需要的優(yōu)化方法。如梯度下降法、牛頓法以及共軛梯度法等。在學習該類算法之前,需要詳細回憶將高等數(shù)學中的導數(shù)、偏導數(shù)、泰勒公式等相關知識。通過導數(shù)、梯度的概念引出梯度下降法的思想,用泰勒展開式引出牛頓法的基本思想,沿著負導數(shù)的方向或者一階二階導數(shù)比值的方向?qū)ふ易顑?yōu)解??梢葬槍εnD法的海森矩陣正定的思想引出擬牛頓法以及使用向量的正交性引出共軛梯度法。
使用求導數(shù)的思想求解FCM算法的基本模型。由于公式(3)中含有uij和vi兩類需要求解的參數(shù),分別對該兩個參數(shù)求導,則可獲得迭代公式(6)~(7),需重點學習如何求偏導算法。
對于學習者,能完整地推導出迭代公式,則說明對該算法有很深的理解和掌握。
2.3 深入分析與創(chuàng)新學習
通過以上學習,對FCM的詳細推導以及優(yōu)化算法有了比較深刻的認識。對于算法設計者已經(jīng)能夠針對公式詳細地編制出準確的代碼。針對深入研究該算法的學習者,首先需要對傳統(tǒng)FCM自身存在的不足以及解決實際問題時所存在的缺陷作全面了解。傳統(tǒng)FCM的問題主要包括:
(1)聚類的類數(shù)目c需要提前指定。
(2)相似度通常使用歐氏距離,但其只能處理超球形的簇。
(3)計算數(shù)據(jù)間相似度時,每維特征使用相同權重。
(4)傳統(tǒng)數(shù)學優(yōu)化算法的最優(yōu)解與初始值有關。
2.3.1 聚類數(shù)目問題
針對上述問題(1),通常設計合適的有效性指標尋找最佳聚類數(shù)目。公式(3)只考慮了每個簇內(nèi)的緊湊性,隨著c值的增加,該公式呈下降趨勢,類與類之間的距離會越來越近,而任意兩個類之間的距離則越大越好,基于該思想設計了XB聚類指標[9],如公式(8)。
公式(11)的迭代公式區(qū)別在于該公式中含有3個未知數(shù)。公式(11)存在的問題則是某一個特征的數(shù)值比較小,算法就會增加它的權重;如果特征維的數(shù)值很大,算法就會減小它的權重,為了避免出現(xiàn)該問題,加入權重信息熵的概念,以平衡每維權重[13]。則新的模型如公式(12)。
公式(12)中第二項使用了權重的信息熵。通過最大化信息熵,使每維權重相差縮小。
2.3.4 全局優(yōu)化問題
針對上述問題(4),使用全局優(yōu)化算法。學習者在此需要對智能優(yōu)化算法作詳細了解。該類算法包括遺傳算法(GA)、進化算法(EA)、粒子群算法(PSO)等[14]。掌握智能優(yōu)化算法和基于梯度算法之間的區(qū)別與聯(lián)系。梯度法對問題的約束比較高,需要模型處處連續(xù)、處處可導,并且最優(yōu)解與初始值的選取關系非常大,初始值選取不當易陷入局部最優(yōu),而智能優(yōu)化算法對問題的要求非常低,并且獲取全局最優(yōu)的概率高于傳統(tǒng)的梯度法。而智能算法的缺點在于時間復雜度比較高。
使用該類算法作為優(yōu)化器求解時,需要將未知變量描述成染色體的形式。以優(yōu)化公式(3)為例,該公式中有兩個未知數(shù)uij和vi,由于公式(6)和(7)互相轉化,所以只有一個未知數(shù)。將vi編碼,則染色體可以描述如圖1所示。
算法的基本流程如下:
Step 1 隨機選擇一組染色體,該染色體由聚類中心組成。
Step 2 評估該組染色體,并使用某種策略產(chǎn)生一組新的染色體。
Step 3 如果滿足停止規(guī)則,則停止,否則轉向Step2。
Step 4 輸出最優(yōu)解。
2.4 深層次學習
當學習者針對FCM的缺點提出完善模型后,需要對該模型進行求解。但獲得的最優(yōu)解是否一定是最優(yōu)解,則需要對該最優(yōu)解以及最優(yōu)解的求解過程作完備性證明。由于大多數(shù)學習者很少涉及到該理論證明,筆者在此作簡單介紹。以公式(10)為例,其優(yōu)化算法迭代步驟如下:
Step 1 隨機選擇一組中心V和一組權重W。
Step 2 固定V和W,使用一階偏導數(shù)為0求解U的最優(yōu)解。
Step 3 固定U和W,使用一階偏導數(shù)為0求解V的最優(yōu)解。
Step 4 固定V和U,使用一階偏導數(shù)為0求解W的最優(yōu)解。
Step 5 Jm-w(V,U,W)不再發(fā)生變化即可停止。
為了證明該優(yōu)化算法的收斂性,需要使用zangwill定理證明該映射規(guī)則及迭代序列具有收斂性[15]。如果該映射規(guī)則與迭代序列是收斂的,其必須滿足zangwill定理的3個條件:①每次迭代獲得的新解具有下降性;②產(chǎn)生新解的映射是閉映射;③所有的收斂序列必須在一個緊集中。
要滿足這3個條件,需要用到數(shù)學分析上的一些知識。
(1)證明下降性,需要證明Step2-Step3獲得的最優(yōu)解為嚴格局部極小值的充要性。充要性可分解為充分性和必要性,必要性可通過步驟中的求導為零獲得,而充分性需要使用海森矩陣以及邊緣海森矩陣計算該解一定為局部最優(yōu)解。海森矩陣是針對非約束條件的參數(shù),邊緣海森矩陣針對帶有約束條件的參數(shù)。
(2)證明映射規(guī)則為閉映射。需要使用海涅伯雷爾理論有限覆蓋理論證明。
(3)收斂序列在一個緊集中。由于vi滿足凸包的基本特性,并且是一種有界閉集,所以收斂序列在一個緊集中,則該模型滿足zangwill理論。
3 結語
機器學習是一個比較熱門的領域,越來越多的學習者致力于該領域的研究。但由于其涉及太多數(shù)學背景,導致很多學習者很難深入了解。根據(jù)多年的學習和教學經(jīng)驗,將機器學習的知識進行分層次講解,使得不同需求的學習者清楚所要達到的程度。
參考文獻:
[1] 李勇.本科機器學習課程教改實踐與探索[J].計算機教育,2015(13):63-66.
[2] 閔鋒,魯統(tǒng)偉.《機器學習》課程教學探索與實踐[J].教育教學論壇,2014(53):158-159.
[3] 曲衍鵬,鄧安生,王春立,等.面向機器學習課程的教學改革實踐[J].計算機教育,2014,223(19):88-92.
[4] 袁鼎榮.淺談《機器學習》的課程教學方法[J].廣西經(jīng)濟管理干部學院學報,2010,22(4):99-101.
[5] 胡雪蕾,孫明明,孫廷凱,等.研究生“機器學習”課程教學改革實踐與探討[J].煤炭高等教育,2012,30(1):118-121.
[6] 王雷全,吳春雷,郭曉菲.機器學習科研實踐課程建設[J].電子世界,2017(17):50-51.
[7] BEZDEK J C, EHRLICH R, FULL W. FCM: The fuzzy c-means clustering algorithm[J]. Computers & Geosciences, 1984,10(2):191-203.
[8] 張昌明.一種基于模糊數(shù)學思想的K均值算法[J].軟件導刊,2016,15(5):41-43.
[9] XIE X L, BENI G. A validity measure for fuzzy clustering[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1991,13(13):841-847.
[10] 蔡靜穎,謝福鼎,張永.基于自適應馬氏距離的模糊c均值算法[J].計算機工程與應用,2010,46(34):174-176.
[11] ZHOU Z, ZHU S. Kernel-based multiobjective clustering algorithm with automatic attribute weighting[J]. Soft Computing, 2017(12):1-25.
[12] HUANG J Z, NG M K, RONG H, et al. Automated variable weighting in k-means type clustering.[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2005,27(5):657-68.
[13] ZHOU J, CHEN L, ChEN C L P, et al. Fuzzy clustering with the entropy of attribute weights[J]. Neurocomputing, 2016,198(C):125-134.
[14] 李偉峰.一種新的PSO優(yōu)化FCM方法在圖像分類中的應用[J].軟件導刊,2013(8):72-75.
[15] YANG M S, TIAN Y C. Bias-correction fuzzy clustering algorithms[J]. Information Sciences, 2015,309:138-162.
(責任編輯:劉亭亭)