宋玉龍 馬文明 劉彤彤
(煙臺大學(xué) 山東省煙臺市 264005)
近些年,互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,讓人們可以很容易地獲取大量的各種信息。隨之造成的是信息爆炸與過載,這讓我們很難從海量的信息里面獲取自己真正想得到的部分。為了緩解這些窘?jīng)r,推薦系統(tǒng)通過對海量數(shù)據(jù)的分析,為用戶選擇合適的推薦物品,提供個性化的推薦結(jié)果,此類方法通常可以滿足許多用戶的推薦需求。又由于實際生活中存在大量由多個用戶組成的群組參與的活動(如健身房給鍛煉的用戶進(jìn)行的音樂廣播或給一個家庭推薦一部電影),這些活動往往更偏向一個權(quán)威的人或者算法對群組進(jìn)行指導(dǎo),這就需要面向群組的個性化推薦,組推薦系統(tǒng)于是應(yīng)運而生。
組推薦系統(tǒng)的面向受眾是由多個用戶組成的一個個群組,與傳統(tǒng)推薦相比會考慮到更多的影響因素,其中一個關(guān)鍵部分是對群組中的成員融合策略。融合策略通??梢苑譃橛脩羝萌诤虾屯扑]結(jié)果融合。用戶偏好融合是指將組內(nèi)用戶的偏好模型融合成為一個群組模型,根據(jù)結(jié)果模型獲得群組對物品的評分或者推薦列表。推薦結(jié)果融合是指給組內(nèi)所有成員分別進(jìn)行推薦,將他們的推薦評分或者列表進(jìn)行合并,獲得該組對物品的推薦結(jié)果。
表1 列舉了組推薦系統(tǒng)中常見的5 種評分融合策略。其中較為常用的是平均值策略和最小痛苦策略。
Salakhutdinov R 在零八年提出概率矩陣分解算法(Probabilistic Matrix Factorization),是近些年比較流行的推薦算法。假設(shè)有N個用戶和M 個物品,對應(yīng)的評分可以形成一個M×N 矩陣R,Rij表示用戶i 對物品j 的評分。通常R 非常稀疏,只有很少的元素是已知的,而我們要估計出缺失元素的值。
圖1:PMF 的概率模型圖
傳統(tǒng)矩陣分解將矩陣RM×N分解為兩個維度更低的矩陣的乘積其中K 表示潛在向量的維度。通過不斷學(xué)習(xí)迭代來使逼近評分矩陣RM×N,同時也將得到未評分項目的預(yù)測評分。
概率矩陣分解假設(shè)由用戶偏好向量和物品潛在向量的內(nèi)積來決定評分矩陣R,且評分服從高斯分布,即:
其中N 表示高斯分布。概率模型圖如圖1 所示。
則觀察到的評分矩陣的條件概率為:
表1:組推薦系統(tǒng)常見融合策略
圖2:基于概率矩陣分解的群組推薦方法框架
Ii,j為指示函數(shù),如果用戶i 已對物品j 進(jìn)行了評分,則為1,否則為0。
再假設(shè)用戶潛在特征向量和物品的潛在特征向量都服從均值為0 的高斯先驗分布,即:
其中的I 不是指示函數(shù),表示一個對角陣。
然后計算U 和V 的后驗概率為:
兩邊取對數(shù)得到:
其中K 是潛在變量的維度,C 是無關(guān)常數(shù)。
于是我們可以通過最小化以下目標(biāo)函數(shù)來最大化后驗概率:
然后用隨機梯度下降法(SGD)更新Ui和Vj:
直到收斂或到達(dá)最大迭代次數(shù)。
本文提出的方法框架如圖2 所示。
根據(jù)圖2 可以看出,本文所用框架主要包括以下步驟:
獲取用戶-項目評分矩陣,進(jìn)行概率矩陣分解,得到用戶對未評分項目的預(yù)測評分。
(2)將用戶的預(yù)測評分用恰當(dāng)?shù)娜诤喜呗赃M(jìn)行融合,獲得該群組的評分。根據(jù)評分生成給該群組的推薦列表。
以上,基于概率矩陣分解的組推薦系統(tǒng),輸入數(shù)據(jù)為每個用戶的評分,輸出每個群組的推薦列表。
隨著以多個用戶組成的群體為單位的活動不斷增多,傳統(tǒng)推薦方興未艾,漸漸滲入到千家萬戶,成為日常生活中不可缺少的一部分。群組推薦也開始逐漸得到越來越多的關(guān)注,給我們帶來了更多的機遇和挑戰(zhàn)。
傳統(tǒng)的協(xié)同過濾方法能夠共用大眾經(jīng)驗過濾機器難以識別的信息,但在面對體積過大的數(shù)據(jù)量與評分太稀疏的矩陣時都顯得有心無力。而概率矩陣分解算法在大型、稀疏、不平衡的數(shù)據(jù)集上都有很不錯的表現(xiàn),能夠提高個性化推薦的效率。我們未來可以嘗試在概率矩陣分解中融入用戶間的社交信息,期望進(jìn)一步提高系統(tǒng)性能。