999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XGBoost方法的葡萄酒品質預測

2018-12-26 12:09:12孫逸菲袁德成王建龍
沈陽化工大學學報 2018年4期
關鍵詞:分類方法模型

孫逸菲, 袁德成, 王建龍, 白 楊

(沈陽化工大學 信息工程學院, 遼寧 沈陽 110142)

葡萄酒是一種成分復雜的飲品,其質量測定是葡萄酒行業進行質量管理的重要手段之一.測定葡萄酒質量主要通過專業品酒師的品嘗和測量葡萄酒的物理化學性質來進行判定.質量評價主要依靠品酒師的感官,品酒師通過觀察葡萄酒的顏色、質感等外觀特性和嗅聞葡萄酒的香氣,并結合品嘗的方式進行葡萄酒的質量評價.而測量葡萄酒的物理化學性質是指測量其非揮發性酸度、密度及pH等,這種測量方法對葡萄酒的質量測評比較有效.

在數據分析過程中,經常需要對數據建模并做出預測.Boosting分類器屬于監督學習范疇,它的基本思想是把成百上千個分類準確率較低的樹模型組合起來,組合成為一個準確率較高的模型[1].這個模型會不斷地迭代,每次迭代生成一顆新的樹.對于如何在每一步生成合理的樹,有很多種解決方法,其中在1999年由Jerome Friedman提出的梯度推進機(Gradient Boosting Machine)[2]是一個相對效率較高的算法.它在生成每一顆樹的時候采用梯度下降的思想,以之前生成的所有樹為基礎,向著最小化給定目標函數的方向多走一步.現在希望能通過XGBoost工具更好地解決這個問題.XGBoost(Extreme Gradient Boost)是Gradient Boosting Machine的一個C++實現[3],它最大的特點在于能夠自動利用CPU的多線程進行并行,同時在算法上加以改進,提高精度.

隨著科學技術的進步,使得收集、存儲和處理數據成為可能,機器學習技術在葡萄酒品質預測中也得到了廣泛的應用.對葡萄酒質量的評價方法較多,劉延玲[4]利用改進的人工神經網絡對葡萄酒物理化學性質及感官進行了分類預測;李運等[5]介紹了運用聚類算法、主成分分析方法、相關分析方法等對葡萄酒質量進行評價;徐海濤[6]提出利用改進的近似支持向量機方法對葡萄酒質量進行鑒定和預測;林劼等[7]利用隨機森林算法對葡萄酒品質進行了預測,通過與其他方法的比較表明其預測精度較高;Cortez等[8]將線性回歸、神經網絡和支持向量機這三個回歸技術應用于對葡萄酒品質的預測.

針對葡萄酒質量檢測這一問題,本文采用機器學習中XGBoost算法進行葡萄酒品質預測,將該方法與線性回歸、神經網絡和支持向量機算法相比較[8],發現該方法具有預測準確率高及運算時間短的特點,在葡萄酒品質測定過程中,能夠有效地減少因品酒師個人因素所帶來的偏差,對于提高釀酒品質和葡萄酒的生產測定都具有重要意義.

1 XGBoost機器學習算法

監督學習算法的重要組成部分包括模型、參數和目標函數.模型和參數本身指定了給定輸入,我們如何做預測;目標函數的作用是使我們能夠找到一個比較好的預測.一般的目標函數包括下面兩項[3]:

Obj(Θ)=L(Θ)+Ω(Θ)

(1)

L(Θ)表示誤差函數,Ω(Θ)是正則化項.

1.1 回歸樹的重要組成部分

XGBoost最基本的組成部分叫做回歸樹.對于樹的集合,可以把模型寫成:

(2)

其中每個f是一個函數空間F里面的函數,而F是包含所有回歸樹的函數空間.設計的目標函數包含兩部分,誤差函數和正則化項:

fk∈F

(3)

1.2 Gradient Boosting學習模型

(1) 學習方法:公式(3)中第一部分是誤差函數,第二部分是每棵樹的復雜度的和.對于樹模型,每一次保留原來的模型不變,加入一個新的函數f到模型中.

(4)

(2) 目標:選取一個f來最小化目標函數

Ω(ft)+C

(5)

其中C為常數.

(3) 再采用如下的泰勒展開定義一個近似的目標函數,用泰勒展開近似原來的目標.泰勒展開式為:

f(x+Δx)≈f(x)+f′(x)Δx+

(6)

定義gi和hi:

(7)

(4) 得到新的學習目標函數:

(8)

當把常數項移除之后

(9)

這個目標函數的特點是它只依賴于每個數據點在誤差函數上的一階導數和二階導數.

(5) 重新定義每棵樹

先對f的定義作細化,把樹拆分成結構部分q和葉子權重部分ω.結構函數q把輸入映射到葉子的索引號上去,而ω給定了每個索引號對應的葉子分數.

ft(x)=ωq(x),ω∈RT,q:Rd→{1,2,…,T}

(10)

ω∈RT表示葉子的向量,q為樹的結構.

(6) 定義一棵樹的復雜度

(11)

(7) 在這種新定義下,目標函數為

(12)

其中I被定義為每個葉子上面樣本集合Ij={i|q(xi)=j}.這個目標包含了T個相互獨立的單變量二次函數.可以定義Gj=∑i∈Ijgi,Hj=∑i∈Ijhi.那么這個目標函數可以進一步改寫成如下的形式,假設已經知道樹的結構q,可以通過這個目標函數來求解出最好的ω,以及最好ω對應的目標函數最大的增益.

(13)

等式的左邊是最好的ω(葉子權重部分),右邊是這個ω對應的目標函數的值:

(14)

(15)

(8) XGBoost算法流程

在每一次迭代中增加一個新樹,對每一次迭代計算:

(16)

gi為誤差函數的一階導數,hi為誤差函數的二階導數.運用算法尋找切分點,產生每一輪新的樹

(17)

增加新函數ft(x)到模型

(18)

通常加入y(t)=y(t-1)+εft(xi),ε稱為縮減因子,目的是為了避免過擬合,通常設置為0.1.

2 運用XGBoost算法對葡萄酒品質進行預測

2.1 實驗數據的選取

葡萄酒數據[9]來自于認證階段的物理化學分析測試,這些來自于2004年5月至2007年2月收集到的樣本數據.數據從生產需求到感官分析被一個計算機系統記錄.每一個實例都是基于一次測試的結果,最終的數據集導入一個.csv文件中.在預處理階段,數據轉換為一個二維表,每一行代表一個單獨的葡萄酒樣本.由于紅葡萄酒和白葡萄酒存在較大差異,所以,將紅葡萄酒和白葡萄酒的數據分為兩個.csv文件進行存放與處理.

紅葡萄酒的樣本數量為1 599個,白葡萄酒的樣本數量為4 898個.輸入變量包括客觀實驗測試得到的11個物理化學性質,如表1.

表1 每種類型中的葡萄酒物理化學數據屬性Table 1 The physicochemical data statistics per wine type

輸出變量基于感官數據,感官數據分為0(極壞)~10級(非常好),由三位品酒師通過感官評價,選取三人中評分最低一人的評分作為評估值(運用盲測方法)[2].極壞和非常好的葡萄酒樣本都是少數,評價為中間等級的葡萄酒樣本最多.所以將紅葡萄酒分為6類,評價等級為3至8;白葡萄酒分為7類,評價等級為3至9,如圖1.

圖1 對紅葡萄酒和白葡萄酒的感官性能評價Fig.1 The histograms for the red and white sensory preferences

2.2 XGBoost算法在葡萄酒品質預測中的應用

2.2.1 葡萄酒品質判定的XGBoost方法和研究

在python環境下安裝XGBoost的C++版本.通過預測模型準確率來判斷模型的優劣.通過分類和k-Fold兩種方法評估XGBoost模型.分類方法的步驟是[10]:導入葡萄酒數據,準備用于訓練和評估XGBoost模型;將數據集分成輸入X和輸出Y兩部分,將X和Y的數據分成訓練集和測試集,訓練集用于準備XGBoost模型,測試集用于從之前評估的模型性能中做新的預測;將67 %的數據用于訓練,33 %的數據用于測試;之后運用model.fit()函數擬合模型并對XGBoost模型進行預測.k-Fold方法的步驟是[10]:運用10折交叉驗證,把數據隨機分成10份,然后依次取1份作為測試集,其余9份共同作為訓練集,之后用XGBoost算法擬合訓練集數據得到模型.首先導入葡萄酒數據,其次指定折疊的數量和數據集的大小;運用cross_val_score()函數可以運用10折交叉驗證法對XGBoost 模型進行預測.

2.2.2 仿真結果與分析

運用XGBoost算法下的葡萄酒特征提取圖如圖2所示.圖2中表示的是葡萄酒的11個輸入變量,f0~f10分別代表了實驗測試得到的11個物理化學性質(表1),這些物理化學性質特征從大到小順序依次如圖2所示.在獲得的圖形中證實了釀酒學的理論.比如f10代表酒精度越高表示葡萄酒的品質越高.當然對于不同種類的葡萄酒,變量重要性排序是不同的.幾類數據在一些理化性質上相差不大,但圖3中f5代表的游離二氧化硫的特征重要性大,可以說明這一理化性質大大影響口味.從圖2和圖3可以看出葡萄酒質量評價也是一個非常困難的工作.

圖2 紅葡萄酒特征重要性條形圖Fig.2 The red wine input importances bar chart

圖3 白葡萄酒特征重要性條形圖Fig.3 The white wine input importances bar chart

為了使葡萄酒的品級預測更加完善并提高準確率,運用XGBoost算法的分類方法和k-fold方法分別進行了仿真試驗.在分類方法中將67 %的數據用于訓練,33 %的數據用于測試.在k-fold方法中指標分類器錯誤率的估計采用10折交叉驗證法.表2和表3為采用XG Boost分類方法和k-fold方法進行葡萄酒品質預測的結果,并將實驗結果與Cortez等人[8]運用數據挖掘技術中的其他3個回歸技術作了比較.

表2 采用XGBoost分類與k-Fold方法對紅葡萄酒品質的預測結果Table 2 The XGBoost classification and k-Fold method predict the quality of red wine

表中T代表容錯率,實際指絕對誤差.比如實際輸出y=1,模型預測的輸出只要在容錯率T=0.25內(y在0.75~1.25之間)就認為分類是準確的.表2中列出紅葡萄酒的驗證仿真數據.前3種算法是Cortez等人先前研究的結果.表格最后兩列是通過XGBoost算法得出的分類準確率和k-Fold法準確率.從表2可以看出:在容錯率為25 %的情況下,運用XGBoost分類算法預測的紅葡萄酒準確率為61.9 %,運用XGBoost k-Fold交叉驗證算法預測的準確率為58.6 %,這都明顯高于線性回歸算法、神經網絡算法和支持向量機算法的預測準確率.在準確率為50 %的情況下,同樣可以看出XGBoost分類方法的預測準確率高于線性回歸算法、神經網絡算法和支持向量機算法的預測準確率.從運行時長來看,XGBoost分類方法和k-Fold交叉驗證算法的運行時長明顯快于其他3種算法的運行時長.雖然支持向量機算法的預測準確率相對較高一些,但是通過支持向量機算法測試數據集將耗費大量的運算時間.

表3 采用XGBoost分類與k-Fold方法對白葡萄酒品質的預測結果Table 3 The XGBoost classification andk-Fold method predict the quality of white wine

表3是采用XGBoost分類方法和k-Fold交叉驗證算法對白葡萄酒品質進行預測的結果.與線性回歸、神經網絡和支持向量機的預測結果進行比較,可以看出:在容錯率25 %的情況下,通過XGBoost分類算法預測的白葡萄酒準確率為57.9 %,XGBoost k-Fold交叉驗證算法預測的白葡萄酒準確率為54.8 %,這也明顯高于其他算法的準確率.在容錯率為50 %的前提下,可以看出:無論是XGBoost分類方法還是XGBoost k-Fold交叉驗證算法,其準確率都比線性回歸和神經網絡的準確率高.雖然支持向量機在50 %容錯率的情況下準確率比XGBoost算法準確率高,但是運行時間卻是XGBoost算法運行時間的約150倍.所以,綜合上述兩表可以看出XGBoost算法具有運行時間短、準確率高的優點.

將XGBoost分類方法和XGBoostk-Fold交叉驗證算法互相比較可以看出:XGBoost分類方法的準確率略高于XGBoost通過k-Fold交叉驗證算法的準確率,但是通過k-Fold交叉驗證算法的準確程度相比較分類方法更高.因為在k-Fold交叉驗證運行算法過程中,每一次都運用不同的訓練與測試數據進行迭代,使得計算出的準確率更加精確,但運行時長也相對較長.

3 結束語

通過化學檢驗的方法獲取一系列參數,并采用機器學習方法進行建模、預測,可以有效地減少因品酒師個人主觀因素帶來的對葡萄酒品質判定的偏差,并通過改變特征重要性提高葡萄酒的品質.采用機器學習中XGBoost學習算法對葡萄酒的數據進行了學習仿真,對葡萄酒數據準確率進行評估,并與其他算法進行比較,對結果進行了分析.一旦識別出某些變量和質量評價的關系,就能夠在葡萄酒生產階段對某些變量加以控制,以使口味更好.以上分析結果可以看出:XGBoost算法在葡萄酒品質預測的應用中明顯優于線性回歸和神經網絡算法,并優于在容錯率T=0.25情況下的支持向量機算法.XGBoost算法的運行時長相對于其他3種算法相對較短.這些對于改進釀酒、品酒評價和葡萄酒的生產測定都具有重要意義.

猜你喜歡
分類方法模型
一半模型
分類算一算
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
3D打印中的模型分割與打包
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 99精品视频播放| 成人噜噜噜视频在线观看| 亚洲成A人V欧美综合天堂| 欧美一级视频免费| 婷婷开心中文字幕| 亚洲人成色在线观看| 亚洲欧洲天堂色AV| 老色鬼久久亚洲AV综合| 毛片在线区| 国产丝袜无码一区二区视频| 18禁影院亚洲专区| 1024国产在线| 日韩高清无码免费| 久久夜夜视频| 欧美专区日韩专区| 欧美v在线| 国产精品漂亮美女在线观看| 中文字幕天无码久久精品视频免费 | 另类欧美日韩| 欧美成人h精品网站| 激情五月婷婷综合网| 国产精品手机视频一区二区| 欧美黑人欧美精品刺激| 伊人婷婷色香五月综合缴缴情| 国产欧美日韩资源在线观看| 精品人妻无码中字系列| 亚洲一区二区三区香蕉| 国内自拍久第一页| 亚洲人成亚洲精品| 欧美啪啪精品| 国产永久免费视频m3u8| 亚洲天堂视频在线免费观看| 久久久久久午夜精品| 伊人无码视屏| 亚洲熟女中文字幕男人总站| 国产精品无码久久久久AV| 国产成人h在线观看网站站| 亚洲精品动漫在线观看| 久久婷婷六月| 欧美成在线视频| 成人日韩精品| 日本欧美成人免费| 国产国拍精品视频免费看| 日本精品视频| 日韩欧美色综合| 99久久国产综合精品2023| 狠狠色丁香婷婷综合| 麻豆国产原创视频在线播放| 国产无码精品在线| 少妇精品网站| 国产精品女同一区三区五区| 天堂网国产| 国产一区二区精品高清在线观看 | 久久精品国产亚洲AV忘忧草18| 国产精品手机视频一区二区| 国产成人综合久久| 日韩一级毛一欧美一国产| 2021国产乱人伦在线播放| 欧美特黄一级大黄录像| 亚洲精品视频免费看| 国产 在线视频无码| 久久久黄色片| 国产香蕉国产精品偷在线观看 | 亚洲国产AV无码综合原创| 一级做a爰片久久免费| 色悠久久久| 久久人妻xunleige无码| 亚洲精品国产成人7777| 91精品专区| 午夜性爽视频男人的天堂| 国产精品亚洲天堂| 精品国产Av电影无码久久久| 久久频这里精品99香蕉久网址| 国产国拍精品视频免费看| 搞黄网站免费观看| 91青青草视频在线观看的| 久久一色本道亚洲| 国产理论精品| 无码精品国产dvd在线观看9久| 国产成人综合亚洲欧美在| 成人精品区| www.91中文字幕|