陳碩峰,石懷明,郭承湘,劉康康,陳寧江,4
(1.廣西大學 計算機與電子信息學院, 廣西 南寧 530004;2.廣西壯族自治區食品藥品安全信息與監控中心, 廣西 南寧 530029;3.廣西中醫藥大學校長辦公室、發展規劃處、網絡和信息化管理辦公室(合署), 廣西 南寧 530200;4.廣西高校并行與分布式計算技術重點實驗室, 廣西 南寧 530004)
食品安全問題一直是國家重點關注對象,近年來跟隨著國家的食品安全監管戰略的實施,各個食品監督管理部門都建設了業務管理系統,實現信息化監管,隨著食品監管工作的信息化、智能化,工作效率也日益提升,積累的數據也越來越多[1]。但這些積累下來的食品監管數據面臨著數據混亂冗雜、整合利用程度低、挖掘不充分等問題,利用率很低[2],大多數還處于信息記錄、備案階段,只有少量的數據應用到分析圖表上,食品檢測數據并沒有得到充分的利用,也未能有效地利用現有數據來提高發現食品潛在風險的機率。
本文針對食品監管數據中的隱藏信息提出了一種加權粒子群算法的極限學習機模型(加權PSO-ELM),利用現有數據實現對食品檢測的預測。本文研究對象為某省食品藥品監督管理局的食品日常抽檢數據,結合抽檢數據的分布不平衡的規律,該模型基于加權極限學習機[3]進行分類預測,同時針對極限學習機(extreme learning machine, ELM)算法的參數使用粒子群算法(partical swarm optimization, PSO)進行優化。考慮到實際食品抽樣中正負樣本不平衡,即抽檢結果為合格的數據量過多而結果為不合格的數據量過少,這會導致對人們關注的不合格樣本預測結果不夠理想的問題,因此,使用一種加權處理方法,提高對抽樣結果為不合格的少數樣本預測結果的準確度。最后,為了驗證模型預測結果的可信度,基于歷史數據使用貝葉斯網絡模型[4]計算在食品抽檢結果為不合格的情況下食品數據的后驗概率,以此驗證改進極限學習機預測結果的可靠性。
ELM能夠在極快的學習速度下獲得很好泛化性能,現在ELM在圖像識別、自然語言處理、文本情感分析等各領域的應用都展現了其快速學習的能力和精確度,因此ELM在對食品安全風險預測方面也會有適用的優勢[5]。在單隱藏層神經網絡ELM中,假設有N個任意的樣本(Xi,ti),其中Xi=[xi1,xi2,…,xin]T∈Rn為輸入值,ti=[ti1,ti2,…,tim]T∈Rm,并假設隱藏層有L個節點,則其表達式如式(1)所示:
(1)
式中,g(x)為激活函數;Wi=[wi1,wi2,…,win]T為輸入權重;βi為輸出權重;bi是第i個隱藏層單元的偏置;oj為樣本預測值。Wi·Xj表示Wi和Xj的內積。
為了獲得最優解,需要定義一個損失函數,其表示如式(2)所示:
(2)
式中,oj為樣本的預測值;tj為樣本的真實值。
只有當輸出誤差達到最小,此時的解才是最優解,即存在βi、Wi和bi,使得式(3)成立:
(3)

(4)
式中,i=1,…,L,這相當于最小化損失函數,損失函數如式(5)所示:
(5)
但是考慮到ELM算法的求解很大程度依賴一定的輸入權集和隱藏偏置,雖然實現了求解線性系統全局極小點,但是在不同的輸入權集與隱藏偏差可能具有不同的性能,所以它可能不是問題空間的全局極小點,故需要對ELM輸入權集以及隱藏偏置進行優化。
眾所周知,進化算法是可以通過全局搜索策略來避免局部極小問題,而PSO算法作為一種進化算法,其前期收斂速度快,能夠極快逼近最優解[6]。除此之外,使用PSO優化算法還不需要手動決定或者旋轉參數,故使用PSO算法對ELM進行優化。與此同時,考慮到本文所研究的食品安全檢測中的實際情況,大部分食品的檢測結果是合格的,導致抽檢數據中正負樣本數量上的巨大差距,繼而導致在對食品安全風險預測中對抽檢結果為不合格的樣本預測的不理想,但是抽檢結果為不合格的少數類數據是人們更加關注的,所以使用加權法對PSO算法進行優化,在進行數據處理時提高對少數樣本的關注,研究處理數據不平衡的加權方案[7]。
在PSO算法中,設有一個N維空間,其中有n個只有位置信息和速度信息的粒子,則第i個粒子在空間中的位置為Xi=(x1,x2,…,xn),飛行速度為Vi=(v1,v2,…,vn)。pbest表示某個粒子目前的最優解,gbest表示所有粒子中的最優解。PSO算法是通過不斷更新pbest和gbest來尋找最優解的,而定義的適應度函數計算所得的適應度值就是在某一輪迭代中是否更新pbest的判斷標準。
第一種加權方案如式(6)所示:
(6)
式中,count(ti)為訓練樣本中檢測結果為ti的樣本數量。
對于本文研究對象來說抽檢結果只有合格與不合格兩種,因此上述方法的權值分子都是1,分母分別為兩種抽檢結果的樣本數量。
第二種加權方案如式(7)所示:
(7)
這種加權方案的結果只有兩類,而且將少數類和多數類的權值比例控制在0.618∶1(黃金分割比),實際上是以犧牲多數類的分類精度換取少數類的分類精度。結合食品的實際檢測情況,此方案中抽檢結果為合格屬于多數類,抽檢結果為不合格屬于少數類。
在食品安全問題領域中,由于大部分食品的檢測結果是合格的,這就導致抽檢數據中正負樣本數量上的巨大差距,會導致在對食品安全風險預測中對不合格的樣本預測的不理想。但是不合格的少數類數據是更加受關注的。在方案一中,更加適用于有多種抽樣結果而且加權權重相同的數據處理,相比之下,方案二是將抽樣結果分為少數類和多數類兩類,而且是犧牲多數類的分類精度來提高少數類的分類精度,更符合本文的要求。
在PSO算法中分別為輸入權重、輸出權重、偏置設置粒子群,運行結束后會得到輸入權值、輸出權值、偏置的參數矩陣[8],通過使用式(7)中的加權方法對輸出權值進行二次加權,便得到加權PSO算法訓練結果,將該結果作為ELM的參數。由于ELM需要優化的參數為權值和閥值,其適應度函數[9]可用式(5)進行表示,即求目標函數min(E)。加權PSO算法步驟如下:
輸入:訓練樣本
輸出:極限學習機所需的輸入權值、輸出權值、偏置
① 設置種群大小N、最大迭代次數M及學習因子c1、c2;
② 循環執行如下操作,直到當前迭代次數等于最大迭代次數M;
③ 對每個粒子i;
④ 計算其適應度fit(i);
⑤ 如果fit(i) ⑥ 如果fit(i) ⑦ 更新粒子位置:xi=xi+vi; ⑨ 對輸出權重粒子群的歷史最優粒子位置,根據式(7)進行加權; 其中,rand()可以產生0和1之間的隨機數,c1和c2為學習因子,ω為慣性因子。加權粒子群算法訓練得到的輸入權重、輸出權重和偏置作為極限學習機的參數,從而得到加權PSO-ELM,用此模型對食品安全風險進行分類預測。 本小節使用貝葉斯網絡模型對上一小節的預測結果的可信度進行驗證。首先對加權PSO-ELM的預測結果進行統計,分析預測結果為不合格的數據中各個字段中占比最高的取值。然后根據各個字段之間的關系建立貝葉斯網絡,在通過歷史數據計算出所有先驗概率,最后計算所需后驗概率(即不合格的情況下各個字段取到的概率),找出各個字段中概率最高的取值,將結果與人工神經網絡階段的預測分析結果進行對比,判斷預測結果是否可信。 根據字段關系建立的貝葉斯網絡如圖1所示,其中X1至X15為特征字段,Y為抽檢結果,箭頭終點字段受起點字段影響。 圖1 貝葉斯網絡 部分先驗概率見表1。 表1 部分先驗概率 計算后驗概率的公式分為三類(Y=1表示抽檢結果為不合格,xi為特征字段): 第一類求P(xi|Y=1),i=2,5,6,7,9,10,13,15。這類后驗概率的公式如式(8)所示: (8) 式(8)在計算時,對于xj變量,需要使用改式分別計算xj變量各個取值下的概率,如計算P(x2|Y=1),需要分別計算P(x2=1|Y=1)、P(x2=2|Y=1)、P(x2=3|Y=1)、P(x2=4|Y=1),這樣即可知道對于某一個變量xj,在抽檢結果為不合格的情況下,該變量的哪一個取值出現的概率最高。 第二類求P(xi|Y=1),i=3,4,8。這類后驗概率的公式如式(9)所示: (9) 式中,xj為xi的前驅節點,即由xj到xi的單箭頭。公式(9)的計算和公式(8)類似,對于每一個xi,也需要計算該變量各個取值下的概率(其中xi取某個值時對應的xj有多個取值情況,需要將這些情況下計算得到的概率值相加,得到xi的某個取值的概率)。 第三類求P(xi|Y=1),i=11,12,14。這類后驗概率的公式如式(10)所示: (10) 式中,xi為xj的前驅節點,即由xi到xj的單箭頭。式(10)的具體計算方式和式(9)類似。 本文選擇了基于LMA的神經網絡[10-11]、基于GA的神經網絡、基于BP的神經網絡[12]、極限學習機及貝葉斯網絡來進行實驗分析。在進行實驗之前,首先對源數據進行預處理,經數據預處理后共計9 025條數據,取75%作為訓練集,25%作為測試集;然后進行數據轉換,將文本型數據轉為數值型數據,并將數據進行歸一化至[0,1]內,最后進行數據規約,選出來最重要的14個屬性。 相關對比模型參數主要包括:加權PSO-ELM模型的迭代次數設置為20次,粒子群規模設置為20,隱藏層節點數設置為20,精確度閾值設置為0.000 001;基于LMA的神經網絡的隱藏層節點數設置為10;基于GA的神經網絡的隱藏層節點數設置為2;BP神經網絡隱藏層節點數為8;核極限學習機的隱藏層節點數為150。上述網絡結構中的隱藏層節點數為模型準確率最高的情況下的隱藏層節點數。 加權PSO-ELM和3種模型的性能對比如圖2所示。從圖2中可見,LMA神經網絡和GA神經網絡在訓練數據集和測試數據集上的表現都不夠好;而加權PSO-ELM和BP模型在訓練數據集上都表現較好,但BP在測試數據集上表現相對較差。綜上所述,加權PSO-ELM模型表現最好。 (a) MSE對比 ELM優化前后的性能對比如圖3所示。從圖3可以看出,單純使用加權法對于ELM的性能沒有任何改變,單純使用PSO算法模型性能得到了極大提升,說明PSO算法可以對ELM的輸入參數進行有效優化;在PSO算法優化ELM的基礎上結合加權法使得模型性能有進一步提升,準確率得到提高,因此可以得出加權PSO-ELM模型能較好提高預測準確率。另外,還對加權PSO-ELM模型進行了多次實驗,發現該模型在測試數據上的預測準確率始終穩定在92%左右,表明該模型具有較強的穩定性。 (a) MSE對比 另外,與文獻[5]提出的基于徑向基核函數(RBF_kernel)的極限學習機、基于線性核函數(Lin_kernel)的極限學習機進行了對比,這兩種模型在文獻[5]中被用于肉制品安全的預測。將文獻[5]的2種模型與加權PSO-ELM模型在本文所使用的數據集上進行測試后發現,加權PSO-ELM模型對于本文研究對象的預測具有較高的準確率(表2)。 表2 與其他研究者成果對比 表3是加權PSO-ELM預測結果為不合格的數據中各個字段占比最高的取值及其占比,表4是貝葉斯網絡模型計算得到的歷史數據中在抽檢結果為不合格的情況下各個字段中后驗概率最高的取值。由于年份字段的研究意義不大,所以這兩個表中都去除了年份字段。 表3 加權PSO-ELM預測結果統計 表4 貝葉斯網絡各字段概率最高取值 結合表3和表4可以看出,通過對兩個階段結果的分析和相互印證,最終得出結論:加權PSO-ELM的預測結果符合過往歷史數據中隱藏的規律,因此其預測結果具有較高的可信度。工作人員可以結合貝葉斯網絡階段的結果(表4)有針對性的進行日常抽檢,節省人力資源、提高工作效率。 本文針對某省食品藥品監督管理局的食品日常抽檢數據正負樣本不平衡的問題提出了一種加權PSO-ELM模型,主要是首先通過粒子群算法計算得到極限學習機所需的輸入權重、輸出權重、偏置這3個參數,然后對輸出權重進行加權,最后將這3個參數輸入極限學習機進行預測。該模型在預測準確率上相比其他對比的模型具有更好的效果,與優化前相比也有所提升,同時也通過貝葉斯網絡模型對歷史數據的分析驗證了加權PSO-ELM模型預測結果的高可信度。本文提出的加權PSO-ELM模型雖然準確率較高,且具有極好的穩定性,但在預測準確率達到92%左右后增加迭代次數,準確率都不會再增加,而且在貝葉斯-人工神經網絡兩階段模型中,雖然是通過兩個階段的結果相互印證來驗證模型的可靠性,但是兩個階段的結合并不充分。因此,下一步工作考慮將貝葉斯網絡模型計算得到的結果轉化為第一階段權值的一部分來改進加權PSO-ELM模型,探索進一步提升準確率的途徑。1.2 貝葉斯網絡模型


2 實驗





3 結語