一種基于隱馬爾可夫模型的食品安全溯源系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及到食品安全領(lǐng)域,具體的說是一種基于隱馬爾可夫模型的食品安全溯 源系統(tǒng)。
【背景技術(shù)】
[0002] 食品安全溯源系統(tǒng)最早是1997年歐盟為應(yīng)對"瘋牛病"問題而逐步建立并完善起 來。它強調(diào)產(chǎn)品的唯一標識和過程追蹤,在產(chǎn)品的生產(chǎn)、運輸、存儲、銷售等各個環(huán)節(jié),實行 IS09001等質(zhì)量控制方法進行跟蹤與追溯,一旦發(fā)生食品安全問題,可以有效地追蹤到食品 的源頭,及時召回不合格產(chǎn)品,將損失降到最低。
[0003] 現(xiàn)有的食品安全溯源系統(tǒng)功能單一,食品溯源應(yīng)用只能完成對食品及其原料本身 相關(guān)數(shù)據(jù)的收集,以及一些直觀的簡單追溯和信息統(tǒng)計等應(yīng)用。例如,一塊市場出售的牛肉 發(fā)現(xiàn)了微生物污染或重金屬超標,現(xiàn)有的追溯系統(tǒng)可以追查出該塊牛肉來自哪里,但并不 能解釋微生物污染或重金屬超標的原因,不能針對出現(xiàn)的問題做出深入分析并為決策部門 提供相應(yīng)建議。因為在生牛長達幾個月的生長過程以及屠宰、運輸、銷售過程中,水質(zhì)、飼料 成分、周邊環(huán)境都可能隨著時間變化,現(xiàn)有系統(tǒng)無法將大量的離散數(shù)據(jù)進行有效挖掘,更不 能挖掘出食品存在的潛在危害。
[0004] 食品在成產(chǎn)加工、運輸、存儲、銷售、消費的流通過程中產(chǎn)生了大量的和時間緊密 相關(guān)的數(shù)據(jù),我們稱之為時序數(shù)據(jù)。然而,若要從這些時序數(shù)據(jù)中分析預測出食品的潛在危 害和安全走勢卻不是一件容易的事。
[0005] 聚類是對食品時序數(shù)據(jù)分析的一種很重要的方法,是利用食品信息之間的相似性 對食品信息進行分組,并以此提取食品安全信息。同一類食品信息具有相似的功能,并隨時 間發(fā)生某些細微的變化,聚類可以通過描述食品的質(zhì)量隨時間變化的情況,來預測食品的 質(zhì)量變化趨勢。
[0006] 早期對食品信息數(shù)據(jù)的聚類多采用基于距離的方法,如k-means聚類、層次聚類、 基于函數(shù)模型的聚類等方法。這些聚類方法在一定程度上反映了食品信息的某些特征,然 而,對于在不同時間點采樣所得到的食品信息數(shù)據(jù),它們采用的距離準則往往過度強調(diào)非 關(guān)鍵的信號變化而忽視了食品信息數(shù)據(jù)各時間點之間的依賴關(guān)系。但能夠帶來高質(zhì)量聚類 結(jié)果的恰恰是這種時間點之間的依賴。
【發(fā)明內(nèi)容】
[0007] 為了克服上述食品安全信息數(shù)據(jù)不能有效利用時間點之間依賴性的問題,一種基 于隱馬爾可夫模型的食品安全溯源系統(tǒng),該溯源系統(tǒng)用隱馬爾可夫模型描述食品信息數(shù)據(jù) 的時間依賴特性,然后用層次聚類策略對建好的模型聚類,從而對食品的生產(chǎn)、運輸、存儲、 銷售等各個環(huán)節(jié)產(chǎn)生的時序數(shù)據(jù)進行智能分析、評估、挖掘,以獲取深層次的、隱藏的、不明 確的食品安全隱患信息,為消費者食品安全提供更高層次的保障。
[0008] 本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案為:一種基于隱馬爾可夫模型的食 品安全溯源系統(tǒng),通過對食品的生產(chǎn)、運輸、儲存和銷售環(huán)節(jié)進行監(jiān)控并采集數(shù)據(jù),將采集 的數(shù)據(jù)經(jīng)處理建立隱馬爾可夫模型,然后對建立的隱馬爾可夫模型進行聚類分析,根據(jù)聚 類分析的結(jié)果采取相應(yīng)措施來確保食品的安全,包括如下步驟: 1)分別采集食品在生產(chǎn)、運輸、儲存和銷售環(huán)節(jié)中的各項時序數(shù)據(jù):IfI: ,其中%表示某種條件,t表示在條件31下檢測的值,然后將這 些時序數(shù)據(jù)進行標準化處理,并用離散符號來對標準化處理之后的時序數(shù)據(jù)進行離散化處 理; #二奮矣1lt所表示的含義為:假設(shè)有兩種條件感和秦:,感表示微生物,乘 表示溫度,那么就表示某種微生物:i在某個溫度::釔下檢測的數(shù)據(jù)的集合;當 讀等于P,等于q時,表示第P種微生物在溫度q下的檢測值; 2 )將步驟1)經(jīng)離散化的時序數(shù)據(jù)轉(zhuǎn)換成符號序列集,并根據(jù)符號序列集建立隱馬爾可 夫模型,形成表示某個時序數(shù)據(jù)的模型空間,然后在所有時序數(shù)據(jù)的模型空間中對模型進 行聚類; 3)根據(jù)步驟2)聚類的結(jié)果分析食品發(fā)生污染的源頭,以采取針對性措施進行改善。
[0009] 所述步驟1)中時序數(shù)據(jù)的標準化處理和離散化處理的具體操作為: @將時序數(shù)據(jù)定義為一個矩陣3/ = &'〗,6 = !&丄乂4,3'久丄.5、:; 其中,行集合G表某一食品的檢測對象,列集合S代表不同的檢測環(huán)境條件,矩陣中每 一個元素M:,:是檢測對象G在檢測條件ift::下的真實表達水平值; ② 將步驟①中的時序數(shù)據(jù)離散化為2.-,I- 2-IX0IX乂 2-U- k取奇數(shù); ③ 將步驟②中離散化的時序數(shù)據(jù)轉(zhuǎn)換成符號序列集4\丨,即完成對時序數(shù)據(jù) 的標準化、離散化處理。
[0010] 所述步驟2)中根據(jù)符號序列集建立隱馬爾可夫模型的步驟如下: ⑴將時序數(shù)據(jù)定義為符號序列集丨〇.込,然后建立泛的隱馬爾可夫模型:i:, 并將:議作為::悉所表示的類錢的成員:%擇:議I; ⑵計算:議的-輸出概率,gp 痕]:,若丨!M__寫: 加新的成員ii:: i__,用新產(chǎn)生的:_重新訓練模型^,否則為ii:建立新的隱馬爾 可夫模型:為:,同時增加與模型相應(yīng)的類別_,并將&作為_的成員寒藝I; ⑶對于序列_,設(shè)定其建立k個模型:_,它們表示的類為:
找出使2X(丨=u,l為取最大值的模型尾:,在編中找出人..輸出概率最大的序 列 如果丨涵 建立g:的隱馬爾可夫模型::彳_,同時設(shè)置模型所表示的類別,并將@祚為的成員: 磁; ⑷重復步驟(3)直至所有序列都已分類; (5)對所有建立的表示各個類別的隱馬爾可夫模型進行層次聚類:從所有的模型中選 出模型間距離最小的兩個模型4:和將r=必gL名:和鳥:上屬J合 并為、CQ9J〇、',然后用I#中的序列重新訓練&得到新的模型 、,并將:_作為其表示的類,重復以上過程,直到只有一個模型為止,即完成隱馬爾可夫模 型的建立。
[0011] 所述是小于〇. 05的正數(shù),模型%:和A之間的距離按以下公式計算:
其中n、m分別為秦、,所表示的類今、.中所含序列數(shù); 根據(jù)對稱性算法用以下公式計算模型間的距離:
[0012] 所述步驟3)中對聚類結(jié)果的分析是指:通過MATLAB仿真,從而得到聚類結(jié)果的擬 合曲線圖,觀察圖中曲線,即可分析食品被污染發(fā)生的時間、導致污染的環(huán)境因素以及主要 污染源;通過觀察聚類樹圖,從而判斷出被污染食品的異常,進而找出異常原因。
[0013] 本發(fā)明中,對任意兩個Markov鏈,當它們具有相同的動態(tài)特征時,它們之間的距 離為零。它們之間的動態(tài)特征差異越大,距離值就越大,這樣就能夠得到任意兩個訓練序列 之間的距離。聚類的過程就是以距離為度量方式,將相似度較高的對象合并到同一個簇中。 在聚簇的過程中應(yīng)當使得到的結(jié)果簇盡可能地緊湊和獨立,達到最佳的聚簇效果,而對不 同的應(yīng)用數(shù)據(jù),其聚簇方法的選擇,聚簇算法的選擇及改進是達到最佳聚簇效果的關(guān)鍵?;?于以上分析,即可利用聚類的方法將訓練數(shù)據(jù)集聚成幾個類,通過調(diào)節(jié)距離的門檻值,可控 制得到的聚類個數(shù)。
[0014] 有益效果:本發(fā)明通過采集食品從生產(chǎn)到最終銷售過程中各環(huán)節(jié)的時序數(shù)據(jù),然 后利用數(shù)據(jù)建立隱馬爾可夫模型,并對建立的隱馬爾可夫模型進行聚類分析,當食品出現(xiàn) 安全問題時,可以根據(jù)聚類分析的結(jié)果得出具體是在哪一環(huán)節(jié)、什么原因?qū)е碌模瑥亩梢?采取相應(yīng)措施來確保食品的安全,如,政府相關(guān)部門可以根據(jù)食品安全數(shù)據(jù)分析的結(jié)果,采 取相應(yīng)的對策進行預防和控制;企業(yè)可以根據(jù)分析結(jié)果調(diào)整生產(chǎn)戰(zhàn)略,為企業(yè)創(chuàng)造更大的 利潤;消費者可以根據(jù)分析結(jié)果調(diào)整自己的飲食規(guī)律等。
【附圖說明】
[0015]圖1為本發(fā)明中層次聚類算法的流程圖。
【具體實施方式】
[0016]如圖1所示,一種基于隱馬爾可夫模型的食品安全溯源系統(tǒng),通過對食品的生產(chǎn)、 運輸、儲存和銷售環(huán)節(jié)進行監(jiān)控并采集數(shù)據(jù),將采集的數(shù)據(jù)經(jīng)處理建立隱馬爾可夫模型,然 后對建立的隱馬爾可夫模型進行聚類分析,根據(jù)聚類分析的結(jié)果采取相應(yīng)措施來確保食品 的安全,具體步驟如下: 1、 數(shù)據(jù)處理 在建立食品信息時序數(shù)據(jù)的HMM模型之前要對其進行預處理。首先進行數(shù)據(jù)的標準 化,然后用離散符號表示標準化后的數(shù)據(jù),將離散符號作為模型的狀態(tài)觀測值。將給定的食 品信息時序數(shù)據(jù)統(tǒng)一成標準格式,例如,冷鮮牛肉細菌指數(shù)、屠宰車間環(huán)境指數(shù)、運輸車輛 溫度以及位置數(shù)據(jù)、市場接觸面菌落指數(shù)等,將這些數(shù)值都轉(zhuǎn)換為一些固定的格式,這樣便 于分析和處理,然后對這些標準化后的數(shù)據(jù)進行離散化處理; 上述"數(shù)據(jù)的標準化"中,數(shù)據(jù)指的正是食品領(lǐng)域中檢測所得的數(shù)據(jù),下面以牛肉為例 只是對"數(shù)據(jù)標準化"做進一步的解釋,旨在將數(shù)據(jù)標準化的含義具體化便于理解。后文聚 類過程中提到的數(shù)據(jù)都是指食品領(lǐng)域中的數(shù)據(jù),不單指牛肉檢測數(shù)據(jù)。在"3、聚類結(jié)果分析 和應(yīng)用"中以牛肉為例,只是為了更清晰的說明本發(fā)明的用法,并不是只用在對牛肉數(shù)據(jù)的 分析。
[0017] 本發(fā)明采用Odibat等人提出的基于K-means的方法