亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于協(xié)同訓(xùn)練的分布式深度協(xié)同過(guò)濾模型

        2020-07-01 05:35:56高浩元許建強(qiáng)
        關(guān)鍵詞:模型

        高浩元, 許建強(qiáng)

        (1. 中國(guó)科學(xué)院大學(xué) 人工智能學(xué)院, 北京 100049; 2. 上海應(yīng)用技術(shù)大學(xué) 理學(xué)院, 上海 201418)

        如今的互聯(lián)網(wǎng)行業(yè),個(gè)性化推薦已經(jīng)成為一個(gè)越來(lái)越重要的技術(shù),而如今的推薦系統(tǒng)主要是基于大數(shù)據(jù)和各類機(jī)器學(xué)習(xí)、協(xié)同過(guò)濾等人工智能算法和數(shù)學(xué)模型來(lái)實(shí)現(xiàn)的,無(wú)論是監(jiān)督學(xué)習(xí)、關(guān)聯(lián)規(guī)則還是協(xié)同過(guò)濾的推薦思路都需要一定的訓(xùn)練數(shù)據(jù),而這些數(shù)據(jù)就必須包含著用戶與對(duì)應(yīng)產(chǎn)品關(guān)聯(lián)的信息(如用戶曾經(jīng)看過(guò)哪個(gè)產(chǎn)品等)。國(guó)內(nèi)外目前常用的推薦系統(tǒng)包括傳統(tǒng)的基于物品(Item)或用戶(User)的協(xié)同過(guò)濾算法[1-2]、基于矩陣分解的算法[3-4]以及基于深度學(xué)習(xí)的算法[5-7]等。

        半監(jiān)督學(xué)習(xí)能將未標(biāo)記的數(shù)據(jù)利用起來(lái),在一定程度上改善最終的推薦效果。目前在推薦算法中常用的半監(jiān)督學(xué)習(xí)方法包括基于圖和隨機(jī)游走的模型[8]、基于協(xié)同訓(xùn)練和主動(dòng)學(xué)習(xí)的模型[9-10]、基于半監(jiān)督支持向量機(jī)的模型等[11]。

        在一些分布式計(jì)算的場(chǎng)景中,數(shù)據(jù)被存儲(chǔ)在多個(gè)結(jié)點(diǎn)上的,分布式機(jī)器學(xué)習(xí)算法運(yùn)行的過(guò)程中,各結(jié)點(diǎn)之間不會(huì)對(duì)任意一個(gè)特定的數(shù)據(jù)樣本進(jìn)行交換,而只會(huì)交換一些計(jì)算所得的參數(shù)。根據(jù)文獻(xiàn)調(diào)研,基于consensus算法使用分布式梯度下降構(gòu)建分布式神經(jīng)網(wǎng)絡(luò)解決半監(jiān)督推薦問(wèn)題的研究尚未見(jiàn)報(bào)道,本文就嘗試使用該方法對(duì)該問(wèn)題進(jìn)行研究,并創(chuàng)造性地提出了使用Metropolis算法結(jié)合深度協(xié)同過(guò)濾(neural collaborative filtering,NCF)模型[7]構(gòu)建分布式推薦系統(tǒng)的思路。

        在本文中,首先對(duì)整個(gè)推薦系統(tǒng)的整體結(jié)構(gòu)進(jìn)行了概述。然后介紹了基于consensus算法的分布式神經(jīng)網(wǎng)絡(luò)模型和目前常用的半監(jiān)督學(xué)習(xí)方法及其在推薦系統(tǒng)中的應(yīng)用,在此基礎(chǔ)上提出了一種基于協(xié)同訓(xùn)練的分布式半監(jiān)督學(xué)習(xí)模型。最后在MovieLens公開(kāi)數(shù)據(jù)集[12]上對(duì)該推薦系統(tǒng)進(jìn)行測(cè)試,并與獨(dú)立協(xié)同過(guò)濾、分布式隱語(yǔ)義(latent factor model, LFM)模型及分布式多層感知機(jī)(multilayer perceptron, MLP)模型等作了對(duì)比。

        圖1 推薦系統(tǒng)結(jié)構(gòu)總覽Fig.1 The structure of the recommendation system

        1 推薦系統(tǒng)結(jié)構(gòu)概覽

        本文所要解決的問(wèn)題是,當(dāng)用戶對(duì)物品的行為數(shù)據(jù)分布在不同的服務(wù)器上時(shí),如何在各服務(wù)器不交換特定數(shù)據(jù)樣本信息的情況下,使各服務(wù)器能協(xié)同構(gòu)建推薦系統(tǒng),充分利用整個(gè)系統(tǒng)中每個(gè)服務(wù)器的所有信息進(jìn)行推薦,同時(shí)使用半監(jiān)督學(xué)習(xí)中的協(xié)同訓(xùn)練算法提升預(yù)測(cè)準(zhǔn)確度。

        本文中提出的推薦系統(tǒng)模型的具體架構(gòu)如圖1所示。用戶對(duì)物品的行為數(shù)據(jù)被分別存儲(chǔ)在網(wǎng)絡(luò)中的各個(gè)結(jié)點(diǎn)上。在每個(gè)結(jié)點(diǎn)上構(gòu)建一個(gè)NCF模型,其輸入部分由LFM模型和MLP模型兩部分組成,每一部分都分別將物品和用戶的獨(dú)熱編碼向量輸入進(jìn)一個(gè)embedding層并將其轉(zhuǎn)化為一個(gè)稠密的、低維的隱語(yǔ)義向量,再在LFM模型和MLP模型中分別使用Element-wise Product和神經(jīng)網(wǎng)絡(luò)層將隱語(yǔ)義向量進(jìn)行融合,最終將兩個(gè)模型學(xué)習(xí)到的特征向量一同輸入到尾端的全連接神經(jīng)網(wǎng)絡(luò)層中,并使用sigmoid函數(shù)作為輸出函數(shù),將用戶對(duì)物品感興趣的概率值作為輸出,使用交叉熵?fù)p失函數(shù)對(duì)整個(gè)模型進(jìn)行基于梯度下降法的訓(xùn)練。

        在每個(gè)結(jié)點(diǎn)使用梯度下降訓(xùn)練神經(jīng)網(wǎng)絡(luò)的過(guò)程中,結(jié)點(diǎn)之間通過(guò)metropolis算法進(jìn)行參數(shù)交換,實(shí)現(xiàn)梯度向量的consensus,以實(shí)現(xiàn)分布式的NCF模型。根據(jù)以上流程,以不同的隱層數(shù)量和結(jié)點(diǎn)數(shù)量構(gòu)建2個(gè)不同結(jié)構(gòu)的NCF模型,并對(duì)2個(gè)模型進(jìn)行協(xié)同訓(xùn)練(Co-training),對(duì)未標(biāo)記數(shù)據(jù)進(jìn)行預(yù)測(cè),篩選出其中置信度高的數(shù)據(jù)提供給對(duì)方模型作為訓(xùn)練數(shù)據(jù)(負(fù)樣本),以使得最后的預(yù)測(cè)結(jié)果更加精準(zhǔn)。對(duì)于Co-training與NCF模型結(jié)合的中心化模型,將其命名為Co-NCF模型,而整個(gè)分布式半監(jiān)督推薦系統(tǒng)(distirbuted co-training neural collaborative filtering, DISCONNECT)模型。

        2 NCF模型

        基于前饋神經(jīng)網(wǎng)絡(luò)的推薦算法有許多不同的類型。目前,一種常見(jiàn)的結(jié)構(gòu)被稱為NCF模型。NCF模型使用一個(gè)針對(duì)二分類問(wèn)題的神經(jīng)網(wǎng)絡(luò)模型來(lái)對(duì)用戶是否會(huì)對(duì)物品感興趣進(jìn)行預(yù)測(cè)。若完全使用MLP模型對(duì)用戶對(duì)于物品的興趣進(jìn)行預(yù)測(cè),則其輸入層輸入的特征向量是由用戶和物品通過(guò)某些embedding算法映射得到的向量,而輸出層的輸出值是一個(gè)介于0和1之間的標(biāo)量,即當(dāng)前被預(yù)測(cè)用戶對(duì)被預(yù)測(cè)物品可能感興趣的概率值。而在NCF模型中,構(gòu)建一個(gè)前饋神經(jīng)網(wǎng)絡(luò),其中結(jié)合了MLP模型和LFM模型,物品和用戶的獨(dú)熱向量(若物品為3號(hào)物品,則其獨(dú)熱向量為[0,0,1,0,…,0,0])分別輸入2個(gè)模型中進(jìn)行embedding和融合,最終使用一個(gè)神經(jīng)網(wǎng)絡(luò)進(jìn)行結(jié)合,如圖2所示。在上述2個(gè)模型中,都可使用真實(shí)標(biāo)記與預(yù)測(cè)的概率值構(gòu)建交叉熵?fù)p失函數(shù), 之后使用梯度下降法進(jìn)行訓(xùn)練。

        圖2 NCF模型結(jié)構(gòu)概覽Fig.2 The structure of the NCF model

        NCF模型相對(duì)于傳統(tǒng)的協(xié)同過(guò)濾算法來(lái)說(shuō),有著更高的預(yù)測(cè)準(zhǔn)確率,這是由于經(jīng)過(guò)embedding層轉(zhuǎn)化的稠密的向量包含的信息量更大,從其中學(xué)到的信息也就更多,并且該模型相當(dāng)于使用stacking集成方法結(jié)合了LFM和MLP模型提取出的特征,所以其表現(xiàn)能夠超越這2個(gè)模型單獨(dú)的預(yù)測(cè)效果。同時(shí),基于神經(jīng)網(wǎng)絡(luò)的推薦算法相對(duì)于其他推薦算法(基于矩陣分解或圖模型),可以容易地使用分布式梯度下降(或分布式隨機(jī)梯度下降)算法實(shí)現(xiàn)分布式訓(xùn)練。

        3 基于consensus算法的分布式神經(jīng)網(wǎng)絡(luò)模型

        當(dāng)數(shù)據(jù)被分布式存儲(chǔ)在各個(gè)結(jié)點(diǎn)上,且各結(jié)點(diǎn)只能與其鄰居結(jié)點(diǎn)進(jìn)行通信(通常整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是一個(gè)聯(lián)通圖,即其中任一結(jié)點(diǎn)最少有一個(gè)鄰居結(jié)點(diǎn)),由于數(shù)據(jù)安全、通信效率等問(wèn)題的考慮,要求結(jié)點(diǎn)之間的通信不能對(duì)特定的數(shù)據(jù)樣本進(jìn)行交換。在以上情況下,要進(jìn)行個(gè)性化推薦,就需要構(gòu)建分布式的推薦系統(tǒng)。

        本文引入consensus算法,通過(guò)各個(gè)結(jié)點(diǎn)與其鄰居結(jié)點(diǎn)的通信,在一定迭代次數(shù)以后,最終可以實(shí)現(xiàn)每個(gè)結(jié)點(diǎn)對(duì)同一個(gè)參數(shù)達(dá)到共識(shí)的目標(biāo)。consensus算法分為maximum consensus、average consensus等類型[13-14],其中maximum consensus最后希望所有結(jié)點(diǎn)對(duì)該參數(shù)達(dá)到一致的值是各結(jié)點(diǎn)初始的該參數(shù)中的最大值,而average consensus希望得到初始參數(shù)值的平均值。例如,若有3個(gè)結(jié)點(diǎn),每個(gè)結(jié)點(diǎn)所保存的參數(shù)向量分別為[1,1,4],若使用maximum consensus,則最終希望3個(gè)結(jié)點(diǎn)保存的參數(shù)向量均為[4,4,4],而在average consensus中最終3個(gè)結(jié)點(diǎn)保存的參數(shù)向量均為[2,2,2]。本文中,使用的是average consensus算法中的Metropolis算法[15]。Metropolis算法對(duì)參數(shù)的更新公式如下:

        基于該算法可以將梯度下降法改造為分布式梯度下降法[16],其算法偽代碼如下:

        Algorithm 1 Distributed Gradient DesecentRequire: Each agent initial the local parameter wi(0) fort=1:Tdo fori=1:Ndo Calculate the local gradient xi(t) vi(t)=Consensusj∈Ni(xj(t)) wi(t)=wi(t-1)-αvi(t) end for end for

        分布式梯度下降法用來(lái)對(duì)分布式神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。具體來(lái)說(shuō)就是針對(duì)一個(gè)由許多結(jié)點(diǎn)組成的通信網(wǎng)絡(luò),這些結(jié)點(diǎn)組成的圖是一個(gè)聯(lián)通圖,結(jié)點(diǎn)之間的拓?fù)潢P(guān)系是非時(shí)變的,每個(gè)結(jié)點(diǎn)只能與它的鄰居結(jié)點(diǎn)進(jìn)行通信。每個(gè)結(jié)點(diǎn)上存儲(chǔ)著一個(gè)神經(jīng)網(wǎng)絡(luò),而整個(gè)數(shù)據(jù)集被分散存儲(chǔ)在各個(gè)結(jié)點(diǎn)上。各個(gè)結(jié)點(diǎn)的目的是,基于自己所知的部分訓(xùn)練數(shù)據(jù)集,對(duì)自己本地存儲(chǔ)的神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,在訓(xùn)練過(guò)程中以某種方式與自己的鄰居結(jié)點(diǎn)交換某些參數(shù)值,使得最終各個(gè)結(jié)點(diǎn)訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)參數(shù)達(dá)到一致,并且訓(xùn)練出的神經(jīng)網(wǎng)絡(luò)效果足夠接近當(dāng)數(shù)據(jù)被存儲(chǔ)在同一臺(tái)主機(jī)上時(shí)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的效果。

        根據(jù)算法1的偽代碼,分布式梯度下降的思路非常簡(jiǎn)單。初始狀態(tài)下,每個(gè)結(jié)點(diǎn)對(duì)自己本地的神經(jīng)網(wǎng)絡(luò)參數(shù)進(jìn)行初始化,同時(shí)將訓(xùn)練數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行前向傳播,計(jì)算得到本地的梯度值之和。之后,各結(jié)點(diǎn)對(duì)梯度值進(jìn)行交換通信,直至梯度值達(dá)到consensus,接著各結(jié)點(diǎn)按照consensus所得的梯度值進(jìn)行梯度下降法,更新神經(jīng)網(wǎng)絡(luò)的參數(shù)值。由于神經(jīng)網(wǎng)絡(luò)更新前的參數(shù)值和更新所使用的梯度值都是一致的,故各結(jié)點(diǎn)更新后所得到的神經(jīng)網(wǎng)絡(luò)參數(shù)值仍是一致的,且在某個(gè)精度水平上等價(jià)于中心化梯度下降法的訓(xùn)練結(jié)果。重復(fù)以上過(guò)程,直至達(dá)到訓(xùn)練停止條件(可設(shè)置為consensus后得到的梯度值小于某閾值時(shí))。

        4 基于半監(jiān)督學(xué)習(xí)的分布式推薦系統(tǒng)

        半監(jiān)督學(xué)習(xí)是將有標(biāo)注的數(shù)據(jù)與無(wú)標(biāo)注的數(shù)據(jù)結(jié)合起來(lái)對(duì)模型進(jìn)行訓(xùn)練的方法。通常,在無(wú)標(biāo)注的數(shù)據(jù)中也包含有許多的信息,半監(jiān)督學(xué)習(xí)將這些信息與有標(biāo)注數(shù)據(jù)結(jié)合起來(lái)使用,實(shí)現(xiàn)了對(duì)數(shù)據(jù)價(jià)值的最大化利用。半監(jiān)督學(xué)習(xí)是近年來(lái)關(guān)注的熱點(diǎn),這是由于有標(biāo)注數(shù)據(jù)通常是少量的,而剩下的無(wú)標(biāo)注數(shù)據(jù)數(shù)量更大。

        半監(jiān)督學(xué)習(xí)中有許多基于不同思想的方法,其中包括主動(dòng)學(xué)習(xí)、混合聚類、協(xié)同訓(xùn)練以及一些特定機(jī)器學(xué)習(xí)算法的半監(jiān)督學(xué)習(xí)版本(如半監(jiān)督學(xué)習(xí)支持向量機(jī)等)。這些方法中,在分布式系統(tǒng)中,較為適用的是協(xié)同訓(xùn)練。在此對(duì)協(xié)同訓(xùn)練的思想和算法流程進(jìn)行闡述。

        協(xié)同訓(xùn)練中,首先將數(shù)據(jù)集按照某種視圖進(jìn)行分割。如,某數(shù)據(jù)集中每個(gè)樣本的特征值有6個(gè),則可以取其中前3個(gè)特征值,放入一個(gè)模型中訓(xùn)練,再取其中后3個(gè)特征值,放入另一個(gè)模型中訓(xùn)練,然后在這兩個(gè)訓(xùn)練出來(lái)的模型上分別對(duì)無(wú)標(biāo)注數(shù)據(jù)進(jìn)行預(yù)測(cè)。根據(jù)預(yù)測(cè)的置信度,篩選出2個(gè)模型各自預(yù)測(cè)中置信度最高的那些樣本,作為訓(xùn)練數(shù)據(jù)提供給另一個(gè)模型。視圖的劃分是為了使2個(gè)參與協(xié)同訓(xùn)練的模型具有足夠高的多樣性,若不對(duì)視圖進(jìn)行劃分,也可使用相異的模型,如樸素貝葉斯與邏輯回歸,或2個(gè)結(jié)構(gòu)不同的神經(jīng)網(wǎng)絡(luò)模型。最終通過(guò)該方法能分別訓(xùn)練出2個(gè)預(yù)測(cè)模型,之后對(duì)于所有的未標(biāo)記數(shù)據(jù),選取對(duì)其預(yù)測(cè)置信度較高的模型的預(yù)測(cè)結(jié)果作為其最終標(biāo)記。協(xié)同訓(xùn)練的流程如圖3所示。

        圖3 協(xié)同訓(xùn)練結(jié)構(gòu)概覽Fig.3 The structure of collaborative training

        在本文的模型中,數(shù)據(jù)被分別存儲(chǔ)在各個(gè)結(jié)點(diǎn)上。對(duì)于單個(gè)結(jié)點(diǎn)來(lái)說(shuō),模型首先根據(jù)給出的網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建2個(gè)不同結(jié)構(gòu)的NCF模型,之后,對(duì)于每一個(gè)用戶,將訓(xùn)練數(shù)據(jù)中其已有行為的記錄標(biāo)記為正例,即其標(biāo)簽為1。對(duì)于每一個(gè)用戶,根據(jù)文獻(xiàn)[7]中的方法,采樣4倍于其正例數(shù)量的負(fù)例,即標(biāo)簽為0的樣本。不同于文獻(xiàn)[7]的是,在采樣負(fù)例時(shí),使用傳統(tǒng)的協(xié)同過(guò)濾算法,基于該結(jié)點(diǎn)有限的本地?cái)?shù)據(jù),來(lái)對(duì)該用戶和已有的所有物品計(jì)算相關(guān)概率,并根據(jù)概率值從小到大進(jìn)行排序。從排序數(shù)據(jù)中,選取前K條作為負(fù)樣本,K為需要采樣的負(fù)例數(shù)量。

        使用初始化的訓(xùn)練集分別對(duì)2個(gè)NCF模型進(jìn)行訓(xùn)練,在訓(xùn)練過(guò)程中通過(guò)Metropolis算法與其他結(jié)點(diǎn)交換信息,使用分布式梯度下降法訓(xùn)練。

        初始化2個(gè)模型后,分別使用2個(gè)模型基于結(jié)點(diǎn)本地?cái)?shù)據(jù),對(duì)每個(gè)用戶對(duì)于所有物品的興趣概率進(jìn)行計(jì)算并排序,選出概率最小的K個(gè)樣本作為負(fù)例提供給對(duì)方模型作為下一輪的訓(xùn)練負(fù)例。

        之后使用新生成的訓(xùn)練集對(duì)2個(gè)模型進(jìn)行訓(xùn)練,訓(xùn)練過(guò)程中同樣使用Metropolis算法進(jìn)行通信,以構(gòu)建分布式梯度下降算法。訓(xùn)練后再次進(jìn)行預(yù)測(cè)并更新雙方的訓(xùn)練集。重復(fù)以上過(guò)程直到達(dá)到最大迭代次數(shù)。最后在測(cè)試集上測(cè)試模型時(shí),分別使用2個(gè)模型進(jìn)行預(yù)測(cè),并在輸出結(jié)果中選擇置信度較高的(偏離0.5更大的)結(jié)果作為預(yù)測(cè)概率。

        5 在MovieLens數(shù)據(jù)集上測(cè)試

        MovieLens是一個(gè)由美國(guó) Minnesota 大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院創(chuàng)辦的電影推薦系統(tǒng),主要用于研究實(shí)驗(yàn)而非商業(yè)用途。MovieLens數(shù)據(jù)集分為幾個(gè)版本,本文中使用的是MovieLens 1MB數(shù)據(jù)集,其中包含來(lái)自 6 040 名用戶對(duì) 3 706 部電影的 1 000 209 條評(píng)分信息,其中每名用戶至少進(jìn)行過(guò)20次評(píng)分。另外,MovieLens 1MB還提供了電影的一些基本信息,包括電影名稱、上映時(shí)間(年月)、電影類型等。

        選取的基準(zhǔn)模型是獨(dú)立協(xié)同過(guò)濾算法(即各結(jié)點(diǎn)分別使用其本地存儲(chǔ)的部分?jǐn)?shù)據(jù)進(jìn)行協(xié)同過(guò)濾預(yù)測(cè))、分布式LFM模型、分布式MLP模型和分布式NCF模型。在測(cè)試中,分別選取item-based和 user-based的協(xié)同過(guò)濾算法,而相似度度量使用余弦相似度公式。

        在測(cè)試中,對(duì)于各模型的超參數(shù),參考文獻(xiàn)[7]中表現(xiàn)較好的網(wǎng)絡(luò)結(jié)構(gòu)。對(duì)于LFM模型,設(shè)置embedding的維度為16;對(duì)于MLP模型,embedding維度為32,設(shè)置其網(wǎng)絡(luò)結(jié)構(gòu)為[64,32,16];對(duì)于NCF模型,設(shè)置MLP部分embedding維度為32,網(wǎng)絡(luò)結(jié)構(gòu)為[64,32,16];設(shè)置LFM部分embedding維度為16,設(shè)置最后融合部分的網(wǎng)絡(luò)結(jié)構(gòu)為[32,16,8]。

        對(duì)于Co-NCF模型的2個(gè)模型中,模型1使用上述提到的NCF模型結(jié)構(gòu),模型2使用的結(jié)構(gòu)如下:設(shè)置MLP部分embedding層維度為32,網(wǎng)絡(luò)結(jié)構(gòu)為[32,32,32,16,16,16,8],設(shè)置LFM部分embedding層維度為16,并通過(guò)一個(gè)MLP隱藏層映射為維度8的向量,最后NCF融合部分的結(jié)構(gòu)為[16,16,8,8,4,4]。這2種網(wǎng)絡(luò)結(jié)構(gòu)分別代表了深度較高、寬度較小的網(wǎng)絡(luò)和深度較低、寬度較大的網(wǎng)絡(luò),這2種網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)勢(shì)不同,故能夠?yàn)槟P蛶?lái)多樣性,使得協(xié)同訓(xùn)練方法的優(yōu)勢(shì)得到充分地發(fā)揮。所有梯度下降的batch-size設(shè)為 1 024,學(xué)習(xí)步長(zhǎng)為 0.000 1。

        在測(cè)試過(guò)程中,使用leave-one-out評(píng)判指標(biāo),即,對(duì)于任意一個(gè)用戶,保留其時(shí)間上最晚的一條行為記錄作為測(cè)試集,而使用剩余所有的樣本行為記錄作為訓(xùn)練集[17]。對(duì)于每個(gè)用戶,隨機(jī)采樣100個(gè)用戶沒(méi)有過(guò)行為的物品,將其與那一條測(cè)試數(shù)據(jù)混合。在對(duì)模型進(jìn)行測(cè)試時(shí),讓模型對(duì)這101條數(shù)據(jù)按照相關(guān)性自大到小進(jìn)行排序,并檢測(cè)前10條數(shù)據(jù)中是否包含測(cè)試數(shù)據(jù)。對(duì)于所有用戶,都執(zhí)行以上操作,最終計(jì)算出命中的比率,稱其為命中率指標(biāo)(hit ratio, HR)[18]。

        表1為在MovieLens 1MB上基于4種結(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu)對(duì)模型預(yù)測(cè)效果測(cè)試的HR結(jié)果。由表1可見(jiàn),對(duì)于使用分布式梯度下降來(lái)訓(xùn)練的模型,即LFM、MLP、NCF和Co-NCF來(lái)說(shuō),分布式的算法基本上能達(dá)到與中心化算法相同的預(yù)測(cè)精度,且其預(yù)測(cè)水平不會(huì)隨著數(shù)據(jù)分布的分散程度(即結(jié)點(diǎn)的數(shù)量)越高而越差,而是基本保持穩(wěn)定的。這點(diǎn)上顯著強(qiáng)于傳統(tǒng)的協(xié)同過(guò)濾算法,從表中可以看出,無(wú)論是Item CF還是User CF,當(dāng)結(jié)點(diǎn)數(shù)越來(lái)越多時(shí),預(yù)測(cè)精度下降十分顯著。分析認(rèn)為,這是由于在傳統(tǒng)的協(xié)同過(guò)濾算法中,當(dāng)數(shù)據(jù)被分布存儲(chǔ)在各結(jié)點(diǎn)時(shí),結(jié)點(diǎn)之間的訓(xùn)練過(guò)程是獨(dú)立的,無(wú)法共享信息,相當(dāng)于每個(gè)結(jié)點(diǎn)只能使用自己本地有限的數(shù)據(jù)。要改進(jìn)該算法,就必然要允許結(jié)點(diǎn)之間對(duì)特定的樣本進(jìn)行交換,而這不符合在論文開(kāi)頭提出的安全性原則。相反地,基于consensus算法的分布式梯度下降可以讓每個(gè)結(jié)點(diǎn)存儲(chǔ)的模型,在實(shí)際上都使用了所有結(jié)點(diǎn)的數(shù)據(jù)來(lái)進(jìn)行訓(xùn)練,所以其表現(xiàn)能和中心化的算法有同樣的精度。

        表1 各拓?fù)浣Y(jié)構(gòu)、結(jié)點(diǎn)數(shù)量下各模型的HR結(jié)果Tab.1 The results of HR with different topology and number of nodes

        橫向?qū)Ρ雀鱾€(gè)算法的預(yù)測(cè)精度可以發(fā)現(xiàn),無(wú)論是在何種拓?fù)浣Y(jié)構(gòu)下,多少個(gè)結(jié)點(diǎn)數(shù)情況下,模型NCF都要優(yōu)于LFM和MLP模型。據(jù)分析,這是由于NCF模型的構(gòu)建過(guò)程實(shí)際上是將LFM和MLP模型的預(yù)測(cè)結(jié)果使用機(jī)器學(xué)習(xí)中的Stacking方法進(jìn)行集成的結(jié)果。而Co-NCF模型在任一情況下皆優(yōu)于NCF模型,可見(jiàn)使用協(xié)同訓(xùn)練方法后,確實(shí)提升了NCF模型的預(yù)測(cè)能力。

        6 結(jié) 語(yǔ)

        本文提出了使用Co-training與NCF模型結(jié)合的Co-NCF模型,并且探討了使用基于consensus算法的分布式梯度下降法來(lái)構(gòu)建分布式推薦系統(tǒng)的可能性,進(jìn)而提出了DISCONNECT模型,即使用Consensus-based分布式梯度下降與Co-NCF模型結(jié)合而構(gòu)建的分布式推薦系統(tǒng)。在MovieLens數(shù)據(jù)集上使用HR 10作為評(píng)判指標(biāo)的測(cè)試表明, DISCONNECT模型無(wú)論是在中心化情況還是分布式情況下都優(yōu)于現(xiàn)有的NCF模型和協(xié)同過(guò)濾算法。同時(shí)也表明,Co-NCF算法在不同結(jié)點(diǎn)數(shù)和拓?fù)浣Y(jié)構(gòu)下,其預(yù)測(cè)精度基本不變,在分布式和中心化上能達(dá)到同樣好的表現(xiàn)水平。

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務(wù)本地化模型
        適用于BDS-3 PPP的隨機(jī)模型
        提煉模型 突破難點(diǎn)
        函數(shù)模型及應(yīng)用
        p150Glued在帕金森病模型中的表達(dá)及分布
        函數(shù)模型及應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        3D打印中的模型分割與打包
        中文字幕一区,二区,三区| 成人免费看www网址入口| 亚洲不卡av不卡一区二区| 国产成人一区二区三区高清| 超碰青青草手机在线免费观看| 亚洲美女主播一区二区| 国产精品国产三级在线专区| 邻居人妻的肉欲满足中文字幕| 娇妻在交换中哭喊着高潮| 99久久久无码国产aaa精品| 久久人妻av无码中文专区| 大又黄又粗又爽少妇毛片| 99精品人妻少妇一区二区三区| 天天躁日日躁狠狠躁av麻豆| 日韩精品无码免费专区网站| 91制服丝袜| 国产黄色污一区二区三区| 日本一级三级在线观看| av无码国产精品色午夜| 98久9在线 | 免费| 久久无码人妻一区=区三区| 无码人妻精品中文字幕免费| 久久久人妻精品一区bav| 国产乱妇无乱码大黄aa片| 亚洲综合精品伊人久久| 精品一精品国产一级毛片| 亚洲啊啊啊一区二区三区| 国产精品白浆一区二区免费看| 中文字幕日韩一区二区不卡| 亚洲欧美日韩国产一区| 中文字幕久区久久中文字幕| 日日碰狠狠添天天爽超碰97久久| 中文亚洲成a人片在线观看| 无码人妻中文中字幕一区二区| 亚洲国产精品成人一区| 精品人妻一区二区三区久久| 无码人妻精品一区二区三区不卡| 妞干网中文字幕| 丝袜美腿在线观看视频| 亚洲中文字幕国产视频| 精品人妻少妇一区二区三区不卡|