本技術(shù)涉及一種大數(shù)據(jù)背景下的食品安全分析算法,尤其是對相關(guān)政府監(jiān)管部門,食品檢測機(jī)構(gòu)等相關(guān)部門開發(fā)的一種便捷、高效的預(yù)判模型。
背景技術(shù):
1、確保食品質(zhì)量和安全是均衡營養(yǎng)和避免食品污染的關(guān)鍵。然而,快速的經(jīng)濟(jì)發(fā)展導(dǎo)致了食品中的各種風(fēng)險(xiǎn)來源,對人類健康構(gòu)成了嚴(yán)重威脅。食品風(fēng)險(xiǎn)的影響在波蘭有冷肉中李斯特菌流行、美國麥當(dāng)勞沙拉污染事件等事件中顯而易見。據(jù)估計(jì),全球每年有超過6億人患病,其中42萬人因與食物有關(guān)的問題而失去生命,嚴(yán)重影響3300萬人的生命和健康。為了更好地保障人類健康,采取風(fēng)險(xiǎn)預(yù)警等主動(dòng)措施至關(guān)重要。早期風(fēng)險(xiǎn)預(yù)警是指使用預(yù)測模型在食品生產(chǎn)和加工變得關(guān)鍵之前識別潛在的風(fēng)險(xiǎn)和危害,包括通過食品生產(chǎn)中使用的原材料監(jiān)測食品質(zhì)量和安全指標(biāo),分析歷史數(shù)據(jù),并使用機(jī)器學(xué)習(xí)算法預(yù)測潛在問題。本方法建立了一個(gè)食品風(fēng)險(xiǎn)預(yù)警模型,該模型可以根據(jù)食品生產(chǎn)中原料中潛在有害物質(zhì)的存在來估計(jì)食品污染的風(fēng)險(xiǎn)。對食品生產(chǎn)中的高危因素進(jìn)行早期預(yù)警和有效識別,可以為企業(yè)提供更好的生產(chǎn)指導(dǎo),為政府制定相關(guān)政策提供依據(jù),避免食品安全問題,保障人類健康。
2、因此,提出一種改進(jìn)的自適應(yīng)粒子群算法來優(yōu)化長短期記憶并創(chuàng)建風(fēng)險(xiǎn)預(yù)警模型以保證食品安全。該算法對長短期記憶的超參數(shù)進(jìn)行優(yōu)化,以減少手動(dòng)選擇超參數(shù)對預(yù)測精度的影響。與現(xiàn)有的粒子群優(yōu)化算法相比,本算法具有較高的優(yōu)化精度和收斂速度。使用和積的層次分析法來獲取檢測數(shù)據(jù)風(fēng)險(xiǎn)值,作為長短期記憶的期望輸出。使用均方根誤差作為本算法的目標(biāo)函數(shù)來尋找長短期記憶的最優(yōu)超參數(shù)組合。以三類指標(biāo)組成的時(shí)序檢測數(shù)據(jù)作為算法模型的輸入,食品風(fēng)險(xiǎn)值作為算法模型的輸出,建立了基于改進(jìn)的自適應(yīng)粒子群長短期記憶算法的食品安全風(fēng)險(xiǎn)預(yù)警模型。最后,以貴州省的復(fù)合調(diào)味數(shù)據(jù)作為檢測實(shí)例,表明自適應(yīng)粒子群長短期記憶算法的綜合性能最好,總體預(yù)測誤差最低。通過相關(guān)系數(shù)法可以識別食品中的高風(fēng)險(xiǎn)因素,為有針對性地開展食品安全風(fēng)險(xiǎn)防控工作提供決策依據(jù)。
技術(shù)實(shí)現(xiàn)思路
1、長短期記憶神經(jīng)網(wǎng)絡(luò)
2、長短期記憶神經(jīng)網(wǎng)絡(luò)是一種能夠有效捕獲長期依賴關(guān)系而成為序列預(yù)測任務(wù)的流行模型。長短期記憶由一系列重復(fù)模塊組成,每個(gè)模塊包含四個(gè)神經(jīng)網(wǎng)絡(luò)層。長短期記憶的存儲(chǔ)塊如圖1所示。一個(gè)典型的長短期記憶單元由四個(gè)模塊組成:單元狀態(tài)、遺忘門、輸入門和輸出門。長短期記憶通過這些模塊處理信息,具體如下所述:
3、遺忘門確定應(yīng)丟棄先前單元狀態(tài)中的哪些信息,如式(1)所示。遺忘門接受先前的單元狀態(tài)和當(dāng)前輸入,并產(chǎn)生遺忘門激活向量:
4、(1)
5、輸入門決定了應(yīng)該向單元狀態(tài)添加多少新信息。它由兩部分組成:輸入門激活向量和候選單元狀態(tài)向量。輸入門激活向量控制候選單元狀態(tài)向量的哪些部分應(yīng)添加到單元狀態(tài)中,如式(1)(2)和(3)所示。
6、(2)
7、(3)
8、其中,?和tanh表示sigmod函數(shù)。ft,it和ot分別表示遺忘門、輸入門和輸出門。bf、bi、bc和bo表示偏移向量。wf、wi、wc和wo表示權(quán)重向量。it表示輸入信息,表示候選單元狀態(tài)。
9、當(dāng)前的單元狀態(tài)是通過結(jié)合來自遺忘門和輸入門的信息來更新的,如式(4)所示:
10、(4)
11、其中,ct-1表示最后一個(gè)時(shí)間步的單元狀態(tài)。
12、輸出門決定應(yīng)該輸出細(xì)胞狀態(tài)的哪一部分,如等式(5)和(6)所示。輸出門接受當(dāng)前輸入和先前的細(xì)胞狀態(tài),并產(chǎn)生輸出門激活向量。
13、(5)
14、(6)
15、長短期記憶可以有效地處理越來越大和復(fù)雜的數(shù)據(jù),使其適用于需要長期記憶的任務(wù)。同時(shí),長短期記憶是一種遞歸神經(jīng)網(wǎng)絡(luò),可以有效地捕獲序列數(shù)據(jù)中的長期依賴關(guān)系。因此,將過去的檢測數(shù)據(jù)作為輸入,將未來的風(fēng)險(xiǎn)值作為長短期記憶網(wǎng)絡(luò)的輸出,對這些數(shù)據(jù)對進(jìn)行建模。為了更好地證明改進(jìn)的長短期記憶處理時(shí)態(tài)數(shù)據(jù)的有效性,從根均方誤差方面比較了改進(jìn)的長短期記憶和反向傳播神經(jīng)網(wǎng)絡(luò)的預(yù)測效果。然而,長短期記憶的超參數(shù),例如時(shí)間步長、隱藏單元、批量大小和歷元,需要在訓(xùn)練前手動(dòng)設(shè)置。適當(dāng)?shù)某瑓?shù)調(diào)整可以顯著提高長短期記憶的學(xué)習(xí)能力和預(yù)測精度。在這項(xiàng)研究中,長短期記憶的超參數(shù)使用改進(jìn)的自適應(yīng)粒子群優(yōu)化算法進(jìn)行了優(yōu)化。
16、改進(jìn)的自適應(yīng)粒子群優(yōu)化
17、改進(jìn)的自適應(yīng)粒子群優(yōu)化是粒子群優(yōu)化算法的改進(jìn)版本,它根據(jù)粒子的性能動(dòng)態(tài)更新慣性權(quán)重。改進(jìn)的自適應(yīng)粒子群優(yōu)化的具體步驟如下:
18、第一步:初始化。設(shè)置算法的最大迭代次數(shù),以及粒子的速度范圍和位置范圍。每個(gè)粒子都被分配一個(gè)隨機(jī)的速度向量和設(shè)定范圍內(nèi)的位置向量。每個(gè)粒子的位置向量就是當(dāng)前的個(gè)體極值,計(jì)算每個(gè)粒子的適應(yīng)度值(即目標(biāo)函數(shù)值)以確定全局極值。
19、第二步:根據(jù)方程式更新粒子的速度和位置,公式(7)和(8),確保更新的速度和位置在設(shè)定范圍內(nèi)。
20、(7)
21、(8)
22、其中,i代表第i個(gè)粒子,d代表第d個(gè)變量,t代表第t次迭代,v代表速度,x代表位置,pi和pg分別代表粒子和組的最優(yōu)位置。w是慣性權(quán)重,b1和b2是學(xué)習(xí)因子,k1和k2是在[0,1]范圍內(nèi)均勻分布的隨機(jī)數(shù)。粒子位置更新時(shí)向量之間的關(guān)系如圖2所示。
23、第三步:更新個(gè)體極值和全局極值。重新計(jì)算適應(yīng)度值。如果更新后的粒子的適應(yīng)度值優(yōu)于當(dāng)前,則將個(gè)體極值調(diào)整到更新后的粒子位置。最后調(diào)整更新群的全局極值。
24、第四步:將改進(jìn)的自適應(yīng)粒子群優(yōu)化的顆粒分為三個(gè)等級:較差、中等和較好。較差的粒子的適應(yīng)度值小于所有粒子的平均適應(yīng)度值,較好的粒子的適應(yīng)度值大于所有粒子的平均適應(yīng)度值,中等的粒子的適應(yīng)度值介于這兩個(gè)值之間。慣性權(quán)重根據(jù)等式(9)動(dòng)態(tài)更新。
25、(9)
26、其中,和分別表示所有適應(yīng)度值小于或大于favg的粒子的平均適應(yīng)度值。粒子的性能和更新的慣性權(quán)重是反相關(guān)的。
27、距離最優(yōu)解稍遠(yuǎn)的中等粒子根據(jù)其個(gè)體適應(yīng)度值進(jìn)行更新。如果個(gè)體適應(yīng)度值較大,則慣性權(quán)重增大;否則,慣性重量將會(huì)減少。由于改進(jìn)的自適應(yīng)粒子群優(yōu)化算法中粒子的自適應(yīng)更新,粒子的全局搜索和局部搜索能力得到了平衡。
28、第五步:重復(fù)步驟2-4,直到滿足改進(jìn)的自適應(yīng)粒子群優(yōu)化算法終止條件,返回最優(yōu)解。
29、改進(jìn)的自適應(yīng)粒子群優(yōu)化算法的驗(yàn)證
30、基于五個(gè)常用的基準(zhǔn)函數(shù)進(jìn)行實(shí)驗(yàn)測試,通過與其他著名的粒子群優(yōu)化算法(如傳統(tǒng)粒子群優(yōu)化算法、經(jīng)典粒子群優(yōu)化算法、自適應(yīng)粒子群優(yōu)化算法和d自適應(yīng)粒子群優(yōu)化算法)的比較研究,驗(yàn)證了所提出的改進(jìn)的自適應(yīng)粒子群優(yōu)化算法的有效性。sphere和rosenbrock函數(shù)是單峰函數(shù),用于評估這些算法的優(yōu)化精度,而ackley、griewank和rastrigin函數(shù)是多峰函數(shù),用于測試這些算法的全局優(yōu)化能力。本實(shí)驗(yàn)中每個(gè)測試函數(shù)的維度設(shè)置為30。為了消除隨機(jī)因素對實(shí)驗(yàn)結(jié)果的影響,每個(gè)算法獨(dú)立執(zhí)行30次,計(jì)算這些算法的最優(yōu)函數(shù)值的平均值和標(biāo)準(zhǔn)差,分別以衡量這些優(yōu)化算法的整體優(yōu)化精度和穩(wěn)定性。
31、表1?各種優(yōu)化算法的參數(shù)設(shè)置
32、
33、五種優(yōu)化算法的參數(shù)設(shè)置如表1所示,遵循相關(guān)的參數(shù)設(shè)置以確保實(shí)驗(yàn)結(jié)果比較公平、有效。各算法的具體參數(shù)設(shè)置及測試函數(shù)詳情如表2所示。
34、表2?測試函數(shù)
35、
36、表3?各算法最優(yōu)函數(shù)值的實(shí)驗(yàn)結(jié)果
37、
38、表3給出了各算法最優(yōu)函數(shù)值的平均值和標(biāo)準(zhǔn)差,以及5種優(yōu)化算法優(yōu)化的5個(gè)測試函數(shù)的以對數(shù)e為底的平均適應(yīng)度隨迭代次數(shù)的變化如圖3-圖7所示。對于單峰函數(shù),改進(jìn)的自適應(yīng)粒子群優(yōu)化算法實(shí)現(xiàn)了1.0e-8的平均值,明顯優(yōu)于傳統(tǒng)粒子群優(yōu)化算法和經(jīng)典粒子群優(yōu)化算法算法,與其他四種最優(yōu)算法相比標(biāo)準(zhǔn)差最小。由于測試函數(shù)的最優(yōu)值為0,結(jié)果表明改進(jìn)的自適應(yīng)粒子群優(yōu)化算法具有最高的優(yōu)化精度和最強(qiáng)的穩(wěn)定性。對于多模態(tài)函數(shù),改進(jìn)的自適應(yīng)粒子群優(yōu)化算法迭代次數(shù)少,收斂到全局最優(yōu),優(yōu)于其他四種算法,且不容易陷入局部最優(yōu)解。
39、基于以上分析,所提出的改進(jìn)的自適應(yīng)粒子群優(yōu)化算法在全局和局部搜索能力方面具有良好的平衡性。改進(jìn)的自適應(yīng)粒子群優(yōu)化算法整體優(yōu)化精度、穩(wěn)定性和收斂迭代最優(yōu),整體性能顯著提升。
40、在驗(yàn)證了改進(jìn)的自適應(yīng)粒子群優(yōu)化算法的有效性后,將其用于優(yōu)化長短期記憶網(wǎng)絡(luò)的超參數(shù)。在本研究中,考慮到時(shí)間步長、隱藏單元、批量大小和歷元在長短期記憶網(wǎng)絡(luò)中的重要性,它們被選為自變量。將實(shí)驗(yàn)數(shù)據(jù)分為訓(xùn)練組和測試組,將訓(xùn)練組的預(yù)測風(fēng)險(xiǎn)值與實(shí)際風(fēng)險(xiǎn)值的差值作為改進(jìn)的自適應(yīng)粒子群優(yōu)化算法的最小目標(biāo)。選擇預(yù)測風(fēng)險(xiǎn)值和實(shí)際風(fēng)險(xiǎn)值之間的均方根誤差(均方根誤差)作為改進(jìn)的自適應(yīng)粒子群優(yōu)化的目標(biāo)函數(shù)。最后,得到均方根誤差最小時(shí)四個(gè)超參數(shù)的數(shù)值。
41、基于改進(jìn)的自適應(yīng)粒子群優(yōu)化-長短期記憶的食品安全風(fēng)險(xiǎn)預(yù)警流程
42、基于改進(jìn)的自適應(yīng)粒子群優(yōu)化長短期記憶的食品安全風(fēng)險(xiǎn)預(yù)警流程具體步驟如下:
43、步驟1:數(shù)據(jù)預(yù)處理。我們分析使用的數(shù)據(jù)是一個(gè)時(shí)間序列數(shù)據(jù)集,由若干個(gè)可能導(dǎo)致復(fù)合調(diào)味料食品安全問題的檢測指標(biāo)組成。為了消除數(shù)據(jù)量綱的影響,對食品安全檢測數(shù)據(jù)進(jìn)行無量綱化預(yù)處理。
44、步驟2:數(shù)據(jù)拆分和風(fēng)險(xiǎn)值計(jì)算。數(shù)據(jù)集按7:3的比例分為訓(xùn)練集和測試集。使用基于求和積的層次分析法計(jì)算訓(xùn)練集中檢測數(shù)據(jù)的風(fēng)險(xiǎn)值。
45、步驟3:長短期記憶網(wǎng)絡(luò)的訓(xùn)練。長短期記憶網(wǎng)絡(luò)的輸入是步驟2中的訓(xùn)練數(shù)據(jù)集,訓(xùn)練網(wǎng)絡(luò)來預(yù)測風(fēng)險(xiǎn)值。步驟2中計(jì)算出的風(fēng)險(xiǎn)值用作長短期記憶網(wǎng)絡(luò)的期望輸出。
46、步驟4:超參數(shù)優(yōu)化。均方根誤差函數(shù)如方程式所示。采用式(10)作為改進(jìn)的自適應(yīng)粒子群優(yōu)化算法的目標(biāo)函數(shù)。使用改進(jìn)的自適應(yīng)粒子群優(yōu)化算法獲得最小化長短期記憶網(wǎng)絡(luò)均方根誤差的最優(yōu)超參數(shù)。保存訓(xùn)練好的最優(yōu)長短期記憶網(wǎng)絡(luò),用于預(yù)測新的食品安全檢測樣本的風(fēng)險(xiǎn)值。
47、(10)
48、其中,pk表示第k個(gè)檢測樣本的真實(shí)風(fēng)險(xiǎn)值,表示第k個(gè)檢測樣本的預(yù)測風(fēng)險(xiǎn)值,n表示檢測樣本的總數(shù)。
49、步驟5:模型驗(yàn)證和構(gòu)建。改進(jìn)的自適應(yīng)粒子群優(yōu)化-長短期記憶模型經(jīng)過驗(yàn)證,風(fēng)險(xiǎn)預(yù)測模型是使用均方根誤差、r2和絕對誤差(ae)構(gòu)建的,如方程式中所示。結(jié)合公式(10)、(11)和(12),實(shí)現(xiàn)了食品安全可靠的風(fēng)險(xiǎn)分析和預(yù)警。
50、(11)
51、(12)
52、其中,代表真實(shí)風(fēng)險(xiǎn)值的平均值。