一種基于條件受限波爾茲曼機(jī)的協(xié)同過濾優(yōu)化方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于條件受限波爾茲曼機(jī)的協(xié)同過濾優(yōu)化方法,具體涉及一種考 慮用戶-項目評分信息和項目類別信息共同對用戶興趣偏好和最終預(yù)測評分的影響,并應(yīng) 用到改進(jìn)的受限波爾茲曼機(jī)方法,從而對推薦系統(tǒng)的推薦準(zhǔn)確性進(jìn)行提高的方法,適用于 協(xié)同過濾推薦系統(tǒng),屬于推薦系統(tǒng)研究的技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 推薦系統(tǒng)的目的是充分挖掘用戶的興趣偏好、幫助用戶發(fā)現(xiàn)自己感興趣的東西。 近二十年來,推薦系統(tǒng)得到了廣泛研究,并成功應(yīng)用于各種互聯(lián)網(wǎng)商用系統(tǒng)。但是如何為用 戶生成更加準(zhǔn)確的推薦,一直是推薦系統(tǒng)領(lǐng)域研究的熱點之一。
[0003] 協(xié)同過濾算法是推薦系統(tǒng)中應(yīng)用最為廣泛的算法,傳統(tǒng)的協(xié)同過濾算法面臨著的 一個很嚴(yán)峻的問題就是很難處理大規(guī)模、高稀疏性的數(shù)據(jù)集,因此基于協(xié)同過濾的改進(jìn)算 法層出不窮。奇異值分解模型SVD是一種降維技術(shù),已經(jīng)成功應(yīng)用到協(xié)同過濾推薦系統(tǒng)中, 可以有效解決協(xié)同過濾面臨的數(shù)據(jù)稀疏性問題。受限波爾茲曼機(jī)RBM也是一種有效方法可 以實現(xiàn)數(shù)據(jù)降維功能,受限波爾茲曼機(jī)RBM是一種具有兩層結(jié)構(gòu)、對稱連接且無自反饋、層 間全連接、層內(nèi)無連接的隨機(jī)神經(jīng)網(wǎng)絡(luò)模型。Salakhutdinov和Hinton已經(jīng)利用受限波爾 茲曼機(jī)RBM對大規(guī)模高稀疏性數(shù)據(jù)進(jìn)行建模,并成功地應(yīng)用到了協(xié)同過濾算法,提高推薦 準(zhǔn)確性。Georgiev和Nakov基于受限波爾茲曼機(jī)RBM提出了一種non-IID模型框架,同時 對用戶-用戶、項目-項目的關(guān)聯(lián)性進(jìn)行建模。隨著RBM的快速學(xué)習(xí)算法(對比散度算法 ⑶)的出現(xiàn),機(jī)器學(xué)習(xí)屆掀起了研究RBM理論及應(yīng)用的熱潮。
[0004] 現(xiàn)有的基于受限波爾茲曼機(jī)模型的協(xié)同過濾方法中,都僅利用用戶-項目評分?jǐn)?shù) 據(jù)進(jìn)行建模,項目的類別信息都沒有得到充分利用,而且沒有相關(guān)方法將項目類別信息結(jié) 合起來應(yīng)用到受限波爾茲曼機(jī)模型來提高推薦準(zhǔn)確性。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明要解決的技術(shù)問題為:克服現(xiàn)有技術(shù)的局限性,有效解決協(xié)同過濾推薦系 統(tǒng)面臨的數(shù)據(jù)稀疏性問題,提供一種基于條件受限波爾茲曼機(jī)的協(xié)同過濾優(yōu)化方法,該方 法融合項目類別信息來提取用戶更深層次的偏好特征,提高協(xié)同過濾推薦方法的準(zhǔn)確性。
[0006] 本發(fā)明解決上述技術(shù)問題采用的技術(shù)方案:一種基于條件受限波爾茲曼機(jī)的協(xié)同 過濾優(yōu)化方法,在改進(jìn)的條件受限波爾茲曼機(jī)中融入項目類別信息來優(yōu)化,提高協(xié)同過濾 推薦系統(tǒng)的推薦準(zhǔn)確性。具體實現(xiàn)過程如下:
[0007] 首先,在受限波爾茲曼機(jī)RBM的基礎(chǔ)上根據(jù)用戶-項目評分?jǐn)?shù)據(jù)和項目類別數(shù)據(jù) 特征進(jìn)行方法設(shè)計,融合項目類別特征作為條件層,提出的方法IC-CRBMF (融合項目類別 信息的基于條件受限波爾茲曼機(jī)的協(xié)同過濾推薦方法),如圖2所示。
[0008] IC-CRBMF包括三個部分:可見層V = (V1, V2,…,VJ,用于對m個用戶(或項目) 評分?jǐn)?shù)據(jù)進(jìn)行建模,每一個評分使用"softmax units"來表示,其中=(ν),ν;2,···,ν;Α),表示 當(dāng)評分為k時,vf =U則該評分向量其它取值全部為0,評分等級為K ;隱藏層H= ,hH),作用是進(jìn)行特征提取,每個單元h,用二進(jìn)制數(shù)值表示;條件層F = (f i,f2,…,fF), 用于對項目類別特征進(jìn)行建模,針對可見層是用戶評分矩陣或項目評分矩陣,來確定條件 層單元的取值,根據(jù)是基于用戶還是基于項目將IC-CRBMF方法劃分為兩種:IC-CRBMF_ UserBased和 IC_CRBMF_ItemBased〇
[0009] IC-CRBMF使用條件多項式概率分布對可見層評分矩陣的每一列進(jìn)行建模,使用伯 努利概率分布對隱藏層用戶(或項目)特征進(jìn)行建模。因此,IC-CRBMF的條件概率分布計 算公式如下:
[0012] 其中V〉表示可見層第i個評分為k的二進(jìn)制數(shù)值九表示隱藏層第j個單元的二 進(jìn)制數(shù)值;f q表示條件層第q個單元的特征值;f表示可見層第i個評分為k的單元偏置; b,表示隱藏層第j個單元的偏置;表示可見層與隱藏層之間的連接權(quán)重;¥匕1表示可見 層與條件層的連接權(quán)重;HFql表示隱藏層與條件層的連接權(quán)重;
是激活函數(shù)。
[0013] IC-CRBMF,可見層V的邊緣概率分布:
[0015] IC_CRBMF的能量函數(shù):
[0017] 利用最大似然估計計算目標(biāo)函數(shù)(邊緣概率分布函數(shù))的梯度,最后使用梯度上 升法迭代更新參數(shù),最終得到IC-CRBMF所有參數(shù)的最佳值。
[0018] 本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于:
[0019] (1)、基于受限波爾茲曼機(jī)的協(xié)同過濾算法只利用了用戶-項目評分信息,而沒有 充分利用其它的信息來挖掘用戶的興趣偏好。本發(fā)明在基于條件受限波爾茲曼機(jī)的協(xié)同過 濾方法中融入了豐富的項目類別信息,作為條件層特征信息,充分考慮到項目類別信息對 用戶興趣和預(yù)測評分的影響,更深層次的提取用戶(項目)特征,提高了協(xié)同過濾系統(tǒng)的推 薦準(zhǔn)確性。
[0020] (2)、從實驗結(jié)果中可以看出,引入項目類別信息確實能夠提高基于受限波爾 茲曼機(jī)的協(xié)同過濾推薦方法的評分預(yù)測精度,并且IC-CRBMFJJserBased和IC-CRBMF_ ItemBased的加權(quán)組合方法Hybrid IC-CRBMF(見圖3)也獲得比單個模型更優(yōu)的準(zhǔn)確性。
【附圖說明】
[0021] 圖1為本發(fā)明實現(xiàn)流程圖;
[0022] 圖2是融合項目類別信息的條件受限波爾茲曼機(jī)框架圖。
[0023] 圖3是基于用戶和基于項目的混合條件波爾茲曼機(jī)框架圖。
[0024] 圖4是各個模型的MAE和RMSE值。
【具體實施方式】
[0025] 下面結(jié)合附圖和具體實施例進(jìn)一步說明本發(fā)明。
[0026] -種基于條件受限波爾茲曼機(jī)的協(xié)同過濾優(yōu)化方法,融合項目類別信息,提出一 種改進(jìn)的受限波爾茲曼機(jī)方法IC-CRBMF,考慮項目類別信息對用戶興趣偏好和預(yù)測評分的 影響,并融入改進(jìn)的受限波爾茲曼機(jī)模型,從而提高了協(xié)同過濾推薦方法的推薦準(zhǔn)確性。
[0027] 所述的方法IC-CRBMF,考慮項目類別信息對用戶興趣偏好、預(yù)測評分的影響,將項 目類別特征作為模型的條件層。根據(jù)可見層的不同表現(xiàn)形式,IC-CRBMF又分為基于用戶的 IC-CRBMFJJserBased 和基于項目的 IC-CRBMF_ItemBased 兩個方法。
[0028] 所述的方法IC-CRBMF_UserBased,可見層是根據(jù)每個用戶的評分信息進(jìn)行建模, 條件層是根據(jù)該用戶評分過的所有項目的類別特征信息進(jìn)行建模。
[0029] 所述的方法IC-CRBMFJJserBased,每個用戶都是一個受限波爾茲曼機(jī)RBM訓(xùn)練實 例,可以具有不同數(shù)量的可見層單元,但是所有受限波爾茲曼機(jī)RBM都具有相同數(shù)量的隱 藏層單元,即所有用戶共享連接權(quán)重和偏置參數(shù)。
[0030] 所述的方法IC_CRBMF_ItemBased,可見層是根據(jù)每個項目的評分信息進(jìn)行建模, 條件層是根據(jù)該項目的類別特征信息進(jìn)行建模。
[0031] 所述的方法IC-CRBMF_ItemBased,每個項目都是一個受限波爾茲曼機(jī)RBM訓(xùn)練實 例,可以具有不同數(shù)量的可見層單元,但是所有受限波爾茲曼機(jī)RBM都具有相同數(shù)量的隱 藏層單元,即所有項目共享連接權(quán)重和偏置參數(shù)。
[0032] 所述的方法IC-CRBMFJJserBased和IC_CRBMF_ItemBased,最重要的區(qū)別在于可 見層的評分表示和條件層的項目類別特征的表示。
[0033] 方法實現(xiàn)共分為兩個階段,第一個階段是方法設(shè)計階段,主要是根據(jù)受限波爾茲 曼機(jī)模型的特點和數(shù)據(jù)集的特征進(jìn)行模型設(shè)計。IC-CRBMF主要包括三個部分:可見層V,隱 藏層H和條件層F。
[0034] 如圖1所示,主要包括如下步驟:
[0035] 步驟Al)、利用條件多項式概率分布對可見層每一列的評分向量進(jìn)行建模,可見層 的單元#被激活的概率為:
[0037] 其中#表示可見層第i個評分為k的二進(jìn)制數(shù)值屯表示隱藏層第j個單元的二 進(jìn)制數(shù)值;fq表示條件層第q個單元的特征值;表示可見層第i個評分為k的單元偏置; b,表示隱藏層第j個單元的偏置;表示可見層與隱藏層之間的連接權(quán)重;¥匕1表示可見 層與條件層的連接權(quán)重。
[0038] 步驟A2)、利用伯努利概率分布對隱藏層的特征向量進(jìn)行建模,隱藏層的單元卜被 激活的概率:
[0040] 其中Vf表示可見層第i個評分為k的二進(jìn)制數(shù)值;fq表示條件層第q個單元的特 征值;勢表示可見層第i個評分為k的單元偏置;b,表示隱藏層第j個單元的偏置;R;'表 示可見層與隱藏層之間的連接權(quán)重;HFql表示隱藏層與條件層的連接權(quán)重;
是 激活函數(shù)。
[0041] 第二個階段是學(xué)習(xí)階段,主要是構(gòu)造模型參數(shù)并求出最佳的參數(shù)值用于預(yù)測評 分。包括如下步驟:
[0042] 步驟BI)、參數(shù)初始化;
[0043] 由方法設(shè)計階段可知,IC-CRBMF的主要參數(shù):
可見層與 隱藏層的連接權(quán)重可見層與條件層的連接權(quán)重VFql、隱藏層與條件層的連接權(quán)重HFql 都使用均值為0,標(biāo)準(zhǔn)差為0. 01的正態(tài)分布進(jìn)行初始化;可見層單元偏置考、隱藏層單元偏 置1^初始化為全零。
[0044] 步驟B2)、執(zhí)行隨機(jī)梯度上升法進(jìn)行參數(shù)更新,通過不斷迭代更新得到模型參數(shù)的 最佳值,參數(shù)的梯度公式如下:
[0050] 其中〈· >data表示由訓(xùn)練集定義的期望;〈·> 表示由模型IC-CRBMF定義的期 望。
[0051] 由于〈· ^cidel很難計算得到,使用快速學(xué)習(xí)算法-對比散度算法⑶來近似計算 IC-CRBMF中參數(shù)的期望,因此參數(shù)的梯度公式修改