劉 駿(上海海事大學信息工程學院,上海201306)
基于LVQ神經網絡的葡萄酒品牌鑒別研究
劉駿
(上海海事大學信息工程學院,上海201306)
葡萄酒現已成為廣大消費者青睞的時尚飲品,其品牌的鑒別日益受到關注。針對于此,依據學習向量量化神經網絡的優點,提出數據歸一化結合LVQ神經網絡建立模型實現葡萄酒品牌的快速鑒別。對從UCI數據庫下載的葡萄酒原始數據進行歸一化預處理,將預處理后的數據按照一定的比例分成訓練集和測試集,建立LVQ神經網絡模型,用訓練集的數據訓練這個模型后用測試集數據進行分類預測。根據最終的實驗結果可以得出,該模型對測試集的分類準確率達到100%,是一種快速、有效的鑒別葡萄酒品牌方法。
葡萄酒;歸一化;學習向量量化
醫學研究表明,葡萄的營養很高,而以葡萄為原料的葡萄酒也蘊藏了多種氨基酸、礦物質和維生素,適度飲用葡萄酒不僅能夠促進血液循環、調節新陳代謝,而且還有美容養顏的功效[1]。葡萄酒的種類繁多,傳統的依靠品酒專家個人經驗的方法費用高、主觀性強,不利于大批量樣品的快速分類[2]。
LVQ神經網絡模型具有自學習能力強、網絡結構簡單等優點,基于這些優點,提出了一種基于LVQ神經網絡的模型用于葡萄酒的分類的方法。實驗對原始的葡萄酒數據進行歸一化預處理,充分挖掘原始數據中的有效信息,然后建立葡萄酒的LVQ神經網絡模型,該模型有著很高的鑒別準確率,是一種正確的、有效的葡萄酒品牌鑒別手段[3]。
1.1數據來源
從UCI數據庫中下載葡萄酒的數據,數據記錄的是意大利某一區域3種不同品牌葡萄酒的化學成分,數據為178×13的矩陣,178是樣本的數量,13是每個樣本的化學成分指標,詳情如下:(1)Alcohol;(2)Malic acid;(3)Ash;(4)Alcalinity of ash;(5)Magnesium;(6)Total phenols;(7)Flavanoids;(8)Nonflavanoid phenols;(9)Proanthocyanins;(10)Colro intensity;(11)Hue;(12)OD280/OD315 of diluted wines;(13)Proline[4]。
1.2分析方法
(1)歸一化
數據歸一化,就是為方便對數據的處理,將數據按照某種規則進行放大或者縮小,使數據落入如[0,1]和[-1,1]這樣較小的區間內[5]。常用的歸一化方式有兩種:
①[0,1]區間歸一化,其映射如下:

(2)LVQ神經網絡
學習向量量化(Learning Vector Quantization,LVQ)是由芬蘭學者Kohonen從競爭算法演化而來的一種前向有監督神經網絡,在優化領域和模式識別應用十分廣泛[6]。
LVQ神經網絡由競爭層、線性輸出層和輸入層三層組成。競爭層與線性輸出層的連接方式為部分連接,而輸入層與競爭層之間的連接方式則為完全連接。LVQ神經網絡有LVQ1和LVQ2兩種學習方法。本文采用的是LVQ1算法,該算法的基本思想是:計算并找到這樣一個競爭層神經元,它距離輸入向量最近,根據這個競爭層神經元找到線性輸出層神經元。如果輸入向量和線性輸出層神經元兩者的類別一致,那么朝著輸入向量的方向移動對應的競爭層神經元權值;如果輸入向量和線性輸出層神經元兩者的類別不一致,那么朝著與輸入向量相反的方向移動對應的競爭層神經元權值[7]。LVQ1算法的基本步驟如下:
(1)初始化。對輸入與競爭兩層之間的學習率η (η>0)及權值wij進行初始化操作。
(2)計算距離。將向量x=(x1,x2,…,xR)T送入輸入層,并計算其與競爭層神經元之兩者間的距離:

(3)尋找神經元并設置標簽。尋找一個競爭層神經元使之與輸入向量之間的距離最小,如果di最小,那么記與之連接的線性輸出層神經元的類標簽為Ci。
權值調整。設Cx為輸入向量的類標簽,如果Cx= Ci,那么根據式(2)調整權值,如果Cx≠Ci,則根據式(3)進行權值更新:

2.1選定訓練集和測試集
將從UCI數據庫下載的數據導入MATLAB,把178個樣品隨機分成訓練集和測試集,其中訓練集158個,預測集20個,并對數據進行歸一化預處理,其MATLAB代碼如下:
a=randperm(178);
trainwine=wine(a(1:158),:);
testwine=wine(a(159:end),:);
[mtrain,ntrain]=size(trainwine);
[mtest,ntest]=size(testwine);
dataset=[trainwine;testwine];
[datasetscale,ps]=mapminmax(dataset',0,1);
datasetscale=datasetscale';
trainwine=datasetscale(1:m train,:);
testwine=datasetscale((mtrain+1):(mtrain+mtest),:);
Ptrain=trainwine';
Ptest=testwine';
Tctrain=winelabels(a(1:158),:)';
Ttrain=ind2vec(Tctrain);
Tctest=winelabels(a(159:end),:)';
2.2創建LVQ網絡
訓練集和測試集選定后,使用newlvq函數和訓練集數據創建網絡,其中0.01為學習速率,learnlv1表示學習方法為LVQ1,其MATLAB代碼如下:
for i=1:3
rate{i}=length(find(Tctrain==i))/158;
end
net=newlvq(minmax(Ptrain),10,cell2mat(rate),0.01, 'learnlv1');
net.trainParam.epochs=100;
net.trainParam.goal=0.001;
net.trainParam.lr=0.1;
2.3訓練LVQ網絡
網絡創建好后,設置迭代次數、學習速率和訓練精度等參數,使用train函數訓練網絡,其MATLAB代碼如下:
net=train(net,P_train,T_train);
2.4使用測試集數據測試
待LVQ神經網絡模型訓練好后,使用sim函數將葡萄酒的測試集數據輸入到模型,得到測試集葡萄酒的分類結果。其MATLAB代碼如下:
T_sim=sim(net,P_test);
T_csim=vec2ind(T_sim);
result=[Tc_sim;Tc_test]
2.5結果顯示及分析

表1
從表1中可以看出,對20個測試樣本的鑒別率為100%,證明了數據歸一化結合LVQ神經網絡實現了三種葡萄酒的準確鑒別。
本文以葡萄酒的品牌的鑒別為例,利用歸一化方法處理原始的葡萄酒數據,之后建立LVQ神經網絡模型完成了對樣本的學習和分類預測。文中提供了完整的MATLAB代碼,并給出了詳細的模型設計步驟。最后的實驗結果表明,數據歸一化預處理結合LVQ神經網絡可以實現對葡萄酒品牌的精確分類,具有一定的實用價值。
[1]陳玉慶.葡萄酒的成分與營養價值[J].釀酒,2004,31(5):112~114
[2]高年發,李麗,張健康.利用模式識別技術鑒別中國葡萄酒的產地和品種[J].中國釀造,2009,28(3):68~71
[3]王波,杜曉昕,金梅.LVQ神經網絡在乳腺腫瘤診斷中的應用[J].計算機仿真,2012,29(8):171~172
[4]Index of/m l/machine-learning-databases/wine.http://archive.ics.uci.edu/ml/machine-learning-databases/wine
[5]王小川,史峰,李洋,等.MATLAB神經網絡43個案例分析[M].北京:北京航空航天大學出版社,2013
[6]羅建春,羅慶,楊杰,等.基于LVQ-GA-BP神經網絡光伏電站出力短期預測[J].電力系統保護與控制,2014,42(13):91~93
[7]余煒,馬晶晶,劉倫,等.基于EMD和LVQ的信號特征提取及分類方法[J].數據采集與處理,2014,29(5):684~685
Wine;Normalization Methods;Learning Vector Quantization
Research on W ine Brand Recognition Based on LVQ Network
LIU Jun
(Department of Information Engineering,ShanghaiMaritime University,Shanghai 201306)
Wine as a health drink ismore and more popularwith the consumers,and the brand of recognition increasingly received attention.Based on the advantages of Learning Vector Quantization neural network,puts forward data normalization combine with LVQ neural network to build model to realize the rapid identification of wine brands.Downloads the wine data from UCI database and uses Normalization methods to pretreat the data,then the data is divided into training set and test set and builds the model of LVQ neural network.With the training set data training thismodel,and uses test set data to predict classification.According to the experimental results,it can be concluded that themodel on the test setof classification accuracy is as high as 100%,provides a new way to identify thewine brand.
1007-1423(2015)15-0003-03
10.3969/j.issn.1007-1423.2015.15.001
劉駿(1992-),男,江西景德鎮人,碩士,研究方向為計算機系統應用2015-03-26
2015-04-28