詹煜 吳冠辰
摘 要 大多數機器學習都是使用梯度下降法來對損失函數進行優(yōu)化的。但梯度下降也要求損失函數必須是凸函數,對于損失函數為非凸函數的情形優(yōu)化能力有限。群體智能算法是對非凸函數的優(yōu)化有較好的效果。文章嘗試與群體智能算法代替梯度下降,來對凸損失函數進行優(yōu)化,并在常見的數據集上取得了與梯度下降相似的效果。
關鍵詞 機器學習;優(yōu)化;梯度下降;群體智能算法
中圖分類號 TP2 文獻標識碼 A 文章編號 1674-6708(2018)218-0115-02
隨著信息技術的普及,越來越多的領域發(fā)揮著重要的效果,大多數的機器學習算法都是通過對某個參數進行優(yōu)化,以使損失函數最小或最大化,目前機器學習領域常用的優(yōu)化算法有梯度下降法[ 1 ],共軛梯度法,Momentum算法[ 2 ]及其變體adam等,目前應用最多的是梯度下降法,但以上優(yōu)化算法,針對的損失函數都是凸函數,而群體智能算法,可以很好地應對非凸函數的優(yōu)化,因此本文試圖用群體智能算法代替梯度下降,對損失函數進行優(yōu)化,以便未來適應于凸或非凸損失函數的優(yōu)化問題。本文第一節(jié)簡要介紹凸函數與梯度下降,第二節(jié)簡要介紹了群體智能算法,第三節(jié)設計實驗,并分析實驗結果。
梯度下降是迭代法的一種,其計算過程就是沿梯度下降的方向求解極小值(也可以沿梯度上升方向求解極大值)。在損失函數是凸函數的情況下,梯度下降能收斂到全局最小值。但是應用于非凸函數時,梯度下降很容易陷入局部最小值,而無法獲得全局最小值。梯度下降應用于凸函數的示例如圖1所示。梯度下降應用于非凸函數的示例如圖2所示。
圖1中凸函數所標識的點(Global?minimum),是通過梯度下降能獲得的全局最小值。同時,可以看到函數上兩點的連線(圖中虛線所示)會處在圖像的下方,因此圖1也是一個典型的凸函數的圖像。
從圖2中可以看出,非凸函數會存在局部最小值(Local?minimum),梯度下降法會有陷于局部最小值的可能而無法獲取全局最小值。同時,可以看到函數上兩點的連線(圖中虛線所示)會處在圖像的下方,因此圖2也是一個典型的非凸函數的圖像。
2 群體智能算法
群體智能算法[4]的算法起源于人類對自然界群居生物(如魚群、螞蟻、蜜蜂、獅群等)的觀察和研究,分析這些生物群體所表現出來的智能模式,并將這些智能模式抽象為算法。群體只能算法的表現是需要相當是數量的種群“個體”,來實現對某個問題的求解需要。由于“群體”具有分布式、自組織、協作性等特點,因此群體智能算法的魯棒性較好,實現也比較簡單,常被用于優(yōu)化領域。常見的群體算法有蟻群算法、人工魚群算法、人工蜂群算法、粒子群算法等。
3 實驗設計及結果分析
由于群體智能算法常被用于優(yōu)化領域,因此本文考慮將群體智能算法代替梯度下降,對機器學習的損失函數進行優(yōu)化。由于群體智能算法較多,本文選取人工魚群算法來進行相應的對比。
人工魚群算法[ 5 ]是李曉磊等人提出,該算法模擬魚群的覓食聚集行為實現尋找全局最優(yōu)。該算法中給魚群定義了的三大基本行動方式:即覓食、聚群和追尾。通過魚群中各個體的局部尋優(yōu),通過追尾和聚群行為,最終獲得全局最優(yōu)值。人工魚群算法的實現步驟為:
1)全局初始化:?包括種群規(guī)模、個體的初始位置、個體的搜索范圍(視野),個體的移動步長、子集擁擠程度、迭代次數(即終止條件);
2)計算個體的適應值,將最優(yōu)個體的狀態(tài)進行公告;
3)對每個個體進行評價,根據評價,確認個體下一步的行動,包括覓食、聚群、追尾和隨機行為;
4)執(zhí)行個體行動,并在行動后更新個性的相應指標,并生成新魚群;
5)評價所有個體。若某個個體狀態(tài)優(yōu)于公告狀態(tài),則將該個體的狀態(tài)更新為公告狀態(tài);
6)當公告狀態(tài)達到最優(yōu)解或滿足相應誤差精度或算法達到迭代次數上限時算法結束,否則轉步驟3。
試驗采用機器學習中常用的Iris數據集進行測試,實驗目的是將人工魚群算法與SGD(隨機梯度下降)在分類及回歸任務上進行對比。評價指標是準確率,在SGD算法中根據采用數據集的不同;訓練集、驗證集、測試集的隨機劃分;是否采用交叉驗證;超參數設定的不同等方面的因素,在試驗中會產生不同結果。而在人工魚群算法中,根據種群數量、迭代次數等設定的不同,也會對實驗結果有所影響。實驗中的人工魚群算法設定種群數量為60,迭代次數上限為500次。實驗結果如表1所示。
從實驗結果中看,群體智能算法在機器學習中的性能相比SGD還是有一定的欠缺,但是其差距也在可接受的范圍內(≤5%)。但是群體智能算法可以應對于損失函數是非凸函數的情形,因此將群體智能算法應用于非凸損失函數中是下一步的研究方向。
參考文獻
[1]陳振宏,蘭艷艷,郭嘉豐,等.基于差異合并的分布式隨機梯度下降算法[J].計算機學報,2015,38(10):2054-2063.
[2]歐世峰,高穎,趙曉暉.基于隨機梯度的變動量因子自適應白化算法[J].自動化學報,2012,38(8):1370-1374.
[3]Stephen Boyd.Convex Optimization[M].北京:清華大學出版社,2013,61-167.
[4]余建平,周新民,陳明.群體智能典型算法研究綜述[J].計算機工程與應用,2010,46(25):1-4,74.
[5]馬憲民,劉妮.自適應視野的人工魚群算法求解最短路徑問題[J].通信學報,2014,35(1):1-6.