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

?

基于半監(jiān)督學(xué)習(xí)模型的協(xié)同過濾推薦算法

2022-09-28 09:17崔瑩瑩王紅霞
關(guān)鍵詞:標簽向量矩陣

崔瑩瑩,陳 卓,王紅霞

(青島科技大學(xué)信息科學(xué)技術(shù)學(xué)院,山東 青島 266061)

0 引言

隨著信息技術(shù)以及互聯(lián)網(wǎng)的快速發(fā)展,推薦系統(tǒng)已成為一個領(lǐng)域中不可或缺的關(guān)鍵要素之一,其主要目的是在“信息過載”的大環(huán)境下,為用戶精準推薦其感興趣的事物,減少“選擇困難”,提高選擇效率,因此被廣泛應(yīng)用于各領(lǐng)域,例如淘寶、音樂軟件、論壇等.推薦算法是推薦系統(tǒng)的核心關(guān)鍵,其根據(jù)用戶行為和特征以及物品特征等信息來進行推薦.推薦算法又分為協(xié)同過濾推薦算法、基于內(nèi)容的推薦算法、基于物品的推薦算法等,其中協(xié)同過濾推薦算法近年來被廣泛應(yīng)用在各大領(lǐng)域,該算法不依賴于物品內(nèi)容,僅依靠評分來表示用戶對項目的喜好程度,但用戶與項目之間的交互矩陣常常較為稀疏,數(shù)據(jù)大多由有標簽數(shù)據(jù)和無標簽數(shù)據(jù)組成,且存在數(shù)據(jù)不均衡問題,嚴重影響推薦效率,也造成了不必要的資源浪費.隨著各領(lǐng)域規(guī)模的擴大以及用戶量的不斷增長,解決用戶與項目之間的稀疏性成為推薦系統(tǒng)中亟待解決的核心問題.

為了解決上述問題,本文提出基于半監(jiān)督學(xué)習(xí)模型的協(xié)同過濾推薦算法,并通過對比實驗驗證了所提出算法的有效性.

1 相關(guān)工作

推薦系統(tǒng)被用來將信息元素(電影、書籍等)推薦給可能對其感興趣的社會元素(人、組織等).

推薦算法可以通過挖掘用戶偏好來幫助用戶篩選信息,較為傳統(tǒng)的推薦算法是結(jié)合協(xié)同過濾的思想,該思想根據(jù)用戶的歷史行為找到與目標用戶興趣愛好相似的一組用戶集合,進而對目標用戶推薦這組用戶集合所喜好的項目[1].

Sedhain等[2]提出結(jié)合自編碼器的協(xié)同過濾算法,預(yù)測出丟失的評分,提高了物品之間相似度計算的準確性;在此基礎(chǔ)之上,霍歡等[3]提出棧式降噪自編碼器的標簽協(xié)同過濾推薦算法,進一步解決了數(shù)據(jù)的稀疏性問題,但該模型的算法復(fù)雜度較高,性能不佳;王根生等[4]通過計算不同元路徑下的用戶相似度,得出用戶相似度矩陣,然后將其融合到矩陣分解推薦算法的目標函數(shù)中;JAMALI等[5]提出的SocialMF模型將信任傳播機制引入到矩陣分解中;HE等[6]提出的NeuMF模型將多層感知機與傳統(tǒng)矩陣分解相結(jié)合,可以同時抽取低維和高維的特征;羅達雄等[7]提出了一種基于隱性行為的問題解決者推薦算法,通過計算基于標簽的隱性行為變量,解決問題的傾向性變量,并結(jié)合能力變量使用貝葉斯多變量回歸得到開發(fā)者得分,排序后進行推薦.

上述算法通常較依賴用戶與項目之間的交互信息以產(chǎn)生推薦結(jié)果,當(dāng)數(shù)據(jù)稀疏性問題加劇時,算法準確率會受到較大影響.

對于推薦系統(tǒng)來說,不僅要依靠現(xiàn)有的用戶/項目交互評分,學(xué)習(xí)到用戶點擊行為背后的隱性特征向量也十分關(guān)鍵.而深度學(xué)習(xí)具備充分挖掘數(shù)據(jù)隱含信息的能力,近年來被廣泛應(yīng)用于自然語言處理、計算機視覺等領(lǐng)域,并通過實踐證明,深度學(xué)習(xí)方法能夠顯著提高模型性能.鑒于深度學(xué)習(xí)此前取得的成功,研究人員也逐漸嘗試將深度學(xué)習(xí)融入推薦系統(tǒng)中,這些方法從特征出發(fā),從不同層次和角度使用相應(yīng)的深度學(xué)習(xí)方法完成推薦任務(wù).

馮興杰等[8]提出在利用圖神經(jīng)網(wǎng)絡(luò)提取關(guān)聯(lián)關(guān)系的同時,利用深度學(xué)習(xí)提取評論的優(yōu)勢提取用戶和商品的一般偏好,并進行特征融合來提升推薦效果;Cheng等[9]提出Wide&Deep模型,該模型融合深層Deep模型和淺層Wide模型進行聯(lián)合訓(xùn)練,綜合利用深層模型的泛化能力和淺層模型的記憶能力,兼顧了單模型對推薦系統(tǒng)的準確性和擴展性.針對Wide&Deep的淺層特征和深層特征不能交互共享的問題,Huifeng等[10]提出DeepFM模型,該模型在處理稀疏特征時,將稀疏的特征先進行向量化,得到高維稀疏特征,再將其轉(zhuǎn)化為低維稠密向量,然后將數(shù)據(jù)共同輸入深度神經(jīng)網(wǎng)絡(luò)與FM[11]相結(jié)合的模型中,其中使用FM做特征間低階組合,使用深度神經(jīng)網(wǎng)絡(luò)Deep部分做特征間高階組合,通過并行的方式組合兩個部分.

由于在用戶與項目交互過程中,用戶幾乎不能對每個項目都進行評分,這造成數(shù)據(jù)中既包含有標簽數(shù)據(jù),又存在無標簽數(shù)據(jù)[12].半監(jiān)督學(xué)習(xí)能夠在此種僅存在部分有標簽數(shù)據(jù)的情況下,使學(xué)習(xí)模型具有較高的正確率.

在半監(jiān)督學(xué)習(xí)的自訓(xùn)練算法中,為了解決偽標記數(shù)據(jù)選擇問題,Tanha等[13]使用基于距離的局部度量來確定實例之間的置信度等級,其性能有所提升;Dong等[14]提出的弱標簽的半監(jiān)督學(xué)習(xí)算法SSWL,通過考慮實例和標簽相似度來彌補缺失標簽;為了提升分類機器學(xué)習(xí)模型性能和泛化性,毛銘澤等[15]提出了一種基于權(quán)值多樣性的半監(jiān)督分類學(xué)習(xí)算法,從基于學(xué)習(xí)器的不同角度擴展模型的多樣性,提升了模型分類性能.在大多數(shù)半監(jiān)督學(xué)習(xí)研究中,主要通過集成學(xué)習(xí)方法來拓展模型或者數(shù)據(jù)的多樣性,從而提高偽標簽的準確性以提升模型性能.

在推薦系統(tǒng)的研究中,雖然有不少算法在嘗試解決數(shù)據(jù)稀疏性問題,但由于大多數(shù)數(shù)據(jù)本身較為稀疏的特點,難以訓(xùn)練出泛化能力強的模型,因而,稀疏性問題依舊是目前推薦系統(tǒng)的研究難點.

2 基于半監(jiān)督學(xué)習(xí)模型的協(xié)同過濾推薦算法(CFSS)

2.1 CFSS模型

針對目前推薦算法中現(xiàn)存的有評分的用戶/項目交互數(shù)據(jù)較為稀疏,且尚有部分無評分的用戶/項目交互數(shù)據(jù)的問題.本文借鑒半監(jiān)督學(xué)習(xí)的思想,將有評分的用戶/項目交互數(shù)據(jù)視為有標簽數(shù)據(jù),無評分的用戶/項目交互數(shù)據(jù)視為無標簽數(shù)據(jù),提出一種CFSS模型.算法模型如圖1所示.

圖1 CFSS模型

CFSS模型算法首先利用有標簽的用戶/項目交互數(shù)據(jù)和DeepFM模型算法,訓(xùn)練得到一個評分預(yù)測模型,再用該模型預(yù)測無標簽數(shù)據(jù)的評分,得到偽標簽.之后采用原始有標簽數(shù)據(jù)和偽標簽數(shù)據(jù)共同構(gòu)造用戶/項目交互矩陣,并利用交替最小二乘法(alternating least squares,ALS)分解該交互矩陣,從而得到用戶向量表示和項目向量表示,以此來預(yù)測空白項的評分.

2.2 評分預(yù)測

評分預(yù)測部分使用帶評分的用戶/項目交互數(shù)據(jù)訓(xùn)練DeepFM模型,并將訓(xùn)練用的稀疏的交互矩陣中的用戶特征向量和項目特征向量進行拼接后,放入DeepFM模型網(wǎng)絡(luò)中作為輸入進行訓(xùn)練.

為了對用戶特征進行向量表示,將用戶的離散特征經(jīng)過One-hot編碼轉(zhuǎn)換后,原來的低維用戶特征轉(zhuǎn)換為高維的稀疏向量.但為了降低向量維度、增加稠密度提升訓(xùn)練效果,本文對用戶特征進行自編碼,將高維稀疏向量轉(zhuǎn)化為低維稠密向量后,再輸入網(wǎng)絡(luò)進行訓(xùn)練.

連續(xù)特征內(nèi)各個數(shù)值可能存在差異較大或者其單位(尺度)不同的情況,例如某用戶的在線時間和好友數(shù),因此使用公式對其歸一化處理,避免出現(xiàn)模型訓(xùn)練速度降低等問題.具體公式為

(1)

其中:x表示實際特征值,μ表示同一特征下的平均特征值,xmax表示最大特征值,xmin表示最小特征值.經(jīng)過處理,原本差異懸殊的連續(xù)特征,都介于0到1之間.

將用戶特征向量和項目特征向量作為DeepFM模型的輸入.DeepFM算法模型如圖2所示.

圖2 DeepFM算法模型

模型左側(cè)為FM模塊,其具有線性時間復(fù)雜度的優(yōu)越性,能適用基于上下文或基于相關(guān)性的推薦.不僅可對一階特征進行建模,還能通過隱性向量點積來獲取二階特征表示,有效解決高維數(shù)據(jù)的稀疏問題,降低稀疏性對預(yù)測結(jié)果的影響,將輸入的特征連接為向量x進行輸入,F(xiàn)M模塊計算公式為

(2)

其中:b0表示偏置,wi表示第i個特征的權(quán)重,〈vi,vj〉表示第i個特征與第j個特征的相互作用.

模型右側(cè)部分是Deep模塊,是一個用于學(xué)習(xí)高階特征交互的前向神經(jīng)網(wǎng)絡(luò),可以將稀疏的表示特征映射為稠密的特征向量.其中輸入層和FM模塊共享,中間隱藏層第一層公式為

A(1)=W(0)x+b(0).

(3)

其中:W(0)為初始權(quán)重項,b(0)為初始偏置項.

Deep模塊最終的輸出計算公式為

yDNN=WH+1aH+bH+1.

(4)

其中:H表示隱藏層的層數(shù).得到FM模塊和Deep模塊的輸出后,便可以得到最終的預(yù)測結(jié)果為

(5)

本文用有標簽數(shù)據(jù)訓(xùn)練DeepFM算法,得到評分預(yù)測模型.然后用該模型為所有無標簽數(shù)據(jù)預(yù)測出偽標簽.

2.3 用戶隱性向量生成

傳統(tǒng)的矩陣分解算法,利用評分信息作為推薦依據(jù),當(dāng)評分數(shù)據(jù)稀疏時,不能準確獲取隱式反饋,影響推薦準確性[16].本文使用上一節(jié)中有標簽和預(yù)測得出的偽標簽兩種用戶/項目交互數(shù)據(jù),構(gòu)建新的用戶/項目交互矩陣之后使用ALS進行矩陣分解.

在推薦系統(tǒng)中矩陣分解(Matrix Factoriza-tion,MF)[17]算法是一種常用的協(xié)同過濾推薦方法,它將評分矩陣分解為兩個矩陣,目的是從所有已知評分數(shù)據(jù)中學(xué)習(xí)用戶的隱性偏好和項目隱性特征,然后利用用戶和項目的隱性向量的乘積來預(yù)測用戶/項目評分矩陣中的未知項,以便更好地為用戶推薦[18].常見的矩陣分解算法有奇異值分解(Singular Value Decomposition,SVD)、ALS[19]等.相比于SVD及其他矩陣分解算法,ALS更加適合于分解交互數(shù)據(jù)較為稀疏的矩陣,因此本文使用ALS對用戶/項目交互數(shù)據(jù)進行矩陣分解,以產(chǎn)生用戶和項目的隱性向量表示.形式如圖3所示.

圖3 用戶/項目交互矩陣

在CFSS模型中,使用ALS將用戶/項目評分矩陣RM×N分解為M×K的用戶隱性向量矩陣和K×N的項目隱性向量矩陣,其中超參數(shù)K為潛在因子空間,K越大越精準,計算時間也越長.

在ALS中,用戶/項目交互矩陣可以表示為用戶矩陣與項目矩陣的乘積,以此來近似用戶/項目評分矩陣,公式為

RM×N=PM×KDK×N.

(6)

其中:PM×K表示用戶隱性向量矩陣,DK×N表示項目隱性向量矩陣.

(7)

其中:pi表示用戶隱性向量,dj表示項目隱性向量.在計算PM×K與DK×N的乘積與原始矩陣的誤差時,損失函數(shù)的計算公式為

(8)

其中λ表示正則化系數(shù).為了優(yōu)化損失函數(shù),使用交替固定P和Q對損失函數(shù)求偏導(dǎo),降低損失函數(shù).

3 實驗結(jié)果與分析

本節(jié)通過對比實驗以及K折交叉驗證檢驗了本文提出的CFSS模型的有效性.

3.1 數(shù)據(jù)集

為了驗證本文提出的基于半監(jiān)督學(xué)習(xí)的協(xié)同過濾推薦算法的泛化性能,選取了公共數(shù)據(jù)集Movielens 100K和公共數(shù)據(jù)集Book-Crossings來進行實驗.分別隨機抽取兩個公共數(shù)據(jù)集中的25%的數(shù)據(jù)設(shè)置為待填充數(shù)據(jù),再從剩下75%的數(shù)據(jù)中隨機抽取20%的數(shù)據(jù)設(shè)置為測試集,80%設(shè)置為訓(xùn)練集.

3.1.1 Movielens 100K數(shù)據(jù)集

該數(shù)據(jù)集中包含10萬個用戶對電影的評分數(shù)據(jù),也包含電影特征信息以及用戶特征信息,用戶使用1~5之間的評分來表示用戶對電影的喜好程度,分值越高則表示該用戶對該電影越感興趣.數(shù)據(jù)隨機劃分結(jié)果見表1.

表1 Movielens 100K數(shù)據(jù)集

在輸入DeepFM進行訓(xùn)練時,將Movielens 100K數(shù)據(jù)集中用戶的性別、年齡和職業(yè)作為用戶特征進行輸入;將Movielens 100K數(shù)據(jù)集中電影的發(fā)行日期以及電影類型作為項目特征進行輸入.

3.1.2 Book-Crossings數(shù)據(jù)集

該數(shù)據(jù)集中包含110萬個用戶對圖書的評分,表達了9萬個用戶對27萬本書的喜好程度,用評分1~10來表示.數(shù)據(jù)來自于一個擁有數(shù)百萬人的規(guī)模龐大的圖書館網(wǎng)站,特點是用戶/圖書評分矩陣較為稀疏.數(shù)據(jù)隨機劃分結(jié)果見表2.

表2 Book Crossings 數(shù)據(jù)集

在輸入DeepFM進行訓(xùn)練時,將Book-Crossings數(shù)據(jù)集中用戶的年齡、所在地作為用戶特征進行輸入;將Book-Crossings數(shù)據(jù)集中書籍的名稱、作者作為項目特征進行輸入.

3.2 評價指標

本文采用均方根誤差(Root mean squared error,RMSE)和平均絕對誤差(mean absolute error,MAE)兩個指標來評價算法的評分預(yù)測誤差.

(9)

(10)

其中:X表示測試集中用戶與項目交互的次數(shù);yij表示模型用戶i對項目j的預(yù)測評分值;Rij表示用戶i對項目j的實際評分值.

3.3 參數(shù)選擇

首先對評分預(yù)測時所使用的DeepFM模型中的迭代次數(shù)進行優(yōu)化選擇,對迭代次數(shù)進行分組實驗,結(jié)果見表3.

表3 DeepFM迭代次數(shù)分組實驗結(jié)果

由表3可知,當(dāng)DeepFM模型的迭代次數(shù)為300時,對測試集預(yù)測的結(jié)果與實際的誤差不再繼續(xù)增大,因此本文選擇300為DeepFM模型的迭代次數(shù).

對ALS的隱性向量長度進行分組實驗,結(jié)果見表4.

表4 ALS不同隱性向量長度分組實驗結(jié)果

從表4可知,隱性向量長度為70時,RMSE和MAE最小.因此在使用ALS分析用戶歷史回答數(shù)據(jù),對用戶和項目隱性向量進行表示時,將其設(shè)置為70.

3.4 K折交叉驗證

算法模型在僅訓(xùn)練一次的情況下無法代表模型的平均性能,因此本文采用K折交叉驗證,可以大致反映本文算法模型的平均水平.K折交叉驗證圖如圖4所示.

圖4 K折交叉驗證圖

K折交叉驗證使用了無重復(fù)抽樣技術(shù),具體實現(xiàn)步驟:首先將訓(xùn)練集數(shù)據(jù)隨機劃分為K份,將其中的K-1份數(shù)據(jù)作為訓(xùn)練集,剩余的1份作為測試集;之后將迭代K次的訓(xùn)練結(jié)果取平均值作為模型的性能指標.

K取值越大,模型訓(xùn)練結(jié)果越可靠,但所消耗時間也隨之線性增長.考慮到數(shù)據(jù)集大小與模型性能,本文選取K=5,對模型進行5折交叉驗證,訓(xùn)練結(jié)果如圖5所示.

圖5 5折交叉驗證訓(xùn)練結(jié)果

將交叉驗證結(jié)果取平均值作為模型的評估結(jié)果,得RMSE=0.174 8,MAE=0.134 2.

3.5 對比實驗

為了驗證評分預(yù)測效果以及填充用戶矩陣的有效性與必要性,本文對有無DeepFM算法評分預(yù)測進行了消融實驗,并加入了不同矩陣分解的算法以及其他推薦模型進行對比,對比實驗結(jié)果如表5所示.

從表5可知,在使用ALS算法表示用戶隱性向量之前,由于使用DeepFM方法進行矩陣填充降低了矩陣的稀疏度,使ALS算法的誤差更低,因此能夠更加準確地表示出用戶隱性向量,從而證明了本文提出算法的評分預(yù)測的有效性與必要性.

同時為了驗證本文提出的CFSS算法在稀疏性數(shù)據(jù)集上的推薦效果以及其泛化性能,本文進行了稀疏性對比實驗.對公共數(shù)據(jù)集Movielens 100K和Book-Crossings分別進行稀疏化處理.通過不斷增加數(shù)據(jù)集稀疏性,使用不同算法進行多組對比實驗來驗證本文算法的推薦效果,如表6所示.

表6 數(shù)據(jù)稀疏化后不同算法之間的RMSE和MAE對比

由上述稀疏性對比實驗可以看出,在數(shù)據(jù)稀疏性逐漸增大的情況下,本文提出的基于半監(jiān)督學(xué)習(xí)模型的協(xié)同過濾推薦算法的RMSE和MAE均低于其他對比算法,表明本文方法的推薦效果較好.

4 總結(jié)與展望

隨著用戶規(guī)模的不斷擴大,解決推薦系統(tǒng)中的稀疏性問題變得尤為關(guān)鍵.傳統(tǒng)推薦學(xué)習(xí)從較為稀疏的矩陣中難以訓(xùn)練出有效的推薦模型.本文提出基于半監(jiān)督學(xué)習(xí)模型的協(xié)同過濾推薦算法,基于半監(jiān)督思想,用有標簽數(shù)據(jù)訓(xùn)練DeepFM算法,得到評分預(yù)測模型,然后用該模型為所有無標簽數(shù)據(jù)預(yù)測出偽標簽,以此填充用戶/項目交互矩陣,使得數(shù)據(jù)由稀疏變得更加稠密.將原始有標簽數(shù)據(jù)與預(yù)測出的偽標簽數(shù)據(jù)作為ALS矩陣分解的輸入,對用戶/項目交互矩陣數(shù)據(jù)進行矩陣分解,以此產(chǎn)生用戶和項目的隱性向量表示,來預(yù)測空白項的評分.通過在兩個公共數(shù)據(jù)集的實驗對比,驗證了本文提出的CFSS模型的有效性,并且通過訓(xùn)練不斷稀疏化數(shù)據(jù)集,CFSS模型的推薦誤差明顯小于傳統(tǒng)推薦模型.

在今后的工作中,我們希望能有效利用用戶特征中的職業(yè)、年齡等多個維度的特征表示以及項目特征中的文本內(nèi)容信息來更準確地表示用戶的偏好.

猜你喜歡
標簽向量矩陣
向量的分解
聚焦“向量與三角”創(chuàng)新題
無懼標簽 Alfa Romeo Giulia 200HP
不害怕撕掉標簽的人,都活出了真正的漂亮
初等行變換與初等列變換并用求逆矩陣
標簽化傷害了誰
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
矩陣
矩陣