陳 樹(shù) 張繼中
(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院 無(wú)錫 214122)
白酒發(fā)酵過(guò)程中的溫度影響酵母菌的生長(zhǎng)繁殖進(jìn)而影響白酒的產(chǎn)量[1~2],入窖水分含量、入窖酸度和入窖淀粉濃度也會(huì)影響白酒的產(chǎn)量[3~5]。為了提高白酒的出酒率,本文用支持向量機(jī)對(duì)這些影響因素進(jìn)行分類(lèi)。每個(gè)窖池一個(gè)周期的溫度數(shù)據(jù)有一千多個(gè),而相應(yīng)的入窖水分、入窖酸度、入窖淀粉的數(shù)據(jù)均只有一個(gè),這樣會(huì)導(dǎo)致入窖水分、入窖酸度和入窖淀粉的權(quán)重太小甚至可以忽略,所以本文要對(duì)發(fā)酵過(guò)程中的溫度數(shù)據(jù)進(jìn)行降維處理,發(fā)酵過(guò)程中的溫度隨時(shí)間呈曲線(xiàn)形式變化,可以提取發(fā)酵溫度曲線(xiàn)的曲線(xiàn)特征來(lái)代替發(fā)酵溫度數(shù)據(jù)。
目前關(guān)于曲線(xiàn)特征提取的研究有很多。有的采用鏈碼描述曲線(xiàn):趙宇等提出了一種夾角鏈碼方法,用有向等長(zhǎng)的線(xiàn)段代替曲線(xiàn),得到一序列相鄰線(xiàn)段形成的夾角,結(jié)果表明匹配效果好[6];張永梅等提出了改進(jìn)的變長(zhǎng)夾角鏈碼方法,表述了彎曲程度較大的拐角,用直線(xiàn)替代了變化幅度較小的曲線(xiàn)[7];余博等提出了描述曲線(xiàn)拐角點(diǎn)的Freeman鏈碼描述方法[8]。有的基于傅里葉變換描述曲線(xiàn):祁友杰等提出了辨別非閉合曲線(xiàn)的傅里葉描述方法,解決了傳統(tǒng)傅里葉算法應(yīng)用于非閉合曲線(xiàn)的結(jié)果偏差問(wèn)題,有著更好的匹配性能[9];聶雪華等提出了選用傅里葉描述子提取平面連桿曲線(xiàn)的特征,實(shí)驗(yàn)表明該方法精度高,節(jié)約了數(shù)據(jù)的存儲(chǔ)空間[10]。有的建立趨勢(shì)集合描述曲線(xiàn):李翔等提出了一種新的特征提取算法,考慮到軌跡變化趨勢(shì),對(duì)趨勢(shì)集合進(jìn)行判別,有效排除了干擾,優(yōu)化了匹配效率和準(zhǔn)確率[11]。
上述算法都對(duì)曲線(xiàn)進(jìn)行了特征提取,很好地描述了曲線(xiàn)。為了將發(fā)酵溫度曲線(xiàn)的全局特征提取出來(lái),精確地描述發(fā)酵溫度曲線(xiàn),本文引用相對(duì)高度的定義,借鑒其中的思想,提出了一種曲線(xiàn)特征提取算法,將每個(gè)窖池一個(gè)周期的發(fā)酵溫度曲線(xiàn)特征提取出來(lái),在二叉樹(shù)的根節(jié)點(diǎn)中存放相應(yīng)的相對(duì)高度,用相對(duì)高度組成的特征信息描述溫度曲線(xiàn),然后將曲線(xiàn)特征加入窖水分、入窖酸度、入窖淀粉組成新的特征,用支持向量機(jī)對(duì)新的特征分類(lèi),分類(lèi)正確率更高。根據(jù)分類(lèi)情況,優(yōu)化下一輪入窖的前置條件,更精確地控制配料比例,使其達(dá)到更好的發(fā)酵狀態(tài)。
本文引用了文獻(xiàn)[12]中相對(duì)高度的定義,如圖1(a)所示,且是曲線(xiàn)上的點(diǎn)離線(xiàn)段 AB的最大距離,則曲線(xiàn) AB的相對(duì)高度為。



曲線(xiàn)相對(duì)高度的大小說(shuō)明了曲線(xiàn)彎曲程度的高低,相對(duì)高度越大,曲線(xiàn)彎曲程度越高,反之,曲線(xiàn)彎曲程度越低。
發(fā)酵溫度曲線(xiàn)都是開(kāi)曲線(xiàn),且不存在平移、旋轉(zhuǎn)等變化情況。本文曲線(xiàn)特征提取的算法步驟如下:
2)由1)知,點(diǎn)G1將曲線(xiàn) AB分成曲線(xiàn) AG1和BG1,對(duì)于曲線(xiàn)AG1,算出發(fā)酵溫度曲線(xiàn)的兩點(diǎn)A和G1的距離以及曲線(xiàn)AG1上離直線(xiàn)AG1最遠(yuǎn)的點(diǎn) G21(如圖1(b)所示),得出曲線(xiàn) AG1的相對(duì)高度h2,將h2放在二叉樹(shù)第二層左子樹(shù)的根節(jié)點(diǎn)上。對(duì)于曲線(xiàn)BG1,算出發(fā)酵溫度曲線(xiàn)的兩點(diǎn)B和G1的距離以及曲線(xiàn)BG1上離直線(xiàn)BG1最遠(yuǎn)的點(diǎn) G22(如圖1(b)所示),得出曲線(xiàn) BG1的相對(duì)高度h3,將h3放在二叉樹(shù)第二層右子樹(shù)的根節(jié)點(diǎn)上。
3)由步驟2)的分析,以此類(lèi)推,曲線(xiàn) AB會(huì)被G分成多個(gè)曲線(xiàn),通過(guò)計(jì)算得到多個(gè)相對(duì)高度,對(duì)每個(gè)曲線(xiàn)段均從左到右遍歷,將對(duì)應(yīng)的相對(duì)高度從左到右依次放在二叉樹(shù)根節(jié)點(diǎn)的下面子節(jié)點(diǎn)上,直至相對(duì)高度h<ε(ε為足夠小的正數(shù))。

圖1 曲線(xiàn)特征提取過(guò)程
由曲線(xiàn)特征提取算法步驟可得到各曲線(xiàn)段對(duì)應(yīng)的相對(duì)高度,圖1(b)中曲線(xiàn) AB 、AG1、BG1、AG21、G1G21、G1G22和 BG22對(duì)應(yīng)的相對(duì)高度分別為 h1、h2、h3、h4、h5、h6和 h7,將各曲線(xiàn)的相對(duì)高度存放在對(duì)應(yīng)的二叉樹(shù)根節(jié)點(diǎn)上,即二叉樹(shù)前三層的根節(jié)點(diǎn),如圖2所示。

圖2 二叉樹(shù)前三層的根節(jié)點(diǎn)
本文采用徑向基核函數(shù)(Radial Basis Function,RBF),RBF核函數(shù)為

核函數(shù)將向量x從輸入空間Rn按照一定的規(guī)則映射到某個(gè)特征空間Γ的變換K,則SVM的最優(yōu)判別函數(shù)為

真實(shí)數(shù)據(jù)為某酒廠(chǎng)白酒的發(fā)酵溫度數(shù)據(jù),每個(gè)樣本有1440個(gè)數(shù)據(jù),發(fā)酵過(guò)程中的溫度是利用物聯(lián)網(wǎng)無(wú)線(xiàn)測(cè)溫技術(shù)在發(fā)酵過(guò)程中間隔1h測(cè)出的。在固態(tài)發(fā)酵的溫度數(shù)據(jù)采集過(guò)程中,操作人員的失誤操作、環(huán)境干擾和設(shè)備故障等會(huì)導(dǎo)致采集數(shù)據(jù)中含有小部分的野值。由于野值提供的信息不具有參考價(jià)值,反而會(huì)降低算法的性能,因此必須有效的剔除野值。高斯擬合對(duì)發(fā)酵溫度數(shù)據(jù)的擬合效果非常好,可以用高斯擬合的方法消除野值,另外后面要對(duì)溫度曲線(xiàn)進(jìn)行特征提取,在誤差允許的范圍內(nèi),高斯擬合可以將隨時(shí)間變化的溫度點(diǎn)擬合成連續(xù)的曲線(xiàn)。
本文將發(fā)酵時(shí)間由小時(shí)轉(zhuǎn)換為天數(shù)并用高斯擬合法對(duì)溫度數(shù)據(jù)進(jìn)行預(yù)處理,列舉了白酒發(fā)酵過(guò)程的八個(gè)溫度曲線(xiàn)圖,橫坐標(biāo)單位是天(d),縱坐標(biāo)是溫度(℃),如圖3(a)~(k)所示,然后對(duì)圖3中的曲線(xiàn)圖進(jìn)行特征提取,選取了二叉樹(shù)的前三層根節(jié)點(diǎn),共七個(gè)特征,如表1所示。

圖3 白酒發(fā)酵過(guò)程的溫度曲線(xiàn)圖

表1 圖3中曲線(xiàn)對(duì)應(yīng)的特征
由圖3可以看出特征(a)和(b)、(c)和(d)、(e)和(f)、(g)和(k)的曲線(xiàn)圖形狀相似,但提取的特征依然可以準(zhǔn)確地描述它們,由表1可知,它們?cè)诙鏄?shù)根節(jié)點(diǎn)上的相對(duì)高度大都不同,相似曲線(xiàn)的某些相對(duì)高度相近(如(e)和(f)、(g)和(k)),即使在某個(gè)根節(jié)點(diǎn)上相對(duì)高度相同(如(a)和(b)、(c)和(d)),但在其它根節(jié)點(diǎn)上則完全不同,一組特征只對(duì)應(yīng)一個(gè)曲線(xiàn),所以并不影響對(duì)兩個(gè)相似曲線(xiàn)的描述,反而用特征表明了兩個(gè)曲線(xiàn)是相似的,說(shuō)明了曲線(xiàn)特征提取的準(zhǔn)確性。又由表1可知,(a)~(k)相應(yīng)的二叉樹(shù)根節(jié)點(diǎn)下面的子節(jié)點(diǎn)存放的相對(duì)高度越來(lái)越小,這是因?yàn)榍€(xiàn)被多次劃分,形成的曲線(xiàn)段越來(lái)越多,曲線(xiàn)段的彎曲程度也就越來(lái)越低,它們的相對(duì)高度就會(huì)更加趨近于零。
實(shí)驗(yàn)所用配置:計(jì)算機(jī)配置為四核,內(nèi)存(RAM)為4.00GB,CPU為1.5GHz,操作系統(tǒng)為Windows7 64位,算法用Matlab R2014a仿真。
本文用支持向量機(jī)對(duì)不同數(shù)目的樣本集進(jìn)行實(shí)驗(yàn),支持向量機(jī)對(duì)高斯擬合法預(yù)處理后的溫度數(shù)據(jù)分類(lèi),記為M1,支持向量機(jī)對(duì)提取出的溫度曲線(xiàn)特征分類(lèi),記為M2,支持向量機(jī)對(duì)溫度曲線(xiàn)特征、入窖水分、入窖酸度和入窖淀粉分類(lèi),記為M3,本次實(shí)驗(yàn)設(shè)置支持向量機(jī)參數(shù)為C=2,σ=1,訓(xùn)練樣本數(shù)和測(cè)試樣本數(shù)的比例均為1∶1,實(shí)驗(yàn)結(jié)果如表2所示。

表2 三種方法在不同樣本數(shù)上的分類(lèi)正確率 %
由表2可知,對(duì)于不同樣本數(shù),M2的分類(lèi)正確率均優(yōu)于M1,在實(shí)際生產(chǎn)中,操作人員的經(jīng)驗(yàn)是觀(guān)察溫度曲線(xiàn)的走勢(shì)而不是用溫度數(shù)據(jù)來(lái)判斷產(chǎn)量高低,這里提取了發(fā)酵溫度曲線(xiàn)的特征,用少量且唯一的特征描述了曲線(xiàn)的走勢(shì),分類(lèi)準(zhǔn)確率更好表明了特征提取的有效性,也說(shuō)明了生產(chǎn)應(yīng)用中操作人員的判斷方式是正確的。M3的分類(lèi)正確率均優(yōu)于M2,這是因?yàn)镸3的特征中加上了入窖水分、入窖酸度和入窖淀粉,充分考慮了影響白酒產(chǎn)量的因素,分類(lèi)時(shí)用到的特征信息更全面。對(duì)于表2中的樣本集,M3比M1平均提高了14.2225%,M3比M2平均提高了6.4027%。
在白酒發(fā)酵過(guò)程中,發(fā)酵溫度、入窖水分、入窖酸度和入窖淀粉是影響白酒出酒率的重要因素,對(duì)這些因素的研究是提高白酒出酒率的關(guān)鍵。本文采用支持向量機(jī)進(jìn)行分類(lèi),由于溫度數(shù)據(jù)維數(shù)過(guò)高導(dǎo)致入窖水分、入窖酸度和入窖淀粉的權(quán)重過(guò)低,本文引用相對(duì)高度的定義,借鑒其中的思想,提出了一種曲線(xiàn)特征提取算法,精確地提取溫度曲線(xiàn)的特征,用相對(duì)高度刻畫(huà)曲線(xiàn)的形狀并存放在二叉樹(shù)的根節(jié)點(diǎn)上,然后用支持向量機(jī)對(duì)曲線(xiàn)特征、入窖水分、入窖酸度和入窖淀粉進(jìn)行分類(lèi)(M3),與用支持向量機(jī)對(duì)溫度數(shù)據(jù)分類(lèi)(M1)和對(duì)提取的溫度曲線(xiàn)特征分類(lèi)(M2)相比,M3的分類(lèi)效果明顯好于M1和M2,分類(lèi)準(zhǔn)確率比M1和M2更高。根據(jù)發(fā)酵溫度變化、入窖配料和分類(lèi)結(jié)果,準(zhǔn)備下一輪的入窖配料,從而進(jìn)一步提高白酒的產(chǎn)量。