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