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