黃成明 張榮臻 林新輝
摘要:本文針對農(nóng)產(chǎn)品電商平臺進行精準(zhǔn)營銷的過程中使用BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練用戶數(shù)據(jù)建立模型時,針對數(shù)據(jù)量巨大導(dǎo)致BP神經(jīng)網(wǎng)絡(luò)模型成型慢的問題,提出了一種基于改進BP神經(jīng)網(wǎng)絡(luò)算法的農(nóng)產(chǎn)品個性化推薦模型。首先將用戶數(shù)據(jù)進行漢明編碼,并用漢明距離度量用戶相似度,在此基礎(chǔ)上將數(shù)據(jù)進行預(yù)分類。然后將此預(yù)分類結(jié)果集進行抽樣,作為BP神經(jīng)網(wǎng)絡(luò)的輸入,來提升建模速度。
關(guān)鍵詞:精準(zhǔn)營銷;K近鄰算法;BP神經(jīng)網(wǎng)絡(luò);農(nóng)產(chǎn)品電商
1引言
電商平臺的精準(zhǔn)營銷解決方案,業(yè)界較為流行的是采用例如基于關(guān)聯(lián)規(guī)則、K近鄰、BP神經(jīng)網(wǎng)絡(luò)等算法,對用戶進行相似性度量,從而將某些具有較高相似度的群體進行歸類,從而實現(xiàn)精準(zhǔn)營銷。但由于農(nóng)產(chǎn)品電商平臺動輒幾億的用戶數(shù)據(jù),且農(nóng)產(chǎn)品的消費行為具有嚴(yán)重的高噪聲、非線性、多維特征等特點,導(dǎo)致在使用人工智能算法建立精準(zhǔn)營銷模型時速度過慢[1]。針對上述問題,本文提出了基于K近鄰算法改進BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型的過程,有效地提高了生成模型的速度,對具有海量數(shù)據(jù)的農(nóng)產(chǎn)品電商平臺實現(xiàn)精準(zhǔn)營銷具有重要的應(yīng)用價值。
2BP神經(jīng)網(wǎng)絡(luò)農(nóng)產(chǎn)品精準(zhǔn)營銷模型
2.1農(nóng)產(chǎn)品精準(zhǔn)營銷原理
農(nóng)產(chǎn)品的消費行為受多種因素的影響,如農(nóng)產(chǎn)品的價格、供需關(guān)系、各地區(qū)的消費水平、甚至農(nóng)產(chǎn)品的培養(yǎng)地區(qū)、培養(yǎng)方式、消費者個體偏好、季節(jié)因素、天氣因素等。通過對大量數(shù)據(jù)的分析,定性分析出對農(nóng)產(chǎn)品消費行為影響較大的特征主要有以下幾個:
1)季節(jié)。農(nóng)產(chǎn)品的生長具有較強的季節(jié)性,消費者對農(nóng)產(chǎn)品的購買與月份具有強關(guān)聯(lián)性。
2)消費水平。消費者消費能力的不同,對農(nóng)產(chǎn)品需求的品類也不同。
3)消費者地域。由于大部分的農(nóng)產(chǎn)品具有濃厚的地方特色,相同地域的消費者在購買農(nóng)產(chǎn)品時有著很高的相似度。
4)消費者歷史購買記錄。消費者經(jīng)常購買的品類,重復(fù)購買的概率較大。
對農(nóng)產(chǎn)品進行精準(zhǔn)營銷,其本質(zhì)上是對消費者的屬性通過合理的特征提取構(gòu)建一個特征數(shù)據(jù)集,通過對特征之間關(guān)系的計算,建立一個分類模型,通過對消費者進行群體劃分從而實現(xiàn)精準(zhǔn)營銷。
2.2BP神經(jīng)網(wǎng)絡(luò)及其改進
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是當(dāng)前應(yīng)用最廣泛的人工神經(jīng)網(wǎng)絡(luò)[2],針對使用BP神經(jīng)網(wǎng)絡(luò)算法在農(nóng)產(chǎn)品電商平臺擁有海量用戶數(shù)據(jù)的背景下進行精準(zhǔn)營銷時面臨建模速度慢的問題,本文提出基于KNN算法改進BP神經(jīng)網(wǎng)絡(luò)的迭代過程,提升訓(xùn)練速度?;静襟E如下:
步驟1 數(shù)據(jù)預(yù)處理。對樣本數(shù)據(jù)進行主成分分析提取特征,并對數(shù)據(jù)進行清洗,去除無效值。然后對特征進行漢明編碼。最后將數(shù)據(jù)分為訓(xùn)練集和測試集。
步驟2 初始化KNN算法參數(shù)。K值選擇奇數(shù)避免投票中出現(xiàn)類別數(shù)相同的狀況,以交叉驗證法確定最終K值[3]。
步驟3 計算樣本數(shù)據(jù)的距離。本文采用漢明距離度量樣本數(shù)據(jù)點之間的距離[4]。
步驟4 得到KNN分類的結(jié)果。最終分類結(jié)果為D=[D1,D2,D3,D4……],D表示結(jié)果數(shù)據(jù)集,D1,D2,D3,D4等分別表示對應(yīng)某一類別標(biāo)簽的分類結(jié)果集。其中D1 = [X1,X2,X3,X4,X5……],其他數(shù)據(jù)項依次類推,X為樣本數(shù)據(jù),Y為該群體對應(yīng)的分類標(biāo)簽。
步驟5 BP神經(jīng)網(wǎng)絡(luò)參數(shù)初始化。確定BP神經(jīng)網(wǎng)絡(luò)參數(shù)的初始值,如初始權(quán)重、初始學(xué)習(xí)率、閾值、隱含層節(jié)點數(shù)、神經(jīng)網(wǎng)絡(luò)層數(shù)、抽樣系數(shù)等。
步驟6 將KNN分類結(jié)果D1,D2,D3,D4中的樣本乘以抽樣系數(shù)進行隨機抽樣,并分別作為BP神經(jīng)網(wǎng)絡(luò)的輸入。
步驟7 計算輸出層的實際輸出,并計算與期望輸出的誤差,同時計算隱含層神經(jīng)元梯度項,對權(quán)重值和閾值進行修正。
步驟8 生成BP神經(jīng)網(wǎng)絡(luò)模型。當(dāng)損失函數(shù)達(dá)到預(yù)設(shè)值則迭代結(jié)束。否則轉(zhuǎn)入步驟6繼續(xù)進行下一輪學(xué)習(xí)。
基于KNN算法改進的BP神經(jīng)網(wǎng)絡(luò)算法結(jié)構(gòu)如圖1所示。
3實驗結(jié)果與分析
本實驗選取的樣本數(shù)據(jù)包含消費者歷史購買記錄、季節(jié)、消費水平、消費者地域等四個特征。這些特征作為BP神經(jīng)網(wǎng)絡(luò)的輸入,輸出為生鮮類、時蔬類、肉類、瓜果等四個類別標(biāo)簽。本次實驗為了驗證本文提出方法的有效性,從訓(xùn)練速度和BP神經(jīng)網(wǎng)絡(luò)模型的準(zhǔn)確率兩個維度來進行對比實驗。如圖2所示為抽樣系數(shù)和訓(xùn)練速度關(guān)系曲線可視化圖形,當(dāng)抽樣系數(shù)取不同值時,訓(xùn)練速度也不同,訓(xùn)練速度隨著抽樣系數(shù)的增大而減小。
本文測試了不同抽樣系數(shù)下生成的神經(jīng)網(wǎng)絡(luò)模型在測試數(shù)據(jù)集上的表現(xiàn),觀測到本文提出的方法在有效的加快了訓(xùn)練速度的同時,并未對模型的準(zhǔn)確率產(chǎn)生影響,證實了本文方法的有效性。
4結(jié)束語
針對農(nóng)產(chǎn)品電商精準(zhǔn)營銷領(lǐng)域面臨的非線性、信息冗余度高、數(shù)據(jù)量大、采用BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)時建模慢等問題,本文提出了一種基于KNN算法改進BP神經(jīng)網(wǎng)絡(luò)迭代過程的方法。本文通過實驗驗證了此方法在保證模型準(zhǔn)確率的基礎(chǔ)上有效的提升了BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,在農(nóng)產(chǎn)品的精準(zhǔn)營銷上具有重要的應(yīng)用價值和經(jīng)濟效益。本方法雖然提升了農(nóng)產(chǎn)品電商平臺BP神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練速度,卻增加了預(yù)分類的時間開銷,故本方法在擁有海量數(shù)據(jù)的電商平臺表現(xiàn)較好,可以大幅降低訓(xùn)練數(shù)據(jù)量,對于其他領(lǐng)域的普適能力,有待進一步研究。
參考文獻(xiàn)
[1] 王赟松, 褚福磊, 何永勇,等. BP神經(jīng)網(wǎng)絡(luò)快速收斂算法研究[J]. 農(nóng)業(yè)機械學(xué)報, 2004, 035(006):182-184.
[2] 吳微, 陳維強, 劉波. 用BP神經(jīng)網(wǎng)絡(luò)預(yù)測股票市場漲跌[J]. 大連理工大學(xué)學(xué)報, 2001, 41(001):9-15.
[3] 張寧, 賈自艷, 史忠植. 使用KNN算法的文本分類[J]. 計算機工程, 2005, 31(008):171-172.
[4] 申金緩, 張文偉, 等. 利用漢明距離優(yōu)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)樣本[J]. 光學(xué)學(xué)報, 2000.