王小藝,李柳生,孔建磊,*,金學(xué)波,蘇婷立,白玉廷
(1.北京工商大學(xué)計算機與信息工程學(xué)院,北京 100048;2.北京工商大學(xué) 北京市食品安全大數(shù)據(jù)技術(shù)重點實驗室,北京 100048)
國以民為本,民以食為天。作為人類賴以生存的重要商品,糧食安全問題是關(guān)系國計民生的戰(zhàn)略問題,既影響著國家主權(quán)、經(jīng)濟和社會的穩(wěn)定發(fā)展,又影響著人民身體的健康。然而近些年糧食安全問題時有發(fā)生,糧食供應(yīng)從原材料到最終商品,需要經(jīng)過種植收購、生產(chǎn)加工、倉儲運輸、銷售消費等多個環(huán)節(jié),是一個是多維、復(fù)雜、耦合的過程[1]。其中任何一個環(huán)節(jié)都存在不同類別和程度的危害物風(fēng)險因素,且每個因素受到食品多樣性、數(shù)據(jù)多源異構(gòu)、地區(qū)分布差異、時間變化性等影響,這直接導(dǎo)致糧食供應(yīng)鏈安全得不到保障,自然產(chǎn)生和非法添加的食源性危害物如重金屬、農(nóng)藥殘留、食品添加劑以及衛(wèi)生條件控制不當造成的微生物、真菌毒素污染,嚴重威脅著群眾的身體健康和生命安全[2-3]。為有效控制糧食供應(yīng)鏈中每個環(huán)節(jié)的潛在污染源,預(yù)防和減少食源性風(fēng)險威脅,風(fēng)險預(yù)警正逐漸成為強化糧食供應(yīng)鏈安全體系的有力保障[4]。所謂預(yù)警是對潛在危害物及可能產(chǎn)生風(fēng)險信息進行動態(tài)監(jiān)控、風(fēng)險評估和綜合分析判斷的結(jié)構(gòu)化決策過程,在全面收集預(yù)警指標數(shù)據(jù)、匯總多因素風(fēng)險信息基礎(chǔ)上,通過對相關(guān)數(shù)據(jù)分析、信息歸納、知識推演等處理,去偽存真,判斷事物發(fā)展的走勢,進行合理預(yù)測,提出不同警情的對策建議和反饋[5]。構(gòu)建合理有效的糧食供應(yīng)鏈風(fēng)險監(jiān)測與預(yù)警體系,在最大范圍內(nèi)有效防控風(fēng)險,降低食品安全事故的發(fā)生概率,已成為當前亟待解決的問題。
目前國內(nèi)外學(xué)者在食品風(fēng)險預(yù)警領(lǐng)域做了很多研究,總體而言,食品安全預(yù)警系統(tǒng)可分為信息采集系統(tǒng)、預(yù)警分析系統(tǒng)、應(yīng)急防控系統(tǒng)3 個主要部分,其中預(yù)警分析系統(tǒng)是整個食品安全風(fēng)險預(yù)警系統(tǒng)的關(guān)鍵和核心。典型如歐盟批準的食品飼料快速預(yù)警系統(tǒng),在危害分析關(guān)鍵控制點標準下構(gòu)建,重點注重最相關(guān)的高風(fēng)險危害物。而世界衛(wèi)生組織建立的全球環(huán)境食品污染監(jiān)測和評估系統(tǒng),對全球26 個國家進行長期不間斷微生物危害事件及疫情監(jiān)控、動態(tài)監(jiān)測和預(yù)警潛在危害風(fēng)險[6]。近些年,我國食品安全監(jiān)測和防控系統(tǒng)也在迅速發(fā)展。農(nóng)業(yè)農(nóng)村部通過無公害農(nóng)業(yè)與食物安全預(yù)警系統(tǒng)對食源性農(nóng)藥殘留、重金屬超標監(jiān)測,向全國發(fā)布農(nóng)產(chǎn)品警情。國家市場監(jiān)督管理總局為有效應(yīng)對食品安全問題建立了包括信息處理系統(tǒng)、預(yù)警分析系統(tǒng)和快速反應(yīng)系統(tǒng)在內(nèi)的預(yù)警體系[7]。國家食品安全風(fēng)險評估中心構(gòu)建了涵蓋全國31 個省份的全國食品風(fēng)險監(jiān)測和預(yù)警系統(tǒng),涵蓋生物性危害(細菌、病毒和寄生蟲)、化學(xué)危害和微生物等各類危害物,開展食品暴露監(jiān)測及食源性疾病監(jiān)測和調(diào)查工作[8]。雖然目前中國已建立諸多食品安全風(fēng)險監(jiān)測與預(yù)警防范體系,但仍存在較多問題,如風(fēng)險監(jiān)測與預(yù)警脫節(jié)、供應(yīng)鏈間危害因素遷移規(guī)律不清等,特別是預(yù)警方法不先進問題更為突出,導(dǎo)致難以做到與食品監(jiān)測信息系統(tǒng)的連接,無法真正地做到對出現(xiàn)的食品安全風(fēng)險提前預(yù)報[9]。
目前食品風(fēng)險預(yù)警方法主要分為定性分析[10]與定量數(shù)據(jù)挖掘[11]兩種。定性分析方法依托從調(diào)查問卷、專家咨詢、政策與理論分析中得到數(shù)理統(tǒng)計數(shù)據(jù),抽取關(guān)鍵危害因素及潛在關(guān)聯(lián),在食品管制、食品安全風(fēng)險態(tài)度分析、食品安全問題認知度等研究中很常見;但其依賴的數(shù)據(jù)存在主觀性,掩蓋了危害物在供應(yīng)鏈環(huán)節(jié)內(nèi)耦合作用,容易導(dǎo)出違背事實規(guī)律的偽結(jié)論。而基于定量數(shù)據(jù)挖掘的預(yù)警方法,從大量的食品安全監(jiān)督抽檢數(shù)據(jù)入手,在生產(chǎn)、流通以及消費環(huán)節(jié)采集超標數(shù)值、不合格率等信息,實現(xiàn)食品安全隱患評價和預(yù)測預(yù)警[12]。常見數(shù)據(jù)挖掘方法有貝葉斯網(wǎng)絡(luò)[13]、關(guān)聯(lián)規(guī)則[14]、支持向量機[15]、決策樹[16]、誤差逆?zhèn)鞑ィ╞ack propagation,BP)神經(jīng)網(wǎng)絡(luò)[17]等。Wang Jing等使用模糊神經(jīng)網(wǎng)絡(luò)模型來預(yù)測并描述食品在各環(huán)節(jié)中的微生物數(shù)量,并以此作為參考來預(yù)警微生物風(fēng)險,實現(xiàn)食品安全動態(tài)可追溯監(jiān)管[18]。Wang Xueli等根據(jù)國家食品安全風(fēng)險評估公布的湖南省21 866 例食源性疾病,就診病例中確診病例21 226 例這一數(shù)據(jù),構(gòu)建了貝葉斯網(wǎng)絡(luò)模型預(yù)測每日真實患者數(shù)[19]。Zhu Changxing等為了克服傳統(tǒng)食品風(fēng)險預(yù)警模型在假設(shè)、樣本量、泛化能力等方面的不足,將支持向量機分類理論與預(yù)警理論相結(jié)合,提出了一種食品安全預(yù)警模型[20]。王霞利用2010年食物攝入量數(shù)據(jù)構(gòu)建了BP神經(jīng)網(wǎng)絡(luò)風(fēng)險預(yù)警模型,預(yù)測2011年的食物攝入量[21]。這些方法科學(xué)有效地把監(jiān)督抽檢的數(shù)據(jù)轉(zhuǎn)化為風(fēng)險的量化分級,但糧食供應(yīng)鏈中環(huán)節(jié)眾多、危害物來源各異,現(xiàn)有數(shù)據(jù)挖掘方法需要依賴大量人工干預(yù)實現(xiàn)指標量化和權(quán)重分配,不利于日常食品安全預(yù)警應(yīng)用和管理[22]。而且已有研究只是在當前數(shù)據(jù)出現(xiàn)超標、數(shù)據(jù)變動量超標時根據(jù)統(tǒng)計值做出預(yù)警,適用于小數(shù)據(jù)量預(yù)警處理,只在風(fēng)險發(fā)展到臨界點或即將到臨界點時才呈現(xiàn)警示結(jié)果,不具備早期預(yù)測未來風(fēng)險的預(yù)警本質(zhì),無法從海量多維異構(gòu)數(shù)據(jù)中挖掘糧食供應(yīng)鏈危害物風(fēng)險預(yù)警作用機理,導(dǎo)致預(yù)警準確率低、人力工作量大、監(jiān)管實施難等問題[23-24]。
相比傳統(tǒng)預(yù)警方法存在的受供應(yīng)鏈環(huán)節(jié)、危害物遷移擴散等眾多因素的影響而經(jīng)常呈現(xiàn)出非線性、波動性大等問題,深度置信網(wǎng)絡(luò)(deep belief network,DBN)應(yīng)用多層次結(jié)構(gòu)模擬大腦認知神經(jīng)系統(tǒng),將數(shù)據(jù)間復(fù)雜關(guān)系抽象為特征或?qū)傩灶悇e等高層表示[25],迅速得到了廣大學(xué)者的高度關(guān)注,其通過大樣本訓(xùn)練獲得系統(tǒng)隱含規(guī)律,不需要嚴格的輸入值間、輸入輸出值間假設(shè)關(guān)系,同時能夠以區(qū)間數(shù)、模糊數(shù)等方式處理定性信息,目前DBN在產(chǎn)量預(yù)測[26]、水稻病害預(yù)警[27]、儲糧蟲害預(yù)警[28]、藥品鑒別[29]等方面應(yīng)用也得到了充分的肯定,能夠在系統(tǒng)內(nèi)部狀態(tài)未知條件下實現(xiàn)基于現(xiàn)有定量定性知識的狀態(tài)預(yù)測、預(yù)警。因此,針對糧食供應(yīng)鏈危害物風(fēng)險分級預(yù)警問題特點,本研究在分析中國質(zhì)監(jiān)部門實際抽檢數(shù)據(jù)及預(yù)處理方法基礎(chǔ)上,結(jié)合多類模糊支持向量機(multiclass fuzzy support vector machine,MFSVM)和DBN模型優(yōu)勢,自適應(yīng)分析糧食供應(yīng)鏈中多維異構(gòu)抽檢數(shù)據(jù),構(gòu)建基于DBNMFSVM的糧食供應(yīng)鏈危害物風(fēng)險分級預(yù)警模型,從而達到充分掌握供應(yīng)鏈內(nèi)各類危害因素遷移變化規(guī)律的目的,使危害物風(fēng)險預(yù)警更加準確。
本研究以全國主要糧食生產(chǎn)地區(qū)的主要危害物進行實例分析,搜集整理國家糧食局、國家市場監(jiān)督管理總局等網(wǎng)站公布的抽檢數(shù)據(jù),按照重金屬、霉菌毒素、微生物、食品添加劑、農(nóng)藥殘留等危害物類別及供應(yīng)鏈環(huán)節(jié)來源進行分類整理和預(yù)處理,收集整理到2013—2018年的糧食及其加工品的抽檢數(shù)據(jù),包括除港澳臺、西藏、新疆、內(nèi)蒙古、寧夏和甘肅在外的26 個省份,涵蓋中國糧食食品的主要產(chǎn)區(qū)和消費大省,亦屬于人口密集地區(qū)。糧食食品種類由大米、大米加工品、小麥粉、小麥粉加工品、其他糧食加工品組成,這5 類產(chǎn)品涵蓋了中國消費者最主要的糧食結(jié)構(gòu)。抽檢數(shù)據(jù)整體反映了各省份地區(qū)糧食供應(yīng)鏈中危害物的類別、來源以及有關(guān)危害物的信息,每個數(shù)據(jù)樣本由多個因素組成,包括:產(chǎn)品名稱、標稱生產(chǎn)企業(yè)及被抽樣企業(yè)信息、抽樣環(huán)節(jié)及場所、生產(chǎn)及抽檢日期、食品分類、抽檢項目及結(jié)果、標準值等。
鑒于糧食供應(yīng)鏈安全受到社會、經(jīng)濟、監(jiān)管、危害物毒性等眾多因素影響,且供應(yīng)鏈涵蓋從種植、生產(chǎn)加工、倉儲物流等眾多環(huán)節(jié),以及含各類商場、超市及其他消費場所在內(nèi)的銷售消費環(huán)節(jié),這些環(huán)節(jié)均可能出現(xiàn)安全隱患和風(fēng)險因素。因此,本研究深入整理收集糧食供應(yīng)鏈相關(guān)信息,通過對文獻、食品行業(yè)專業(yè)網(wǎng)站、新聞媒體信息的分析,得到匹配食品抽檢數(shù)據(jù)的糧食供應(yīng)鏈主要危害物計量統(tǒng)計信息。其中,參考國家統(tǒng)計局的第六次全國人口普查結(jié)果和《中國統(tǒng)計年鑒》獲取糧食相關(guān)人口數(shù)據(jù)和消費數(shù)據(jù);致病菌的污染情況、危害程度和流行病學(xué)數(shù)據(jù)則來源于《中國衛(wèi)生統(tǒng)計年鑒》、《中國食品工業(yè)年鑒》。此外,其他信息還包括調(diào)研信息,包括統(tǒng)計中國食品安全網(wǎng)等網(wǎng)站公告的糧食安全事件情況,并采用調(diào)查問卷的方式,共邀請來自高等院校、食品藥品監(jiān)管部門、食品行業(yè)的專家及從業(yè)人員進行調(diào)研論證,發(fā)出共回收有效問卷553 份,獲取蘊含專家綜合分析及預(yù)警知識的調(diào)研問卷信息。
本研究在分析不同省份、不同時間的食品抽檢數(shù)據(jù)基礎(chǔ)上,結(jié)合計量統(tǒng)計信息和調(diào)研問卷信息輔助評價,構(gòu)建多維層次指標體系,對糧食供應(yīng)鏈危害物進行分級量化分析,初步評定出各類危害物風(fēng)險等級。本指標體系分為14 個一級指標和34 個屬性指標,如表1所示,每個一級指標由其多個屬性指標加權(quán)求和得到,而上層評價指標需通過下層評價指標的評價結(jié)果反映出來,即涵蓋定性指標,如社會關(guān)注度、危害程度、監(jiān)管可及性等,同時兼顧定量指標,如全省年度總產(chǎn)量、糧食生產(chǎn)及消費價格、國家標準限定值等內(nèi)容。各指標權(quán)重賦值由高等院校、食品藥品監(jiān)管部門、食品行業(yè)的專家及從業(yè)人員綜合評價得出,伴隨調(diào)研及問卷實施過程獲得。根據(jù)專家們綜合評定,對各樣本數(shù)據(jù)中危害物進行風(fēng)險分級,共細分出8 個等級:安全、較安全、預(yù)警、較低危險、中危險、較高危險、高危險和超高危險[30]。綜合抽檢數(shù)據(jù)、計量統(tǒng)計數(shù)據(jù)、調(diào)研數(shù)據(jù)等構(gòu)建多維異構(gòu)數(shù)據(jù)集合,本研究在分析多維異構(gòu)食品抽檢數(shù)據(jù)的基礎(chǔ)上,將糧食供應(yīng)鏈劃分為生產(chǎn)、流通、消費3 個主要環(huán)節(jié),以糧食供應(yīng)鏈中的重金屬(鎘、鉛、汞等)、霉菌毒素(黃曲霉毒素、脫氧雪腐鐮刀菌烯醇、赭曲霉毒素、玉米赤霉烯酮等)、農(nóng)藥殘留(馬拉硫磷、戊唑醇等)以及其他主要危害物為研究對象,這些危害物反映了糧食供應(yīng)鏈中主要危害物大類,會從各個方面影響人的身體健康。
表1 糧食供應(yīng)鏈危害物數(shù)據(jù)結(jié)構(gòu)Table 1 Hazard data structure sampled in cereal supply chain
經(jīng)過上述過程,整合不同來源、不同類型的數(shù)據(jù),形成糧食供應(yīng)鏈危害物數(shù)據(jù)集,共有26 285 個數(shù)據(jù)樣本。將數(shù)據(jù)集劃分為訓(xùn)練集合和測試集合,劃分比例為80%∶20%。所獲得數(shù)據(jù)呈現(xiàn)多源頭、多屬性、強關(guān)聯(lián)等特點,區(qū)別于圖像、視頻、文本等非結(jié)構(gòu)化數(shù)據(jù),每個數(shù)據(jù)樣本由一行多列形式記錄,存儲在二維表中,除了整數(shù)、浮點等數(shù)值型定量特征,還包含非數(shù)字型定性特征,比如中文、英文字母、特殊符號等,是典型的多源異構(gòu)的數(shù)據(jù),涵蓋了糧食供應(yīng)鏈各環(huán)節(jié)中不同危害物潛在風(fēng)險因素。
本實驗基于DBN-MFSVM的等級預(yù)警模型(圖1)架構(gòu),其包含3 個步驟:1)將糧食數(shù)據(jù)中的類別特征進行嵌入編碼,再對數(shù)值型特征進行歸一化處理,最終預(yù)處理為結(jié)構(gòu)化數(shù)據(jù)。2)使用DBN對結(jié)構(gòu)化數(shù)據(jù)進行特征提取,挖掘供應(yīng)鏈危害物風(fēng)險變化內(nèi)在關(guān)聯(lián),形成出高維度表征的特征集合。3)以高維特征為輸入,應(yīng)用MFSVM進行分類器參數(shù)優(yōu)化,準確、高效地實現(xiàn)各主要危害物風(fēng)險分級預(yù)警。
圖1 DBN-MFSVM模型Fig. 1 DBN-MFSVM model
1.2.1 基于嵌入歸一化的數(shù)據(jù)預(yù)處理
輸入n個訓(xùn)練數(shù)據(jù)Xn={x1,x2, ...,xm}預(yù)警等級yn。在多維異構(gòu)食品非結(jié)構(gòu)化數(shù)據(jù)中,特征有數(shù)值型特征和中英文類別型特征。但計算機只能處理數(shù)值型數(shù)據(jù),沒法處理類別型數(shù)據(jù)。因此,需要對各種類別特征進行相應(yīng)的編碼,進行定性指標的定量化處理,本實驗使用標簽編碼和獨熱編碼相結(jié)合的編碼方式,先應(yīng)用標簽編碼將分類特征轉(zhuǎn)化成連續(xù)的數(shù)值型變量,繼而應(yīng)用獨熱編碼有效增加額外列屬性,讓0和1出現(xiàn)在對應(yīng)的列分別表示每個分類值有或無。將樣本中某個特征xm進行標簽獨熱編碼,如式(1)所示。
式中:δxmα是克羅內(nèi)克函數(shù),α與xm是兩個輸入,當α=xm時δxmα為1,不相等時δxmα為0。如果N是特征xm可能值的數(shù)量,則δxiα是長度為N的向量。舉例說明,如抽檢地分別為北京、山西、陜西,經(jīng)過編碼后表示為“北京100,山西010,陜西001”,這樣消除了數(shù)值大小關(guān)系比較。但本數(shù)據(jù)中抽檢地有26 個省份地區(qū),直接編碼會導(dǎo)致維度急劇增加,產(chǎn)生大量冗余的稀疏矩陣,加重了預(yù)警系統(tǒng)計算量。因此,在本實驗中采用嵌入方式進一步挖掘不同維度之間的內(nèi)在關(guān)系,對特征進行神經(jīng)網(wǎng)絡(luò)嵌入,如式(2)所示。
式中:ωαβ是連接獨熱編碼層與嵌入層的權(quán)重;β是嵌入層的索引,映射的嵌入只是這一層的權(quán)重。如此,所有特征被嵌入到一個低維空間,每一個n×m的矩陣M都定義了Rm到Rn的一個線性映射:對應(yīng)矩陣M中的一行,如式(3)所示。
使用嵌入來表示所有類別特征之后,所有嵌入層和所有連續(xù)變量的輸入被連接起來,合并的圖層被視為神經(jīng)網(wǎng)絡(luò)中的普通輸入圖層,可以使用標準反向傳播方法訓(xùn)練整個網(wǎng)絡(luò),如此可以了解每個類別的內(nèi)在屬性,更深層地挖掘各特征組合的內(nèi)在關(guān)聯(lián)。鑒于各個特征屬性定義及取值范圍均不同,為了消除屬性之間的量綱影響,需要對各屬性進行歸一化處理,使得不同屬性之間具有可比性。對數(shù)值類型的特征進行線性函數(shù)歸一化,將嵌入編碼的數(shù)據(jù)對進行線性變換,將所有特征值范圍定義在[0,1]內(nèi),實現(xiàn)對原始數(shù)據(jù)的等比縮放,為后續(xù)深度置信網(wǎng)絡(luò)訓(xùn)練提供底層特征集合。歸一化公式如式(4)所示。
式中:X為原始樣本特征值;Xnorm為歸一化后的特征值,xmax和xmin分別為該特征中的最大值和最小值。
1.2.2 DBN特征提取
本實驗所使用的DBN是由多層RBM和一層BP神經(jīng)網(wǎng)絡(luò)組成,訓(xùn)練過程主要包含預(yù)訓(xùn)練和微調(diào)2 個階段。
預(yù)訓(xùn)練階段:使用對比散度算法,逐層來調(diào)整連接權(quán)重和偏置,首先訓(xùn)練輸入層和隱藏層之間的參數(shù),把訓(xùn)練后得到的參數(shù)作為下一層的輸入,再調(diào)整該層與下一個隱藏層之間的參數(shù),然后逐次迭代,完成多層RBM的訓(xùn)練。RBM由可見層和隱藏層構(gòu)成的兩層結(jié)構(gòu),可見層和隱藏層又分別由可見變量和隱藏變量構(gòu)成。本實驗中的DBN由一個可見層v和兩個隱藏層h1、h2構(gòu)成,相鄰的兩層即是一個RBM,則v-h1,h1-h2構(gòu)成了兩個RBM,具體見圖1。
v表示所有的可見層單元,其輸入為嵌入歸一化后的數(shù)據(jù)特征;h表示所有隱藏層單元,模型的3 個參數(shù)包括權(quán)重矩陣W、可見層單元偏置A、隱藏層單元偏置B。對于一個有n 個可見單元m 個隱單元的RBM模型,vi表示第i個可見單元,hj表示第j個隱單元,它的參數(shù)形式為:Wij表示第i個可見單元和第j個隱單元之間的權(quán)值,ai表示第i個可見單元的偏置,bj是第j個隱單元的偏置。RBM是根據(jù)能量平衡原理的一種概率生成模型,利用無監(jiān)督學(xué)習(xí)初始化權(quán)重值,從而學(xué)習(xí)出特征間的內(nèi)在結(jié)構(gòu)和關(guān)系。對于一組給定狀態(tài)下的(v,h)值,觀察數(shù)據(jù)得知可見層和隱藏層均服從伯努利分布,得到RBM的能量函數(shù)(公式(5))。
式中:θ=(Wij,ai,bj),為RBM模型的參數(shù),能量函數(shù)表示在每一個可見層節(jié)點和每一個隱藏層節(jié)點之間都存在一個能量值。對該能量函數(shù)指數(shù)化和正則化后可以得到可見層節(jié)點集合和隱藏層節(jié)點集合分別處于某一種狀態(tài)下(v,h)聯(lián)合概率分布公式(式(6)),其中Z(θ)按公式(7)計算。
式中:Z(θ)為歸一化因子,表示對可見層和隱藏層節(jié)點集合的所有可能狀態(tài)的求和。由于RBM模型層間全連接、層內(nèi)無連接,在給定可見單元的狀態(tài)時,各隱藏層單元的激活狀態(tài)之間是條件獨立的。此時,第j個隱單元的激活概率可按式(8)計算。相應(yīng)地,當給定隱單元的狀態(tài)時,可見單元的激活概率同樣是條件獨立的。此時第i個可見單元激活的概率可按式(9)計算。
式中:f為激活函數(shù),這里選用sigmoid作為激活函數(shù)。是因為它可以把(-∞,+∞)的值映射到[0,1]這個區(qū)間。也就是說,無論模型的可見層輸入節(jié)點數(shù)據(jù)處于一個多大的范圍內(nèi),都可以通過sigmoid函數(shù)求得它相應(yīng)的函數(shù)值,即節(jié)點的激活概率值。
微調(diào)階段:把訓(xùn)練RBM得到的輸入作為BP神經(jīng)網(wǎng)絡(luò)的輸入,進行前向傳播,然后進行反向傳播,將頂層訓(xùn)練的誤差從輸入層反向傳播至輸入層,微調(diào)各層的參數(shù),使得誤差最小。最終將DBN特征提取后的特征作為MFSVM分類器的輸入,實現(xiàn)預(yù)警等級的分類。
1.2.3 多類模糊支持向量機
傳統(tǒng)的支持向量機的兩類性較強,但對本實驗涉及的多類安全等級問題則表現(xiàn)欠缺。因此本實驗使用模糊輸入和模糊輸出的支持向量機作為分類器,以徑向基函數(shù)描述核函數(shù),優(yōu)化隸屬度表現(xiàn)形式,并使用有向無環(huán)圖(directed acyclic graphs,DAG)的形式將雙模糊支持向量機推廣到多類問題,構(gòu)建MFSVM,提升支持向量機的分類能力和泛化性。將DBN模型提取的高維特征作為MFSVM分類器的輸入,取n 個訓(xùn)練樣本的高維特征及標簽構(gòu)建集合{(hi2,yi),i=1,2,...,n},通過模型訓(xùn)練在樣本空間中獲得劃分超平面,將不同類別的樣本分開,其目標函數(shù)見式(10)。
約束條件: yi(wTxi+b)≥1-ξi,i =1,…,n
式中:懲罰參數(shù)C是用來限制奇異點存在的程度;w和b分別為超平面的法向量和截距;松弛變量ξi對一些不能被超平面正確分類的樣本進行補償。之后,將拉格朗日算子ai引入公式,通過化簡和轉(zhuǎn)化,可以得到超平面的表達式(式(11))。
式中:K(xi,x)是為了解決非線性問題引入的核函數(shù)。選擇了常用的徑向基函數(shù)作為核函數(shù),σ為核函數(shù)的帶寬,控制函數(shù)的作用范圍,其表達式見公式(12)。
實際應(yīng)用中,每個訓(xùn)練樣本對支持向量機所起的作用不同,邊緣數(shù)據(jù)最容易錯分且成為支持向量的機會較多,而中間數(shù)據(jù)成為支持向量的概率較小。因此在分類超平面求解過程中,需要引入模糊理論對不同的訓(xùn)練樣本分布情況進行描述,定義了一個與分類超平面垂直的隸屬度函數(shù)si,表達每個樣本對分類超平面的重要性,將多個隸屬度函數(shù)組合在一起可減少不可分區(qū)域,如此構(gòu)建模糊支持向量機,完成目標函數(shù)的懲罰參數(shù)C和松弛變量ξ的平衡,目標函數(shù)(式(10))可改寫為式(13)。
式中:si的取值區(qū)間為(0,1]表示了每個樣本屬于標簽的可能性,該變量的取值較小,從而對懲罰參數(shù)C的取值進行了一定程度的限制,防止其取值過大或過小對分類性能產(chǎn)生影響,使分類器的性能更加穩(wěn)定。在模糊向量機中時,每個樣本的權(quán)值是通過隸屬度函數(shù)來求得的,那么隸屬度函數(shù)的選擇和設(shè)計是模糊向量機模型建立的關(guān)鍵。本實驗采用的隸屬模型是基于樣本到類中心之間的距離來度量其隸屬度的大小。隨后,在上述基礎(chǔ)上,將模糊支持向量機向多類問題的推廣,使用DAG方法將多個兩類分類器組合成多類分類器。在訓(xùn)練階段,對于本研究k類安全等級預(yù)警問題,設(shè)計k(k-1)/2二類分類器。而在決策階段,使用從根節(jié)點開始的導(dǎo)向非循環(huán)圖,具有k(k-1)/2個內(nèi)部節(jié)點以及k個葉子節(jié)點,每個內(nèi)部節(jié)點都是一個二類分類器,葉子節(jié)點為最終的類值。對一個測試樣本,從根節(jié)點開始根據(jù)分類器的輸出值決定其走左側(cè)或右側(cè)路經(jīng),一直到葉子節(jié)點為止得到樣本所屬的類值,最終構(gòu)建了MFSVM模型進行安全等級的預(yù)警。
1.2.4 模型參數(shù)選擇
DBN中的“深度”體現(xiàn)在有多個RBM層,隱藏層越多,網(wǎng)絡(luò)能更加深度挖掘數(shù)據(jù),但也導(dǎo)致網(wǎng)絡(luò)計算耗時越大,效率越低。本實驗選擇由2 個RBM堆疊而成的DBN,以及一個MFSVM。DBN模型的節(jié)點數(shù)分別為83、70、50。其中,83 個輸入變量表示輸入的抽檢數(shù)據(jù)的維度,包含了各個屬性,RBM的神經(jīng)元個數(shù)分別為70、50。訓(xùn)練中為了避免過擬合,設(shè)置迭代次數(shù)為100,學(xué)習(xí)率為0.001。
懲罰參數(shù)C和松弛變量ξ的選取對MFSVM模型的性能影響較大,目前主要采用經(jīng)驗確定法和網(wǎng)格搜索法,本實驗采用網(wǎng)格搜索法對MFSVM模型進行參數(shù)選擇,用優(yōu)化后的MFSVM模型對危害物安全等級進行識別并輸出預(yù)警結(jié)果。懲罰參數(shù)C代表錯誤的容忍程度,核參數(shù)σ是核寬度。過高或過低的參數(shù)值會造成MFSVM模型的“過學(xué)習(xí)”或“學(xué)習(xí)不足”現(xiàn)象,造成MFSVM不能有效對安全等級進行分類。采用網(wǎng)格搜索法對參數(shù)進行優(yōu)化,將C和σ的取值在一定范圍內(nèi)劃分為網(wǎng)格,遍歷所有網(wǎng)格內(nèi)的值,利用5折交叉驗證法(cross validation,CV)來驗證每一個C和σ,最終選取具有最佳分類精度的C=1,σ的取值空間為{0.001,0.01,0.11,10,100}。
本研究主要針對糧食供應(yīng)鏈危害風(fēng)險預(yù)警開展研究,需要將輸入的多維異構(gòu)數(shù)據(jù)分類為安全等級、較安全等級、預(yù)警等級、較低危險等級、中危險等級、較高危險等級、高危險等級、超高危險等級8 個類別。因此實驗采用準確率、運行時間以及混淆矩陣3 個方面來進行預(yù)警模型的評價。對于分類任務(wù),使用真正例(TP)、真負例(TN)、假正例(FP)和假負例(FN)來比較分類器的預(yù)測結(jié)果與專家評價的結(jié)果。其中,正例和負例指的是分類器結(jié)果,而真和假指的是專家評價的結(jié)果,如TP是指分類器預(yù)測的等級與專家評價的等級都是安全等級或者別的等級。計算得到的準確率是分類模型所有預(yù)測正確的樣本數(shù)占總預(yù)測樣本數(shù)的比值,其表達式見式(14)。
運行時間是模型訓(xùn)練時間與模型測試時間的總和。準確率越高,運行時間越短,說明模型的性能越好。混淆矩陣是衡量分類型模型準確度的直觀方法,可用以評判模型結(jié)果的指標好壞。
將2 1 0 2 7 個樣本當作訓(xùn)練集,用于訓(xùn)練整個預(yù)警模型,5 257 個樣本作為測試集,用于測試整個預(yù)警模型的準確性。實驗環(huán)境為Windows 1 064位系統(tǒng),所用處理器為Intel(R)Core(TM)i5-4210M CPU@2.60GHz,運行內(nèi)存為8 GB,數(shù)據(jù)加速器使用1 塊NVIDIA RTX 2080 Ti。實驗程序設(shè)計語言為Python及相關(guān)庫,訓(xùn)練框架為PyTorch和Keras深度框架。為了驗證本模型的準確性,并將其與傳統(tǒng)的機器學(xué)習(xí)方法K最近鄰、樸素貝葉斯、邏輯回歸、支持向量機、決策樹、隨機森林以及DBN模型和BP神經(jīng)網(wǎng)絡(luò)進行對比測試,在訓(xùn)練集上進行訓(xùn)練,之后在驗證集上執(zhí)行評估以最小化過度擬合,當實現(xiàn)訓(xùn)練過程和參數(shù)的最佳選擇時,在未知的測試集上進行最終評估,通過分析不同的性能指標,評估不同算法結(jié)果的可靠性。
表2 DBN-MFSVM與傳統(tǒng)機器學(xué)習(xí)方法性能對比結(jié)果Table 2 Comparative performance of DBN-MFSVM and traditional machine learning methods
表2比較了不同方法準確率和運行時間對比結(jié)果,可以看出,DBN-MFSVM的準確率達到98.44%,性能優(yōu)于其他傳統(tǒng)機器學(xué)習(xí)方法,這表明DBN-MFSVM模型面對多維異構(gòu)的食品抽檢數(shù)據(jù)集,能夠自適應(yīng)處理數(shù)據(jù),形成預(yù)警相關(guān)的高維度特征,并深入挖掘各危害因素在供應(yīng)鏈環(huán)節(jié)中內(nèi)在關(guān)聯(lián),避免了手工提取選擇特征的繁重工作,提升危害物風(fēng)險等級預(yù)警的準確率。而其他傳統(tǒng)方法預(yù)警精度較低,且運行時間稍微較長,進一步證明本實驗所采取的方法具備快速高效預(yù)警特性,可為糧食產(chǎn)品危害物監(jiān)管實際應(yīng)用提供參考。
為進一步說明本實驗方法在預(yù)警應(yīng)用上的魯棒性,對比DBN和BP神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)集上的損失函數(shù)變化趨勢,以訓(xùn)練過程中的損失函數(shù)值為縱坐標,以訓(xùn)練過程中向前迭代次數(shù)為橫坐標,得到圖2。
圖2中,損失函數(shù)值越小,表明模型的魯棒性越好,可以看出在迭代訓(xùn)練過程中,3 個模型的損失函數(shù)值呈下降趨勢,均穩(wěn)定了100 次迭代。其中,DBN-MFSVM模型的損失函數(shù)值下降最快,最終損失函數(shù)下降到0.016 2左右,表明該方法具有較強的穩(wěn)定性能。而變化最慢的是BP神經(jīng)網(wǎng)絡(luò)損失函數(shù),只降至0.306 2左右,性能遠低于本實驗?zāi)P汀檫M一步對比說明,從測試數(shù)據(jù)中隨機選取100 個樣本進行分析,繪制DBN-MFSVM、DBN和BP的誤差曲線(圖3)
圖3 DBN-MFSVM、DBN和BP神經(jīng)網(wǎng)絡(luò)的誤差曲線圖Fig. 3 Error graph of DBN-MFSVM、DBN and BP neural network
由圖3可知,本實驗方法的誤差范圍在0.10~-0.05之間,變化幅度較小,模型對不同樣本的分類準確率較高,且整體呈現(xiàn)穩(wěn)定趨勢。而其他方法則存在較大誤差波動,意味對比方法在面對食品數(shù)據(jù)的分析預(yù)警時,容易出現(xiàn)誤報錯報的行為。
圖4 DBN-MFSVM模型的混淆矩陣Fig. 4 Confusion matrix of DBN-MFSVM model
混淆矩陣反映了模型預(yù)警結(jié)果的性能,行代表真實的安全等級,列代表模型預(yù)測的安全等級,對角線為被正確預(yù)測的樣本比例。由圖4可知,大部分預(yù)測正確的樣本都集中在對角線附近,說明本實驗?zāi)P蛯φ麄€多維異構(gòu)食品數(shù)據(jù)的分級預(yù)警效果很好,但在預(yù)警等級(III)、較低危險等級(IV)和中危險等級(V)中存在一定的混淆偏差,其混淆程度分別為0.95、0.96和0.98,其不正確分類實例多數(shù)被分配到較低危險類別(IV)和中危險類別(V),說明本模型在這兩個風(fēng)險級別的存在預(yù)警偏差的情況,這就為供應(yīng)鏈中重點監(jiān)控提供了方向,可以起到節(jié)省監(jiān)控成本的作用。
圖5 糧食食品供應(yīng)鏈主要危害物風(fēng)險預(yù)警系統(tǒng)Fig. 5 Risk pre-warning system of main hazards in grain supply chain
基于以上的結(jié)果,將基于DBN-MFSVM的糧食供應(yīng)鏈危害物風(fēng)險預(yù)警方法結(jié)合Web技術(shù)構(gòu)建了糧食食品供應(yīng)鏈主要危害物風(fēng)險預(yù)警系統(tǒng)(圖5)。本系統(tǒng)旨在為廣大糧食消費者提供一個可靠的、直觀的糧食食品安全信息。本系統(tǒng)采用前后端分離的方式進行開發(fā),其中前端使用React框架,版本為16.9.0;后端使用Django框架,版本為2.2。在本系統(tǒng)選擇某些抽檢數(shù)據(jù)時,前端會通過接口向后端發(fā)送請求,將選擇的數(shù)據(jù)帶到后端,后端通過調(diào)用本實驗的方法給出預(yù)警等級,并將查詢出的數(shù)據(jù)返回給前端,前端將數(shù)據(jù)轉(zhuǎn)換成所需的數(shù)據(jù)結(jié)構(gòu),將其渲染到表格中,讓用戶能清晰地查詢到每條數(shù)據(jù)的情況。為消費者提供更直觀快速的糧食食品安全評測結(jié)果以及為糧食安全監(jiān)管機構(gòu)提供針對性的糧食抽檢策略。
糧食供應(yīng)鏈安全是多維、復(fù)雜、耦合的過程,受到食品多樣性、數(shù)據(jù)多源異構(gòu)、供應(yīng)鏈環(huán)節(jié)等因素影響,存在被食源性危害物如重金屬、農(nóng)藥殘留、微生物、霉菌毒素等風(fēng)險威脅?,F(xiàn)有風(fēng)險預(yù)警受到監(jiān)管目的性、數(shù)據(jù)可及性及全局聯(lián)動性等因素影響,存在一定應(yīng)用局限性。本實驗在分析全國26 個省份的大量抽檢數(shù)據(jù)及關(guān)聯(lián)信息基礎(chǔ)上,建立了基于DBN-MFSVM的風(fēng)險分級預(yù)警模型。首先采用嵌入歸一化的數(shù)據(jù)預(yù)處理方法將原始數(shù)據(jù)處理為結(jié)構(gòu)化數(shù)據(jù),然后輸入到DBN模型進行高維度特征提取,自適應(yīng)地挖掘供應(yīng)鏈中各危害因素間風(fēng)險變化及內(nèi)在關(guān)聯(lián)概率,最后將二分類模糊支持向量機擴展為多類性能,形成MFSVM分類器,經(jīng)過模型訓(xùn)練和參數(shù)優(yōu)化,實現(xiàn)供應(yīng)鏈中各主要危害物風(fēng)險分級預(yù)警。對比結(jié)果顯示,本實驗?zāi)P途C合風(fēng)險預(yù)警準確率達到98.44%,性能優(yōu)于傳統(tǒng)機器學(xué)習(xí)模型,且對于糧食抽檢數(shù)據(jù)具有更好魯棒性和泛化性。建立的此風(fēng)險預(yù)警方法能識別出糧食供應(yīng)鏈中危害物風(fēng)險程度和優(yōu)先次序,科學(xué)分析我國糧食各供應(yīng)鏈環(huán)節(jié)上各類危害物的風(fēng)險分級情況,為監(jiān)管部門制定有針對性的預(yù)警策略、確立優(yōu)先監(jiān)管領(lǐng)域和合理分配風(fēng)險管理措施資源提供科學(xué)依據(jù),也為廣大消費者在選擇糧食產(chǎn)品時減少食品安全風(fēng)險隱患提供可行指導(dǎo)。