陳 樹 張繼中
(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院 無錫 214122)
白酒發(fā)酵過程中的溫度影響酵母菌的生長繁殖進(jìn)而影響白酒的產(chǎn)量[1~2],入窖水分含量、入窖酸度和入窖淀粉濃度也會影響白酒的產(chǎn)量[3~5]。為了提高白酒的出酒率,本文用支持向量機對這些影響因素進(jìn)行分類。每個窖池一個周期的溫度數(shù)據(jù)有一千多個,而相應(yīng)的入窖水分、入窖酸度、入窖淀粉的數(shù)據(jù)均只有一個,這樣會導(dǎo)致入窖水分、入窖酸度和入窖淀粉的權(quán)重太小甚至可以忽略,所以本文要對發(fā)酵過程中的溫度數(shù)據(jù)進(jìn)行降維處理,發(fā)酵過程中的溫度隨時間呈曲線形式變化,可以提取發(fā)酵溫度曲線的曲線特征來代替發(fā)酵溫度數(shù)據(jù)。
目前關(guān)于曲線特征提取的研究有很多。有的采用鏈碼描述曲線:趙宇等提出了一種夾角鏈碼方法,用有向等長的線段代替曲線,得到一序列相鄰線段形成的夾角,結(jié)果表明匹配效果好[6];張永梅等提出了改進(jìn)的變長夾角鏈碼方法,表述了彎曲程度較大的拐角,用直線替代了變化幅度較小的曲線[7];余博等提出了描述曲線拐角點的Freeman鏈碼描述方法[8]。有的基于傅里葉變換描述曲線:祁友杰等提出了辨別非閉合曲線的傅里葉描述方法,解決了傳統(tǒng)傅里葉算法應(yīng)用于非閉合曲線的結(jié)果偏差問題,有著更好的匹配性能[9];聶雪華等提出了選用傅里葉描述子提取平面連桿曲線的特征,實驗表明該方法精度高,節(jié)約了數(shù)據(jù)的存儲空間[10]。有的建立趨勢集合描述曲線:李翔等提出了一種新的特征提取算法,考慮到軌跡變化趨勢,對趨勢集合進(jìn)行判別,有效排除了干擾,優(yōu)化了匹配效率和準(zhǔn)確率[11]。
上述算法都對曲線進(jìn)行了特征提取,很好地描述了曲線。為了將發(fā)酵溫度曲線的全局特征提取出來,精確地描述發(fā)酵溫度曲線,本文引用相對高度的定義,借鑒其中的思想,提出了一種曲線特征提取算法,將每個窖池一個周期的發(fā)酵溫度曲線特征提取出來,在二叉樹的根節(jié)點中存放相應(yīng)的相對高度,用相對高度組成的特征信息描述溫度曲線,然后將曲線特征加入窖水分、入窖酸度、入窖淀粉組成新的特征,用支持向量機對新的特征分類,分類正確率更高。根據(jù)分類情況,優(yōu)化下一輪入窖的前置條件,更精確地控制配料比例,使其達(dá)到更好的發(fā)酵狀態(tài)。
本文引用了文獻(xiàn)[12]中相對高度的定義,如圖1(a)所示,且是曲線上的點離線段 AB的最大距離,則曲線 AB的相對高度為。
曲線相對高度的大小說明了曲線彎曲程度的高低,相對高度越大,曲線彎曲程度越高,反之,曲線彎曲程度越低。
發(fā)酵溫度曲線都是開曲線,且不存在平移、旋轉(zhuǎn)等變化情況。本文曲線特征提取的算法步驟如下:
2)由1)知,點G1將曲線 AB分成曲線 AG1和BG1,對于曲線AG1,算出發(fā)酵溫度曲線的兩點A和G1的距離以及曲線AG1上離直線AG1最遠(yuǎn)的點 G21(如圖1(b)所示),得出曲線 AG1的相對高度h2,將h2放在二叉樹第二層左子樹的根節(jié)點上。對于曲線BG1,算出發(fā)酵溫度曲線的兩點B和G1的距離以及曲線BG1上離直線BG1最遠(yuǎn)的點 G22(如圖1(b)所示),得出曲線 BG1的相對高度h3,將h3放在二叉樹第二層右子樹的根節(jié)點上。
3)由步驟2)的分析,以此類推,曲線 AB會被G分成多個曲線,通過計算得到多個相對高度,對每個曲線段均從左到右遍歷,將對應(yīng)的相對高度從左到右依次放在二叉樹根節(jié)點的下面子節(jié)點上,直至相對高度h<ε(ε為足夠小的正數(shù))。
圖1 曲線特征提取過程
由曲線特征提取算法步驟可得到各曲線段對應(yīng)的相對高度,圖1(b)中曲線 AB 、AG1、BG1、AG21、G1G21、G1G22和 BG22對應(yīng)的相對高度分別為 h1、h2、h3、h4、h5、h6和 h7,將各曲線的相對高度存放在對應(yīng)的二叉樹根節(jié)點上,即二叉樹前三層的根節(jié)點,如圖2所示。
圖2 二叉樹前三層的根節(jié)點
本文采用徑向基核函數(shù)(Radial Basis Function,RBF),RBF核函數(shù)為
核函數(shù)將向量x從輸入空間Rn按照一定的規(guī)則映射到某個特征空間Γ的變換K,則SVM的最優(yōu)判別函數(shù)為
真實數(shù)據(jù)為某酒廠白酒的發(fā)酵溫度數(shù)據(jù),每個樣本有1440個數(shù)據(jù),發(fā)酵過程中的溫度是利用物聯(lián)網(wǎng)無線測溫技術(shù)在發(fā)酵過程中間隔1h測出的。在固態(tài)發(fā)酵的溫度數(shù)據(jù)采集過程中,操作人員的失誤操作、環(huán)境干擾和設(shè)備故障等會導(dǎo)致采集數(shù)據(jù)中含有小部分的野值。由于野值提供的信息不具有參考價值,反而會降低算法的性能,因此必須有效的剔除野值。高斯擬合對發(fā)酵溫度數(shù)據(jù)的擬合效果非常好,可以用高斯擬合的方法消除野值,另外后面要對溫度曲線進(jìn)行特征提取,在誤差允許的范圍內(nèi),高斯擬合可以將隨時間變化的溫度點擬合成連續(xù)的曲線。
本文將發(fā)酵時間由小時轉(zhuǎn)換為天數(shù)并用高斯擬合法對溫度數(shù)據(jù)進(jìn)行預(yù)處理,列舉了白酒發(fā)酵過程的八個溫度曲線圖,橫坐標(biāo)單位是天(d),縱坐標(biāo)是溫度(℃),如圖3(a)~(k)所示,然后對圖3中的曲線圖進(jìn)行特征提取,選取了二叉樹的前三層根節(jié)點,共七個特征,如表1所示。
圖3 白酒發(fā)酵過程的溫度曲線圖
表1 圖3中曲線對應(yīng)的特征
由圖3可以看出特征(a)和(b)、(c)和(d)、(e)和(f)、(g)和(k)的曲線圖形狀相似,但提取的特征依然可以準(zhǔn)確地描述它們,由表1可知,它們在二叉樹根節(jié)點上的相對高度大都不同,相似曲線的某些相對高度相近(如(e)和(f)、(g)和(k)),即使在某個根節(jié)點上相對高度相同(如(a)和(b)、(c)和(d)),但在其它根節(jié)點上則完全不同,一組特征只對應(yīng)一個曲線,所以并不影響對兩個相似曲線的描述,反而用特征表明了兩個曲線是相似的,說明了曲線特征提取的準(zhǔn)確性。又由表1可知,(a)~(k)相應(yīng)的二叉樹根節(jié)點下面的子節(jié)點存放的相對高度越來越小,這是因為曲線被多次劃分,形成的曲線段越來越多,曲線段的彎曲程度也就越來越低,它們的相對高度就會更加趨近于零。
實驗所用配置:計算機配置為四核,內(nèi)存(RAM)為4.00GB,CPU為1.5GHz,操作系統(tǒng)為Windows7 64位,算法用Matlab R2014a仿真。
本文用支持向量機對不同數(shù)目的樣本集進(jìn)行實驗,支持向量機對高斯擬合法預(yù)處理后的溫度數(shù)據(jù)分類,記為M1,支持向量機對提取出的溫度曲線特征分類,記為M2,支持向量機對溫度曲線特征、入窖水分、入窖酸度和入窖淀粉分類,記為M3,本次實驗設(shè)置支持向量機參數(shù)為C=2,σ=1,訓(xùn)練樣本數(shù)和測試樣本數(shù)的比例均為1∶1,實驗結(jié)果如表2所示。
表2 三種方法在不同樣本數(shù)上的分類正確率 %
由表2可知,對于不同樣本數(shù),M2的分類正確率均優(yōu)于M1,在實際生產(chǎn)中,操作人員的經(jīng)驗是觀察溫度曲線的走勢而不是用溫度數(shù)據(jù)來判斷產(chǎn)量高低,這里提取了發(fā)酵溫度曲線的特征,用少量且唯一的特征描述了曲線的走勢,分類準(zhǔn)確率更好表明了特征提取的有效性,也說明了生產(chǎn)應(yīng)用中操作人員的判斷方式是正確的。M3的分類正確率均優(yōu)于M2,這是因為M3的特征中加上了入窖水分、入窖酸度和入窖淀粉,充分考慮了影響白酒產(chǎn)量的因素,分類時用到的特征信息更全面。對于表2中的樣本集,M3比M1平均提高了14.2225%,M3比M2平均提高了6.4027%。
在白酒發(fā)酵過程中,發(fā)酵溫度、入窖水分、入窖酸度和入窖淀粉是影響白酒出酒率的重要因素,對這些因素的研究是提高白酒出酒率的關(guān)鍵。本文采用支持向量機進(jìn)行分類,由于溫度數(shù)據(jù)維數(shù)過高導(dǎo)致入窖水分、入窖酸度和入窖淀粉的權(quán)重過低,本文引用相對高度的定義,借鑒其中的思想,提出了一種曲線特征提取算法,精確地提取溫度曲線的特征,用相對高度刻畫曲線的形狀并存放在二叉樹的根節(jié)點上,然后用支持向量機對曲線特征、入窖水分、入窖酸度和入窖淀粉進(jìn)行分類(M3),與用支持向量機對溫度數(shù)據(jù)分類(M1)和對提取的溫度曲線特征分類(M2)相比,M3的分類效果明顯好于M1和M2,分類準(zhǔn)確率比M1和M2更高。根據(jù)發(fā)酵溫度變化、入窖配料和分類結(jié)果,準(zhǔn)備下一輪的入窖配料,從而進(jìn)一步提高白酒的產(chǎn)量。