劉錚
(遼寧大學信息學院 遼寧省沈陽市 110000)
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展個性化推薦系統(tǒng)的出現(xiàn)成為解決信息過載有效工具,其中矩陣分解模型具有很好的可擴展性和預(yù)測精度。然而目前基于矩陣分解模型的個性化推薦方法大多沒有充分融合情境因素。
推薦系統(tǒng)在實際應(yīng)用中,用戶和項目在不同的情境環(huán)境下應(yīng)該有差異化的評分表現(xiàn)。Xiang[1]等人考慮到用戶興趣及項目熱度可能會隨時間而衰減提出了TimeSVD。Baltrunas[2]等人提出了一種在偏置項中融合情境信息的矩陣分解模型。現(xiàn)有矩陣分解推薦模型的精度有待提高。本文提出了一種融入情境信息的矩陣分解推薦模型,針對前人模型的缺點做出了相應(yīng)改進。
最后通過實驗進行對比分析驗證改進后模型在控制均方根誤差方面提升明顯,有效提高了推薦準確率。
情境感知推薦技術(shù)是情境感知推薦系統(tǒng)的核心,融合與處理了各類情境信息分為情境預(yù)過濾、情境后過濾、情境建模等三種情境感知推薦技術(shù)。
情境預(yù)過濾:該技術(shù)主要思想是根據(jù)情境信息對原始數(shù)據(jù)進行預(yù)處理,僅保留滿足特性情境的數(shù)據(jù)。
該技術(shù)的主要思想是在生成預(yù)測值階段不需考慮情境信息,其后根據(jù)特定的各類情境條件,對推薦結(jié)果進行篩選過濾.
該技術(shù)的主要思想是將情境信息直接融入整個推薦過程,將情境信息視為用戶歷史行為數(shù)據(jù)外的若干維度,建立相應(yīng)模型進行用戶個性化推薦。
隱語義模的主要任務(wù)就是將矩陣R 分解為矩陣P 和矩陣Q 的乘積,然后利用P 和Q 的乘積預(yù)測用戶對項目的興趣度,加入了偏置項的隱語義模型如公式(1)所示:
其中,μ 表示評分的平均值;bu 表示用戶u 的評分基線;bi 表示項目i 的評分基線,pu 和qi 分別表示用戶u 和項目i 在同一個隱含空間上的向量,puTqi 乘積表示和原始稀疏評分矩陣近似的矩陣。
模型引入用戶-項目-情境信息之間交互時可分為三部分計算:用戶-項目之間交互、用戶-情境之間交互以及項目情境之間交互。將用戶、項目及每個情境條件映射到一個共同的D 維潛在因子空間,用相同維數(shù)的因子向量分別表示用戶、項目及每個情境條件。因此用戶及項目與情景變量的交互可以用其分別的因子向量的內(nèi)積來計算。
表1:模型學習過程
在給定的訓練數(shù)據(jù)集R 中,給定一個訓練數(shù)據(jù)集,包含k 個情境變量,每個情景變量具有多個情境條件。其中第L 個情景變量用cL 表示,L=1,2,3,…k,cL=0,1,…zm。其中cL 的值表示具體的情境條件。
接著本文用ruicl...ck 來表示已獲得的用戶u 在情境c1....ck 的條件下對項目的評分,而用戶在相同情境條件下的預(yù)測評分用來表示。
基于此,融入情境信息的矩陣分解推薦模型形式化描述如公式(2)所示:
其中cu 表示用戶u 因情境信息的影響而產(chǎn)生的評分偏差;ci表示項目i 因情境信息影響而產(chǎn)生的評分偏差,α 和β 分別表示上下文信息對用戶和項目的影響程度,即用戶和項目對情境信息的敏感度。puTcl 與qiTcl 分別表示用戶及項目與情境變量cl 的交互計算。
電動汽車行駛每小時耗電2kWh,充電站充電功率為10kW,效率為1。充電站A、C、D、E的預(yù)期電價以及目標函數(shù)α/β如表1中所示。分時電價制度按峰時每kWh為2.00元,谷時每度1.00元計算。
本文模型選取時間因素作為對偏置項改進的切入點。
其中δ 為時間衰減常數(shù)。
其中tu 為用戶評分時間均值,βu和αu通過交叉驗證來設(shè)置。
為了求得模型最優(yōu)解,從而得到預(yù)測值。我們設(shè)置損失函數(shù)如公式(6)所示。
采用隨機梯度下降法SGD 求解各參數(shù),通過求各參數(shù)的偏導(dǎo)數(shù)找到最速下降方向,以得到模型的最優(yōu)解,從而得到預(yù)測評分[12]。模型學習過程如表1 所示。
利用訓練好的矩陣分解模型預(yù)測用戶對項目的評分值,在預(yù)測完項目評分之后采用Top-N 方式生成推薦列表。
本文采用的是LDOS-CoMoDa 數(shù)據(jù)集[4],該數(shù)據(jù)集的數(shù)據(jù)來自用戶觀影后對電影的評分,并包括了相關(guān)的情境信息,共有12 個情境維度隨機抽取數(shù)據(jù)集中的10%作為測試集,其余90%為訓練集,隨機抽取產(chǎn)生的測試集和訓練集。本文選取的對比實驗?zāi)P头謩e為張量分解模型,TimeSVD[3]模型,及CAMF-C[4]模型。
在實驗中采用RMSE(均方根誤差)作為模型優(yōu)劣的評判標準,如公式(7)所示。
本文實驗選取的數(shù)據(jù)中,有12 個不同的情境維度,其對于推薦結(jié)果影響不同,選擇合適的情境信息加入模型,本文使用WEKA[5]軟件實現(xiàn)情境變量的選擇。
在本文實驗中,首先在實驗集上根據(jù)傳統(tǒng)的矩陣分解模型LFM 進行多次迭代訓練,得到模型的最優(yōu)參數(shù)值。分別取隱類空間D=10,學習速率η=0.02,正則化參數(shù)λ=0.01,最大迭代次數(shù)為50。然后本文所提模型設(shè)置同樣的參數(shù),并手動調(diào)整用戶和項目的全局情境敏感度可知,α=0.1,β=1.9 時模型達到最優(yōu)解。
為了選擇適當?shù)那榫匙兞考尤肽P?,本文研究了在引入不同?shù)目的情境信息下,模型均方根誤差最優(yōu)值。在本文模型中加入信息增益值前五的情境變量時,可令模型取得最小RMSE 值。
本文選取基于張量分解的推薦模型MR,timeSVD 模型以及改進情境偏置項的CAMF-C 模型與本文提出模型ICMF-T 在LDOSCoMoDa 數(shù)據(jù)集條件下進行對比實驗。得到實驗結(jié)果如圖1。
圖1:各模型RMSE 值
由圖1 可明顯得到在多情境變量的數(shù)據(jù)集條件下,本文提出的融合情境變量的改進矩陣分解模型(ICMF-T)在均方根誤差方面具有明顯提升。
本文為了解決傳統(tǒng)矩陣分解模型中未充分利用情境信息而造成的準確率不高等問題,提出了一種融入情境信息的矩陣分解個性化推薦模型。在充分利用各情境信息與用戶和項目交互以提高推薦精度的前提下,盡可能降低因冗余情境維度造成的噪音污染。利用用戶和項目敏感度用以平衡因各用戶和項目對不同情境維度的敏感度不同而造成的推薦結(jié)果偏差,通過在具有多情境維度的專家評分數(shù)據(jù)集中與其他廣泛應(yīng)用的矩陣分解模型做實驗對比,本文所提模型在控制均方根誤差方面具有明顯優(yōu)勢,推薦效果良好。