国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

XGBoost算法在電子商務(wù)商品推薦中的應(yīng)用

2017-03-15 17:09張昊紀(jì)宏超張紅宇
物聯(lián)網(wǎng)技術(shù) 2017年2期
關(guān)鍵詞:推薦算法大數(shù)據(jù)電子商務(wù)

張昊+紀(jì)宏超+張紅宇

摘 要:近年來(lái),在電子商務(wù)網(wǎng)站進(jìn)行在線(xiàn)購(gòu)物已逐漸成為人們主要的購(gòu)物途徑之一。在在線(xiàn)購(gòu)物過(guò)程中,人們會(huì)留下大量的瀏覽信息,但只有極少數(shù)會(huì)轉(zhuǎn)化為購(gòu)買(mǎi)。對(duì)用戶(hù)信息進(jìn)行數(shù)據(jù)挖掘,個(gè)性化向用戶(hù)推薦商品可以有效提高用戶(hù)的購(gòu)物效率并提高商家的收入。XGBoost算法是一種高效準(zhǔn)確的分類(lèi)算法,文中將XGBoost算法應(yīng)用于商品推薦中,從而實(shí)現(xiàn)了準(zhǔn)確預(yù)測(cè)用戶(hù)購(gòu)買(mǎi)行為的目的,為商品推薦提供了一種有效的方法。

關(guān)鍵詞:電子商務(wù);大數(shù)據(jù);推薦算法;分類(lèi)

中圖分類(lèi)號(hào):TP39 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2017)02-0-03

0 引 言

近年來(lái),在電子商務(wù)網(wǎng)站進(jìn)行在線(xiàn)購(gòu)物逐漸成為人們新的購(gòu)物習(xí)慣。在線(xiàn)購(gòu)物過(guò)程中,人們?cè)谧罱K決定購(gòu)買(mǎi)某種商品前,通常會(huì)在電子商務(wù)平臺(tái)留下大量的信息,這些信息通常反映了用戶(hù)購(gòu)物的行為模式。通過(guò)數(shù)據(jù)挖掘方法來(lái)分析用戶(hù)的行為模式數(shù)據(jù),有利于更好地了解用戶(hù)的購(gòu)物習(xí)慣和傾向性,從而為預(yù)測(cè)用戶(hù)的購(gòu)買(mǎi)行為提供可能[1]。準(zhǔn)確預(yù)測(cè)用戶(hù)的購(gòu)物行為對(duì)電子商務(wù)平臺(tái)而言具有重要意義,通過(guò)預(yù)測(cè)結(jié)果可以個(gè)性化地向用戶(hù)推薦商品,提高用戶(hù)的購(gòu)物效率,促成更多交易,提高營(yíng)業(yè)收入。因此,國(guó)內(nèi)外大型電子商務(wù)企業(yè)都不同程度上運(yùn)用了商品推薦算法,學(xué)者也將統(tǒng)計(jì)和機(jī)器學(xué)習(xí)方法用于商品推薦的研究中,以期提高預(yù)測(cè)的準(zhǔn)確度。

雷名龍[2]分別采用隨機(jī)森林、邏輯回歸和SVM分類(lèi)模型,以阿里巴巴電子商務(wù)平臺(tái)4個(gè)月的購(gòu)物數(shù)據(jù)為研究對(duì)象,對(duì)用戶(hù)未來(lái)是否會(huì)購(gòu)買(mǎi)某種商品做出行為預(yù)測(cè),超過(guò)5%的準(zhǔn)確率。張春生等[3]考察了品牌可信度、價(jià)格、付款人數(shù)等多種評(píng)價(jià)指標(biāo)對(duì)于用戶(hù)購(gòu)買(mǎi)行為的相關(guān)性。Vieira等[4]采用深度置信網(wǎng)絡(luò)和自編碼器等深度學(xué)習(xí)策略,就篩選出的商品及用戶(hù)特征進(jìn)行建模,將其與傳統(tǒng)的決定樹(shù)、隨機(jī)森林等算法進(jìn)行比較,發(fā)現(xiàn)深度學(xué)習(xí)方法有利于獲得更好的預(yù)測(cè)結(jié)果。馬月坤等[5]采用構(gòu)建用戶(hù)行為知識(shí)庫(kù)的方法,對(duì)客戶(hù)的行為信息進(jìn)行了有效存儲(chǔ)和更新管理。

eXtreme Gradient Boosting (XGBoost)[6]是一種基于梯度Boosting的集成學(xué)習(xí)算法,其原理是通過(guò)弱分類(lèi)器的迭代計(jì)算實(shí)現(xiàn)準(zhǔn)確的分類(lèi)效果。梯度Boosting因其分類(lèi)的高效性和準(zhǔn)確性被廣泛應(yīng)用于人臉識(shí)別[7]、火災(zāi)識(shí)別[8]、列車(chē)停車(chē)[9]等諸多方面。本文將XGBoost引入到電子商務(wù)的商品推薦算法中,挖掘用戶(hù)在電子商務(wù)平臺(tái)的行為數(shù)據(jù)信息,建立分類(lèi)預(yù)測(cè)模型,從而個(gè)性化地向用戶(hù)推薦商品。結(jié)果表明,與傳統(tǒng)機(jī)器學(xué)習(xí)算法相比,XGBoost具有速度快、準(zhǔn)確度高等優(yōu)勢(shì)。

1 數(shù)據(jù)描述

本文所使用的數(shù)據(jù)來(lái)自阿里巴巴天池大數(shù)據(jù)競(jìng)賽公開(kāi)數(shù)據(jù)集,包含20 000名用戶(hù)某年11月18日至12月18日一個(gè)月的完整行為數(shù)據(jù)。每條購(gòu)物行為包含4個(gè)字段,分別為用戶(hù)ID、品牌ID、用戶(hù)對(duì)商品的交互行為和行為時(shí)間。用戶(hù)與商品的交互行為分為“瀏覽”、“收藏”、“加入購(gòu)物車(chē)”和“購(gòu)買(mǎi)”。

1.1 異常值剔除

異常值的存在通常會(huì)嚴(yán)重影響建模和預(yù)測(cè)質(zhì)量[10],因此有必要對(duì)數(shù)據(jù)中存在的異常值進(jìn)行剔除。獲取的數(shù)據(jù)時(shí)間內(nèi)包含淘寶“雙12”購(gòu)物節(jié),當(dāng)日用戶(hù)的總瀏覽、收藏、加入購(gòu)物車(chē)和購(gòu)買(mǎi)總次數(shù)分別為往日均值的1.8、1.4、2.4和4.5倍,屬于明顯異常值,因此當(dāng)日的全部數(shù)據(jù)在后續(xù)處理過(guò)程中被剔除。此外,在1個(gè)月內(nèi)無(wú)購(gòu)買(mǎi)記錄的用戶(hù)可能不具備在線(xiàn)購(gòu)物習(xí)慣,此類(lèi)用戶(hù)對(duì)于預(yù)測(cè)建模不具備參考價(jià)值,因此此類(lèi)數(shù)據(jù)也被剔除。

1.2 特征篩選

原始數(shù)據(jù)無(wú)法直接用于建模,因此需要將其歸納為統(tǒng)計(jì)特征。特征的篩選需要能夠充分描述商品信息、用戶(hù)信息及用戶(hù)-商品的交互情況。因此我們使用的特征如表1所列。

在表1中,商品特征主要反映了商品的熱度,通常交互和購(gòu)買(mǎi)次數(shù)高的商品具有更高的性?xún)r(jià)比,因此能夠吸引用戶(hù)的購(gòu)買(mǎi)。用戶(hù)特征則主要反映了用戶(hù)的購(gòu)物習(xí)慣,如其購(gòu)物頻率以及用戶(hù)更多選擇沖動(dòng)購(gòu)物還是反復(fù)遲疑后才會(huì)購(gòu)買(mǎi)。交互特征則更多考慮到用戶(hù)與商品之間的交互行為。通常在購(gòu)物過(guò)程中,用戶(hù)會(huì)將某商品與同類(lèi)商品比較后才會(huì)選擇是否購(gòu)買(mǎi),因此用戶(hù)與同類(lèi)商品的交互行為也應(yīng)被考察。

1.3 樣本劃分

由于數(shù)據(jù)總量較大,在處理過(guò)程中僅使用部分樣本進(jìn)行建模。同時(shí),第25天的數(shù)據(jù)由于異常值已被剔除,應(yīng)盡量消除其影響。因此,我們選擇第8、15、22天的數(shù)據(jù),每天抽取2萬(wàn)個(gè)樣本作為訓(xùn)練集。訓(xùn)練集的每個(gè)樣本由一個(gè)用戶(hù)-商品對(duì)組成。特征的統(tǒng)計(jì)涉及到前三天的信息,因此這樣劃分樣本比較具有代表性。選擇第23天的6萬(wàn)個(gè)樣本作為測(cè)試集。在訓(xùn)練集的6萬(wàn)個(gè)樣本中,陽(yáng)性樣本為100個(gè),而在測(cè)試集的6萬(wàn)個(gè)樣本中,陽(yáng)性樣本為112個(gè)??梢钥闯觯瑯颖揪哂懈叨鹊牟黄胶庑?。這是因?yàn)橛脩?hù)會(huì)瀏覽大量的商品,但其中轉(zhuǎn)化為實(shí)際購(gòu)買(mǎi)的僅為其中極少的一部分。

2 分類(lèi)建模

2.1 XGBoost算法

Boosting是一種非常有效的集成學(xué)習(xí)算法,采用Boosting方法可以將弱分類(lèi)器轉(zhuǎn)化為強(qiáng)分類(lèi)器,從而達(dá)到準(zhǔn)確的分類(lèi)效果。其步驟如下所示:

(1)將所有訓(xùn)練集樣本賦予相同權(quán)重;

(2)進(jìn)行第m次迭代,每次迭代采用分類(lèi)算法進(jìn)行分類(lèi),采用公式(1)計(jì)算分類(lèi)的錯(cuò)誤率:

(3)計(jì)算αm=log((1-errm)/errm);

(4)對(duì)于第m+1次迭代,將第i個(gè)樣本的權(quán)重ωi重置為;

(5)完成迭代后得到全部的分類(lèi)器,采用投票方式得到每個(gè)樣本的分類(lèi)結(jié)果。其核心在于每次迭代后,分類(lèi)錯(cuò)誤的樣本都會(huì)被賦予更高的權(quán)重,從而改善下一次分類(lèi)的效果。

Gradient Boosting是Boosting的一個(gè)改進(jìn)版本,經(jīng)證明,Boosting的損失函數(shù)是指數(shù)形式[11],而Gradient Boosting則是令算法的損失函數(shù)在迭代過(guò)程中沿其梯度方向下降,從而提升穩(wěn)健性。其算法流程如下所示:

(1)初始化

(2)對(duì)于1-m次迭代:

XGBoost[12]是一種Gradient Boosting算法的快速實(shí)現(xiàn),它能夠充分利用多核CPU進(jìn)行并行計(jì)算,同時(shí)在算法上進(jìn)行改進(jìn)以提高精度。本文采用XGBoosting算法的R語(yǔ)言版本進(jìn)行分類(lèi)建模,采用10折交互檢驗(yàn)優(yōu)化參數(shù)。

2.2 其他分類(lèi)方法

為便于比較,我們也采用了另外兩種通用的分類(lèi)方法——分類(lèi)樹(shù)和隨機(jī)森林作為比較。分類(lèi)樹(shù)(CART)最早由美國(guó)斯坦福大學(xué)和加州大學(xué)伯克利分校的Breiman等人于1984年提出。分類(lèi)樹(shù)采用二元遞歸劃分方法,構(gòu)建二叉樹(shù)從而處理二分類(lèi)問(wèn)題,具有原理簡(jiǎn)單、速度快等優(yōu)點(diǎn)。但其分類(lèi)準(zhǔn)確程度較差,容易出現(xiàn)過(guò)擬合。隨機(jī)森林的原理是隨機(jī)建立大量的分類(lèi)樹(shù),每棵樹(shù)單獨(dú)對(duì)樣本進(jìn)行分類(lèi),最終分類(lèi)結(jié)果由每棵樹(shù)各自的分類(lèi)結(jié)果通過(guò)投票確定。隨機(jī)森林算法提高了分類(lèi)的準(zhǔn)確性,且結(jié)果穩(wěn)健,易于調(diào)整參數(shù),但運(yùn)行速度較慢。

2.3 評(píng)價(jià)標(biāo)準(zhǔn)

其中,P為陽(yáng)性樣本總數(shù),TP為正確預(yù)測(cè)的陽(yáng)性樣本數(shù)量,NP為錯(cuò)誤預(yù)測(cè)的陽(yáng)性樣本數(shù)量。同時(shí),對(duì)于大量樣本的數(shù)據(jù)處理,運(yùn)算速度也是重要的評(píng)價(jià)指標(biāo)。本實(shí)驗(yàn)在個(gè)人計(jì)算機(jī)(CPU: Intel i7 4710MQ 2.3 GHz;RAM:16 G)上運(yùn)行,用R語(yǔ)言的system.time()函數(shù)記錄運(yùn)行時(shí)間。

3 結(jié)果與討論

3.1 結(jié)果比較

通過(guò)交互檢驗(yàn)分別優(yōu)化三種算法的參數(shù)后,采用測(cè)試集樣本對(duì)建模結(jié)果進(jìn)行預(yù)測(cè),三種算法的結(jié)果如表2所列。

結(jié)果表明,在三種分類(lèi)算法中,XGBoost的預(yù)測(cè)結(jié)果較隨機(jī)森林略高,但運(yùn)行速度要顯著快于隨機(jī)森林,而分類(lèi)樹(shù)原理簡(jiǎn)單,運(yùn)算速度與XGBoost接近,但運(yùn)算準(zhǔn)確性明顯較差。因此XGBoost相較于另外兩種算法具有準(zhǔn)確性高、運(yùn)算速度快等優(yōu)勢(shì)。

3.2 變量重要性分析

通過(guò)XGBoost和隨機(jī)森林的建??梢耘袛嗝總€(gè)特征變量對(duì)模型的貢獻(xiàn)程度,從而判斷哪些特征變量對(duì)于用戶(hù)購(gòu)買(mǎi)行為的影響更為顯著。分析結(jié)果如圖1所示。

圖1(A)所示為XGBoost模型的變量重要性結(jié)果,圖1(B)所示為隨機(jī)森林的變量重要性結(jié)果,其中,第17、21、25和29個(gè)變量在兩個(gè)模型中的重要性排序中均在前四位,其對(duì)應(yīng)的特征分別為商品的總瀏覽量、商品最近三日瀏覽量、用戶(hù)總瀏覽量和用戶(hù)瀏覽/購(gòu)買(mǎi)比。與瀏覽動(dòng)作相關(guān)的變量對(duì)模型的貢獻(xiàn)程度最大,是因?yàn)闉g覽是用戶(hù)與商品交互的最主要方式,其信息豐富程度遠(yuǎn)高于其它特征。除瀏覽外,與用戶(hù)“加入購(gòu)物車(chē)”這一動(dòng)作相關(guān)的特征最高,因?yàn)橛脩?hù)將商品加入購(gòu)物車(chē)后,很可能在未來(lái)幾日內(nèi)進(jìn)行購(gòu)買(mǎi)。

在用戶(hù)-商品交互特征中,我們發(fā)現(xiàn)用戶(hù)三日內(nèi)與商品交互相關(guān)的特征變量,重要程度并不低于用戶(hù)前1天的商品交互,這說(shuō)明用戶(hù)購(gòu)買(mǎi)商品前有一定的猶豫時(shí)間。用戶(hù)與同類(lèi)商品交互相關(guān)的特征變量的重要程度略高于用戶(hù)與某一商品的交互,這說(shuō)明大多數(shù)用戶(hù)在購(gòu)買(mǎi)某商品時(shí),會(huì)將其與同類(lèi)商品進(jìn)行充分比較,并最終選擇那些被瀏覽和購(gòu)買(mǎi)次數(shù)較多的熱門(mén)商品。

此外,用戶(hù)特征在重要性排序中的位置均較高,意味著不同的用戶(hù)有著不同的購(gòu)物習(xí)慣,因此,針對(duì)不同用戶(hù)進(jìn)行更加個(gè)性化的推薦非常必要。

4 結(jié) 語(yǔ)

本文采用XGBoost分類(lèi)算法,基于阿里巴巴的真實(shí)用戶(hù)數(shù)據(jù)進(jìn)行了特征提取和分類(lèi)建模,并與隨機(jī)森林、決策樹(shù)算法進(jìn)行了對(duì)比,得到了較準(zhǔn)確的預(yù)測(cè)結(jié)果。通過(guò)對(duì)變量重要性進(jìn)行分析,我們識(shí)別了對(duì)模型貢獻(xiàn)較高的變量。該研究有助于理解用戶(hù)瀏覽信息與其購(gòu)買(mǎi)行為的相關(guān)性,對(duì)個(gè)性化推薦系統(tǒng)性能的完善有重要的現(xiàn)實(shí)意義。

參考文獻(xiàn)

[1] Chester Curme, Tobias Preis, H. Eugene Stanley, et al. Quantifying the semantics of search behavior before stock market moves[J]. Proceedings of the National Academy of Sciences of the United States of America,2014, 111(32):11600-11605.

[2]雷名龍.基于阿里巴巴大數(shù)據(jù)的購(gòu)物行為研究[J].物聯(lián)網(wǎng)技術(shù),2016,6(5):57-60.

[3]張春生,圖雅,翁慧,等.基于電子商務(wù)同類(lèi)商品的推薦算法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,26(5):17-21.

[4] Vieira A. Predicting online user behaviour using deep learning algorithms[J].Computer Science, ArXiv151106247 Cs Stat, 2015,46(8):127-135.

[5]馬月坤,劉鵬飛.基于知識(shí)庫(kù)的客戶(hù)網(wǎng)購(gòu)意向預(yù)測(cè)系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2016, 52(13):101-109.

[6] Friedman J H. Greedy Function Approximation: A Gradient Boosting Machine[J]. Annals of Statistics,2000,29(5): 1189-1232.

[7]杜曉旭.基于Boosting算法的人臉識(shí)別方法研究[D].杭州:浙江大學(xué),2006.

[8]楊國(guó)田,吳章憲,楊鵬遠(yuǎn).Boosting在火災(zāi)識(shí)別中的應(yīng)用研究[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(5):200-204.

[9]周驥,陳德旺.機(jī)器學(xué)習(xí)在列車(chē)精確停車(chē)問(wèn)題的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2010,46(25):226-230.

[10]張德然.統(tǒng)計(jì)數(shù)據(jù)中異常值的檢驗(yàn)方法[J].統(tǒng)計(jì)研究,2003,20(5):53-55.

[11] Theofanis Sapatinas. The Elements of Statistical Learning[M].Springer,2001: 192-192.

[12] Chen T, He T, Benesty M. xgboost: Extreme Gradient Boosting[J].2016,5(9):222-208.

[13] Mathias M. Adankon, Mohamed Cheriet. Support Vector Machine[J].Computer Science, 2002,1(4): 1-28.

[14] Hinton G E, Srivastava N, Krizhevsky A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J].Computer Science,2012,3(4):212-223.

猜你喜歡
推薦算法大數(shù)據(jù)電子商務(wù)
《電子商務(wù)法》如何助力直銷(xiāo)
電子商務(wù)
關(guān)于加快制定電子商務(wù)法的議案