

摘 要:神經網絡算法是深度學習研究的重點,遺傳算法是一種自適應優化搜索算法,模擬退火算法是尋找最優解的算法,本文主要分析了神經網絡,遺傳算法和模擬退火算法的特點和缺陷,研究BP神經網絡和遺傳模擬退火算法相結合的技術,從發揮算法的優點基礎上,提出了一個基于模擬退火遺傳算法的BP神經網絡模型,并應用于某觀影俱樂部,作為新電影上映預測和用戶推薦,實驗結果表明:該算法在收斂性和準確率上都有較好的效果。
關鍵詞:BP神經網絡;模擬退火;遺傳算法;收斂
中圖分類號:TP391 文獻標識碼:A
文章編號:2096-1472(2018)-07-36-03
1 引言(Introduction)
神經網絡作為人工智能的重要組成部分,一直是神經科學、認知科學、行為科學、計算機科學等關注的焦點。自AlphaGo擊敗職業圍棋選手,第一次戰勝人類圍棋冠軍以來,人類再次掀起了研究機器學習,深度學習的熱潮。神經網絡作為深度學習的基本模型,吸引了大批研究人員的注意,在神經網絡的理論模型,開發工具,學習算法等方面經過多年研究,在語音識別,圖像識別,非線性預測模型,模式識別等方面取得令人矚目的成就。我們國家決定從今年開始大力發展基于大數據的人工智能,即機器學習和深度學習。
人工神經網絡[1]是能模擬和反映人腦部分特征的一種仿真信息處理系統,該系統基于模仿人腦系統的結構和功能而設計。從神經網絡建模或神經網絡學習預測的角度分析,神經網絡都必須包含神經網絡拓撲結構[2],即學習模型,神經元特征函數和目標函數,機器學習算法,存在對訓練樣本要求高,數據量要求大的困難,而對于小數據訓練樣本則容易導致誤差大,預測精度低等局限性。
遺傳算法[3,4]GA是一種仿生算法,該算法模擬生物在自然環境中的遺傳和進化過程而形成的一種自適應全局優化概率搜索算法。遺傳算法以求得最適應環境個體為目的,從任意一個初始群體出發,經過選擇、交叉、變異操作來產生一個更適應環境的新的個體,經過多次迭代,使得新群體進化到搜索空間中越來越好的區域,經過一代代的進化,最后收斂到一群最適應環境的個體,求得最優解。
模擬退火算法[4]SA從設定一個較高溫度開始,伴隨溫度參數的不斷下降,結合概率突跳特性在解空間中隨機尋找目標函數的全局最優解的過程。
由于BP神經網絡易于陷入局部極小值,收斂速度慢等問題[2,5],采用梯度下降尋優迭代次數多,效率低下,而GA和SA都是基于概率分布機制的優化算法,兩者結合,使用SA可以避免GA早熟問題,從而增強全局和局部搜索能力,本文在此基礎上提出模擬退火遺傳算法優化的BP神經網絡算法,并建立模型用于預測。
2 基于遺傳模擬退火的BP神經網絡(BP neural network based on genetic simulated annealing algorithm)
2.1 遺傳模擬退火算法
遺傳模擬退火算法是將遺傳算法和模擬退火算法相結合,模擬退火算法具有較強的全局搜索能力尋得最優解的效率高,并能使搜索過程避免陷入局部最優解,但模擬退火算法對全局解空間了解不多。而遺傳算法的局部搜索能力較差,易于陷入局部最優解,但把握搜索過程的總體能力較強,遺傳模擬退火算法以提高算法效率為目的,結合了遺傳算法和模擬退火算法的優點。
遺傳模擬算法[3]從一組隨機產生的初始解開始進行全局最優解的搜索過程,該過程正好符合反向神經網絡解空間最優值的搜尋,通過選擇、交叉、變異等遺傳操作產生一組新的個體,熱后對所產生的各個個體進行模擬退火過程,類似隨機梯度下降法,以其結果作為下一代群體中的個體。
2.2 BP神經網絡
BP神經網絡[6,7],也叫反向傳播神經網絡,按反向誤差傳播算法訓練權重和閾值的多層神經網絡,采用梯度下降算法作為優化函數,對權重和閾值的誤差求導,獲得新的權值和閾值來跟新整個神經網絡的權值和閾值,以求得全局最小值。誤差計算通常用LSM[8]公式,計算如下:
其中,outputs是神經網絡輸出集合,D是所有訓練樣本的集合,tkd是和訓練樣本d對應的第k個真實值,okd是與訓練樣例d對應的第k個輸出值。這個函數的解空間有對應無數函數,構成了一個搜索誤差曲面[8],需要在這個解空間上找到這個曲面上的最小值點即最優解。問題轉化為在曲面空間求極值,為了保證能找到最小值,確保算法快速收斂,優化效率提升,合適的學習步長是一個重要參數,不宜太大也不宜太小。
2.3 基于遺傳模擬退火的BP神經網絡
利用模擬退火算法[3]優化遺傳算法并利用遺傳算法的全局尋優搜索功能,獲得每一次的最優種群(權重和閾值),接著利用BP的局部尋優特征反向尋得最優值[9]。
3 基于遺傳模擬退火的BP神經網絡算法及模型(The BP neural network algorithm and model based on genetic simulated annealing algorithms)
3.1 數據模型
假設輸入節點為三個i1、i2、i3,隱藏節點為兩個h1、h2,輸出節點為一個o的三次神經網絡,隨機生成初始BP神經網絡權值和閾值。
為了使用遺傳模擬退火對BP神經網絡的權值和閾值進行訓練優化,根據任務,可以建立以下四元組:
Q是一個權值W的矩陣,其原始值隨機生成;
T是一個閾值的矩陣,原始值隨機生成;
X是一個w*t的矩陣,對應輸入層到第一個隱藏層的閾值矩陣,獲知第一個隱藏層到第二個隱藏層的閾值矩陣……
設計輸出誤差作為目標函數:,算法求解的過程就是利用模擬退火算法尋求最優解的過程。
3.2 算法
Begin
While不滿足性能要求do
Temp=10;
‘產生初始任務集;
∑=(I,Q,T,X);
TA={I,R[1..n]};
當temp==1循環
i=crossover(i);對樣本進行交叉運算
i=mutation(i);樣本進行變異運算
‘根據目標函數對每個個體進行模擬退火即選擇;
;目標函數
如果(?di<0)
則采用新方案
否則{計算prob=exp;
隨機產生一個rand(0 如果(prob 否則放棄新方案; } temp=temp*a; BP神經網絡算法訓練 end; 3.3 算法分析 該算法的優化過程是基于對目標函數的最小化過程,?di的最小化過程模擬自然界的退火過程,由一個逐步冷卻的溫度temp來控制,一個冷卻機制Tempi+1=α*tempi,α稱為冷卻率,0<α<1,此處α用作神經網絡的步長,步長的大小影響最小化的過程,模擬退火算法易于避免陷入局部最優,結合遺產算法全局搜索提高算法效率。 K是玻爾茲曼常數,temp也可以看成是一個常數。 3.4 數據模型 首先需要一個強大的數據銀行來建立模型,這些數據從MovieLens提供的數據庫獲得[10],這些數據包括六個csv文件,一個影評文件,包括userId、movieId、rating、timestamp;一個標簽文件,包括userId、movieId、tag、timestamp;一個電影文件,包括movieId、title、genres;一個鏈接文件(電影來源),包括movieId、imdbId、tmdbId;兩個標記相關性文件,包括movieId、tagId、relevance、tagId、tag。這些數據顯示每個觀眾觀影信息及影評,本文的目標是利用遺傳模擬退火的BP神經網絡模型,對這些數據建立模型,通過對模型的訓練進行預測。 預測某觀影俱樂部中的n位會員對于某部電影的評分范圍,首先對電影tag和分類數據進行匯總處理,得到電影的特征(電影類型和n個最高的tag),計算電影A與某個用戶曾經看過所有電影的相似度以相似度最高的影片的評分,作為評分。實驗數據描述見表1。 3.5 實驗結果與分析 通過特征提取降維操作,得到核心屬性為五個(A1,A2,A3,A4,A5),見表2。 采用十折交叉選取數據進行實驗[11],該實驗預測某一影片的評分,loss是損失函數的大小,val_loss是validation_loss,指驗證集的loss,均方誤差。并通過Keras搭建神經網絡仿真平臺獲得以下實驗結果[12]。 從圖1可以看出,基于模擬退火的BP神經網絡有較好的收斂性,在迭代20次左右算法趨于收斂。收斂速度快,無鋸齒現象。 從圖2可以看出,系統的預測值和真實值之間的比較,通過調參后預測值可以更接近真實值。 4 結論(Conclusion) 傳統的神經網絡存在收斂效果差,易于陷入局部最小值等問題[13],在本文中引入遺傳算法和模擬退火算法,模擬退火符合隨機梯度下降優化算法需求,能提高收斂速度和減少迭代次數,提高算法效率,遺傳算法是一種全局搜索優化算法,能改進傳統神經網絡陷入局部最優解的問題,從而提高算法的效率。本算法結合遺傳算法和模擬退火算法,使得傳統BP神經網絡算法在經過遺傳模擬退火算法優化后不僅提高了收斂速度[14],而且提高了預測精度。 參考文獻(References) [1] Lin Guangfeng,Caixia Fan,Hong Zhu,et al.Visual feature coding based on heterogeneous structure fusion for image classification[J].information Fusion,2017(36):275-283. [2] 王崇駿,于汶滌,陳兆乾,等.一種基于遺傳算法的BP神經網絡算法及其應用[J].南京大學學報自然科學版,2003,5:1-4. [3] 蔣美云.遺傳模擬退火算法在云調度中的應用研究[J].計算機與現代化,2013(13):3-4. [4] 何炎祥,陳莘萌.Agent和多Agent系統的設計與應用[M].武漢大學學術叢書:64-70. [5] F Guzmán,S Joty,L Màrquez,et al.Machine translation evaluation with neural networks[J].Computer Speech & Language[J].2017(45):180-200. [6] 劉浩然,趙翠香,李軒,等.一種基于改進遺傳算法的神經網絡優化算法研究[J].儀器儀表學報,2016,37(7):1573-1580. [7] 高玉明,張仁津.基于遺傳算法和BP神經網絡的房價預測分析[J].計算機工程,2014,40(4):187-191. [8] 曾小華,李廣含,宋大鳳,等.基于遺傳算法優化的BP神經網絡側翻預警算法[J].華南理工大學學報自然科學版,2017,45(2):30-38. [9] 何濤,張洪偉,鄒書蓉.特征提取與多目標機器學習研究及應用[J],四川理工學院學報(自然科學版)2013(1):30-35. [10] MR Mahdiani.A Modified Neural Network Model for Predicting the Crude Oil Price[J].Intellectual Economics,2017:22-30. [11] https://www.superdatascience.com. [12] AJD Silva.WRD Oliveira Comments on "Quantum artificial neural networks with applications"[J].Information Sciences,2016,370-371:120-122. [13] JürgenSchmidhuber.Deep Learning in neural networks:An overview[J].Neural Nerworks,2015(61):85-117. [14] 王倩,王瑩,邱繼勤.基于灰色GM(1,1)和BP神經網絡的房價預測[J].時代金融,2012(36):332-333. 作者簡介: 蔣美云(1977-),女,碩士,講師.研究領域:人工智能,機器學習,深度學習.