• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

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

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

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

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

      0 引 言

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

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

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

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

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

      1.1 異常值剔除

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

      1.2 特征篩選

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

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

      1.3 樣本劃分

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

      2 分類建模

      2.1 XGBoost算法

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

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

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

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

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

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

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

      (1)初始化

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

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

      2.2 其他分類方法

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

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

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

      3 結(jié)果與討論

      3.1 結(jié)果比較

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

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

      3.2 變量重要性分析

      通過XGBoost和隨機(jī)森林的建模可以判斷每個(gè)特征變量對模型的貢獻(xiàn)程度,從而判斷哪些特征變量對于用戶購買行為的影響更為顯著。分析結(jié)果如圖1所示。

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

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

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

      4 結(jié) 語

      本文采用XGBoost分類算法,基于阿里巴巴的真實(shí)用戶數(shù)據(jù)進(jìn)行了特征提取和分類建模,并與隨機(jī)森林、決策樹算法進(jìn)行了對比,得到了較準(zhǔn)確的預(yù)測結(jié)果。通過對變量重要性進(jìn)行分析,我們識別了對模型貢獻(xiàn)較高的變量。該研究有助于理解用戶瀏覽信息與其購買行為的相關(guān)性,對個(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ù)的購物行為研究[J].物聯(lián)網(wǎng)技術(shù),2016,6(5):57-60.

      [3]張春生,圖雅,翁慧,等.基于電子商務(wù)同類商品的推薦算法研究[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]馬月坤,劉鵬飛.基于知識庫的客戶網(wǎng)購意向預(yù)測系統(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算法的人臉識別方法研究[D].杭州:浙江大學(xué),2006.

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

      [9]周驥,陳德旺.機(jī)器學(xué)習(xí)在列車精確停車問題的應(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ù)法》如何助力直銷
      電子商務(wù)
      關(guān)于加快制定電子商務(wù)法的議案
      凤翔县| 扎鲁特旗| 封丘县| 葫芦岛市| 石屏县| 威海市| 蚌埠市| 道真| 盱眙县| 庆元县| 江达县| 连城县| 保山市| 昔阳县| 丽水市| 仁化县| 中卫市| 宝山区| 吴川市| 和政县| 无锡市| 霍山县| 葵青区| 阳原县| 海城市| 许昌县| 太仓市| 霍州市| 塔城市| 呼玛县| 河北区| 寿光市| 武胜县| 柳州市| 鄯善县| 固镇县| 临江市| 西乌| 富源县| 邳州市| 肥乡县|