程 龍,靳 濤,劉鳳蓮
(濱州市廚具產(chǎn)品質(zhì)量檢驗(yàn)中心,山東濱州 256600)
隨著人們生活水平的不斷提高,人們對(duì)美食的要求也越來越高。雞精調(diào)味料作為一種重要的食品調(diào)味料,其風(fēng)味質(zhì)量很大程度上決定了食品的口感[1]。傳統(tǒng)方法一般采用儀器分析和人工評(píng)吸的方式進(jìn)行風(fēng)味質(zhì)量控制。但儀器分析獲得的數(shù)據(jù)只能用來建立雞精調(diào)味料成分的風(fēng)味數(shù)據(jù)庫,人工評(píng)吸的方式受品評(píng)人員的經(jīng)驗(yàn)限制,且主觀性強(qiáng),費(fèi)用高,不利于大批量數(shù)據(jù)的感官評(píng)測。
主成分分析(Principal Component Analysis,PCA)是多元統(tǒng)計(jì)中的一種數(shù)據(jù)挖掘技術(shù)。其主要用來將數(shù)據(jù)降維,在不丟失主要成分信息的前提下,選擇較少的變量來替代原有的變量,以達(dá)到數(shù)據(jù)冗余的目的,加快運(yùn)算速度。支持向量機(jī)(Support Vector Machine,SVM)是一種基于小樣本的模式識(shí)別算法,它不僅能夠克服傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對(duì)樣本大容量的要求,還能夠有效解決維數(shù)災(zāi)難及局部最小值問題,并且在解決非線性問題上表現(xiàn)出色[2]。
雞精調(diào)味料組成成分復(fù)雜多樣,且存在非線性關(guān)系和大量的數(shù)據(jù)冗余[3]。針對(duì)以上問題,本文提出了一種基于主成分分析(PCA)和粒子群優(yōu)化—支持向量機(jī)(PSO-SVM)的雞精調(diào)味料風(fēng)味質(zhì)量模型。其中,PCA算法有效解決組成成分之間的數(shù)據(jù)冗余,降低數(shù)據(jù)維數(shù)。PSO-SVM算法則解決傳統(tǒng)神經(jīng)網(wǎng)絡(luò)復(fù)雜,對(duì)數(shù)據(jù)質(zhì)量要求高的問題,且通過PSO算法的參數(shù)優(yōu)化[4],SVM算法的分類識(shí)別效果更好。該模型能在有限的數(shù)據(jù)樣本訓(xùn)練下,有效地對(duì)不同的雞精調(diào)味料進(jìn)行分類,從而建立一個(gè)效果較好的雞精調(diào)味料風(fēng)味質(zhì)量模型。
算法設(shè)計(jì)步驟如下:
①將雞精調(diào)味料樣本數(shù)據(jù)先進(jìn)行歸一化數(shù)據(jù)預(yù)處理。這樣便于識(shí)別成分信息,避免出現(xiàn)“大數(shù)吃小數(shù)”的現(xiàn)象;②將經(jīng)過歸一化處理的數(shù)據(jù)進(jìn)行主成分分析,降低數(shù)據(jù)的維數(shù),獲取一組線性無關(guān)的主成分來代表樣本的模式特征,樣本貢獻(xiàn)率要大于85%;③利用粒子群優(yōu)化算法得到SVM的最優(yōu)參數(shù)c和g,使得SVM的分類效果最佳;④將經(jīng)過主成分分析后的數(shù)據(jù)導(dǎo)入SVM中進(jìn)行訓(xùn)練,并選取樣本進(jìn)行預(yù)測分析。
本文數(shù)據(jù)來源于一組雞精調(diào)味料數(shù)據(jù)。樣本共有6種,樣本標(biāo)簽名稱分別為K524、G101、G822、K365、K362和K862。每種雞精調(diào)味料有16個(gè)樣本,共96個(gè)樣本。將每種雞精調(diào)味料的前10個(gè)樣本用作SVM的訓(xùn)練集,剩余樣本作為測試集。即訓(xùn)練集有60個(gè)樣本,測試集有36個(gè)樣本。
采用matlab2012a結(jié)合python2.7混合編程,并利用libsvm工具包模擬。
將雞精調(diào)味料數(shù)據(jù)作[0,1]歸一化后,利用Matlab對(duì)數(shù)據(jù)進(jìn)行PCA分析,得到各主成分之間的特征貢獻(xiàn)率和累積貢獻(xiàn)率。
前兩個(gè)主成分的累計(jì)貢獻(xiàn)率約為92.66%,能夠包含原始數(shù)據(jù)的絕大部分的風(fēng)味信息,所以選取第一和第二主成分作為新的變量來觀測分析。
由主成分分析可知,選取前兩個(gè)主要因素作為SVM的輸入,將60個(gè)樣本作為訓(xùn)練集,36個(gè)樣本作為測試集。采用交叉驗(yàn)證方式的準(zhǔn)確率作為PSO的適應(yīng)度函數(shù)值,尋找SVM的最佳參數(shù)值bestc和bestg。
SVM的核函數(shù)選擇上,選取徑向基核函數(shù)作為本文SVM的核函數(shù)。利用4種核函數(shù)做SVM分類(SVC)的最優(yōu)超平面(決策邊界)[5],如圖1所示。
圖1 4種核函數(shù)SVM分類的最優(yōu)超平面
為了進(jìn)一步檢驗(yàn)PCA和PSO-SVM模型性能的好壞,本文分別采用普通支持向量機(jī)分類器、基于PCA改進(jìn)的支持向量機(jī)分類器以及BP神經(jīng)網(wǎng)絡(luò)分類器(BPNN)進(jìn)行對(duì)比分析,識(shí)別精度作為評(píng)價(jià)檢測模式性能優(yōu)劣的標(biāo)準(zhǔn),識(shí)別精度越高對(duì)應(yīng)模型性能越好。4種不同模型的識(shí)別效果如表1所示。由表1可知,PCA和PSO-SVM分類器模型識(shí)別精度達(dá)到了98.87%,遠(yuǎn)高于PCA-SVM分類器、支持向量機(jī)分類器(SVM)和BP神經(jīng)網(wǎng)絡(luò)分類器(BPNN)。說明本文提出的基于PCA和PSO-SVM算法的雞精調(diào)味料風(fēng)味質(zhì)量模型分類預(yù)測效果良好。
表1 模型分類準(zhǔn)確率對(duì)照表
本文提出的基于PCA和PSO-SVM算法的雞精調(diào)味料風(fēng)味質(zhì)量模型優(yōu)勢(shì)體現(xiàn)在類別的選取上突破了很多文獻(xiàn)只有2到3類的局限,選取了6種雞精調(diào)味料作為樣本。首先樣本數(shù)據(jù)進(jìn)行歸一化預(yù)處理,接著用PCA對(duì)數(shù)據(jù)進(jìn)行降維。然后使用PSO優(yōu)化SVM的參數(shù),選取RBF核函數(shù)作為SVM的核函數(shù),得到一個(gè)分類率最高的SVM模型。并將模型的分類識(shí)別率與其他方法(如BP神經(jīng)網(wǎng)絡(luò)、傳統(tǒng)SVM等)進(jìn)行對(duì)比,結(jié)果表明本文方法具有更好的分類預(yù)測效果。該模型很好地克服了傳統(tǒng)雞精調(diào)味料風(fēng)味分析方法中實(shí)時(shí)性差、可重復(fù)性差的缺點(diǎn),為雞精調(diào)味料的風(fēng)味質(zhì)量控制提供了一種快速有效的方法。