楊 洋,姚婭川,鄭 婷
(1.四川輕化工大學人工智能四川省重點實驗室,四川宜賓 644000;2.四川輕化工大學自動化與信息工程學院,四川宜賓 644000)
葡萄酒行業(yè)處在飛速發(fā)展的階段,人們對葡萄酒的品質(zhì)越來越重視[1]。不同類型的葡萄酒中的大多數(shù)化學物質(zhì)是一致的,但是不同類型的葡萄酒中化學物質(zhì)的含量卻有不一樣的濃度。隨著葡萄酒相關檢測技術的不斷改善,對不同的葡萄酒進行分類以確保其質(zhì)量就顯得尤為重要。
人們使用了不同的機器學習方法和特征選擇技術對葡萄酒數(shù)據(jù)集進行處理。Er和Atasoy[2]提出了使用支持向量機(SVM)、隨機森林(Random forest)和k-近鄰(KNN)3種不同分類器對葡萄酒質(zhì)量進行分類。其中隨機森林算法對葡萄酒的分類得到了很好的效果。Chen 等[3]提出了利用人的品評來預測葡萄酒級別的方法。他們使用關聯(lián)規(guī)則算法來處理評論和預測葡萄酒等級,發(fā)現(xiàn)在預測等級時,準確率為85.25%。Appalasamy等[4]提出了理化測試數(shù)據(jù)預測葡萄酒質(zhì)量的方法。指出在生產(chǎn)過程中,分類方法有助于提高葡萄酒的質(zhì)量。Beltran等[5]提出了香氣色譜對葡萄酒進行分類的方法,利用PCA 降維,再用小波變換特征提取和分類器特征提取,如神經(jīng)網(wǎng)絡,線性判別分析和SVM,發(fā)現(xiàn)SVM和小波變換執(zhí)行比其他分類器的效果要好。Thakkar 等[6]應用層次分析法(AHP)先對屬性進行排序,再用支持向量機分類器和隨機森林這兩種分類器,發(fā)現(xiàn)應用隨機森林的準確率為70.33 %,應用支持向量機的準確率為66.54%。Reddy 和Govindarajulu[7]應用了以用戶為中心的集群方法來推薦該產(chǎn)品。他們將紅葡萄酒數(shù)據(jù)集進行調(diào)查,在理論的基礎上對屬性進行了基礎的分類,然后利用高斯分布的方法對屬性進行權重分配,根據(jù)用戶的偏好來判斷質(zhì)量的好壞。以上研究促使我們嘗試不同的特征選擇算法和不同的分類器來比較性能指標。還提出了遺傳算法和SA 的特征選擇方法,并利用Part、Bagging、C5.0、Random-forest、支持向量機、LDA、Naive Bayes 等不同的分類器對紅葡萄酒質(zhì)量進行預測。
圖1 方法流程圖
本文運用遺傳算法(GA)的特征集進行特征選擇。其中葡萄酒數(shù)據(jù)集在UCI 的數(shù)據(jù)庫中是公開化的。這個數(shù)據(jù)集包括物理化學變量和感覺變量,總共有12 個屬性[8]。Pledsoe 首先提出了一種被稱為遺傳算法的自適應優(yōu)化算法,隨之,Holland 從達爾文的進化論中得到靈感,從數(shù)學上提出了遺傳算法。初始化是利用染色體的種群隨機進行的。染色體的質(zhì)量是根據(jù)一個預處理的適應度函數(shù)來決定的,適應度越高的染色體就會被用來產(chǎn)生后代。遺傳操作如變異和交叉操作就會產(chǎn)生后代。在這個過程中,染色體互相競爭,最適者最終存活下來。經(jīng)過一系列的迭代計算,得到了最優(yōu)解[9-10]。同時也使用模擬退火的特征集進行特征選擇。模擬退火是廣泛應用的組合優(yōu)化方法,也是最流行的搜索算法之一。該方法利用概率技術尋找局部最優(yōu)解,最終找到更好的解[11]。模擬退火仿真算法步驟:它根據(jù)類的數(shù)量運行,如果類的數(shù)量為n,則運行n 次。在每一次運行中,找到第j 個類的特征子集。在計算當前字符串時,所有第j 個類模式都會被納入一個類,其他模式屬于另一個類。這個過程有助于給出將模式劃分為屬于類j 或不屬于類j 的特征[12]。利用模擬退火算法和遺傳算法對特征進行選擇之后,再將數(shù)據(jù)集導入到不同的分類器,然后對分類器的性能參數(shù)進行比較。
用于比較分類器性能和驗證的標準有:敏感性、陽性預測值(PPV)、精確度、特異性、陰性預測值(NPV)。靈敏性是指真陽性與真陽性和假陰性總和的比值。特異性是指真陰性與假陽性和真陰性和的比值。在本文中,使用了PPV 和NPV 兩種指標來檢驗某一種葡萄酒是否存在。其中PPV 表示在測試結(jié)果為陽性的情況下某一種葡萄酒出現(xiàn)的概率,NPV則表示在測試結(jié)果為陰性的情況下某一種葡萄酒不出現(xiàn)的概率[13]。準確度的含義就是正確預測的次數(shù)與總預測次數(shù)的比值。
采用訓練數(shù)據(jù)和測試數(shù)據(jù)兩組數(shù)據(jù)。先在訓練數(shù)據(jù)的基礎上對分類器進行訓練,然后對測試數(shù)據(jù)進行分類器的能力預測。因此,每個分類器都能夠顯示基于測試數(shù)據(jù)的所有性能指標,如PPV、敏感性、特異性、精確度和NPV。我們將已有的一些分類技術分別應用在遺傳算法的特征集和SA 的特征集,從而得到每個分類器的性能數(shù)據(jù)。再根據(jù)GA和SA集分離每個性能數(shù)據(jù),并繪制柱圖。最后分離的性能數(shù)據(jù)的結(jié)果如圖2、圖3、圖4、圖5 和圖6所示。
圖2 紅葡萄酒數(shù)據(jù)的精確度比較
從圖2 可以看出,在所有的分類器中,SVM 分類器的準確率為最高的。使用SA 的特征集的效果好于SA 的特征集。SA 特征集的SVM 分類器的準確率為95.4%。
圖3 紅葡萄酒數(shù)據(jù)的敏感性比較
從圖3 可以看出,SVM 分類器的靈敏性最高,使用SA 特征集的效果優(yōu)于GA 特征集,SA 的特征集的SVM分類器靈敏性為96.3%。
從圖4 可以看出,SVM 分類器的特異性相比其他分類器的特異性要大。使用SA 的特征集性能更好。SA 特征集SVM 分類器的特異性準確率為98.5%。
從圖5 可以看出,所有分類器中SVM 分類器的PPV 最高,使用SA 的特征集效果更優(yōu),SA 特征集SVM分類器的PPV為98.9%。
圖4 紅葡萄酒數(shù)據(jù)的特異性比較
圖5 紅葡萄酒數(shù)據(jù)PPV的比較
圖6 紅葡萄酒的NPV比較
由圖6 可以看出,SVM 分類器的NPV 最大。SA 的特征集性能更好。SA 特征集的SVM 分類器的NPV為0.9812。
通過上面的5 個顯基于兩個不同特征集的指標參數(shù)對紅葡萄酒的性能的比較圖分析得知,SVM 分類器對這兩種不同算法的數(shù)據(jù)集都有較好的分類效果。特別是在SA 的特征集中的總體性能更好。雖然從結(jié)果中很容易看出SA 算法的特征選擇效果更好,但事實上可能還有其他的不同的數(shù)據(jù)集,這是以后需要作進一步研究的內(nèi)容。不過,根據(jù)現(xiàn)有研究可以得出,支持向量機分類器的分類效果是要優(yōu)于其他分類器。
本文主要研究了模擬退火(SA)算法和遺傳(GA)算法這兩種算法在特征選擇中的效果,以及基于新特征集的分類器準確預測的效果,同時還比較了線性、非線性和概率分類器的性能。結(jié)果表明,SA的特征集性能優(yōu)于GA特征集的總體性能,支持向量機分類器優(yōu)于其他分類器,不同特征集的準確率在95.4%~98.9%之內(nèi)。不過,還可以嘗試其他性能指標和其他機器學習技術進行更好的比較,以更好地對葡萄酒品質(zhì)進行預測。