999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

融合協(xié)同過(guò)濾的CatBoost推薦算法

2021-09-28 10:15:46華雯麗
關(guān)鍵詞:特征用戶信息

唐 震,黃 剛,華雯麗

(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院、軟件學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 210023)

0 引 言

隨著信息技術(shù)和互聯(lián)網(wǎng)環(huán)境的不斷發(fā)展,網(wǎng)絡(luò)用戶的不斷增加,人們進(jìn)入了大數(shù)據(jù)的信息時(shí)代。電子商務(wù)市場(chǎng)和社交媒體的逐漸壯大是信息和數(shù)據(jù)急速增長(zhǎng)的主要原因,網(wǎng)絡(luò)數(shù)據(jù)的快速增長(zhǎng)在豐富互聯(lián)網(wǎng)生活的同時(shí)產(chǎn)生大量無(wú)用的數(shù)據(jù),這些冗余信息給人們的生活帶來(lái)了不便。用戶對(duì)信息的反應(yīng)速度無(wú)法跟上信息的傳輸及更新速度,用戶會(huì)對(duì)信息的選擇產(chǎn)生偏差,這導(dǎo)致了信息利用率的下降,這種類型的問(wèn)題稱為信息過(guò)載[1]。解決信息過(guò)載的方法一般有兩種,其中一種為搜索引擎,利用用戶指定的關(guān)鍵字,通過(guò)關(guān)鍵詞檢索被動(dòng)地過(guò)濾出用戶感興趣的信息,速度快但并不能突出用戶的個(gè)體需求。另一個(gè)便是推薦系統(tǒng),推薦系統(tǒng)通過(guò)提供信息過(guò)濾機(jī)制來(lái)幫助用戶處理信息過(guò)載問(wèn)題,能夠更好地滿足用戶個(gè)性化需求。

推薦系統(tǒng)大致可分為三類:基于內(nèi)容的推薦[2]、協(xié)同過(guò)濾[3]推薦方法和混合推薦方法[4]。基于內(nèi)容的推薦是根據(jù)物品的相關(guān)信息,用戶相關(guān)信息以及用戶相關(guān)行為構(gòu)建模型找出用戶喜愛的物品。協(xié)同過(guò)濾通過(guò)用戶反饋信息進(jìn)行推薦,有兩種常用類型:基于用戶的協(xié)同過(guò)濾(UCF)和基于項(xiàng)目的協(xié)同過(guò)濾(ICF)。混合推薦方法將不同的推薦算法過(guò)程或結(jié)果進(jìn)行結(jié)合得出最終的推薦結(jié)果,組合后能夠彌補(bǔ)單個(gè)推薦算法的缺點(diǎn)。

協(xié)同過(guò)濾算法是目前研究最多、應(yīng)用最廣泛的經(jīng)典推薦算法。該算法實(shí)現(xiàn)簡(jiǎn)單,適用性強(qiáng),推薦效果較好。但隨著互聯(lián)網(wǎng)數(shù)據(jù)的幾何式增長(zhǎng),協(xié)同過(guò)濾推薦系統(tǒng)出現(xiàn)了很多問(wèn)題,由于協(xié)同過(guò)濾需要利用用戶評(píng)分矩陣,所以當(dāng)項(xiàng)目用戶過(guò)多時(shí),部分評(píng)分缺失,計(jì)算相似度困難。面對(duì)新用戶,沒有足夠的歷史數(shù)據(jù),無(wú)法計(jì)算目標(biāo)用戶的相似用戶群,給推薦帶來(lái)了障礙,這是推薦系統(tǒng)中經(jīng)典的冷啟動(dòng)問(wèn)題[5]。并且當(dāng)數(shù)據(jù)量過(guò)大,推薦系統(tǒng)難以避免的會(huì)出現(xiàn)推薦速度慢,推薦準(zhǔn)確度低的問(wèn)題。

解決冷啟動(dòng)問(wèn)題一般通過(guò)利用用戶的注冊(cè)信息,用戶上下文信息,基于熱門數(shù)據(jù)的推薦等方法。Koren Y等人[6]提出了基于矩陣分解的系統(tǒng)過(guò)濾算法,矩陣分解的一個(gè)優(yōu)點(diǎn)是它允許合并額外的信息。當(dāng)沒有明確的反饋時(shí),推薦系統(tǒng)可以使用隱式反饋來(lái)推斷用戶偏好,隱式反饋通過(guò)觀察用戶行為來(lái)間接反映用戶的偏好。張峰等人[7]提出了使用BP神經(jīng)網(wǎng)絡(luò)緩解協(xié)同過(guò)濾推薦算法的冷啟動(dòng)問(wèn)題,根據(jù)用戶評(píng)分向量交集大小選擇候選最近鄰居集,采用BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)用戶對(duì)項(xiàng)的評(píng)分,減小候選最近鄰數(shù)據(jù)集的稀疏性,解決了冷啟動(dòng)問(wèn)題。

推薦系統(tǒng)準(zhǔn)確度問(wèn)題通過(guò)混合推薦算法、先進(jìn)的評(píng)分預(yù)測(cè)算法等加以解決。Cheng-Che Lu和VS-Tseng[8]提出基于內(nèi)容、基于情感的協(xié)同過(guò)濾推薦算法,該方法通過(guò)對(duì)用戶選擇的反饋,適應(yīng)用戶興趣的變化,進(jìn)而推薦出自己喜歡的、更有趣的物品,并進(jìn)行即時(shí)連續(xù)推薦。

文中提出了一種融合協(xié)同過(guò)濾算法和CatBoost[9]的推薦算法,該算法旨在提高推薦系統(tǒng)模型的準(zhǔn)確度,實(shí)現(xiàn)個(gè)性化推薦,提高用戶的滿意度,并在一定程度上緩解推薦系統(tǒng)冷啟動(dòng)問(wèn)題。算法思路:通過(guò)協(xié)同過(guò)濾算法構(gòu)建用戶相似度矩陣,根據(jù)預(yù)測(cè)評(píng)分公式計(jì)算出用戶對(duì)未評(píng)分物品的預(yù)測(cè)評(píng)分,由此得到候選集,再利用CatBoost算法對(duì)整體數(shù)據(jù)集進(jìn)行訓(xùn)練,對(duì)候選集進(jìn)行預(yù)測(cè)評(píng)分,最后將兩個(gè)預(yù)測(cè)評(píng)分進(jìn)行加權(quán)融合,得到最終的預(yù)測(cè)評(píng)分從而實(shí)現(xiàn)對(duì)用戶的推薦。由于利用CatBoost算法進(jìn)行數(shù)據(jù)集訓(xùn)練利用到的特征較多,可以更好地實(shí)現(xiàn)用戶個(gè)性化推薦,與協(xié)同過(guò)濾算法進(jìn)行加權(quán)融合后得到的結(jié)果更加準(zhǔn)確。對(duì)于新用戶或者歷史交互記錄缺少的用戶,直接用CatBoost算法進(jìn)行預(yù)測(cè)并推薦,可以有效緩解用戶的冷啟動(dòng)問(wèn)題。

1 相關(guān)工作

1.1 協(xié)同過(guò)濾算法

協(xié)同過(guò)濾算法(collaborative filtering recommendation)仍然是目前最為流行、使用最為廣泛的推薦算法。該算法的整體推薦效果在很多場(chǎng)景中不亞于新研究出來(lái)的其他推薦算法,并且相比較其他算法,協(xié)同過(guò)濾推薦算法的性能最為穩(wěn)定。協(xié)同過(guò)濾算法通過(guò)系統(tǒng)提供的用戶項(xiàng)反饋來(lái)產(chǎn)生推薦,目的是在反饋信息中查找推薦信息,不需要關(guān)于用戶或項(xiàng)目的額外數(shù)據(jù),可以作為推薦系統(tǒng)候選生成器。

基于用戶的協(xié)作過(guò)濾通過(guò)分析用戶的歷史行為數(shù)據(jù),然后根據(jù)不同用戶對(duì)相同物品的評(píng)分或偏好程度來(lái)評(píng)測(cè)用戶之間的相似性,對(duì)有相同偏好的用戶進(jìn)行物品推薦。基于項(xiàng)目的協(xié)同過(guò)濾通過(guò)對(duì)不同物品的評(píng)分來(lái)預(yù)測(cè)項(xiàng)目之間的相似性,再根據(jù)用戶歷史行為數(shù)據(jù),得到用戶喜歡的物品,通過(guò)項(xiàng)目相似性矩陣找到相似度最高的物品,從而推薦給用戶。

基于用戶的協(xié)同過(guò)濾和基于項(xiàng)目的協(xié)同過(guò)濾的核心思想是在整個(gè)數(shù)據(jù)空間尋找用戶或項(xiàng)目的前k個(gè)最近鄰,都需要進(jìn)行相似度計(jì)算。相似度計(jì)算的常用方法有余弦相似度、皮爾森(Pearson)相關(guān)系數(shù)法、歐幾里得距離法、杰卡德相似系數(shù)法等。

余弦相似度計(jì)算公式如下:

(1)

其中,I為所有項(xiàng)目的集合,i為項(xiàng)目集合中的單個(gè)項(xiàng)目,Ru,i為用戶u對(duì)項(xiàng)目i的真實(shí)評(píng)分,Rv,i為用戶v對(duì)項(xiàng)目i的真實(shí)評(píng)分。

皮爾森相關(guān)系數(shù)計(jì)算公式為:

sim(u,v)=

歐幾里得距離公式為:

(3)

杰卡德系數(shù)為:

(4)

(5)

在協(xié)同過(guò)濾算法中加入熱門商品懲罰項(xiàng)和時(shí)間衰減因子可以提高個(gè)性化推薦的準(zhǔn)確度。懲罰熱門物品的原因是如果一個(gè)物品過(guò)于熱門,會(huì)有很多用戶對(duì)其進(jìn)行評(píng)分,但這并不能說(shuō)明這些用戶有著相同的興趣,所以對(duì)熱門物品增加一個(gè)懲罰項(xiàng),減少熱門物品對(duì)用戶相似度的影響。

熱門商品懲罰項(xiàng)計(jì)算公式為:

(6)

其中,N(i)表示對(duì)物品i進(jìn)行過(guò)評(píng)分的所有用戶。

由于用戶最近的行為更能表達(dá)用戶的當(dāng)前興趣,所以在計(jì)算用戶相似度時(shí)可以增加時(shí)間衰減函數(shù)。時(shí)間衰減函數(shù)為:

(7)

其中,tui表示用戶u對(duì)物品i產(chǎn)生行為的時(shí)間,tvi表示用戶v對(duì)物品i產(chǎn)生行為的時(shí)間。通過(guò)對(duì)相似度計(jì)算方法的改進(jìn),得到優(yōu)化后的余弦相似度公式:

sim(u,v)=

(8)

1.2 CatBoost

CatBoost全稱為Gradient Boosting(梯度提升)+Categorical Features(類別型特征),是一種對(duì)決策樹進(jìn)行梯度增強(qiáng)的算法,屬于集成學(xué)習(xí)算法的一種。它由Yandex公司的研究人員和工程師開發(fā),用于Yandex和其他公司的搜索、推薦系統(tǒng)、個(gè)人助理、自動(dòng)駕駛汽車、天氣預(yù)報(bào)和許多其他任務(wù)[10]。

Gradient Boosting方法是Boosting方法的一種,Boosting模型是通過(guò)最小化損失函數(shù)得到最優(yōu)模型,是一個(gè)迭代的過(guò)程,每一次新的訓(xùn)練的目的是改進(jìn)前一次訓(xùn)練的效果。Gradient Boosting的主要思想是每次都在前一次模型損失函數(shù)的負(fù)梯度方向建立新的模型使得損失函數(shù)能夠不斷下降[11]。Gradient Boosting方法適用于異質(zhì)化數(shù)據(jù),梯度提升方法比神經(jīng)網(wǎng)絡(luò)的入門門檻更低,使用起來(lái)也更簡(jiǎn)單。近年來(lái),不少學(xué)者嘗試將集成學(xué)習(xí)算法運(yùn)用到推薦系統(tǒng)中,崔巖等[12]提出融合協(xié)同過(guò)濾和XGBoost的推薦算法,提高了推薦的準(zhǔn)確性;李智彬[13]提出融合SVD與LightGBM的音樂(lè)推薦算法,解決推薦系統(tǒng)冷啟動(dòng)問(wèn)題。作為最新的集成學(xué)習(xí)算法由于對(duì)CatBoost算法的相關(guān)研究較少,還沒有學(xué)者將其運(yùn)用在推薦算法中。

CatBoost是一種能夠很好地處理類別型特征的梯度提升算法庫(kù)。根據(jù)官方測(cè)評(píng)結(jié)果[14],CatBoost在準(zhǔn)確率方面比同類型的XGBoost以及LightGBM表現(xiàn)更加優(yōu)秀,該測(cè)評(píng)結(jié)果是在部分?jǐn)?shù)據(jù)集上進(jìn)行的實(shí)驗(yàn),在大多數(shù)實(shí)驗(yàn)對(duì)比中,CatBoost都有著較為不錯(cuò)的訓(xùn)練速度與準(zhǔn)確率。

CatBoost相比其他梯度提升算法具有兩大優(yōu)勢(shì):第一,不需要人為地處理類別型特征,CatBoost算法可以直接使用類別特征進(jìn)行模型訓(xùn)練,CatBoost使用獨(dú)特的方法處理類別特征[15]。首先對(duì)樣本進(jìn)行隨機(jī)排序,然后針對(duì)類別型特征中的某個(gè)取值,每個(gè)樣本的該特征轉(zhuǎn)為數(shù)值型時(shí)都是基于排在該樣本之前的類別標(biāo)簽取均值,同時(shí)加入了優(yōu)先級(jí)和優(yōu)先級(jí)的權(quán)重系數(shù)。并且可以將類別特征進(jìn)行組合,利用特征之間的聯(lián)系,這極大地豐富了特征維度。定義編碼值的公式為:

(9)

類別特征的任何組合都可以視為新特征。例如,假設(shè)任務(wù)是電影推薦,有兩個(gè)特征:用戶ID和電影類型,某些用戶喜歡戰(zhàn)爭(zhēng)類的電影。在將用戶ID和電影類型轉(zhuǎn)換為數(shù)字特征時(shí),會(huì)丟失此信息。將用戶ID與電影類型兩種特征進(jìn)行組合解決了這個(gè)問(wèn)題,并提供了一個(gè)新的特征。

在數(shù)據(jù)集中,特征組合數(shù)與特征數(shù)為指數(shù)關(guān)系,對(duì)于特征較多的數(shù)據(jù)集不可能在算法中考慮所有組合,這樣會(huì)增加計(jì)算量。CatBoost在決策樹的新一輪拆分時(shí),以貪婪的方式對(duì)特征進(jìn)行組合[16]:對(duì)于樹中的第一個(gè)拆分不考慮組合。在下一個(gè)分割節(jié)點(diǎn)選擇時(shí),CatBoost將所有組合特征和分類特征與數(shù)據(jù)集中的所有分類特征組合在一起。組合值會(huì)動(dòng)態(tài)轉(zhuǎn)換為數(shù)字,通過(guò)計(jì)算它的TS(target statistics)值作為新的特征值參與樹模型構(gòu)建。CatBoost通過(guò)以下方式生成數(shù)字和類別特征的組合:在決策樹中,所有的拆分都被作為具有兩個(gè)值的類別特征,采用與類別特征相同的組合方式進(jìn)行組合使用。

CatBoost相對(duì)于其他梯度提升算法的第二個(gè)優(yōu)勢(shì):在選擇生成樹結(jié)構(gòu)時(shí),計(jì)算葉子節(jié)點(diǎn)的算法可以避免過(guò)擬合。傳統(tǒng)的GBDT算法存在由于梯度估計(jì)偏差引起的過(guò)擬合問(wèn)題,預(yù)測(cè)偏差是由一種特殊類型的目標(biāo)泄漏引起的。CatBoost提出使用Ordered boosting[16]的方法來(lái)解決預(yù)測(cè)偏差從而得到梯度步長(zhǎng)的無(wú)偏估計(jì)。Ordered boosting算法首先會(huì)生成一個(gè)長(zhǎng)度為n的序列,對(duì)每個(gè)樣本xi訓(xùn)練出一個(gè)單獨(dú)的模型Mi,使得Mi是僅利用了序列中的前i個(gè)樣本,不包含xi的訓(xùn)練集得到的訓(xùn)練模型。利用Mj-1訓(xùn)練模型得到第j個(gè)樣本的梯度估計(jì)。

CatBoost同時(shí)具有CPU和GPU實(shí)現(xiàn)。GPU的實(shí)現(xiàn)允許更快的訓(xùn)練,同時(shí)還具有快速的CPU評(píng)分實(shí)現(xiàn)。對(duì)于數(shù)值密集型特征的訓(xùn)練,最重要的就是找到最佳分割,這是GBDT算法最主要的計(jì)算負(fù)擔(dān)。CatBoost使用對(duì)稱決策樹作為基礎(chǔ)學(xué)習(xí)者,并將特征離散化為固定數(shù)量的箱(bins),以減少內(nèi)存使用量,在訓(xùn)練模型時(shí)可以設(shè)置最大箱數(shù)[17]。

2 融合協(xié)同過(guò)濾與CatBoost算法的推薦模型

2.1 算法思想

本模型融合CatBoost與協(xié)同過(guò)濾的算法為用戶進(jìn)行推薦,形成新的算法模型UCF-CB。由于傳統(tǒng)的協(xié)同過(guò)濾算法根據(jù)用戶評(píng)分信息計(jì)算用戶對(duì)評(píng)分物品的預(yù)測(cè)評(píng)分從而進(jìn)行推薦,隨著網(wǎng)絡(luò)信息的發(fā)展,用戶以及物品的信息不斷增加,協(xié)同過(guò)濾難以滿足用戶的個(gè)性化需求。融合CatBoost的協(xié)同過(guò)濾算法可以更全面地對(duì)用戶及物品信息進(jìn)行分析,得到更為準(zhǔn)確的預(yù)測(cè)評(píng)分,提高用戶的滿意度。本算法的協(xié)同過(guò)濾算法模塊,利用優(yōu)化后的余弦相似度公式計(jì)算出目標(biāo)用戶的相似用戶群,并對(duì)相似性進(jìn)行排序,通過(guò)預(yù)測(cè)評(píng)分公式得到召回集并對(duì)召回集進(jìn)行排序得到候選集。再利用CatBoost算法對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練,對(duì)候選集進(jìn)行二次評(píng)分并將兩次評(píng)分結(jié)果進(jìn)行融合,通過(guò)對(duì)參數(shù)以及權(quán)值的更新,達(dá)到提高算法準(zhǔn)確度的目的,最后利用Top-N生成推薦列表。

2.2 算法描述

本算法包括通過(guò)協(xié)同過(guò)濾產(chǎn)生召回集,利用CatBoost進(jìn)行模型訓(xùn)練并對(duì)召回集的物品進(jìn)行二次評(píng)分,生成推薦三個(gè)階段。算法流程如圖1所示。

圖1 算法流程

三個(gè)階段具體實(shí)現(xiàn)步驟為:

階段1:生成召回集D。

輸入:用戶歷史評(píng)分?jǐn)?shù)據(jù)。

輸出:用戶召回集D。

算法步驟:

(1)將數(shù)據(jù)集進(jìn)行劃分,70%的數(shù)據(jù)作為訓(xùn)練集,30%的數(shù)據(jù)作為測(cè)試集。

(2)在訓(xùn)練集中計(jì)算用戶之間的相似度,采用加入熱門商品懲罰項(xiàng)和時(shí)間衰減因子的優(yōu)化算法復(fù)雜度的余弦相似度公式(8)進(jìn)行相似度計(jì)算,并構(gòu)建相似度矩陣。

(3)選取前k個(gè)目標(biāo)用戶近鄰,利用式(5)計(jì)算目標(biāo)用戶對(duì)未評(píng)分項(xiàng)目的預(yù)測(cè)評(píng)分。

(4)對(duì)預(yù)測(cè)評(píng)分進(jìn)行排序,組成召回集D。

階段2:CatBoost模型訓(xùn)練。

輸入:用戶歷史交互數(shù)據(jù),用戶特征數(shù)據(jù),物品特征數(shù)據(jù)。

輸出:訓(xùn)練好的CatBoost模型。

算法步驟:

(1)整合輸入數(shù)據(jù),提取特征,生成訓(xùn)練集。

(2)對(duì)部分特征進(jìn)行優(yōu)化處理,利用CatBoost對(duì)訓(xùn)練集進(jìn)行模型訓(xùn)練。

(3)優(yōu)化模型,使用GridSearchCV對(duì)模型進(jìn)行調(diào)參。

(4)得到優(yōu)化后的模型,保存模型。

階段3:產(chǎn)生推薦列表。

輸入:協(xié)同過(guò)濾召回集D,協(xié)同過(guò)濾一次預(yù)測(cè)評(píng)分?jǐn)?shù)據(jù),CatBoost模型。

輸出:用戶推薦列表。

(1)在召回集中,選取每位用戶評(píng)分最高的前k個(gè)物品,形成候選集。

(2)利用訓(xùn)練好的CatBoost模型對(duì)候選集進(jìn)行二次評(píng)分預(yù)測(cè),與協(xié)同過(guò)濾一次評(píng)分進(jìn)行加權(quán),得到最終的預(yù)測(cè)評(píng)分,將項(xiàng)目最終得分進(jìn)行排序。

(3)利用Top-N產(chǎn)生推薦列表反饋給目標(biāo)用戶。

3 實(shí)驗(yàn)結(jié)果與分析

3.1 實(shí)驗(yàn)數(shù)據(jù)集

文中采用的數(shù)據(jù)集是MovieLens-1m數(shù)據(jù)集,MovieLens-1M數(shù)據(jù)集含有來(lái)自6 040名用戶對(duì)3 952部電影的100余萬(wàn)條評(píng)分?jǐn)?shù)據(jù)。分為三個(gè)表:用戶評(píng)分信息、用戶信息、電影信息。其中用戶信息包括用戶id,用戶性別,用戶年齡,用戶職業(yè)和壓縮編碼,其中年齡1對(duì)應(yīng)1~18歲(不包含18歲),18表示18~24歲,25表示25~34歲,35表示35~44歲,45表示45~49歲,50表示50~55歲,56表示大于等于56歲,部分用戶信息如表1所示。電影信息包括電影id、電影名稱、電影類型,部分電影信息如表2所示。評(píng)分?jǐn)?shù)據(jù)由6 040名用戶對(duì)3 952部電影的評(píng)分組成,一共1 000 209條數(shù)據(jù),包括用戶和電影ID,得分值以及交互信息產(chǎn)生的時(shí)間戳,部分評(píng)分信息如表3所示。

表1 用戶信息

表2 電影信息

表3 評(píng)分信息

表1中的Zip-code為壓縮編碼,Occupation為用戶職業(yè)編號(hào)。

表2中Genres為電影類型特征,由符號(hào)|隔開,整個(gè)數(shù)據(jù)集共有18個(gè)類別特征。

Timestamp為用戶打分的時(shí)間戳,用戶評(píng)分范圍為1~5,沒有0分選擇。

3.2 數(shù)據(jù)預(yù)處理

如果使用原始數(shù)據(jù)集進(jìn)行集成模型訓(xùn)練,可利用到的特征僅有Gender,Age,Occupation,Genres四類。特征太少會(huì)導(dǎo)致模型訓(xùn)練出來(lái)的效果較差,所以需要從原始數(shù)據(jù)中提取出更多特征,提高數(shù)據(jù)集特征的維度。

首先處理Genres中的電影類型特征,將特征逐一提取出來(lái),構(gòu)造18*N的特征矩陣,其中N為評(píng)分?jǐn)?shù)據(jù)總條數(shù),18為特征總數(shù)。將矩陣逐列添加到評(píng)分信息文件中,列名為電影類型的名稱。

從Title中提取出電影的相關(guān)上映時(shí)間,將上映時(shí)間加入到評(píng)分信息中,再?gòu)挠脩舸蚍值臅r(shí)間戳中提取出用戶打分的年份,將用戶對(duì)電影的評(píng)分年份也作為一個(gè)特征,最后刪除掉無(wú)用的信息,Zip-code,Title,Timestamp,Genres,得到最終的訓(xùn)練數(shù)據(jù)集。

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

文中提出的算法會(huì)得到用戶對(duì)于未評(píng)分物品的預(yù)測(cè)評(píng)分,所以使用均方誤差(mean squared error,MSE)作為預(yù)測(cè)評(píng)分準(zhǔn)確度指標(biāo)。計(jì)算公式如下:

(10)

均方誤差可以評(píng)價(jià)數(shù)據(jù)的變化程度,MSE的值越小,預(yù)測(cè)模型的精確度越高。

3.4 實(shí)驗(yàn)結(jié)果與分析

(1)Boosting類算法準(zhǔn)確率對(duì)比。

將數(shù)據(jù)集劃分,在訓(xùn)練集上使用CatBoost算法對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練,進(jìn)行參數(shù)調(diào)節(jié),使用GridSearchCV對(duì)模型進(jìn)行參數(shù)調(diào)整。將task_type參數(shù)設(shè)置為“GPU”,可以有效提高模型的運(yùn)行效率。對(duì)樹的深度depth,生成樹的數(shù)量iterations,學(xué)習(xí)率learning_rate,子樣本subsample,對(duì)象采樣方法bootstrap_type,隨機(jī)子空間方法rsm等參數(shù)分別進(jìn)行調(diào)參設(shè)置。最終更新depth=10iterations=1 100,learning_rate=0.15,rsm=0.1,subsample=0.66。此時(shí)得到最佳訓(xùn)練模型。圖3為學(xué)習(xí)率對(duì)應(yīng)的得分值,評(píng)分標(biāo)準(zhǔn)為“r2”得分值,當(dāng)學(xué)習(xí)率為0.15時(shí),模型效果最好。將調(diào)節(jié)好的模型進(jìn)行保存,在測(cè)試集上對(duì)模型進(jìn)行效果測(cè)試。在此數(shù)據(jù)集上,分別利用三種流行的boosting算法進(jìn)行實(shí)驗(yàn),分別得到三種算法在訓(xùn)練集以及測(cè)試集上的結(jié)果。由圖2的實(shí)驗(yàn)結(jié)果顯示,在此數(shù)據(jù)集上CatBoost與LightGBM表現(xiàn)幾乎沒有差別,CatBoost在測(cè)試集上的表現(xiàn)略微優(yōu)于LightGBM,提升了約1.5%,XGBoost算法相對(duì)來(lái)說(shuō)效果較差。以上數(shù)據(jù)在一定程度上證明了CatBoost算法在推薦系統(tǒng)中的可行性。

圖2 Boosting算法準(zhǔn)確性對(duì)比

圖3 CatBoost學(xué)習(xí)率得分

(2)召回集各算法準(zhǔn)確率對(duì)比。

在2.2節(jié)算法階段1中,說(shuō)明了召回集的生成過(guò)程。召回集D共有233 329條數(shù)據(jù),占總數(shù)據(jù)量的23.3%,混合XGBoost的協(xié)同過(guò)濾算法MSE值為0.800 3,文中提出的UCF-CB算法的MSE為0.693 15。將文中算法與文獻(xiàn)[18]提出的Weighted KM-Slope-Vu算法以及文獻(xiàn)[19]提出的WSO算法進(jìn)行對(duì)比(見圖4),文中算法的MSE均小于對(duì)比算法,表明提出的推薦算法在準(zhǔn)確性上要優(yōu)于對(duì)比算法。同時(shí)相比較在測(cè)試集上的評(píng)分預(yù)測(cè)結(jié)果,UCF-XGB與UCF-CB算法在準(zhǔn)確性上都比原始的算法要有所提升。

圖4 召回集上算法對(duì)比

(3)最終推薦結(jié)果分析。

為了最終產(chǎn)生推薦列表,本實(shí)驗(yàn)在召回集中對(duì)每個(gè)用戶選取協(xié)同過(guò)濾評(píng)分最高的前k個(gè)物品,取k值為8,共計(jì)42 211項(xiàng),重新組成候選集,用混合模型進(jìn)行評(píng)分預(yù)測(cè)。按照最終評(píng)分利用Top-N算法推薦給用戶。這里的k值可以根據(jù)要求推薦的數(shù)量而定,要求更精確的推薦,可以適當(dāng)減小k值,要求更廣泛的推薦,可以加大k值。

最終的混合模型UCF-CB在D1上的MSE為0.637 81,協(xié)同過(guò)濾算法的MSE為0.794 3,UCF-XGB算法的MSE為0.749 67。對(duì)比原始的協(xié)同過(guò)濾算法以及UCF-XGB有明顯的提升,文中提出的算法模型在最終的推薦集上有著較好的表現(xiàn)(見圖5)。

圖5 混合模型分析

4 結(jié)束語(yǔ)

文中提出的混合推薦算法UCF-CB,通過(guò)改進(jìn)后的協(xié)同過(guò)濾算法得到用戶的召回集D,利用訓(xùn)練后的CatBoost算法對(duì)召回集進(jìn)行二次評(píng)分預(yù)測(cè),與協(xié)同過(guò)濾一次評(píng)分進(jìn)行加權(quán)融合,得到最終的預(yù)測(cè)評(píng)分。在實(shí)驗(yàn)2中,證明了該算法的優(yōu)越性。最后將召回集進(jìn)行壓縮得到D1,通過(guò)UCF-CB算法進(jìn)行評(píng)分預(yù)測(cè),生成推薦列表反饋給用戶。文中將不同的算法進(jìn)行混合,提高了推薦系統(tǒng)的準(zhǔn)確性,通過(guò)實(shí)驗(yàn)對(duì)比驗(yàn)證了相比較傳統(tǒng)的系統(tǒng)過(guò)濾算法有著明顯的提高,并且利用CatBoost集成學(xué)習(xí)模型可以解決推薦系統(tǒng)中的冷啟動(dòng)問(wèn)題。同時(shí)文中提出的算法也有不足之處,由于協(xié)同過(guò)濾算法在龐大的數(shù)據(jù)集上計(jì)算量過(guò)大,運(yùn)行效率較差,會(huì)導(dǎo)致混合算法整體的效率較低。所以,下一步的工作將研究如何提高算法模型的運(yùn)行效率,將矩陣分解運(yùn)用到協(xié)同過(guò)濾算法中,解決數(shù)據(jù)稀疏性,對(duì)原始數(shù)據(jù)進(jìn)行降維,減少計(jì)算量,使模型的運(yùn)行效率更高。

猜你喜歡
特征用戶信息
如何表達(dá)“特征”
不忠誠(chéng)的四個(gè)特征
抓住特征巧觀察
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
展會(huì)信息
線性代數(shù)的應(yīng)用特征
河南科技(2014年23期)2014-02-27 14:19:15
主站蜘蛛池模板: 成人福利在线免费观看| 国产精品熟女亚洲AV麻豆| 午夜视频免费试看| 中文字幕 91| 亚洲六月丁香六月婷婷蜜芽| 在线网站18禁| 拍国产真实乱人偷精品| 国产丝袜无码精品| 国产真实乱了在线播放| 国产亚洲现在一区二区中文| 欧美成人精品一级在线观看| 欧美日韩国产高清一区二区三区| 日韩高清一区 | 欧美a网站| 欧美性久久久久| 天堂岛国av无码免费无禁网站| 亚洲成av人无码综合在线观看| 美女一级免费毛片| 亚洲色图欧美| 88av在线| 精品午夜国产福利观看| 国产精品自在在线午夜区app| 国产午夜在线观看视频| 青草午夜精品视频在线观看| 激情综合婷婷丁香五月尤物| 日本不卡视频在线| aⅴ免费在线观看| 国内精品免费| 久久婷婷国产综合尤物精品| 国产一二三区在线| 国产女人18水真多毛片18精品| 91娇喘视频| 日本精品视频| 亚洲人成网站观看在线观看| 成人福利在线免费观看| a毛片免费观看| 日韩欧美国产另类| 精品免费在线视频| 夜精品a一区二区三区| 成人精品区| 青青青草国产| 91色老久久精品偷偷蜜臀| 国产成人无码AV在线播放动漫| 四虎亚洲国产成人久久精品| 亚洲综合色区在线播放2019| 欧美精品一区在线看| 波多野结衣中文字幕一区二区| 欧美天堂久久| 国产无码性爱一区二区三区| 97se亚洲| 久草视频精品| 亚洲天天更新| 欧美在线中文字幕| 国产永久免费视频m3u8| 9999在线视频| 天天综合色网| 91探花国产综合在线精品| 国产日韩欧美成人| 亚洲激情99| 日本免费精品| 久久性视频| 久久综合丝袜长腿丝袜| 666精品国产精品亚洲| 国产免费一级精品视频| 91小视频版在线观看www| 福利国产在线| 亚洲欧洲日产国码无码av喷潮| 手机成人午夜在线视频| 成人无码一区二区三区视频在线观看| 国产成人高清亚洲一区久久| 婷婷色狠狠干| 午夜天堂视频| 尤物精品国产福利网站| 国语少妇高潮| 高清免费毛片| 亚洲日韩AV无码一区二区三区人| 毛片手机在线看| 狠狠色噜噜狠狠狠狠色综合久 | 国产激爽爽爽大片在线观看| 国产sm重味一区二区三区| 97se亚洲综合在线| 国产va免费精品|