呂立新,江 宏
(1.安徽商貿(mào)職業(yè)技術(shù)學(xué)院 信息與人工智能學(xué)院,安徽 蕪湖 241000;2.菲律賓科技大學(xué) 工程技術(shù)學(xué)院,菲律賓 馬尼拉 0900)
互聯(lián)網(wǎng)技術(shù)為各領(lǐng)域發(fā)展帶來(lái)海量信息數(shù)據(jù),也增加了各行業(yè)有價(jià)值數(shù)據(jù)提取的難度,因此需要一種快速、精準(zhǔn)識(shí)別信息類(lèi)別的數(shù)據(jù)聚類(lèi)方法方便數(shù)據(jù)整合。人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)是一種非線(xiàn)性復(fù)雜網(wǎng)絡(luò)系統(tǒng),包含大規(guī)模接近于生物神經(jīng)元的處理單元,這些單元以相互連接方式組成人工神經(jīng)網(wǎng)絡(luò)[1]。ANN自提出以來(lái)被智能算法研究領(lǐng)域?qū)<宜嗖A,廣泛應(yīng)用于復(fù)雜智能信息處理分析。BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是采用反向傳播策略進(jìn)行信息處理的人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),以其魯棒性強(qiáng)、自學(xué)習(xí)能力優(yōu)、自組織效果佳等特征,高性能實(shí)現(xiàn)了大規(guī)模數(shù)據(jù)聚類(lèi)研究[2-3]。BP神經(jīng)網(wǎng)絡(luò)適應(yīng)能力強(qiáng),但也避免不了面對(duì)海量樣本數(shù)據(jù)時(shí)的誤差,為此,使用粒子群算法(Particle Swarm Optimization,PSO)與遺傳算法(Genetic Algorithm,GA)對(duì)BP神經(jīng)網(wǎng)絡(luò)實(shí)施優(yōu)化,以確定網(wǎng)絡(luò)最佳的初始權(quán)值與閾值,提高BP神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)聚類(lèi)中的精度。
反向傳播(BP)算法是人工神經(jīng)網(wǎng)絡(luò)在實(shí)際工作中采用較為廣泛的一種,屬于一種監(jiān)督學(xué)習(xí)算法范疇,其特別之處在于“反向傳播”[4],反向傳播過(guò)程如下:在學(xué)習(xí)過(guò)程中通過(guò)給定的輸入樣本和輸出樣本,預(yù)先計(jì)算神經(jīng)網(wǎng)絡(luò)輸出層的輸出值,求取該值與數(shù)據(jù)分類(lèi)標(biāo)簽間的誤差,基于誤差值對(duì)神經(jīng)網(wǎng)絡(luò)各層的權(quán)重與偏置等參數(shù)展開(kāi)反向更新進(jìn)行網(wǎng)絡(luò)訓(xùn)練。輸入層、輸出層、隱含層是BP神經(jīng)網(wǎng)絡(luò)的主要結(jié)構(gòu)構(gòu)成。
粒子群算法結(jié)合遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的原理如下[5]:首先將神經(jīng)網(wǎng)絡(luò)的輸出誤差作為粒子群的適應(yīng)度函數(shù),適應(yīng)度函數(shù)用于評(píng)價(jià)粒子優(yōu)劣;其次利用遺傳算法對(duì)粒子群進(jìn)行交叉變異操作,更新粒子速度與位置信息,獲得最優(yōu)的粒子位置信息最優(yōu)解即群體極值;最后將最優(yōu)解作為BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值與閾值,展開(kāi)BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練與數(shù)據(jù)挖掘測(cè)試。
1)粒子群優(yōu)化算法。在d維空間中展開(kāi)最優(yōu)解搜索,搜索粒子數(shù)量定義為N,粒子獲得全局極值與個(gè)體極值的情況下采樣公式(1)與公式(2)更新速度與位置信息:
(1)
(2)
公式中,i=1,2,…,N;第i個(gè)粒子的第d個(gè)速度分量、位置分量分別采用vid、xid表示;個(gè)體極值與全局極值分別采用Pbestid、gbestd描述,前者為第i個(gè)粒子的最優(yōu)位置信息,后者表示全局粒子最優(yōu)位置信息;另外,迭代系數(shù)與慣性權(quán)重因子用k、w表示;c1、c2分別表示學(xué)習(xí)因子,r1、r2是隨機(jī)數(shù),在[0,1]之間取值。
2)遺傳算法。遺傳算法利用其選擇、交叉、變異操作在空間內(nèi)獲得最優(yōu)解,以?xún)?yōu)化粒子群的速度與位置信息,使其獲得最優(yōu)粒子位置最優(yōu)解[5],作為BP神經(jīng)網(wǎng)絡(luò)的初始最優(yōu)權(quán)值與閾值,達(dá)到優(yōu)化構(gòu)建人工神經(jīng)網(wǎng)絡(luò)的目的。遺傳算法優(yōu)化粒子群信息的過(guò)程為:
Step 1:確定初始種群與編碼策略。種群規(guī)模在多次測(cè)試中確定;定義BP神經(jīng)網(wǎng)絡(luò)輸入神經(jīng)元數(shù)量為n,輸出層、隱含層神經(jīng)元數(shù)量分別為k、h,那么編碼長(zhǎng)度計(jì)算方法見(jiàn)公式(3):
L=n×h+h×k+h+k
(3)
Step 2:確定適應(yīng)度函數(shù)?;贐P神經(jīng)網(wǎng)絡(luò)的真實(shí)輸出值與期望輸出值確定適應(yīng)度函數(shù)[6],公式(4)為該次遺傳算法使用的適應(yīng)度函數(shù):
(4)
其中,數(shù)據(jù)挖掘訓(xùn)練樣本數(shù)量為n;第i個(gè)數(shù)據(jù)挖掘訓(xùn)練樣本的真實(shí)輸出和期望輸出分別利用Gi、Bi描述。
Step 3:確定選擇算子。基于輪盤(pán)賭策略的選擇算子表達(dá)式如下:
(5)
其中,fi表示第i個(gè)個(gè)體適應(yīng)度。公式(5)計(jì)算了第i個(gè)個(gè)體留下來(lái)的可能性。
Step 4:確定交叉與遺傳算子。遺傳算法的交叉策略和變異策略分別如公式(6)與公式(7)所示:
(6)
ω′=ω+λ(θ-0.5)Emax
(7)
公式中,α是基本編碼組合系數(shù),第i個(gè)群體在父代種群內(nèi)的適應(yīng)度值為fi,父代種群內(nèi)個(gè)體的適應(yīng)度均值與最大值分別采用favg、fmax描述。父代種群內(nèi)個(gè)體適應(yīng)度最大個(gè)體的誤差均方值為Emax,θ是隨機(jī)數(shù),取值區(qū)間為[0,1],變異因子為λ,變異操作前后BP神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值分別采用ω、ω′表示。該研究使用的變異算子同選擇算子的融合一定程度上解決了提前收斂問(wèn)題[7]。
首先對(duì)帶聚類(lèi)的樣本格式進(jìn)行處理,成為適應(yīng)改進(jìn)人工神經(jīng)網(wǎng)絡(luò)輸入的樣本格式;然后基于該改進(jìn)策略對(duì)BP神經(jīng)網(wǎng)絡(luò)權(quán)值與閾值尋優(yōu),構(gòu)建高精度的人工神經(jīng)網(wǎng)絡(luò)聚類(lèi)模型。圖1為基于GA-PSO-BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)挖掘流程。
圖1 基于GA-PSO-BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)挖掘流程
結(jié)合圖1分析GA-PSO-BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)挖掘步驟:第一步,為BP神經(jīng)網(wǎng)絡(luò)定義基礎(chǔ)性參數(shù),對(duì)粒子群算法優(yōu)化對(duì)象變量的數(shù)量進(jìn)行選擇,初始化粒子種群,動(dòng)態(tài)化更新慣性權(quán)重因子、學(xué)習(xí)因子、粒子的速度信息、位置信息;第二步,計(jì)算粒子的適應(yīng)度值,適應(yīng)度值即為BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練產(chǎn)生的誤差;第三步,基于適應(yīng)度值降序排列粒子的順序,將種群劃分為V1、V2兩個(gè)類(lèi)別[8],前者是適應(yīng)度值較大的粒子、后者為適應(yīng)度值較小的粒子,復(fù)制V1并對(duì)V2進(jìn)行交叉與變異操作,以這種方式使粒子的位置與速度信息得到更新;第四步,循環(huán)迭代改進(jìn)的BP神經(jīng)網(wǎng)絡(luò),符合終止條件時(shí)將最優(yōu)的權(quán)值與閾值輸出,改進(jìn)BP神經(jīng)網(wǎng)絡(luò)利用優(yōu)化后的最優(yōu)權(quán)值與閾值進(jìn)行數(shù)據(jù)聚類(lèi)仿真。
仿真實(shí)驗(yàn)基于 Matlab 軟件以驗(yàn)證GA-PSO-BP數(shù)據(jù)聚類(lèi)方法的優(yōu)越性。將GA-BP 聚類(lèi)算法和 PSO-BP聚類(lèi)算法作為該文大數(shù)據(jù)樣本聚類(lèi)的對(duì)比方法。在電商企業(yè)獲取6個(gè)品類(lèi)的商品信息數(shù)據(jù)作為訓(xùn)練與測(cè)試樣本,信息內(nèi)容包括規(guī)格信息、樣式、顏色、數(shù)量、批發(fā)價(jià)格、零售價(jià)格等,該實(shí)驗(yàn)的目的是對(duì)電子商務(wù)交易過(guò)程產(chǎn)生的信息進(jìn)行有序分類(lèi)。3種人工神經(jīng)網(wǎng)絡(luò)利用相同的數(shù)據(jù)樣本進(jìn)行訓(xùn)練與測(cè)試,從6個(gè)品類(lèi)信息中各選取30組數(shù)據(jù)構(gòu)成規(guī)模為180組的訓(xùn)練樣本集,另外選擇120組數(shù)據(jù)進(jìn)行模型驗(yàn)證。
圖2 GA-PSO-BP神經(jīng)網(wǎng)絡(luò)誤差趨勢(shì)圖
為了客觀(guān)體現(xiàn)GA-PSO-BP數(shù)據(jù)聚類(lèi)方法的聚類(lèi)效果,將其對(duì)商品信息聚類(lèi)的訓(xùn)練誤差、測(cè)試誤差、誤差最優(yōu)值同時(shí)進(jìn)行對(duì)比,GA-PSO-BP數(shù)據(jù)聚類(lèi)方法產(chǎn)生的各種誤差走勢(shì)如圖2所示。
由圖2可知,GA-PSO-BP數(shù)據(jù)聚類(lèi)方法訓(xùn)練過(guò)程與測(cè)試過(guò)程、驗(yàn)證過(guò)程產(chǎn)生的誤差差值較小,曲線(xiàn)接近,說(shuō)明其誤差波動(dòng)性小、魯棒性?xún)?yōu),是一種較為可靠的BP神經(jīng)網(wǎng)絡(luò)模型。表1為3種方法聚類(lèi)商品信息的精準(zhǔn)度統(tǒng)計(jì)結(jié)果。
表1 3種BP神經(jīng)網(wǎng)絡(luò)模型聚類(lèi)商品信息的精準(zhǔn)度 單位:%
數(shù)據(jù)顯示,隨著樣本數(shù)量的增加,GA-PSO-BP數(shù)據(jù)聚類(lèi)方法的聚類(lèi)精度沒(méi)有降低反而有提升的趨勢(shì),說(shuō)明利用粒子群與遺傳算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)模型的權(quán)值與閾值實(shí)現(xiàn)了最優(yōu),提升了網(wǎng)絡(luò)學(xué)習(xí)商品分類(lèi)特征的能力,進(jìn)而保證了理想的商品信息聚類(lèi)精度。GA-BP 聚類(lèi)算法與PSO-BP聚類(lèi)算法聚類(lèi)效果與GA-PSO-BP數(shù)據(jù)聚類(lèi)方法略有差距,因?yàn)閷?duì)比方法僅使用了遺傳算法或者粒子群算法其中一種優(yōu)化確定BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值與閾值,具有片面性,雖然也對(duì)BP神經(jīng)網(wǎng)絡(luò)模型構(gòu)建產(chǎn)生積極影響,卻沒(méi)有實(shí)現(xiàn)人工神經(jīng)網(wǎng)絡(luò)最優(yōu)聚類(lèi)。
該文結(jié)合粒子群優(yōu)化算法與遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,遺傳算法通過(guò)交叉與變異確定粒子的最優(yōu)位置信息,粒子群將BP神經(jīng)網(wǎng)絡(luò)的誤差作為適應(yīng)度,因此粒子群輸出的最優(yōu)位置信息即為網(wǎng)絡(luò)最佳權(quán)值與閾值。在測(cè)試環(huán)節(jié),GA- PSO-BP數(shù)據(jù)聚類(lèi)方法由于結(jié)合了粒子群尋優(yōu)優(yōu)勢(shì),又利用遺傳算法的交叉與變異功能獲得粒子的最優(yōu)位置信息,為粒子群獲得全局最優(yōu)解提供了保障,促使數(shù)據(jù)聚類(lèi)結(jié)果更具可靠性。
安陽(yáng)師范學(xué)院學(xué)報(bào)2022年5期