陳碩峰,石懷明,郭承湘,劉康康,陳寧江,4
(1.廣西大學(xué) 計(jì)算機(jī)與電子信息學(xué)院, 廣西 南寧 530004;2.廣西壯族自治區(qū)食品藥品安全信息與監(jiān)控中心, 廣西 南寧 530029;3.廣西中醫(yī)藥大學(xué)校長(zhǎng)辦公室、發(fā)展規(guī)劃處、網(wǎng)絡(luò)和信息化管理辦公室(合署), 廣西 南寧 530200;4.廣西高校并行與分布式計(jì)算技術(shù)重點(diǎn)實(shí)驗(yàn)室, 廣西 南寧 530004)
食品安全問題一直是國(guó)家重點(diǎn)關(guān)注對(duì)象,近年來跟隨著國(guó)家的食品安全監(jiān)管戰(zhàn)略的實(shí)施,各個(gè)食品監(jiān)督管理部門都建設(shè)了業(yè)務(wù)管理系統(tǒng),實(shí)現(xiàn)信息化監(jiān)管,隨著食品監(jiān)管工作的信息化、智能化,工作效率也日益提升,積累的數(shù)據(jù)也越來越多[1]。但這些積累下來的食品監(jiān)管數(shù)據(jù)面臨著數(shù)據(jù)混亂冗雜、整合利用程度低、挖掘不充分等問題,利用率很低[2],大多數(shù)還處于信息記錄、備案階段,只有少量的數(shù)據(jù)應(yīng)用到分析圖表上,食品檢測(cè)數(shù)據(jù)并沒有得到充分的利用,也未能有效地利用現(xiàn)有數(shù)據(jù)來提高發(fā)現(xiàn)食品潛在風(fēng)險(xiǎn)的機(jī)率。
本文針對(duì)食品監(jiān)管數(shù)據(jù)中的隱藏信息提出了一種加權(quán)粒子群算法的極限學(xué)習(xí)機(jī)模型(加權(quán)PSO-ELM),利用現(xiàn)有數(shù)據(jù)實(shí)現(xiàn)對(duì)食品檢測(cè)的預(yù)測(cè)。本文研究對(duì)象為某省食品藥品監(jiān)督管理局的食品日常抽檢數(shù)據(jù),結(jié)合抽檢數(shù)據(jù)的分布不平衡的規(guī)律,該模型基于加權(quán)極限學(xué)習(xí)機(jī)[3]進(jìn)行分類預(yù)測(cè),同時(shí)針對(duì)極限學(xué)習(xí)機(jī)(extreme learning machine, ELM)算法的參數(shù)使用粒子群算法(partical swarm optimization, PSO)進(jìn)行優(yōu)化??紤]到實(shí)際食品抽樣中正負(fù)樣本不平衡,即抽檢結(jié)果為合格的數(shù)據(jù)量過多而結(jié)果為不合格的數(shù)據(jù)量過少,這會(huì)導(dǎo)致對(duì)人們關(guān)注的不合格樣本預(yù)測(cè)結(jié)果不夠理想的問題,因此,使用一種加權(quán)處理方法,提高對(duì)抽樣結(jié)果為不合格的少數(shù)樣本預(yù)測(cè)結(jié)果的準(zhǔn)確度。最后,為了驗(yàn)證模型預(yù)測(cè)結(jié)果的可信度,基于歷史數(shù)據(jù)使用貝葉斯網(wǎng)絡(luò)模型[4]計(jì)算在食品抽檢結(jié)果為不合格的情況下食品數(shù)據(jù)的后驗(yàn)概率,以此驗(yàn)證改進(jìn)極限學(xué)習(xí)機(jī)預(yù)測(cè)結(jié)果的可靠性。
ELM能夠在極快的學(xué)習(xí)速度下獲得很好泛化性能,現(xiàn)在ELM在圖像識(shí)別、自然語(yǔ)言處理、文本情感分析等各領(lǐng)域的應(yīng)用都展現(xiàn)了其快速學(xué)習(xí)的能力和精確度,因此ELM在對(duì)食品安全風(fēng)險(xiǎn)預(yù)測(cè)方面也會(huì)有適用的優(yōu)勢(shì)[5]。在單隱藏層神經(jīng)網(wǎng)絡(luò)ELM中,假設(shè)有N個(gè)任意的樣本(Xi,ti),其中Xi=[xi1,xi2,…,xin]T∈Rn為輸入值,ti=[ti1,ti2,…,tim]T∈Rm,并假設(shè)隱藏層有L個(gè)節(jié)點(diǎn),則其表達(dá)式如式(1)所示:
(1)
式中,g(x)為激活函數(shù);Wi=[wi1,wi2,…,win]T為輸入權(quán)重;βi為輸出權(quán)重;bi是第i個(gè)隱藏層單元的偏置;oj為樣本預(yù)測(cè)值。Wi·Xj表示W(wǎng)i和Xj的內(nèi)積。
為了獲得最優(yōu)解,需要定義一個(gè)損失函數(shù),其表示如式(2)所示:
(2)
式中,oj為樣本的預(yù)測(cè)值;tj為樣本的真實(shí)值。
只有當(dāng)輸出誤差達(dá)到最小,此時(shí)的解才是最優(yōu)解,即存在βi、Wi和bi,使得式(3)成立:
(3)
(4)
式中,i=1,…,L,這相當(dāng)于最小化損失函數(shù),損失函數(shù)如式(5)所示:
(5)
但是考慮到ELM算法的求解很大程度依賴一定的輸入權(quán)集和隱藏偏置,雖然實(shí)現(xiàn)了求解線性系統(tǒng)全局極小點(diǎn),但是在不同的輸入權(quán)集與隱藏偏差可能具有不同的性能,所以它可能不是問題空間的全局極小點(diǎn),故需要對(duì)ELM輸入權(quán)集以及隱藏偏置進(jìn)行優(yōu)化。
眾所周知,進(jìn)化算法是可以通過全局搜索策略來避免局部極小問題,而PSO算法作為一種進(jìn)化算法,其前期收斂速度快,能夠極快逼近最優(yōu)解[6]。除此之外,使用PSO優(yōu)化算法還不需要手動(dòng)決定或者旋轉(zhuǎn)參數(shù),故使用PSO算法對(duì)ELM進(jìn)行優(yōu)化。與此同時(shí),考慮到本文所研究的食品安全檢測(cè)中的實(shí)際情況,大部分食品的檢測(cè)結(jié)果是合格的,導(dǎo)致抽檢數(shù)據(jù)中正負(fù)樣本數(shù)量上的巨大差距,繼而導(dǎo)致在對(duì)食品安全風(fēng)險(xiǎn)預(yù)測(cè)中對(duì)抽檢結(jié)果為不合格的樣本預(yù)測(cè)的不理想,但是抽檢結(jié)果為不合格的少數(shù)類數(shù)據(jù)是人們更加關(guān)注的,所以使用加權(quán)法對(duì)PSO算法進(jìn)行優(yōu)化,在進(jìn)行數(shù)據(jù)處理時(shí)提高對(duì)少數(shù)樣本的關(guān)注,研究處理數(shù)據(jù)不平衡的加權(quán)方案[7]。
在PSO算法中,設(shè)有一個(gè)N維空間,其中有n個(gè)只有位置信息和速度信息的粒子,則第i個(gè)粒子在空間中的位置為Xi=(x1,x2,…,xn),飛行速度為Vi=(v1,v2,…,vn)。pbest表示某個(gè)粒子目前的最優(yōu)解,gbest表示所有粒子中的最優(yōu)解。PSO算法是通過不斷更新pbest和gbest來尋找最優(yōu)解的,而定義的適應(yīng)度函數(shù)計(jì)算所得的適應(yīng)度值就是在某一輪迭代中是否更新pbest的判斷標(biāo)準(zhǔn)。
第一種加權(quán)方案如式(6)所示:
(6)
式中,count(ti)為訓(xùn)練樣本中檢測(cè)結(jié)果為ti的樣本數(shù)量。
對(duì)于本文研究對(duì)象來說抽檢結(jié)果只有合格與不合格兩種,因此上述方法的權(quán)值分子都是1,分母分別為兩種抽檢結(jié)果的樣本數(shù)量。
第二種加權(quán)方案如式(7)所示:
(7)
這種加權(quán)方案的結(jié)果只有兩類,而且將少數(shù)類和多數(shù)類的權(quán)值比例控制在0.618∶1(黃金分割比),實(shí)際上是以犧牲多數(shù)類的分類精度換取少數(shù)類的分類精度。結(jié)合食品的實(shí)際檢測(cè)情況,此方案中抽檢結(jié)果為合格屬于多數(shù)類,抽檢結(jié)果為不合格屬于少數(shù)類。
在食品安全問題領(lǐng)域中,由于大部分食品的檢測(cè)結(jié)果是合格的,這就導(dǎo)致抽檢數(shù)據(jù)中正負(fù)樣本數(shù)量上的巨大差距,會(huì)導(dǎo)致在對(duì)食品安全風(fēng)險(xiǎn)預(yù)測(cè)中對(duì)不合格的樣本預(yù)測(cè)的不理想。但是不合格的少數(shù)類數(shù)據(jù)是更加受關(guān)注的。在方案一中,更加適用于有多種抽樣結(jié)果而且加權(quán)權(quán)重相同的數(shù)據(jù)處理,相比之下,方案二是將抽樣結(jié)果分為少數(shù)類和多數(shù)類兩類,而且是犧牲多數(shù)類的分類精度來提高少數(shù)類的分類精度,更符合本文的要求。
在PSO算法中分別為輸入權(quán)重、輸出權(quán)重、偏置設(shè)置粒子群,運(yùn)行結(jié)束后會(huì)得到輸入權(quán)值、輸出權(quán)值、偏置的參數(shù)矩陣[8],通過使用式(7)中的加權(quán)方法對(duì)輸出權(quán)值進(jìn)行二次加權(quán),便得到加權(quán)PSO算法訓(xùn)練結(jié)果,將該結(jié)果作為ELM的參數(shù)。由于ELM需要優(yōu)化的參數(shù)為權(quán)值和閥值,其適應(yīng)度函數(shù)[9]可用式(5)進(jìn)行表示,即求目標(biāo)函數(shù)min(E)。加權(quán)PSO算法步驟如下:
輸入:訓(xùn)練樣本
輸出:極限學(xué)習(xí)機(jī)所需的輸入權(quán)值、輸出權(quán)值、偏置
① 設(shè)置種群大小N、最大迭代次數(shù)M及學(xué)習(xí)因子c1、c2;
② 循環(huán)執(zhí)行如下操作,直到當(dāng)前迭代次數(shù)等于最大迭代次數(shù)M;
③ 對(duì)每個(gè)粒子i;
④ 計(jì)算其適應(yīng)度f(wàn)it(i);
⑤ 如果fit(i) ⑥ 如果fit(i) ⑦ 更新粒子位置:xi=xi+vi; ⑨ 對(duì)輸出權(quán)重粒子群的歷史最優(yōu)粒子位置,根據(jù)式(7)進(jìn)行加權(quán); 其中,rand()可以產(chǎn)生0和1之間的隨機(jī)數(shù),c1和c2為學(xué)習(xí)因子,ω為慣性因子。加權(quán)粒子群算法訓(xùn)練得到的輸入權(quán)重、輸出權(quán)重和偏置作為極限學(xué)習(xí)機(jī)的參數(shù),從而得到加權(quán)PSO-ELM,用此模型對(duì)食品安全風(fēng)險(xiǎn)進(jìn)行分類預(yù)測(cè)。 本小節(jié)使用貝葉斯網(wǎng)絡(luò)模型對(duì)上一小節(jié)的預(yù)測(cè)結(jié)果的可信度進(jìn)行驗(yàn)證。首先對(duì)加權(quán)PSO-ELM的預(yù)測(cè)結(jié)果進(jìn)行統(tǒng)計(jì),分析預(yù)測(cè)結(jié)果為不合格的數(shù)據(jù)中各個(gè)字段中占比最高的取值。然后根據(jù)各個(gè)字段之間的關(guān)系建立貝葉斯網(wǎng)絡(luò),在通過歷史數(shù)據(jù)計(jì)算出所有先驗(yàn)概率,最后計(jì)算所需后驗(yàn)概率(即不合格的情況下各個(gè)字段取到的概率),找出各個(gè)字段中概率最高的取值,將結(jié)果與人工神經(jīng)網(wǎng)絡(luò)階段的預(yù)測(cè)分析結(jié)果進(jìn)行對(duì)比,判斷預(yù)測(cè)結(jié)果是否可信。 根據(jù)字段關(guān)系建立的貝葉斯網(wǎng)絡(luò)如圖1所示,其中X1至X15為特征字段,Y為抽檢結(jié)果,箭頭終點(diǎn)字段受起點(diǎn)字段影響。 圖1 貝葉斯網(wǎng)絡(luò) 部分先驗(yàn)概率見表1。 表1 部分先驗(yàn)概率 計(jì)算后驗(yàn)概率的公式分為三類(Y=1表示抽檢結(jié)果為不合格,xi為特征字段): 第一類求P(xi|Y=1),i=2,5,6,7,9,10,13,15。這類后驗(yàn)概率的公式如式(8)所示: (8) 式(8)在計(jì)算時(shí),對(duì)于xj變量,需要使用改式分別計(jì)算xj變量各個(gè)取值下的概率,如計(jì)算P(x2|Y=1),需要分別計(jì)算P(x2=1|Y=1)、P(x2=2|Y=1)、P(x2=3|Y=1)、P(x2=4|Y=1),這樣即可知道對(duì)于某一個(gè)變量xj,在抽檢結(jié)果為不合格的情況下,該變量的哪一個(gè)取值出現(xiàn)的概率最高。 第二類求P(xi|Y=1),i=3,4,8。這類后驗(yàn)概率的公式如式(9)所示: (9) 式中,xj為xi的前驅(qū)節(jié)點(diǎn),即由xj到xi的單箭頭。公式(9)的計(jì)算和公式(8)類似,對(duì)于每一個(gè)xi,也需要計(jì)算該變量各個(gè)取值下的概率(其中xi取某個(gè)值時(shí)對(duì)應(yīng)的xj有多個(gè)取值情況,需要將這些情況下計(jì)算得到的概率值相加,得到xi的某個(gè)取值的概率)。 第三類求P(xi|Y=1),i=11,12,14。這類后驗(yàn)概率的公式如式(10)所示: (10) 式中,xi為xj的前驅(qū)節(jié)點(diǎn),即由xi到xj的單箭頭。式(10)的具體計(jì)算方式和式(9)類似。 本文選擇了基于LMA的神經(jīng)網(wǎng)絡(luò)[10-11]、基于GA的神經(jīng)網(wǎng)絡(luò)、基于BP的神經(jīng)網(wǎng)絡(luò)[12]、極限學(xué)習(xí)機(jī)及貝葉斯網(wǎng)絡(luò)來進(jìn)行實(shí)驗(yàn)分析。在進(jìn)行實(shí)驗(yàn)之前,首先對(duì)源數(shù)據(jù)進(jìn)行預(yù)處理,經(jīng)數(shù)據(jù)預(yù)處理后共計(jì)9 025條數(shù)據(jù),取75%作為訓(xùn)練集,25%作為測(cè)試集;然后進(jìn)行數(shù)據(jù)轉(zhuǎn)換,將文本型數(shù)據(jù)轉(zhuǎn)為數(shù)值型數(shù)據(jù),并將數(shù)據(jù)進(jìn)行歸一化至[0,1]內(nèi),最后進(jìn)行數(shù)據(jù)規(guī)約,選出來最重要的14個(gè)屬性。 相關(guān)對(duì)比模型參數(shù)主要包括:加權(quán)PSO-ELM模型的迭代次數(shù)設(shè)置為20次,粒子群規(guī)模設(shè)置為20,隱藏層節(jié)點(diǎn)數(shù)設(shè)置為20,精確度閾值設(shè)置為0.000 001;基于LMA的神經(jīng)網(wǎng)絡(luò)的隱藏層節(jié)點(diǎn)數(shù)設(shè)置為10;基于GA的神經(jīng)網(wǎng)絡(luò)的隱藏層節(jié)點(diǎn)數(shù)設(shè)置為2;BP神經(jīng)網(wǎng)絡(luò)隱藏層節(jié)點(diǎn)數(shù)為8;核極限學(xué)習(xí)機(jī)的隱藏層節(jié)點(diǎn)數(shù)為150。上述網(wǎng)絡(luò)結(jié)構(gòu)中的隱藏層節(jié)點(diǎn)數(shù)為模型準(zhǔn)確率最高的情況下的隱藏層節(jié)點(diǎn)數(shù)。 加權(quán)PSO-ELM和3種模型的性能對(duì)比如圖2所示。從圖2中可見,LMA神經(jīng)網(wǎng)絡(luò)和GA神經(jīng)網(wǎng)絡(luò)在訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集上的表現(xiàn)都不夠好;而加權(quán)PSO-ELM和BP模型在訓(xùn)練數(shù)據(jù)集上都表現(xiàn)較好,但BP在測(cè)試數(shù)據(jù)集上表現(xiàn)相對(duì)較差。綜上所述,加權(quán)PSO-ELM模型表現(xiàn)最好。 (a) MSE對(duì)比 ELM優(yōu)化前后的性能對(duì)比如圖3所示。從圖3可以看出,單純使用加權(quán)法對(duì)于ELM的性能沒有任何改變,單純使用PSO算法模型性能得到了極大提升,說明PSO算法可以對(duì)ELM的輸入?yún)?shù)進(jìn)行有效優(yōu)化;在PSO算法優(yōu)化ELM的基礎(chǔ)上結(jié)合加權(quán)法使得模型性能有進(jìn)一步提升,準(zhǔn)確率得到提高,因此可以得出加權(quán)PSO-ELM模型能較好提高預(yù)測(cè)準(zhǔn)確率。另外,還對(duì)加權(quán)PSO-ELM模型進(jìn)行了多次實(shí)驗(yàn),發(fā)現(xiàn)該模型在測(cè)試數(shù)據(jù)上的預(yù)測(cè)準(zhǔn)確率始終穩(wěn)定在92%左右,表明該模型具有較強(qiáng)的穩(wěn)定性。 (a) MSE對(duì)比 另外,與文獻(xiàn)[5]提出的基于徑向基核函數(shù)(RBF_kernel)的極限學(xué)習(xí)機(jī)、基于線性核函數(shù)(Lin_kernel)的極限學(xué)習(xí)機(jī)進(jìn)行了對(duì)比,這兩種模型在文獻(xiàn)[5]中被用于肉制品安全的預(yù)測(cè)。將文獻(xiàn)[5]的2種模型與加權(quán)PSO-ELM模型在本文所使用的數(shù)據(jù)集上進(jìn)行測(cè)試后發(fā)現(xiàn),加權(quán)PSO-ELM模型對(duì)于本文研究對(duì)象的預(yù)測(cè)具有較高的準(zhǔn)確率(表2)。 表2 與其他研究者成果對(duì)比 表3是加權(quán)PSO-ELM預(yù)測(cè)結(jié)果為不合格的數(shù)據(jù)中各個(gè)字段占比最高的取值及其占比,表4是貝葉斯網(wǎng)絡(luò)模型計(jì)算得到的歷史數(shù)據(jù)中在抽檢結(jié)果為不合格的情況下各個(gè)字段中后驗(yàn)概率最高的取值。由于年份字段的研究意義不大,所以這兩個(gè)表中都去除了年份字段。 表3 加權(quán)PSO-ELM預(yù)測(cè)結(jié)果統(tǒng)計(jì) 表4 貝葉斯網(wǎng)絡(luò)各字段概率最高取值 結(jié)合表3和表4可以看出,通過對(duì)兩個(gè)階段結(jié)果的分析和相互印證,最終得出結(jié)論:加權(quán)PSO-ELM的預(yù)測(cè)結(jié)果符合過往歷史數(shù)據(jù)中隱藏的規(guī)律,因此其預(yù)測(cè)結(jié)果具有較高的可信度。工作人員可以結(jié)合貝葉斯網(wǎng)絡(luò)階段的結(jié)果(表4)有針對(duì)性的進(jìn)行日常抽檢,節(jié)省人力資源、提高工作效率。 本文針對(duì)某省食品藥品監(jiān)督管理局的食品日常抽檢數(shù)據(jù)正負(fù)樣本不平衡的問題提出了一種加權(quán)PSO-ELM模型,主要是首先通過粒子群算法計(jì)算得到極限學(xué)習(xí)機(jī)所需的輸入權(quán)重、輸出權(quán)重、偏置這3個(gè)參數(shù),然后對(duì)輸出權(quán)重進(jìn)行加權(quán),最后將這3個(gè)參數(shù)輸入極限學(xué)習(xí)機(jī)進(jìn)行預(yù)測(cè)。該模型在預(yù)測(cè)準(zhǔn)確率上相比其他對(duì)比的模型具有更好的效果,與優(yōu)化前相比也有所提升,同時(shí)也通過貝葉斯網(wǎng)絡(luò)模型對(duì)歷史數(shù)據(jù)的分析驗(yàn)證了加權(quán)PSO-ELM模型預(yù)測(cè)結(jié)果的高可信度。本文提出的加權(quán)PSO-ELM模型雖然準(zhǔn)確率較高,且具有極好的穩(wěn)定性,但在預(yù)測(cè)準(zhǔn)確率達(dá)到92%左右后增加迭代次數(shù),準(zhǔn)確率都不會(huì)再增加,而且在貝葉斯-人工神經(jīng)網(wǎng)絡(luò)兩階段模型中,雖然是通過兩個(gè)階段的結(jié)果相互印證來驗(yàn)證模型的可靠性,但是兩個(gè)階段的結(jié)合并不充分。因此,下一步工作考慮將貝葉斯網(wǎng)絡(luò)模型計(jì)算得到的結(jié)果轉(zhuǎn)化為第一階段權(quán)值的一部分來改進(jìn)加權(quán)PSO-ELM模型,探索進(jìn)一步提升準(zhǔn)確率的途徑。1.2 貝葉斯網(wǎng)絡(luò)模型
2 實(shí)驗(yàn)
3 結(jié)語(yǔ)