• 
    

    
    

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

      因子分解機(jī)模型的寬度和深度擴(kuò)展研究?

      2019-04-18 05:07:26燕彩蓉周靈杰張青龍李曉林
      軟件學(xué)報(bào) 2019年3期
      關(guān)鍵詞:物品深度預(yù)測(cè)

      燕彩蓉,周靈杰,張青龍,李曉林

      1(東華大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海 201620)

      2(計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室(南京大學(xué)),江蘇 南京 210023)

      3(Department of Electrical and Computer Engineering, University of Florida, Florida 32611, USA)

      云計(jì)算、移動(dòng)互聯(lián)網(wǎng)和社交媒體等技術(shù)的迅猛發(fā)展,使得網(wǎng)絡(luò)空間中所蘊(yùn)含的信息量呈指數(shù)級(jí)增長(zhǎng).數(shù)據(jù)量的快速增長(zhǎng)造成了嚴(yán)重的信息過(guò)載,如何有效地過(guò)濾信息,找到最有價(jià)值的部分,成為企業(yè)乃至國(guó)家發(fā)展的重要戰(zhàn)略目標(biāo).作為當(dāng)前解決信息過(guò)載問(wèn)題及實(shí)現(xiàn)個(gè)性化信息服務(wù)的最有效方法[1],預(yù)測(cè)/推薦被應(yīng)用于很多領(lǐng)域,包括在線電子商務(wù)(如 Netflix、Amazon、eBay、阿里巴巴和豆瓣[2,3])、信息檢索(如 iGoogle、MyYahoo、GroupLens和百度[4,5])、移動(dòng)應(yīng)用(如Google App[6,7])等.在計(jì)算廣告領(lǐng)域,常用的過(guò)濾手段是點(diǎn)擊率(click-through rate,簡(jiǎn)稱CTR)和轉(zhuǎn)化率(conversion rate,簡(jiǎn)稱CVR)預(yù)測(cè).準(zhǔn)確估計(jì)CTR和CVR對(duì)提高流量的價(jià)值、增加廣告收入有重要的指導(dǎo)作用.面對(duì)多源、異構(gòu)、動(dòng)態(tài)的大數(shù)據(jù),預(yù)測(cè)/推薦模型算法在準(zhǔn)確性、擴(kuò)展性和實(shí)時(shí)性方面面臨挑戰(zhàn).

      傳統(tǒng)的預(yù)測(cè)/推薦方法主要通過(guò)邏輯回歸模型和多項(xiàng)式回歸模型進(jìn)行分類、回歸或排序.作為一種有效的信息過(guò)濾手段,隱語(yǔ)義模型(latent factor model,簡(jiǎn)稱 LFM)在智能信息系統(tǒng)和機(jī)器學(xué)習(xí)領(lǐng)域成為研究熱點(diǎn),并在預(yù)測(cè)/推薦方面性能表現(xiàn)優(yōu)異.其中:研究最廣泛的矩陣分解(matrix factorization,簡(jiǎn)稱 MF)模型主要用于預(yù)測(cè)兩個(gè)分類變量(categorical variable)之間的關(guān)系[8];張量分解(tensor factorization,簡(jiǎn)稱TF)模型是MF的擴(kuò)展,可用于預(yù)測(cè)多分類變量之間的關(guān)系[9];SVD++在 MF的基礎(chǔ)上考慮了偏置因素(如物品流行度和用戶個(gè)人偏好)對(duì)結(jié)果的影響,Time SVD++進(jìn)一步添加了時(shí)間因子,使預(yù)測(cè)結(jié)果更加可靠[10,11].

      因子分解機(jī)(factorization machine,簡(jiǎn)稱FM)模型由Rendle在2010年首次提出[12],它綜合了矩陣分解和支持向量機(jī)(support vector machine,簡(jiǎn)稱 SVM)模型的優(yōu)勢(shì),利用因子分解對(duì)變量之間的交互進(jìn)行建模,尤其適合于數(shù)據(jù)稀疏的場(chǎng)景.其輸入是實(shí)數(shù)型特征,學(xué)習(xí)方法與線性回歸模型和 SVM 模型類似,內(nèi)部使用了變量之間的分解交互,在數(shù)據(jù)稀疏的情況(如 CTR預(yù)測(cè))下展現(xiàn)出非常高的預(yù)測(cè)質(zhì)量.FM 模型被提出后,迅速成為學(xué)術(shù)界和工業(yè)界研究和應(yīng)用的熱點(diǎn)[13,14],尤其是近年來(lái)深度學(xué)習(xí)方法和應(yīng)用的普及,進(jìn)一步促進(jìn)了FM模型的發(fā)展.

      本文首先對(duì)FM模型在寬度擴(kuò)展方面的相關(guān)方法和技術(shù)進(jìn)行了總結(jié),包括特征的低階和高階交互所適用的場(chǎng)景、特征與特征所屬場(chǎng)的交互方法、特征及其分層關(guān)系之間的交互方法以及基于特征工程(feature engineering)進(jìn)行特征提取、合并、智能選擇和提升的相關(guān)策略與關(guān)鍵技術(shù);然后,從集成學(xué)習(xí)角度比較了 FM模型與其他模型的結(jié)合方式和特點(diǎn),早期主要是與傳統(tǒng)模型進(jìn)行集成,深度學(xué)習(xí)提出后,FM 與深度學(xué)習(xí)模型的集成成為研究熱點(diǎn),并在 FM 模型的深度擴(kuò)展方面展開(kāi)了深入的研究;接著,從模型學(xué)習(xí)和實(shí)現(xiàn)角度比較和總結(jié)了模型的學(xué)習(xí)優(yōu)化方法和分布式并行框架的實(shí)現(xiàn)策略.通過(guò)綜述FM的最新研究進(jìn)展,對(duì)FM未來(lái)的可能研究進(jìn)行展望,一方面促進(jìn) FM 在信息系統(tǒng)領(lǐng)域應(yīng)用的普及,另一方面也為機(jī)器學(xué)習(xí)領(lǐng)域的模型研究提供新的思路.所引用的參考文獻(xiàn)來(lái)自數(shù)據(jù)挖掘、信息檢索、機(jī)器學(xué)習(xí)等領(lǐng)域的重要期刊和國(guó)際頂級(jí)會(huì)議,包括 SIGMOD,SIGKDD,SIGIR,RecSys,VLDB,WWW,DASFAA,ICML,IJCAI,NIPS等,文獻(xiàn)發(fā)表時(shí)間為2010年FM模型提出到本文截稿日期.

      本文第 1節(jié)對(duì)預(yù)測(cè)/推薦問(wèn)題以及獨(dú)熱編碼方式和特征表示進(jìn)行描述,便于后續(xù)模型、屬性以及特征之間關(guān)系的理解.第2節(jié)根據(jù)國(guó)內(nèi)外相關(guān)文獻(xiàn)闡述FM模型的結(jié)構(gòu),總結(jié)FM模型在高階交互、場(chǎng)交互、分層交互與傳統(tǒng)模型的集成以及特征工程方面的擴(kuò)展研究和應(yīng)用.第3節(jié)綜述FM模型與深度學(xué)習(xí)模型的集成方式及其優(yōu)缺點(diǎn)分析.第4節(jié)從FM模型的不同學(xué)習(xí)優(yōu)化方法和實(shí)現(xiàn)框架進(jìn)行總結(jié).第5節(jié)對(duì)FM模型的未來(lái)研究進(jìn)行展望.第6節(jié)總結(jié)全文.

      1 預(yù)測(cè)/推薦問(wèn)題描述

      預(yù)測(cè)和推薦是兩類相關(guān)的任務(wù),兩者之間的關(guān)系體現(xiàn)為:預(yù)測(cè)的結(jié)果可為推薦提供服務(wù),推薦需要以預(yù)測(cè)為基礎(chǔ).預(yù)測(cè)任務(wù)通常包括3種:分類、回歸和排序[1].

      預(yù)測(cè)是指通過(guò)對(duì)訓(xùn)練集{(x1,y1),(x2,y2),…,(xm,ym)}進(jìn)行學(xué)習(xí),建立從輸入空間X到輸出空間Y的映射f:X→Y.若輸出空間Y離散,那么這類學(xué)習(xí)任務(wù)被稱為分類(classification),若分類中只涉及兩個(gè)類別,即Y中只包含兩個(gè)值,則稱為二分類(binary classification),涉及多個(gè)類別則稱為多分類(multi-class classification).若輸出空間Y連續(xù),那么這類任務(wù)稱為回歸(regression).對(duì)于二分類任務(wù),Y={-1,+1}或{0,1};對(duì)于多分類任務(wù),Y={0,1,…,n},n為類別數(shù);對(duì)于回歸任務(wù),Y通常為實(shí)數(shù)集[k1,k2],其中,k1為回歸下限,k2為回歸上限,一般采用相關(guān)函數(shù)(如clip)將回歸控制在一定范圍內(nèi).預(yù)測(cè)的一個(gè)典型應(yīng)用就是 CTR預(yù)測(cè),其結(jié)果只有兩個(gè),點(diǎn)擊或者不點(diǎn)擊,可以將其轉(zhuǎn)化為二分類問(wèn)題.

      推薦是指通過(guò)分析和挖掘用戶(user)與物品(item)之間的二元關(guān)系及相關(guān)屬性,幫助用戶從海量數(shù)據(jù)中發(fā)現(xiàn)其感興趣的有形或無(wú)形的物品(如信息、服務(wù)、商品等),生成個(gè)性化推薦列表[15,16].傳統(tǒng)上推薦模型所使用的屬性主要包括用戶和物品的固有特征、顯式的用戶評(píng)分以及隱式的用戶反饋.隱式反饋普遍存在于互聯(lián)網(wǎng)中,如用戶在觀看電影、收聽(tīng)音樂(lè)、瀏覽或購(gòu)買商品等活動(dòng)時(shí)留下的行為痕跡.近幾年來(lái),利用社交網(wǎng)絡(luò)和移動(dòng)位置信息進(jìn)行協(xié)同過(guò)濾推薦成為研究熱點(diǎn)[17,18],但由于互聯(lián)網(wǎng)中用戶反饋多以隱式反饋的形式存在,且用戶平均瀏覽商品數(shù)一般遠(yuǎn)小于商品總數(shù),導(dǎo)致設(shè)計(jì)矩陣(用戶物品矩陣)通常是稀疏的.稀疏的數(shù)據(jù)場(chǎng)景為預(yù)測(cè)/推薦的研究帶來(lái)新的挑戰(zhàn).推薦系統(tǒng)和CTR預(yù)測(cè)都可以看做是分類問(wèn)題在真實(shí)場(chǎng)景中的應(yīng)用.

      預(yù)測(cè)系統(tǒng)通常由 3部分組成:特征提取、模型建立與訓(xùn)練以及在線服務(wù),所有工作都構(gòu)建在特征之上.考慮到推薦任務(wù)中特征并不總是連續(xù)的,多數(shù)情況是類別值,所以這些特征數(shù)字化將更適合于模型訓(xùn)練.為了應(yīng)對(duì)一些無(wú)序的類別特征,可選用獨(dú)熱編碼(one-hot encoding)方式對(duì)它們進(jìn)行編碼.獨(dú)熱編碼又稱一位有效編碼,是廣泛使用的一種特征表示方法.具體操作為:使用N位狀態(tài)寄存器對(duì)N個(gè)狀態(tài)進(jìn)行編碼,每個(gè)狀態(tài)都有其獨(dú)立的寄存器位,并且在任意時(shí)候,只有一位有效.獨(dú)熱編碼解決了分類器不易處理屬性數(shù)據(jù)的問(wèn)題,在一定程度上擴(kuò)充了特征.獨(dú)熱編碼可將分類特征轉(zhuǎn)化為數(shù)值型特征,從而方便進(jìn)行模型預(yù)測(cè).假設(shè)某電子商務(wù)網(wǎng)站中耳機(jī)的品牌包括Panasonic,Sennheiser,Sony,Sound Intone,Bose,Beats,Audio-Technica和Ausdom共8種,采用長(zhǎng)度為8的向量對(duì)耳機(jī)品牌進(jìn)行獨(dú)熱編碼,特征 Panasonic可表示為(1,0,0,0,0,0,0,0),特征 Sennheiser可以表示為(0,1,0,0,0,0,0,0).圖1所示描述的是一個(gè)推薦問(wèn)題(第1組表示用戶特征,第2組表示物品特征,第3組表示同一用戶評(píng)分過(guò)的其他物品,第4組表示時(shí)間特征,第5組表示本用戶最后評(píng)分的物品),特征用x表示,每個(gè)xi表示一個(gè)特征向量,對(duì)應(yīng)的目標(biāo)值為yi,圖中相關(guān)數(shù)據(jù)來(lái)源于Rendle等人的論文[12].

      Fig.1 An example of feature vector圖1 特征向量示例

      2 FM模型及其擴(kuò)展

      FM模型源于多項(xiàng)式回歸模型和因子分解模型,通過(guò)特征工程,FM模型也可以轉(zhuǎn)化為這些模型.本節(jié)首先介紹邏輯回歸模型、多項(xiàng)式回歸模型以及 Poly2模型之間的關(guān)系,分析其特點(diǎn)和不足,闡述因子分解模型的優(yōu)勢(shì),并詳細(xì)說(shuō)明因子分解的多項(xiàng)式回歸模型在參數(shù)學(xué)習(xí)中的優(yōu)勢(shì),引出本文研究的核心 FM 模型.然后,從特征的高階交互、場(chǎng)交互、層次交互、與傳統(tǒng)模型的集成學(xué)習(xí)以及特征工程角度討論FM模型的擴(kuò)展,并對(duì)FM模型的應(yīng)用場(chǎng)景進(jìn)行匯總.

      2.1 回歸模型與因子分解模型

      邏輯回歸(logistic regression,簡(jiǎn)稱 LR)模型是應(yīng)用最廣泛的線性模型[19],其最常見(jiàn)的應(yīng)用場(chǎng)景就是預(yù)測(cè)概率,即根據(jù)輸入預(yù)測(cè)一個(gè)值.它可以作為一種分類方法,主要用于二分類問(wèn)題,模型描述為

      其中,xi是輸入特征向量的第i個(gè)分量,向量長(zhǎng)度為n;wi是xi對(duì)應(yīng)的權(quán)值.

      LR模型的學(xué)習(xí)與優(yōu)化通常使用最大似然和梯度下降方法來(lái)求解模型的參數(shù).LR模型的優(yōu)勢(shì)是簡(jiǎn)單、直觀,模型求出的系數(shù)易于理解,便于解釋,不屬于黑盒模型.不足之處是模型的輸入特征通常依賴于人工方式進(jìn)行設(shè)計(jì),而且 LR本身是線性模型,無(wú)法對(duì)特征間非線性關(guān)系進(jìn)行捕捉和自動(dòng)建模,從而必須依賴于人工方式進(jìn)行特征組合(feature combination)來(lái)實(shí)現(xiàn) 2階或高階交互特征的構(gòu)造.實(shí)踐中,可利用因子分解機(jī)得到的特征交叉系數(shù)來(lái)選擇輸入LR模型的交叉特征(cross feature)組合,從而避免了繁雜的特征選擇工作.

      為了充分地利用特征之間的非線性關(guān)系,讓模型能夠?qū)W習(xí)到 2階或高階交互特征,可以采用多項(xiàng)式回歸模型.3階多項(xiàng)式回歸模型描述為

      多項(xiàng)式回歸模型的優(yōu)勢(shì)是能夠?qū)W習(xí)特征之間的非線性交互關(guān)系,不足是采用這種方式構(gòu)造的特征數(shù)量與特征值個(gè)數(shù)的乘積相關(guān).假如某類特征有1萬(wàn)個(gè)可能的取值,另一類特征也有1萬(wàn)個(gè)可能的取值,那么理論上這兩個(gè)特征組合就會(huì)產(chǎn)生1億個(gè)可能的組合特征項(xiàng).若加入3階特征組合,則會(huì)引入更高的特征維度,導(dǎo)致特征爆炸問(wèn)題,進(jìn)而無(wú)法有效地學(xué)習(xí)高階特征.Poly2模型的提出充分考慮了多項(xiàng)式回歸模型的可行性和實(shí)用性,此模型只對(duì)2階特征組合進(jìn)行建模[20].模型描述為

      因子分解的多項(xiàng)式回歸(factorized polynomial regression)利用每個(gè)特征的隱向量進(jìn)行組合,不需要為每個(gè)特征交互產(chǎn)生不同的權(quán)值.模型描述為

      該模型的優(yōu)勢(shì)是:可以根據(jù)隱向量長(zhǎng)度調(diào)節(jié)參數(shù)的數(shù)量,通常,隱向量長(zhǎng)度遠(yuǎn)小于特征總數(shù),所以參數(shù)大幅減少,學(xué)習(xí)效率得到提高.但其不足之處在于:公式中存在特征的平方項(xiàng)(2階)和立方項(xiàng)(3階),不利于參數(shù)的學(xué)習(xí).

      2.2 FM模型及其高階擴(kuò)展

      FM 旨在解決稀疏數(shù)據(jù)情況下,特征組合的參數(shù)學(xué)習(xí)不充分的問(wèn)題.度為 2的 FM 模型常被稱為 basicFM,模型表示為[12]

      其中,n代表樣本的特征數(shù)量,表示大小為k的兩個(gè)向量的點(diǎn)積(inner product),即〈vi,vj〉=.通過(guò)訓(xùn)練,為每個(gè)特征O(kn)學(xué)習(xí)出唯一對(duì)應(yīng)的隱向量v,〈v,v〉作為特征交叉項(xiàng)xx的權(quán)重參數(shù).iijij從模型公式中直觀地看,FM模型的復(fù)雜度為O(kn2),但是通過(guò)下面的等價(jià)轉(zhuǎn)換,可以將 FM 的二次項(xiàng)化簡(jiǎn),其復(fù)雜度可優(yōu)化到O(kn),即:

      通過(guò)隨機(jī)梯度下降(stochastic gradient descent,簡(jiǎn)稱SGD)方法對(duì)FM模型進(jìn)行訓(xùn)練,模型中各個(gè)參數(shù)的梯度可以表示如下:

      根據(jù)公式(6)和公式(7),FM 的訓(xùn)練和預(yù)測(cè)的復(fù)雜度均為O(kn),即 FM 能夠在線性時(shí)間內(nèi)進(jìn)行訓(xùn)練和預(yù)測(cè),非常高效,這為 FM 模型的廣泛應(yīng)用打下堅(jiān)實(shí)的理論基礎(chǔ).不過(guò),利用此模型的關(guān)鍵還在于模型輸入特征向量的構(gòu)造.

      FM模型被提出之后,迅速成為研究熱點(diǎn).對(duì)FM模型的擴(kuò)展研究工作主要從3個(gè)方面展開(kāi):輸入、處理和輸出,如圖2所示.模型輸入擴(kuò)展主要通過(guò)特征工程實(shí)現(xiàn);模型處理擴(kuò)展主要體現(xiàn)為特征交互,分為獨(dú)立的特征交互和具有關(guān)聯(lián)關(guān)系的特征交互,后者進(jìn)一步把關(guān)聯(lián)關(guān)系擴(kuò)展為場(chǎng)關(guān)系和層次關(guān)系;輸出方面則通過(guò)模型集成來(lái)實(shí)現(xiàn).以下將重點(diǎn)闡述這些研究工作及其帶來(lái)的影響.

      Fig.2 A research graph of wide extension of FM model圖2 FM模型的寬度擴(kuò)展研究圖譜

      basicFM中主要描述了2階特征交互,能體現(xiàn)兩個(gè)特征之間的相互影響.由于2階特征交互關(guān)系的捕捉會(huì)極大地提高模型預(yù)測(cè)和學(xué)習(xí)的復(fù)雜度,所以在實(shí)際應(yīng)用中通常僅使用2階.而且FM通過(guò)特征工程可以轉(zhuǎn)化為矩陣分解模型、張量分解模型以及SVD++模型[21]等.2階的FM相比于Poly2模型,優(yōu)勢(shì)表現(xiàn)為以下兩點(diǎn).

      1) FM 模型所需要的參數(shù)個(gè)數(shù)遠(yuǎn)少于 Poly2模型.FM 模型為每個(gè)特征構(gòu)建一個(gè)隱向量,總參數(shù)個(gè)數(shù)為O(kn),其中,k為隱式向量維度,n為特征個(gè)數(shù),通常k<<n;Poly2模型為每個(gè)2階特征組合設(shè)定一個(gè)參數(shù)來(lái)表示這個(gè)2階特征組合的權(quán)重系數(shù),總參數(shù)個(gè)數(shù)為O(n2);

      2) 相比于Poly2模型,FM模型能夠更有效地進(jìn)行參數(shù)學(xué)習(xí).當(dāng)一個(gè)2階組合特征沒(méi)有出現(xiàn)在訓(xùn)練集中時(shí),Poly2模型則無(wú)法學(xué)習(xí)該特征組合的權(quán)重,但是FM卻依然可以學(xué)習(xí).因?yàn)樵撎卣鹘M合的權(quán)重是這2個(gè)特征的隱向量的點(diǎn)積,而這2個(gè)特征的隱向量可以分別從別的特征組合中學(xué)習(xí)得到.

      總體來(lái)說(shuō),FM是一種非常有效的能對(duì)2階特征組合進(jìn)行自動(dòng)學(xué)習(xí)的模型.

      盡管basicFM已經(jīng)表現(xiàn)出較高的性能,但是更高階的特征組合仍然能夠引起研究人員的興趣.Knoll等人提出了FM的高階擴(kuò)展模型HOFM(high-order factorization machine)[22],并且推導(dǎo)出了3階FM模型的線性表示形式,可以用線性復(fù)雜度訓(xùn)練此3階模型.為了把基本的2階FM模型擴(kuò)展到3階,定義了一個(gè)矩陣U∈?p×m,w0∈?,W∈?n,V∈?n×k.3階的FM模型可以表示為[23]

      引入3階交互后,也不會(huì)丟失線性復(fù)雜性,因?yàn)?階交互可以推導(dǎo)如下:

      通過(guò)SGD方法對(duì)FM進(jìn)行訓(xùn)練,3階FM模型各個(gè)參數(shù)的梯度表示如下:

      Knoll實(shí)現(xiàn)的3階的FM方法與Blondel等人提出的類似[23].Prillo等人觀察到:給定n+2(n>=1)個(gè)向量,一定有兩個(gè)向量的內(nèi)積是非負(fù)數(shù).所以對(duì)于一個(gè)三角形關(guān)系,兩條負(fù)數(shù)邊對(duì)應(yīng)的一定是正數(shù)邊,這與實(shí)際應(yīng)用會(huì)有不符.所以對(duì)于某些數(shù)據(jù)集,FM不能學(xué)習(xí)到2階交互參數(shù),這是FM的局限性,所以提出了1.5-way FMs[24].

      并非越高階的特征交互一定能帶來(lái)更好的預(yù)測(cè)效果,Knoll等人對(duì)高階的FM和馬爾可夫隨機(jī)游走(Markov random walk,簡(jiǎn)稱MRW)方法進(jìn)行比較發(fā)現(xiàn):在只有用戶對(duì)物品的評(píng)分?jǐn)?shù)據(jù)時(shí),MRW較FM表現(xiàn)得更好;但如果再增加了標(biāo)簽、物品種類等數(shù)據(jù)特征時(shí),FM會(huì)取得更好的效果[25].Yurochkin等人提出了自適應(yīng)的隨機(jī)多階交互模型MiFM(multi-way interactions of arbitrary order)[26],這個(gè)交互的選擇是由一個(gè)基于隨機(jī)超圖的先驗(yàn)分布來(lái)決定.

      考慮到FM模型中屬性交互的必要性和有效性,得出如下結(jié)論:當(dāng)屬性數(shù)量較少時(shí),如只有評(píng)分?jǐn)?shù)據(jù),那么屬性的 2階交互無(wú)法體現(xiàn)其優(yōu)越性,FM 模型適合處理多屬性,當(dāng)多屬性之間具有非線性的約束關(guān)系時(shí),預(yù)測(cè)效果更好;對(duì)于通常的應(yīng)用,2階FM模型即可,如果在具體應(yīng)用中發(fā)現(xiàn)個(gè)別屬性之間存在1.5-way FMs所描述的問(wèn)題,那么要?jiǎng)h除這些屬性交互,如果應(yīng)用中多屬性之間有強(qiáng)關(guān)聯(lián)性,而且不考慮復(fù)雜度,則可以使用3階的FM模型.更高階的屬性交互在實(shí)際應(yīng)用中將不實(shí)用,而且隨著深度學(xué)習(xí)與傳統(tǒng)模型的結(jié)合,也沒(méi)有必要在 FM 模型中進(jìn)行更高階的屬性交互.

      2.3 FM模型的場(chǎng)交互和層次交互擴(kuò)展

      雖然特征之間的非線性交互關(guān)系能夠?yàn)轭A(yù)測(cè)提供更多的信息,但是并非所有的特征交互都有效,采用獨(dú)熱編碼后,特征之間的層次結(jié)構(gòu)關(guān)系被全部摒棄,這將使得參數(shù)評(píng)估更復(fù)雜,預(yù)測(cè)準(zhǔn)確率不夠理想.相關(guān)研究主要從兩個(gè)方面讓模型能夠體現(xiàn)特征之間的關(guān)系:基于場(chǎng)的交互和基于層次關(guān)系的交互.

      (1) 場(chǎng)交互擴(kuò)展.

      場(chǎng)感知分解機(jī)(field-aware factorization machine,簡(jiǎn)稱FFM)模型是在FM的基礎(chǔ)上,將相同性質(zhì)的特征歸于同一個(gè)場(chǎng)[13].除了特征的一維線性組合,很多數(shù)據(jù)集的特性表明,對(duì)不同場(chǎng)之間的特征交互的捕捉也非常重要.FM 模型的提出,是為了解決特征的交互問(wèn)題.在多場(chǎng)的類別數(shù)據(jù)(multi-field categorical data)中,每個(gè)場(chǎng)中的特征都會(huì)與其余各場(chǎng)中的特征有著不同程度的交互,FFM 模型為每個(gè)與其他各場(chǎng)交互的特征都學(xué)習(xí)一個(gè)唯一對(duì)應(yīng)的隱向量,從而充分地利用到數(shù)據(jù)中的場(chǎng)信息.在 FFM 模型中,每一個(gè)特征xi,針對(duì)其他特征的每一個(gè)場(chǎng)fj,都會(huì)學(xué)習(xí)產(chǎn)生一個(gè)隱向量wi,fj.因此,隱向量不僅與特征相關(guān),也與場(chǎng)相關(guān).假設(shè)樣本的n個(gè)特征屬于f個(gè)場(chǎng),那么FFM模型的二次項(xiàng)則有n·f個(gè)隱向量.根據(jù)FFM模型的場(chǎng)敏感特性,導(dǎo)出其模型方程[13]:

      其中,fj是第j個(gè)特征所屬的場(chǎng).如果隱向量的長(zhǎng)度為k,那么FFM模型的一次項(xiàng)參數(shù)有n個(gè),二次項(xiàng)參數(shù)有n·f·k個(gè),模型預(yù)測(cè)復(fù)雜度是O(kn2+kn).參數(shù)個(gè)數(shù)的設(shè)置,對(duì)預(yù)測(cè)精度會(huì)有較大影響.FFM模型還支持并行化處理,所以計(jì)算速度可以進(jìn)一步提高.而且FFM模型以場(chǎng)為基礎(chǔ),在稀疏數(shù)據(jù)的處理上,比LR,Poly2,FM效果要好很多.

      雖然FFM模型能很好地利用數(shù)據(jù)中的場(chǎng)信息,然而FFM模型中的參數(shù)數(shù)量與特征數(shù)乘以場(chǎng)數(shù)量的積成正比,這使得實(shí)際應(yīng)用場(chǎng)景下,參數(shù)數(shù)量會(huì)輕易地達(dá)到數(shù)以千萬(wàn)計(jì)甚至更多.這在現(xiàn)實(shí)世界的生產(chǎn)系統(tǒng)中是不可接受的.場(chǎng)加權(quán)的分解機(jī)FwFM(field weight factorization machine)可以解決此問(wèn)題[27].特征i和特征j的交互表示為xixj〈vi,vj〉rF(i),F(j),其中,xi和xj分別為特征i和特征j對(duì)應(yīng)的嵌入向量,F(i)和F(j)分別為特征i和j所屬的場(chǎng),rF(i),F(j)為場(chǎng)F(i)和場(chǎng)F(j)之間的交互強(qiáng)度,FwFM模型定義為

      FwFM模型相當(dāng)于 FFM模型的擴(kuò)展形式,通過(guò)增加權(quán)重rF(i),F(j)(Fk≠F(i)),來(lái)顯示地捕捉不同場(chǎng)之間的交互程度.FFM模型通過(guò)特征i與場(chǎng)j中的特征交互時(shí),學(xué)習(xí)出隱向量vi,F(j),隱式地捕捉不同場(chǎng)之間的交互程度.n和m分別是特征數(shù)與場(chǎng)數(shù)量,k為隱向量的維度,忽略偏置項(xiàng)w0,那么FM的參數(shù)數(shù)量為n+n·k,FFM模型的參數(shù)數(shù)量為n+n·(m-1)·k,FwFM模型的參數(shù)個(gè)數(shù)為n+n·k+m·(m-1)/2.一般地,m<<n,所以FwFM模型相比FFM模型參數(shù)數(shù)量少得多.FwFM模型以遠(yuǎn)低于FFM模型的參數(shù)數(shù)量,取得了可以與FFM模型相競(jìng)爭(zhēng)的預(yù)測(cè)精度,從而能更好地應(yīng)用于實(shí)際的生產(chǎn)系統(tǒng)中.

      (2) 層次數(shù)據(jù)交互擴(kuò)展.

      真實(shí)應(yīng)用場(chǎng)景中,上下文(context)特征之間存在著層次關(guān)系.但是FM模型在預(yù)測(cè)過(guò)程中很少去挖掘上下文特征的層級(jí)特性,因此其預(yù)測(cè)效果會(huì)受到影響.以下從3方面對(duì)FM模型進(jìn)行層次數(shù)據(jù)交互擴(kuò)展.

      其一,針對(duì)basicFM沒(méi)有充分利用用戶和物品中有價(jià)值的分類信息(valuable category information),Zhao等人對(duì)用戶、物品及其分類關(guān)系進(jìn)行了探索[28]:首先,在考慮用戶對(duì)某些物品分類的偏好時(shí),提出了 UW-FM(user weight factorization machine)模型.然后,在考慮物品對(duì)用戶分類的影響時(shí),提出了 IW-FM(item weight factorization machine)模型.最后,合并這兩個(gè)模型,提出了 CW-FM(category weight factorization machine)模型.CW-FM使用層級(jí)的分類信息(hierarchical category information)來(lái)避免帶有附屬關(guān)系(subordinate relations)的特征進(jìn)行交互.由于物品與其所屬的類別特征、用戶與其所屬的類別特征之間存在附屬關(guān)系,即每個(gè)物品或用戶必定屬于某個(gè)類別,所以模型會(huì)確保用戶與物品之間的交互,以及用戶與物品所屬的類別特征進(jìn)行交互時(shí),能夠相互獨(dú)立,互不影響,從而更好地利用數(shù)據(jù)中帶有的層級(jí)的種類信息來(lái)提升模型精度.

      Wang等人提出兩階段的建模方法HFM(hierarchical factorization machine)[29]:第1階段,首先在每個(gè)樹(shù)結(jié)構(gòu)的各節(jié)點(diǎn)上局部訓(xùn)練獲取 FM 模型的參數(shù),并返回初始輸出(粗粒度),通過(guò)樹(shù)結(jié)構(gòu)的馬爾可夫模型(treestructured Markov model)對(duì)輸出進(jìn)行全局調(diào)整;第 2階段,使用廣義的卡爾曼濾波算法(eneralized Kalman filtering algorithm),比如對(duì)于數(shù)據(jù)集MovieLens-1M,可以分別對(duì)用戶、物品和時(shí)間屬性進(jìn)行3層的結(jié)構(gòu)分層,用戶為“Root→Gender→Age”,物品為“Root→Release-year→Genre”,時(shí)間為“Root→Day-of-week→Year”.

      其二,針對(duì)特征之間的強(qiáng)層次關(guān)系進(jìn)行交互.強(qiáng)層次關(guān)系是指:wi,j≠0?wi≠0 andwj≠0.

      Wang等人提出了SHA2(strong hierarchical ANOVA kernel regression)模型及其特殊情況(β=1)下的SHFM(strong hierarchical factorization machine)模型[30].SHA2模型表示為

      其三,為了強(qiáng)調(diào)某些特征的重要性,Oentaryo等人提出了 HIFM(hierarchical importance-aware factorization machine)模型[31],把重要性權(quán)重(importance weights)和層次學(xué)習(xí)(hierarchical learning)引入到模型中.如,對(duì)于曝光率高的廣告會(huì)分配更高的權(quán)重,因?yàn)槿绻麤](méi)能準(zhǔn)確預(yù)測(cè)此類廣告,將會(huì)帶來(lái)很大的損失,所以在模型中會(huì)賦予它們更高的權(quán)重.

      實(shí)際應(yīng)用中,各種屬性之間的關(guān)系錯(cuò)綜復(fù)雜.如果屬性各自獨(dú)立,那么直接可以作為FM模型的輸入;如果屬性及其特征值比較多,那么可以采用場(chǎng)交互來(lái)提高效率;如果屬性之間存在包含、依賴等關(guān)系,或者為了強(qiáng)調(diào)某些屬性的重要性,可以在模型中添加層次策略.

      2.4 FM模型與傳統(tǒng)模型的集成

      集成學(xué)習(xí)(ensemble learning)通常是構(gòu)建并結(jié)合多個(gè)弱學(xué)習(xí)器(weak learner)來(lái)完成學(xué)習(xí)任務(wù).根據(jù)個(gè)體學(xué)習(xí)器的生成方式,目前的集成學(xué)習(xí)方法可分為:1) 個(gè)體學(xué)習(xí)器間存在強(qiáng)依賴關(guān)系、必須串行生成的序列化方法,代表技術(shù)有 Boosting;2) 個(gè)體學(xué)習(xí)器間不存在強(qiáng)依賴關(guān)系、可同時(shí)生成的并行化方法,代表技術(shù)有 Bagging和隨機(jī)森林(random forest).根據(jù)多個(gè)學(xué)習(xí)器是否相同,又分為兩種:同質(zhì)集成和異質(zhì)集成.盡管FM在預(yù)測(cè)/推薦領(lǐng)域相對(duì)其他因子分解模型具有更好的通用性且能夠取得更好的效果,但是在某些應(yīng)用場(chǎng)合也會(huì)表現(xiàn)出局限性,所以在某些應(yīng)用場(chǎng)景中,把 FM 模型與其他模型進(jìn)行集成能夠提供更多選擇方案.以下對(duì)已經(jīng)研究過(guò)的各種集成方案進(jìn)行總結(jié).

      (1) 同質(zhì)模型集成.

      Yuan等人通過(guò)引入boosting框架技術(shù)提出了BoostFM模型[32],即:根據(jù)用戶與物品的特征信息和用戶的隱式反饋(implicit feedback)信息來(lái)統(tǒng)一建模,通過(guò)加權(quán)組合的方式將多個(gè)同質(zhì)的弱學(xué)習(xí)器轉(zhuǎn)成為一個(gè)強(qiáng)學(xué)習(xí)器.Yan等人對(duì)原始特征的 3個(gè)方面(用戶、物品和時(shí)間)分別抽取用戶特征、物品特征以及時(shí)間特征,然后通過(guò)GDBT(gradient boosting decision tree)和FFM模型學(xué)習(xí)到更加抽象的衍生特征;接著,通過(guò)這兩個(gè)不同的特征集訓(xùn)練出兩個(gè)不同的 FFM 模型;最后,讓這兩個(gè) FFM 模型做非線性加權(quán)集成[33].Hong等人提出了 CoFM(cofactorization machine)模型[34],采用FM模型同時(shí)對(duì)用戶的決定(decisions),即對(duì)轉(zhuǎn)發(fā)推特和用戶轉(zhuǎn)發(fā)推特的主題內(nèi)容分別建模,兩方面的數(shù)據(jù)訓(xùn)練出兩個(gè)獨(dú)立的FM模型,最終,這兩個(gè)FM模型協(xié)同后輸出結(jié)果.

      (2) 異質(zhì)模型集成.

      Leksin等人將3種模型——FM模型、基于物品的協(xié)同過(guò)濾模型以及基于內(nèi)容的主題模型進(jìn)行線性組合、加權(quán)組合,最終結(jié)果與使用單一的方法相比有較大精度提升[35].

      (3) 把單輸出問(wèn)題轉(zhuǎn)為多輸出或者回歸問(wèn)題.

      Blondel等人針對(duì)FM模型只能輸出單值的限制,對(duì)模型進(jìn)行擴(kuò)展,使其能產(chǎn)生多輸出,主要是把基于標(biāo)量的學(xué)習(xí)函數(shù)擴(kuò)展為基于向量的學(xué)習(xí)函數(shù),采用一個(gè) 3-路的張量,把二分類問(wèn)題擴(kuò)展為多分類問(wèn)題[36].Wang等人提出了RPFM(random partition factorization machine)模型[37],為了有效利用不同的上下文信息,采用隨機(jī)決策樹(shù)算法的思想,讓樣本中相似用戶、物品或具有相似上下文的樣本分發(fā)到樹(shù)的相同節(jié)點(diǎn)中,同一節(jié)點(diǎn)中的各樣本比處于原始數(shù)據(jù)集中的各樣本之間具有更高的相關(guān)度.當(dāng)要預(yù)測(cè)一個(gè)新樣本時(shí),先根據(jù)已建立好的樹(shù)狀結(jié)構(gòu),找到此樣本應(yīng)在的葉節(jié)點(diǎn),然后使用該葉節(jié)點(diǎn)上已訓(xùn)練好的 FM 模型,求得此輸入樣本的輸出預(yù)測(cè)值.若一共建立N棵樹(shù),對(duì)于此樣本會(huì)有N個(gè)輸出,最后取平均值,便是此新樣本的最終輸出預(yù)測(cè)值:.模型首先采用K-means聚類算法對(duì)決策樹(shù)中的節(jié)點(diǎn)進(jìn)行劃分,利用隱因子向量間的相似性作為劃分標(biāo)準(zhǔn),這樣劃分出來(lái)的每個(gè)子節(jié)點(diǎn)中的樣本會(huì)具有更高的相關(guān)性.Pijnenburg等人針對(duì)LR模型不能處理具有大量可能值的分類變量的問(wèn)題,通過(guò)另一種建模技術(shù)來(lái)解決這個(gè)問(wèn)題,比如樸素貝葉斯.然而,這樣處理又失去了回歸的一些優(yōu)點(diǎn),即模型對(duì)變量解釋值的顯式估計(jì)以及對(duì)變量到變量依賴的明確洞察和控制.讓LR去直接處理多層次分類變量(many levels categorical variables),將產(chǎn)生稀疏的設(shè)計(jì)矩陣(design matrix),這會(huì)導(dǎo)致模型過(guò)擬合,產(chǎn)生極端系數(shù)值,所以預(yù)先通過(guò)FM將多層次分類變量轉(zhuǎn)換成少量的數(shù)值變量,然后再應(yīng)用于LR模型進(jìn)行處理[38].

      推薦系統(tǒng)領(lǐng)域中相關(guān)研究普遍認(rèn)為:集成模型相比單一模型將具有更高的精度;如果單一 FM 模型精度已經(jīng)能夠滿足應(yīng)用需求,那么就沒(méi)有必要集成,因?yàn)榧杀貙?lái)計(jì)算的復(fù)雜性;如果單一 FM 模型無(wú)法滿足應(yīng)用需求,那么可以考慮同質(zhì)或異質(zhì)模型集成;至于 FM 模型與何種模型以及采取何種方式進(jìn)行集成,那么需要更多的嘗試和分析.

      2.5 特征工程與FM模型的應(yīng)用

      FM 模型中的特征很多是依賴于人工方式進(jìn)行選擇和設(shè)計(jì).特征的多少會(huì)影響模型的計(jì)算復(fù)雜度,有些重要的特征和特征組合無(wú)法被專家輕易識(shí)別.所以實(shí)現(xiàn)特征的預(yù)處理以及自動(dòng)組合挖掘,也成為推薦系統(tǒng)的一個(gè)研究熱點(diǎn).相比于其他機(jī)器學(xué)習(xí)系統(tǒng),推薦系統(tǒng)更依賴于特征工程.根據(jù)使用的自動(dòng)化程度,特征工程又分為人工特征工程和自動(dòng)化特征工程技術(shù).以下將從3個(gè)方面來(lái)總結(jié)特征工程在FM中的應(yīng)用和影響.

      (1) 從原始特征中提取更多的信息,再將其與原始特征一起作為FM的輸入.

      Loni等人并不單獨(dú)引入額外的信息,而是利用聚類算法,從已有的用戶物品評(píng)分中充分挖掘信息,并將其作為部分新的特征,提高FM模型的預(yù)測(cè)精度[39].由于用戶和物品的簇(cluster)信息隱藏在用戶物品矩陣之中,層次交互擴(kuò)展中采用的策略是由專家指定用戶和物品的分類,文中使用k-means聚類算法,將相近的用戶聚為一個(gè)簇,最終每個(gè)簇都會(huì)分配一個(gè)在域(domain)中的唯一 id,然后將每個(gè)域中各個(gè)用戶和物品的簇信息,添加到 FM模型的輸入特征向量中,從而擴(kuò)增了 FM 模型的輸入特征向量的維度.即:將隱藏在用戶物品評(píng)分信息中的特征提取出來(lái),并顯式地添加到FM的輸入特征向量之中,最終起到提高模型預(yù)測(cè)精度的目的[39].不過(guò),這種方法存在新用戶的冷啟動(dòng)問(wèn)題,因?yàn)閷?duì)于剛注冊(cè)的用戶,由于缺少足夠的歷史信息,聚成簇會(huì)損失掉新用戶的個(gè)性化問(wèn)題.可以采用以下解決方法:以電子商品推薦為例,對(duì)老用戶(比如可以假定購(gòu)買 5件以上商品的用戶為老用戶)和新用戶分別進(jìn)行聚類,這樣可以避免減少過(guò)多的新用戶信息.

      (2) 從原始特征中選擇部分重要特征,或者進(jìn)行特征的合并.

      并非所有特征的交互都有效,有些交互可能會(huì)成為噪聲,破壞模型的泛化能力.從原始特征中選擇重要特征,或者過(guò)濾掉不重要的特征,或者進(jìn)行特征的合并,會(huì)使得減少特征數(shù)的同時(shí),進(jìn)一步提高預(yù)測(cè)精度和計(jì)算效率.Cheng等人提出了GBFM模型[40],把GBM(gradient boosting machine)模型與FM結(jié)合,著重于選取好的特征進(jìn)行交互.提升方法的思路為:對(duì)于一個(gè)復(fù)雜的問(wèn)題,將多個(gè)專家的判斷進(jìn)行適當(dāng)綜合,所得出的結(jié)果要比任何一個(gè)專家單獨(dú)判斷更加精確.每一步產(chǎn)生一個(gè)弱預(yù)測(cè)模型(如決策樹(shù)),并加權(quán)累加到總模型中,可以用于回歸和分類問(wèn)題;而梯度提升是在此思想下的一種函數(shù)或模型的優(yōu)化方法,如果每一步的弱預(yù)測(cè)模型都是擬合損失函數(shù)的負(fù)梯度而得,則稱為梯度提升(gradient boosting).通過(guò)使得損失函數(shù)在梯度上減少的方式進(jìn)行m次迭代,最終合并得到一個(gè)優(yōu)秀的提升模型.GBFM訓(xùn)練的主要迭代公式為

      GBFM 模型中,如何選取好的特征是重點(diǎn),采取的特征選擇算法是選擇盡可能使目標(biāo)函數(shù)降低最快的特征,比如現(xiàn)在有用戶(user)、物品(item)和情感(mood)這3個(gè)上下文特征.對(duì)于原始FM,其模型為

      即含有所有特征的交互,而 GBFM 訓(xùn)練完成特征選擇后,最終可能去除了 item和 mood的交互,產(chǎn)生的模型可能是

      Xu等人認(rèn)為,GBFM 通過(guò)基于梯度提升的貪心算法選擇特征交互,降低了模型復(fù)雜度.但是使用啟發(fā)式算法并不是最優(yōu)的特征交互選擇方式,并且經(jīng)過(guò)這種方式處理后的交互特征的數(shù)量仍然十分龐大,所以提出了稀疏FM(sparse factorization machine,簡(jiǎn)稱SFM)模型[41],從學(xué)習(xí)模型中直接選取交互特征,交互過(guò)程中的所有無(wú)用特征將會(huì)被剔除.為了減少模型的復(fù)雜度,識(shí)別出有關(guān)聯(lián)的用戶特征和物品特征.即僅對(duì)有關(guān)聯(lián)的特征進(jìn)行交互,所以需要學(xué)習(xí)的參數(shù)也大幅減少,模型表示為

      Selsaas等人根據(jù)屬性值進(jìn)行自動(dòng)的特征合并,然后進(jìn)行交互,能夠有效緩解特征的稀疏性.如在考慮設(shè)備屬性時(shí),PC機(jī)具有IP地址和Cookie,移動(dòng)電話(cell phone)則沒(méi)有IP地址,但是它綁定了電話號(hào)碼,如果按照獨(dú)熱編碼方式將產(chǎn)生很多的特征,而且很多特征是稀疏的.所以在采用模型預(yù)測(cè)之前,先對(duì)這些特征進(jìn)行合并,既能減少計(jì)算時(shí)間,也能提高預(yù)測(cè)精度[42].Punjabi等人提出了魯棒FM(robust factorization machine,簡(jiǎn)稱RFM)和基于場(chǎng)的FM變體模型RFFM.由于數(shù)據(jù)在收集過(guò)程中采用不同的設(shè)備,即使相同的設(shè)備,因?yàn)闉g覽器不同,都會(huì)產(chǎn)生不同的數(shù)據(jù),這對(duì)數(shù)據(jù)質(zhì)量是一個(gè)挑戰(zhàn),采用魯棒優(yōu)化(robust optimization,簡(jiǎn)稱RO)框架可以去除噪聲[43].Lu等人針對(duì)多視圖學(xué)習(xí)(multi-view learning,簡(jiǎn)稱MVL)和多任務(wù)學(xué)習(xí)(multi-task learning,簡(jiǎn)稱MTL)提出多線性FM(multilinear factorization machine,簡(jiǎn)稱 MFM)模型來(lái)應(yīng)對(duì)異構(gòu)的多源特征[44].Liu等人提出了 LLFM(locally linear factorization machine)模型來(lái)應(yīng)對(duì)局部線性分類器(locally linear classifiers)問(wèn)題[45].

      (3) 對(duì)模型屬性進(jìn)行提升,不同屬性可以選擇不同的提升方法.

      實(shí)際應(yīng)用中,用戶和物品具有針對(duì)性,即屬性會(huì)表現(xiàn)出一定的特征偏好.以用戶為例,80后以及90后初期的男性用戶可能會(huì)特別喜歡類似于《生化危機(jī)6》、《魔獸》、《刺客信條》等游戲改編的電影,而90后女性,特別是95后女性可能更中意《從你的全世界路過(guò)》、《有一個(gè)地方只有我們知道》、《屬于你的我的初戀》等愛(ài)情片.另外,不同屬性之間的影響程度也不同.例如,用戶所屬職業(yè)的重要程度要高于用戶家庭所在的地理位置.本項(xiàng)目組在 FFM模型的基礎(chǔ)上提出了智能化場(chǎng)感知模型 iFFM[46],該模型對(duì)關(guān)鍵屬性進(jìn)行提升,運(yùn)用特征工程技術(shù)將因子選擇智能地嵌入到算法求解過(guò)程中,并綜合利用吉布斯采樣和 SGD訓(xùn)練模型來(lái)提高推薦精度.iFFM 模型中對(duì)特征xi進(jìn)行關(guān)系映射表示為

      其中,Bi表示屬性xi的提升項(xiàng),可以進(jìn)一步分解為(對(duì)應(yīng)用戶)或者(對(duì)應(yīng)物品).其中,pu和qv分別為用戶u的偏好、物品與屬性的關(guān)聯(lián)程度,ui和vi為相應(yīng)影響權(quán)重.假設(shè)xi表示“愛(ài)情片”,那么刻畫(huà)的是用戶u對(duì)“愛(ài)情片”的隱含態(tài)度.假設(shè)xi表示“動(dòng)作片”,即使用戶u在數(shù)據(jù)集上沒(méi)有觀看“動(dòng)作片”的記錄,則依然可以用模擬用戶u的偏好.此時(shí),用戶的偏好和物品的屬性特征可以表示為:

      (4) 在模型中添加社交或信任等相關(guān)信息的特征來(lái)提高精度.

      隨著社會(huì)網(wǎng)絡(luò)和移動(dòng)技術(shù)的發(fā)展,社交信息在預(yù)測(cè)/推薦中起到更大的作用.Ding等人提出了 SCFM(social and crowdsourcing factorization machine)模型,在FM中添加社交和眾包信息[47].Zhou等人提出了SocialFM模型,基于社交關(guān)系對(duì) FM 進(jìn)行改進(jìn),模型中采用的輸入包括用戶、物品、用戶之間的相似性和信任關(guān)系,通過(guò)用戶之間的關(guān)系來(lái)提高推薦精度[48].Rendle等人也提出了采用特征工程,如社會(huì)網(wǎng)絡(luò)信息來(lái)提高推薦精度[49].

      (5) 在模型中添加偏置進(jìn)行調(diào)整,平衡特征在模型中所占的比重.

      Chen等人指出,大多數(shù)的推薦系統(tǒng)都在推薦流行度高的物品,缺乏新穎性,也導(dǎo)致長(zhǎng)尾現(xiàn)象的產(chǎn)生[50].其原因是在訓(xùn)練數(shù)據(jù)集中,頻繁出現(xiàn)的物品占據(jù)了整個(gè)物品集的絕大部分,導(dǎo)致推薦系統(tǒng)給出的推薦列表中流行度高的物品更有優(yōu)勢(shì).為了緩解這種現(xiàn)象,盡可能去推薦一些用戶沒(méi)有接觸過(guò)但是可能會(huì)感興趣的物品,提出了cost-sensitive FM模型,其思路是降低流行度偏置(popularity bias),在推薦精度和物品流行度之間找到平衡點(diǎn).模型構(gòu)建方法是將代價(jià)敏感的學(xué)習(xí)(cost-sensitive learning,簡(jiǎn)稱CSL)與FM模型進(jìn)行集成,在不破壞推薦質(zhì)量的基礎(chǔ)上,達(dá)到降低流行度偏置的目的.

      正如機(jī)器學(xué)習(xí)領(lǐng)域大家所認(rèn)同的一個(gè)觀點(diǎn):數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限,而模型和算法只能逼近這個(gè)上限,由此可見(jiàn)特征工程的重要性.所以在應(yīng)用 FM 模型時(shí),必須要考慮它所應(yīng)用的領(lǐng)域.FM 被廣泛使用于各個(gè)領(lǐng)域,表1列出FM模型被提出后在各個(gè)領(lǐng)域的應(yīng)用.除了表1中列出的,FM模型也在其他領(lǐng)域得到應(yīng)用,如微博排名[51]、表演藝術(shù)市場(chǎng)決策[52]等等.在實(shí)際應(yīng)用中,可根據(jù)具體的問(wèn)題來(lái)選擇具體特征,通過(guò)調(diào)節(jié)參數(shù)來(lái)達(dá)到理想的預(yù)測(cè)/推薦效果.

      Table 1 Application field of FM model表1 FM模型應(yīng)用領(lǐng)域

      3 FM模型與深度學(xué)習(xí)模型的集成

      相比邏輯回歸模型以及其他因子分解模型,FM 在很多應(yīng)用領(lǐng)域都展現(xiàn)了其獨(dú)特的優(yōu)勢(shì).不過(guò),它仍然屬于多變量的線性模型,因?yàn)樵?FM 模型中,對(duì)于每個(gè)參數(shù)θ∈{w0,{wi},{vif}},都可以得到,其中,g和h與θ無(wú)關(guān).而現(xiàn)實(shí)世界中的數(shù)據(jù)關(guān)系通常是高度非線性的,無(wú)法直接采用線性模型或淺層模型來(lái)表達(dá).FM屬于淺層模型,可以有效提取1階特征和2階特征,但是難以挖掘高階特征.盡管特征工程技術(shù)能夠幫助FM提高精度,但是特征的自動(dòng)組合非常重要,已成為推薦系統(tǒng)的熱點(diǎn)研究方向之一,深度學(xué)習(xí)作為一種先進(jìn)的非線性模型技術(shù)在特征組合挖掘方面具有很大的優(yōu)勢(shì).

      深度學(xué)習(xí)應(yīng)用于預(yù)測(cè)和推薦系統(tǒng)后,激發(fā)并產(chǎn)生了很多相關(guān)研究和成果[64-66].Zhang等人把這些模型分為兩類:一類是只使用深度學(xué)習(xí)模型,可以是單一模型,也可以集成多個(gè)不同模型來(lái)提高推薦的多樣性;另一類是把深度學(xué)習(xí)與傳統(tǒng)推薦方法結(jié)合起來(lái),可以采用松耦合或者緊耦合的策略[67].實(shí)踐結(jié)果表明:深度學(xué)習(xí)適用于某些方面,如深度卷積神經(jīng)網(wǎng)絡(luò)(deep CNN)非常適合圖像特征的提取[68],但是傳統(tǒng)模型解釋性更強(qiáng),所以將兩者結(jié)合將更有效.Wide&Deep框架自被谷歌提出后被廣泛研究和使用[7],此框架是線性模型和深度學(xué)習(xí)模型有機(jī)結(jié)合的典范,寬度(wide)部分用于提高記憶性(memorization)能力,深度(deep)部分用于增強(qiáng)泛化性(generalization)能力,Deep&Cross模型對(duì)寬度部分進(jìn)行進(jìn)一步擴(kuò)展[69].由于 FM 模型在預(yù)測(cè)/推薦領(lǐng)域占有非常重要的地位,因而FM模型及深度學(xué)習(xí)模型的集成方面展開(kāi)了大量研究,以下將進(jìn)行詳細(xì)闡述.

      3.1 FNN模型

      FM支持的神經(jīng)網(wǎng)絡(luò)(factorization machine supported neural network,簡(jiǎn)稱FNN)模型于2016年被提出[70],其思路為:采用FM模型對(duì)原始特征的嵌入層進(jìn)行初始化,將FM的輸出作為輸入放到深度神經(jīng)網(wǎng)絡(luò)(dense neural network,簡(jiǎn)稱DNN)中.圖3所示為本文對(duì)該模型的結(jié)構(gòu)描述.FNN證明:利用FM初始化參數(shù)能夠使梯度更快地收斂,最大限度地避免訓(xùn)練過(guò)程陷入局部最小,可以獲得更好的結(jié)果.

      Fig.3 Architecture of FNN model圖3 FNN模型結(jié)構(gòu)

      模型中最底層是FM模型,通過(guò)訓(xùn)練后生成一個(gè)z向量,表示為

      模型隱含層表示為

      其中,a(1)是第1層(向量z)的輸出;a(l+1)是第(l+1)層的輸入,也是第l層的輸出;f(*)為激活函數(shù),如sigmoid,tanh,relu等;w和b分別為權(quán)重矩陣和偏置.

      FNN可以認(rèn)為是采用FM初始化的Wide&Deep模型的深度部分.SNN模型與FNN模型的區(qū)別在于底層的訓(xùn)練方法不同,它采用全連接方式,初始化時(shí)采用限制玻爾茲曼機(jī)(RBM)和自動(dòng)編碼機(jī)(DAE).

      PNN模型也采用類似Wide&Deep的框架,不過(guò)它在嵌入特征時(shí)增加了兩兩交叉的功能,而不是把所有的參數(shù)直接輸入到隱藏層[71].

      3.2 Wide&Deep模型

      Wide&Deep模型是谷歌2016年提出[7],最早是用來(lái)解決Google Play應(yīng)用商店的APP推薦問(wèn)題.模型中將推薦看做是一個(gè)搜索排序問(wèn)題,輸入用戶和文本信息的集合,輸出經(jīng)過(guò)排序的物品列表.推薦主要解決兩類問(wèn)題:記憶性和泛化性.記憶性由寬度模型主導(dǎo),根據(jù)歷史數(shù)據(jù)學(xué)到的信息,比如“百靈鳥(niǎo)會(huì)飛”、“老鷹會(huì)飛”;泛化性由深度模型主導(dǎo),推斷在歷史數(shù)據(jù)中從未見(jiàn)過(guò)的情形,比如“飛機(jī)會(huì)飛”.具體到推薦系統(tǒng)中,記憶性主要學(xué)習(xí)用戶行為習(xí)慣,向用戶推薦與歷史購(gòu)買信息相關(guān)的物品,解決準(zhǔn)確性問(wèn)題;泛化性是指可以向用戶推薦其從未購(gòu)買過(guò)的物品.Wide&Deep模型將寬度模型(傳統(tǒng)的線性模型)和深度模型(深度學(xué)習(xí)模型)融合在一起進(jìn)行訓(xùn)練,圖4所示為本文對(duì)該模型的結(jié)構(gòu)描述(寬度部分和深度部分的輸入特征不同).

      寬度部分采用線性結(jié)構(gòu),數(shù)學(xué)公式為φwide=wTx+b,其中,x為特征矩陣,w為權(quán)重矩陣,b為偏置.與傳統(tǒng)邏輯回歸不同的是,這里的x包含原始特征和少數(shù)人工選擇的交叉特征.雖然沒(méi)有使用FM模型,但是應(yīng)用了該模型中特征交叉這一思想.

      深度部分采用DNN模型.由于人工構(gòu)建的交叉特征有限,而交叉特征的類別可能包含多個(gè),如3個(gè)或4個(gè),因此需要DNN自動(dòng)構(gòu)建一些特征,數(shù)學(xué)公式為

      其中,a(l)是第(l+1)層的輸入,也是第l層的輸出;f(*)為激活函數(shù)如sigmoid;w(l)和b(l)分別為第l層權(quán)重矩陣和偏置.

      從特征角度分析,寬度部分主要學(xué)習(xí)1階特征和少量2階特征,deep部分用來(lái)學(xué)習(xí)高階特征.其優(yōu)勢(shì)是同時(shí)學(xué)習(xí)低階特征和高階特征.

      Fig.4 Architecture of Wide&Deep model圖4 Wide&Deep模型結(jié)構(gòu)

      3.3 Deep&Cross模型

      Wide&Deep模型中,寬度部分采用基于邏輯回歸的簡(jiǎn)單線性模型,它無(wú)法獲得充分的低階特征交互信息,為了彌補(bǔ)這一不足,Deep&Cross提出采用Cross網(wǎng)絡(luò)作為寬度模型來(lái)獲取低階交互信息[72],而且Cross網(wǎng)絡(luò)可以變換為FM等模型,所以具有非常好的一般性,圖5所示為本文對(duì)該模型的結(jié)構(gòu)描述(寬度模型使用Cross網(wǎng)絡(luò),可以用FM模型替換).

      Fig.5 Architecture of Deep&Cross model圖5 Deep&Cross模型結(jié)構(gòu)

      3.4 DeepFM模型

      Wide&Deep模型以及 Deep&Cross模型中,寬度和深度部分采用不同的輸入,這要求在模型使用中能夠判斷特征的選擇.在DeepFM模型[73]中,寬度和深度部分共享原始的輸入特征向量,模型更易于使用,圖6所示為本文對(duì)該模型的結(jié)構(gòu)描述(寬度和深度部分共享原始的輸入特征向量,使得模型更易于使用).從特征角度來(lái)看,DeepFM的寬度部分采用了2階的FM模型結(jié)構(gòu),主要學(xué)習(xí)1階特征和2階特征,這也改進(jìn)了Wide&Deep模型中的寬度部分,增加了更多的低階特征交互學(xué)習(xí).考慮到CNN模型偏向相鄰特征的交互,RNN模型偏向點(diǎn)擊數(shù)據(jù)的預(yù)測(cè),所以DeepFM的深度部分采用DNN模型.

      Fig.6 Architecture of DeepFM model圖6 DeepFM模型結(jié)構(gòu)

      3.5 NFM模型

      NFM模型[74]也采用了類似Wide&Deep的寬度和深度學(xué)習(xí)框架,其輸出表示為

      其中,第1、2部分是線性回歸模型,與FM一致;第3部分的f(x)是模型的核心,主要對(duì)特征交互進(jìn)行建模,是一個(gè)多層前向神經(jīng)網(wǎng)絡(luò).圖7所示為本文對(duì)該模型的結(jié)構(gòu)描述(深度學(xué)習(xí)部分的輸入是交互特征).

      Fig.7 Architecture of NFM model圖7 NFM模型結(jié)構(gòu)

      3.6 寬度和深度學(xué)習(xí)模型集成方式分析

      FNN模型實(shí)現(xiàn)了Wide&Deep框架的深度部分,它采用FM對(duì)參數(shù)進(jìn)行初始化,然后再深度學(xué)習(xí).DeepFM與PNN結(jié)構(gòu)很相似,不同在于FM模型處理的屬性被單獨(dú)作為寬度部分.DeepFM與Wide&Deep的不同在于:它把寬度部分的屬性替換為FM處理后的屬性,而且寬度部分與深度部分輸入相同.NFM模型也是基于Wide&Deep框架,主要通過(guò)輸入特征的預(yù)處理來(lái)提高推薦效果.Deep&Cross模型則是對(duì)文本信息進(jìn)行處理,并且將ResNet[75]應(yīng)用到非圖像領(lǐng)域.表2對(duì)這些模型的特征進(jìn)行了綜合比較.

      Table 2 Comparison of depth learning model based on FM model and linear model表2 基于FM模型的深度學(xué)習(xí)模型比較

      這些模型基本包括了傳統(tǒng)模型(尤其是FM)與深度學(xué)習(xí)模型的不同融合方式,有些是松耦合(兩者的最后結(jié)果進(jìn)行合并),有些是緊耦合(一個(gè)模型的輸入依賴于另一個(gè)模型).實(shí)際應(yīng)用中,如果要提高預(yù)測(cè)或推薦的精度,需要結(jié)合應(yīng)用領(lǐng)域來(lái)增加特征工程.

      為了深入理解不同模型及其不同結(jié)構(gòu)的優(yōu)勢(shì),本項(xiàng)目組提出了DGFFM模型.模型中,寬度部分采用FFM模型,深度部分采用DenseNet模型,并且在特征中添加了時(shí)間動(dòng)態(tài)因子.因?yàn)镕NN和Wide&Deep采用兩種典型的框架,所以本文實(shí)現(xiàn)了兩種DGFFM模型:DGFFM(W&D)模型采用Wide&Deep結(jié)構(gòu),DGFFM(FNN)采用FNN的結(jié)構(gòu).實(shí)驗(yàn)采用的硬件平臺(tái)為 Inter? Core? i7-7700 CPU@3.60GHz,65.86GB內(nèi)存,976GB硬盤,64位 Ubuntu 16.04操作系統(tǒng)的工作站;編程語(yǔ)言為 Python,框架使用 TensorFlow;數(shù)據(jù)集為 MovieLens 1M 數(shù)據(jù)集(簡(jiǎn)寫為ml-1m,http://grouplens.org/datasets/movielens/1m/)和 Criteo數(shù)據(jù)集,ml-1m(softmax分類)中采用 RMSE評(píng)價(jià)指標(biāo),Criteo(二分類問(wèn)題)中采用AUC和LogLoss評(píng)價(jià)指標(biāo).模型比較結(jié)果見(jiàn)表3,其中,FNN,DeepFM和DGFFM的隱向量維度均設(shè)置為20.DenseNet部分輸出通道設(shè)置:ml-1m為[100,48,32],分別指模塊1輸出通道數(shù)、翻譯層輸出通道數(shù)和模塊 2輸出通道數(shù),Criteo為[256,128,64].由于各種深度模型適用于不同的應(yīng)用場(chǎng)合,所以在實(shí)驗(yàn)中沒(méi)有測(cè)試每種模型的效果,只把所提出的DGFFM模型與FNN和DeepFM(采用Wide&Deep框架)模型進(jìn)行了對(duì)比.

      Table 3 Accurace comparison of different models表3 模型精度比較

      根據(jù)表3的實(shí)驗(yàn)結(jié)果,得出以下結(jié)論.

      1) DeepFM在兩個(gè)數(shù)據(jù)集上均比FNN取得了更好的效果.在ml-1m上,DeepFM的RMSE減少1.5%;在Criteo上,LogLoss減少1.9%,AUC提高0.6%.這在一定程度上說(shuō)明Wide&Deep具有結(jié)構(gòu)優(yōu)勢(shì);

      2) 3個(gè)模型中,DGFFM均取得了最好的結(jié)果.其原因是DGFFM在寬度學(xué)習(xí)部分基于FFM模型,增加了時(shí)間因子以及其他的特征工程,而且DenseNet相對(duì)于標(biāo)準(zhǔn)DNN也具有一定優(yōu)勢(shì),寬度和深度兩部分優(yōu)勢(shì)相結(jié)合,進(jìn)一步提高了模型的預(yù)測(cè)精度;

      3) DGFFM(W&D)結(jié)果略好于 DGFFM(FNN),在 ml-1m上,RMSE減少 2.8%;在 Criteo上,LogLoss減少3.4%,AUC提高0.2%.由于Wide&Deep結(jié)構(gòu)中為了保證最終層數(shù)不變,深度部分初始輸入采用的是偏置+一次項(xiàng),因此Wide&Deep結(jié)構(gòu)中的DGFFM比FNN結(jié)構(gòu)中的DGFFM多了一部分,這可能對(duì)最終結(jié)果也造成了一些影響.但總體而言,Wide&Deep結(jié)構(gòu)略好于FNN結(jié)構(gòu).

      4 FM模型學(xué)習(xí)與分布式并行實(shí)現(xiàn)

      4.1 FM模型的學(xué)習(xí)與優(yōu)化

      Rendle等人采用3種學(xué)習(xí)方法訓(xùn)練FM模型:SGD、交替最小二乘法(alternating least-squares,簡(jiǎn)稱ALS)和馬爾可夫蒙特卡洛(Markov chain Monte Carlo,簡(jiǎn)稱MCMC),這些都可以在libFM中找到源碼[21].Bayer等人提出了庫(kù)fastFM[76],實(shí)現(xiàn)了FM的回歸、分類和排序,簡(jiǎn)化了FM的使用.從關(guān)系型數(shù)據(jù)設(shè)計(jì)矩陣會(huì)非常龐大,使得學(xué)習(xí)和預(yù)測(cè)變得緩慢或者從標(biāo)準(zhǔn)的機(jī)器學(xué)習(xí)算法不可行的角度,Rendle等人針對(duì)關(guān)系型數(shù)據(jù)實(shí)現(xiàn)了 FM[77].針對(duì)FM中包含一個(gè)非凸優(yōu)化問(wèn)題,導(dǎo)致局部最小化,Blondel等人提出基于核范式的FM的凸形式,采用雙塊坐標(biāo)下降算法(two-block coordinate descent algorithm)優(yōu)化學(xué)習(xí)[78].Yuan等人提出兩種優(yōu)化策略——RankingFM(ranking factorization machine)和LambdaFM(lambda factorization machine)優(yōu)化FM模型[79].

      Pan等人針對(duì)廣告交易數(shù)據(jù)的稀疏性,即存在大量零元素,可能會(huì)嚴(yán)重影響 FM 模型的性能,提出一種新的稀疏因子分解機(jī)(SFM)模型[80],其中使用拉普拉斯分布而不是傳統(tǒng)的高斯分布來(lái)對(duì)參數(shù)進(jìn)行建模,因?yàn)槔绽狗植伎梢愿玫財(cái)M合更高比例的稀疏數(shù)據(jù)零元素.Saha等人提出了 NPFM[81],它假設(shè)數(shù)據(jù)服從泊松分布(Poisson distribution),這對(duì)于建模和數(shù)據(jù)訓(xùn)練計(jì)算都非常有利;NPFM 作為一個(gè)非參數(shù)模型,會(huì)從數(shù)據(jù)本身發(fā)現(xiàn)最適合的隱因子數(shù)量.由于FM中用戶、物品和上下文變量之間的交互被建模成它們各自隱因子特征的線性組合(linear combination),但是將用戶、物品和上下文變量之間的交互限制成線性組合并不現(xiàn)實(shí),為了解決這一限制,Nguyen等人提出了高斯過(guò)程的因子分解機(jī)(Gaussian process factorization machine,簡(jiǎn)稱GPFM)模型,即:使用高斯過(guò)程的非線性概率算法來(lái)應(yīng)對(duì)上下文感知推薦,可以被應(yīng)用到隱式反饋數(shù)據(jù)和顯式反饋數(shù)據(jù)集[82].一般的高斯處理回歸的推斷和學(xué)習(xí)算法都是關(guān)于數(shù)據(jù)集樣本大小的立方級(jí)復(fù)雜度(cubic complexity),Huang等人提出了GGPFM(grid-based Gaussian processes factorization machine)模型捕捉用戶與物品之間的非線性交互[83],將潛在特征(latent features)賦予網(wǎng)格結(jié)構(gòu)(grid structures)降低模型復(fù)雜度.通常的學(xué)習(xí)和訓(xùn)練方法即可滿足一般的應(yīng)用需求,但是不同的應(yīng)用背景對(duì)應(yīng)不同的特征,模型學(xué)習(xí)和優(yōu)化方式的調(diào)整可以提高精度,不過(guò)都需要通過(guò)實(shí)驗(yàn)來(lái)反復(fù)驗(yàn)證.

      4.2 FM模型的并行實(shí)現(xiàn)

      精度和效率是評(píng)價(jià)預(yù)測(cè)/推薦模型的兩個(gè)重要指標(biāo).通過(guò)從寬度上改進(jìn)模型以及從深度上與深度學(xué)習(xí)模型的集成,可以極大地提高模型的精度.FM 提供了線性的計(jì)算復(fù)雜度和有用的數(shù)據(jù)嵌入,但是當(dāng)數(shù)據(jù)和特征規(guī)模增大時(shí),模型的擴(kuò)展代價(jià)非常高.FM 與深度學(xué)習(xí)集成后,大數(shù)據(jù)和模型擴(kuò)展性問(wèn)題更加嚴(yán)重.機(jī)器學(xué)習(xí)算法的獨(dú)特性在于:(1) 迭代性,模型的更新需要循環(huán)迭代多次;(2) 容錯(cuò)性,每個(gè)循環(huán)中可能產(chǎn)生的錯(cuò)誤不影響模型最終的收斂;(3) 參數(shù)收斂的非均勻性,模型中有些參數(shù)經(jīng)過(guò)幾次循環(huán)后不再改變,其他參數(shù)可能仍需要很長(zhǎng)時(shí)間收斂.面對(duì)海量的數(shù)據(jù)加上復(fù)雜的數(shù)學(xué)運(yùn)算,這些決定了分布式機(jī)器學(xué)習(xí)系統(tǒng)的特殊性.大數(shù)據(jù)的機(jī)器學(xué)習(xí)存在著許多挑戰(zhàn)和機(jī)遇[84,85],通常會(huì)采用兩種方案.

      · 首先是數(shù)據(jù)并行方案.采用經(jīng)典的主-從服務(wù)模式對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行劃分,分布式存儲(chǔ)到各個(gè)節(jié)點(diǎn)上,每個(gè)節(jié)點(diǎn)都運(yùn)行著一個(gè)或多個(gè)模型訓(xùn)練進(jìn)程,各自完成前向和后向的計(jì)算得到梯度;訓(xùn)練結(jié)束后,各節(jié)點(diǎn)把參數(shù)傳遞給主服務(wù)器進(jìn)行參數(shù)的合并與更新,主服務(wù)器把更新后的參數(shù)再分發(fā)到各個(gè)節(jié)點(diǎn),再次進(jìn)行訓(xùn)練.通過(guò)多個(gè)節(jié)點(diǎn)并行訓(xùn)練來(lái)提高學(xué)習(xí)效率;

      · 其次是結(jié)構(gòu)并行方案.當(dāng)模型巨大、單機(jī)內(nèi)存不足時(shí),將計(jì)算工作進(jìn)行劃分,即同一個(gè)大模型的不同部分交給不同節(jié)點(diǎn)負(fù)責(zé)(如多層網(wǎng)絡(luò)的各個(gè)節(jié)點(diǎn)),不過(guò),這樣會(huì)產(chǎn)生很大的通信開(kāi)銷.結(jié)構(gòu)并行相對(duì)數(shù)據(jù)并行更加復(fù)雜,不過(guò)開(kāi)源框架如TensorFlow平臺(tái)直接支持結(jié)構(gòu)并行.

      目前,主流的解決方案是使用分布式框架和并行計(jì)算模式,硬件方面則使用 GPU和 TPU等進(jìn)行加速.以下將總結(jié)FM及其變體在提高效率方面的相關(guān)研究.

      MapReduce并行計(jì)算模式在大數(shù)據(jù)處理領(lǐng)域應(yīng)用非常廣泛,也可被用于提高FM的學(xué)習(xí)效率.Sun等人實(shí)現(xiàn)了基于 MapReduce的 SGD算法用于 FM 模型的學(xué)習(xí),主要通過(guò)數(shù)據(jù)并行來(lái)提高模型的學(xué)習(xí)效率.不過(guò),MapReduce模式的特征也決定了其更適合處理數(shù)據(jù)并行[86].Yan等人基于spark平臺(tái)實(shí)現(xiàn)FM模型的學(xué)習(xí),其核心思想與MapReduce類似[47].Knoll等人采用參數(shù)服務(wù)器(parameter server,簡(jiǎn)稱PS)為FM提出一種分布式的SG算法[22].PS是一個(gè)算法的計(jì)算引擎,其計(jì)算由兩組分開(kāi)的計(jì)算機(jī)完成:服務(wù)器(server)和工作者(worker). server用于管理和更新模型的參數(shù),worker處理訓(xùn)練數(shù)據(jù),任務(wù)調(diào)度器和資源管理器負(fù)責(zé)控制數(shù)據(jù)流.Li等人也采用 PS,通過(guò)一個(gè)依賴圖(dependency graph,簡(jiǎn)稱DAG)提供了靈活的數(shù)據(jù)一致性模型[87].Zhong等人在參數(shù)服務(wù)器上實(shí)現(xiàn)了分布式的FM,即DiFacto,采用自適應(yīng)的內(nèi)存限制和頻度自適應(yīng)的正則化機(jī)制,基于數(shù)據(jù)和模型統(tǒng)計(jì)來(lái)執(zhí)行細(xì)粒度的控制,并在多臺(tái)機(jī)器分發(fā) DiFacto[88].Li等人提出一個(gè)新的系統(tǒng)框架,集成了參數(shù)服務(wù)器和 MapReduce模式.通過(guò)MapReduce實(shí)現(xiàn)數(shù)據(jù)并行,通過(guò)PS實(shí)現(xiàn)模型并行,并解決了通信開(kāi)銷問(wèn)題和參數(shù)更新沖突問(wèn)題[89].機(jī)器學(xué)習(xí)離不開(kāi)分布式并行計(jì)算框架和GPU等硬件的支持.

      5 FM模型研究展望

      “互聯(lián)網(wǎng)+”的發(fā)展以及大數(shù)據(jù)技術(shù)正在開(kāi)啟一個(gè)全新認(rèn)知的大數(shù)據(jù)時(shí)代,FM 模型是目前預(yù)測(cè)/推薦領(lǐng)域研究和應(yīng)用最廣泛的模型之一.圖8所示大數(shù)據(jù)環(huán)境下預(yù)測(cè)/推薦系統(tǒng)的框架及其所面臨的問(wèn)題.

      · 問(wèn)題 1:多源異構(gòu)數(shù)據(jù)帶來(lái)特征表示的多樣性和復(fù)雜性.尤其是視覺(jué)數(shù)據(jù),其特征維度高且數(shù)量大,傳統(tǒng)推薦主要關(guān)注非視覺(jué)文本數(shù)據(jù)及其交互,對(duì)非視覺(jué)和視覺(jué)特征的融合是新型推薦系統(tǒng)建立的基礎(chǔ);

      · 問(wèn)題 2:現(xiàn)有推薦模型對(duì)于特征進(jìn)化趨勢(shì)缺乏表示.用戶偏好與物品特征都會(huì)隨著時(shí)間而發(fā)生變化,對(duì)這些變化趨勢(shì)進(jìn)行合理建模將會(huì)提升推薦效果,動(dòng)態(tài)特征的提取與表示是構(gòu)建動(dòng)態(tài)推薦模型的關(guān)鍵;

      · 問(wèn)題 3:傳統(tǒng)模型與深度學(xué)習(xí)框架適用于不同領(lǐng)域,現(xiàn)有的融合方法不論是共享輸入還是獨(dú)立輸入,兩部分都是松耦合,兩者的結(jié)合主要用于增加推薦的多樣性.為了發(fā)揮共同優(yōu)勢(shì),需要研究模型的集成策略;

      · 問(wèn)題4:大數(shù)據(jù)要求模型和訓(xùn)練算法具有高擴(kuò)展性和高效率,盡管通用分布式計(jì)算框架提供了并行處理支持,但兩類不同的學(xué)習(xí)方式具有不同的要求,相關(guān)并行處理方法和關(guān)鍵技術(shù)還需進(jìn)一步研究.

      Fig.8 Framework of prediction & recommendation system and the problems faced by big data environment圖8 預(yù)測(cè)/推薦系統(tǒng)框架及大數(shù)據(jù)環(huán)境下所面對(duì)的問(wèn)題

      通過(guò)對(duì)已有FM的相關(guān)研究和應(yīng)用進(jìn)行分析,我們認(rèn)為,目前工作可以從以下兩方面進(jìn)行深入.

      5.1 時(shí)間動(dòng)態(tài)性

      動(dòng)態(tài)建模是推薦系統(tǒng)面臨的挑戰(zhàn)之一.Koren將時(shí)間動(dòng)態(tài)性應(yīng)用到矩陣奇異值分解模型SVD中,通過(guò)提取非視覺(jué)特征的時(shí)間動(dòng)態(tài)因子,分別對(duì)用戶偏置和物品偏置進(jìn)行動(dòng)態(tài)建模,取得了較好的推薦效果[11].He等人同時(shí)對(duì)非視覺(jué)特征和視覺(jué)特征進(jìn)行輕量級(jí)的時(shí)間建模,雖然沒(méi)有對(duì)變化趨勢(shì)進(jìn)行細(xì)分,但也極大地改善了推薦結(jié)果[90].谷歌將流行趨勢(shì)劃分為6類:持續(xù)上升、季節(jié)上升、突然上升、持續(xù)下降、季節(jié)下降和突然下降,基本囊括時(shí)尚物品的所有變化特性.用戶行為變化趨勢(shì)和物品變化趨勢(shì)有較大差異,通常短期內(nèi)物品的流行趨勢(shì)變化不明顯,研究不同特征的不同變化趨勢(shì)對(duì)于構(gòu)建推薦模型具有重要意義[91].相關(guān)研究屬于特征工程領(lǐng)域,即在原有的屬性中添加時(shí)間因子.FM模型中可以歸納為兩類時(shí)間動(dòng)態(tài)性:偏置動(dòng)態(tài)性和特征動(dòng)態(tài)性.

      (1) 偏置動(dòng)態(tài)性.

      在推薦系統(tǒng)中,又分為用戶的偏置動(dòng)態(tài)性和物品的偏置動(dòng)態(tài)性.設(shè)置用戶偏置動(dòng)態(tài)性的原因在于:用戶對(duì)物品的評(píng)分習(xí)慣可能會(huì)隨著時(shí)間而發(fā)生變化.例如,用戶Aphro過(guò)去傾向于給電影《秒速五厘米》評(píng)9分,現(xiàn)在她對(duì)于動(dòng)畫(huà)片的狂熱減退,只會(huì)評(píng) 8分.同樣地,設(shè)置物品的偏置動(dòng)態(tài)性的原因在于:隨著時(shí)間的推移,物品的人氣會(huì)隨之變化.以電影《戰(zhàn)狼2》為例,上映4小時(shí)的票房達(dá)9 741萬(wàn),接著,憑借演員精湛的演繹、電影較好的口碑以及網(wǎng)絡(luò)話題的引燃而迅速火熱起來(lái),上映10天,票房便突破31億.偏置動(dòng)態(tài)性的表示可以在用戶偏置bu中添加如下時(shí)間函數(shù):

      其中,b是靜態(tài)偏置,τ(t)是一個(gè)時(shí)間函數(shù).對(duì)τ(t)進(jìn)行建模,常用方式是建立簡(jiǎn)單的時(shí)間線性模型,如 timeSVD++.然而,實(shí)際應(yīng)用場(chǎng)景的表現(xiàn)通常是非線性的,甚至可能是無(wú)規(guī)則的,很難用確定的公式表示.

      (2) 特征動(dòng)態(tài)性.

      對(duì)于屬性xi(1≤i≤n),可以細(xì)分成隨時(shí)間變化的動(dòng)態(tài)屬性和保持穩(wěn)定的靜態(tài)屬性,靜態(tài)屬性不需額外處理,動(dòng)態(tài)屬性則可添加時(shí)間變化函數(shù),調(diào)整為

      其中,f(·)是非線性激活函數(shù).這些偏置函數(shù)和屬性函數(shù)可以加入到FM模型中,對(duì)其靜態(tài)偏置和屬性進(jìn)行調(diào)整.

      5.2 視覺(jué)和非視覺(jué)屬性融合

      傳統(tǒng)推薦方法與模型主要關(guān)注非視覺(jué)文本特征及其交互,如用戶與物品的固有特征描述、物品的星級(jí)評(píng)分、用戶的購(gòu)買歷史、書(shū)簽、瀏覽日志、查詢模式、鼠標(biāo)活動(dòng)等.隨著機(jī)器視覺(jué)領(lǐng)域中深度學(xué)習(xí)的廣泛應(yīng)用,圖像特征開(kāi)始被關(guān)注,高維視覺(jué)特征也作為預(yù)測(cè)/推薦模型屬性的一部分.視覺(jué)特征容易獲得且描述準(zhǔn)確,因此,如何提取高維視覺(jué)特征以及如何把非視覺(jué)低維特征和視覺(jué)高維特征進(jìn)行有效融合,成為目前推薦領(lǐng)域的研究熱點(diǎn)[92-94],并在RecSys 2017會(huì)議中作為重要主題列出.

      deep CNN模型最近被成功應(yīng)用于對(duì)象檢測(cè)、圖像匹配等領(lǐng)域,相關(guān)研究已證明:基于海量數(shù)據(jù)訓(xùn)練的deep CNN模型可以精確應(yīng)用于其他數(shù)據(jù)集,在新的數(shù)據(jù)集中仍然能夠產(chǎn)生很好的效果.假設(shè)fi表示物品i的原始視覺(jué)特征向量,維度為D維(可以通過(guò)AlexNet,ResNet等預(yù)先訓(xùn)練好,比如取AlexNet的第2個(gè)全連接層FC7的輸出作為原始視覺(jué)特征向量),那么視覺(jué)特征θi可以按如下方式建模:

      其中,E是一個(gè)維度為D×F矩陣.此時(shí),θi的特征維度為F(F<<D),從而達(dá)到降維的目的.兩個(gè)物品之間的視覺(jué)關(guān)系可以表示為

      這種低秩嵌入方法僅僅能捕獲兩個(gè)物品是否關(guān)聯(lián),關(guān)聯(lián)的原因則不能表達(dá).實(shí)際應(yīng)用中,物品之間的關(guān)聯(lián)關(guān)系可能體現(xiàn)為多種原因,如一件 T-恤和一條短裙搭配合適的原因可能是顏色、質(zhì)地或者款式等.為了解決這個(gè)問(wèn)題,可以考慮采用多重嵌入,兩個(gè)物品之間的關(guān)系可以表示為

      其中,E0把物品i對(duì)應(yīng)到一個(gè)參考點(diǎn),對(duì)應(yīng)到一個(gè)嵌入空間,Ek(k=1,2,…,N)表示與物品j的潛在匹配.傳統(tǒng)的FM主要面向文本等非視覺(jué)特征,如果把視覺(jué)特征也融入到FM模型中,這樣FM模型的應(yīng)用將更加廣泛.

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

      在預(yù)測(cè)/推薦系統(tǒng)領(lǐng)域,FM 模型被廣泛研究與應(yīng)用.沒(méi)有萬(wàn)能的模型,不同業(yè)務(wù)場(chǎng)景對(duì)模型的輸入特征、處理邏輯和輸出類別會(huì)有不同要求.本文從寬度擴(kuò)展和深度擴(kuò)展視角對(duì) FM 模型及其變體的研究進(jìn)行綜述,希望能夠提供不同的思路,為應(yīng)用提供不同的選擇方案.從對(duì)國(guó)內(nèi)外高水平期刊及會(huì)議上的文獻(xiàn)分析可以看出:將傳統(tǒng)FM模型與深度學(xué)習(xí)模型相結(jié)合、將視覺(jué)與非視覺(jué)特征進(jìn)行融合是研究熱點(diǎn).現(xiàn)有相關(guān)工作可以從以下幾點(diǎn)進(jìn)行深入:(1) 研究非視覺(jué)特征和視覺(jué)特征的融合,目前的相關(guān)研究缺乏對(duì)用戶行為和物品變化趨勢(shì)的差異化和細(xì)粒度處理;(2) 寬度和深度兩種學(xué)習(xí)方式的融合目前主要用于增加推薦的多樣性,其耦合方式以及對(duì)精度和效率的影響還需進(jìn)一步研究.

      猜你喜歡
      物品深度預(yù)測(cè)
      無(wú)可預(yù)測(cè)
      黃河之聲(2022年10期)2022-09-27 13:59:46
      稱物品
      選修2-2期中考試預(yù)測(cè)卷(A卷)
      選修2-2期中考試預(yù)測(cè)卷(B卷)
      “雙十一”,你搶到了想要的物品嗎?
      深度理解一元一次方程
      誰(shuí)動(dòng)了凡·高的物品
      深度觀察
      深度觀察
      深度觀察
      东安县| 乐至县| 寿宁县| 玛多县| 齐河县| 英德市| 镇坪县| 临汾市| 永定县| 略阳县| 永丰县| 云梦县| 海口市| 陇西县| 灵璧县| 耒阳市| 大冶市| 万荣县| 德格县| 新沂市| 新兴县| 尼玛县| 珠海市| 舞阳县| 衡阳县| 萝北县| 环江| 兴城市| 通海县| 凤冈县| 武宣县| 宜州市| 克拉玛依市| 保定市| 荣昌县| 祥云县| 习水县| 元朗区| 柞水县| 基隆市| 昆山市|