一.概要
本文為了緩解矩陣分解存在的問(wèn)題蕴纳,提出了一種新技術(shù)叫做度量因子分解氓辣。本文共分為九節(jié),第一節(jié)簡(jiǎn)要介紹了度量因子分解袱蚓;第二節(jié)對(duì)與度量因子分解相關(guān)的研究進(jìn)行了簡(jiǎn)要回顧钞啸;第三節(jié)描述了研究問(wèn)題,并討論了矩陣分解的局限性;第四節(jié)介紹了度量因子分解的基本概念体斩;第五到七節(jié)介紹了如何分別通過(guò)度量因子分解進(jìn)行評(píng)級(jí)預(yù)測(cè)和項(xiàng)目排名梭稚;第八節(jié)通過(guò)對(duì)真實(shí)數(shù)據(jù)集的大量實(shí)驗(yàn)證明了模型的有效性;第九節(jié)做出了總結(jié)與展望絮吵。
二.相關(guān)研究
矩陣分解是用于項(xiàng)目推薦的最有效方法之一弧烤。基于矩陣分解的兩個(gè)經(jīng)典的top-N推薦模型是:貝葉斯個(gè)性化排名(BPR)和加權(quán)正則化矩陣分解(WRMF)蹬敲。但盡管矩陣分解很成功暇昂,點(diǎn)積還是限制了它的功能。具體的矩陣分解模型介紹及其改進(jìn)方法在此不再贅述伴嗡,可參考原文鏈接急波。
三.度量因子分解簡(jiǎn)介
在矩陣分解中點(diǎn)積限制了它的表達(dá),點(diǎn)積關(guān)心兩個(gè)向量的大小和角度瘪校。在某種程度上澄暮,它衡量的是兩個(gè)向量在大小和角度方面的相似性而不是距離。而度量因子分解是用歐氏距離代替矩陣分解的點(diǎn)積阱扬,從位置和距離的角度考慮推薦問(wèn)題泣懊,適用于評(píng)級(jí)預(yù)測(cè)和項(xiàng)目排名。它將交互矩陣分解為用戶(hù)和項(xiàng)目密集嵌入麻惶,并根據(jù)估計(jì)的距離提出建議馍刮。在大范圍的大規(guī)模數(shù)據(jù)集上進(jìn)行的大量實(shí)驗(yàn)表明,該模型在評(píng)級(jí)估計(jì)和項(xiàng)目排名任務(wù)方面都優(yōu)于最先進(jìn)的模型窃蹋。
四.度量因子分解的基本概念
為了解決矩陣分解的缺點(diǎn)并利用位置和距離的影響渠退,本文提出了一種新的推薦模型,即度量因子分解脐彩。不同于將用戶(hù)和項(xiàng)目視為新空間中的向量的矩陣分解碎乃,度量分解將用戶(hù)和項(xiàng)目視為低維坐標(biāo)系中的點(diǎn),它們之間的關(guān)系用歐幾里得距離表示惠奸。顧名思義梅誓,度量分解將用戶(hù)和項(xiàng)目之間的距離分解到其位置。
但是佛南,由于距離和相似度是兩個(gè)相反的概念梗掰,所以需要將用戶(hù)偏好轉(zhuǎn)換為距離,要把評(píng)分矩陣R轉(zhuǎn)化成距離矩陣Y嗅回。距離矩陣通過(guò)以下方程得到: 在歐幾里德空間
中及穗,兩點(diǎn)之間的距離通常由歐幾里德距離(或2范數(shù)距離)測(cè)量:
在實(shí)際應(yīng)用中,為了避免計(jì)算平方根的麻煩绵载,通常采用平方歐幾里得距離埂陆。 假設(shè)用戶(hù)的和項(xiàng)目的位置在度量向量空間表示成
和
苛白,我們用平方歐式距離來(lái)測(cè)量用戶(hù)和項(xiàng)目之間的距離:
在實(shí)際的推薦應(yīng)用程序中,只有距離矩陣的某些項(xiàng)是已知的焚虱。度量分解的目標(biāo)是在給定部分觀察到的距離矩陣的情況下购裙,了解用戶(hù)和商品的位置:
度量分解的大致過(guò)程為:首先,用等式(1)從偏好矩陣中得到矩陣的距離鹃栽,然后將距離矩陣分解并了解用戶(hù)和商品的位置躏率。之后,如果需要民鼓,可以很容易地恢復(fù)偏好矩陣的每個(gè)條目并提出建議薇芝。
五.度量分解用于評(píng)分預(yù)測(cè)
基本模型
首先,使用以下等式將評(píng)級(jí)矩陣R轉(zhuǎn)換為距離度量: 其中
是可能的最高評(píng)分丰嘉。
之后夯到,需要選擇損失函數(shù),采用廣泛使用的平方損失法供嚎,通過(guò)最小化以下?lián)p失來(lái)了解用戶(hù)和項(xiàng)目位置: 該模型與基本矩陣分解密切相關(guān)黄娘,唯一的區(qū)別是用歐幾里得距離代替了點(diǎn)積峭状。
加入偏差和置信機(jī)制
上面的基本模型僅考慮用戶(hù)和項(xiàng)目的交互克滴。但是,用戶(hù)或項(xiàng)目的個(gè)人影響也很重要优床。所以在這里整合了用戶(hù)和項(xiàng)目的全局偏重劝赔。用戶(hù)與物品間的距離公式如下: 其中,
表示預(yù)測(cè)距離胆敞。
是用戶(hù)u的偏差項(xiàng)着帽;
是項(xiàng)目i的偏差項(xiàng);
是全局偏差移层。
很多評(píng)分預(yù)測(cè)方法忽略了評(píng)分的噪聲仍翰,有些評(píng)分并不是真實(shí)值,例如有些人在不同時(shí)間對(duì)同一物品的打分可能不同观话。已有研究發(fā)現(xiàn)予借,較極端的打分(如1,5)比較中性的打分更可信频蛔。為了緩解此問(wèn)題灵迫,我們建議為每個(gè)評(píng)分得分添加一個(gè)置信度值并將損失函數(shù)修改為:
這個(gè)機(jī)制使得較極端的打分獲得較高的置信值:
正則化
Norm Clipping:范數(shù)正則化會(huì)將用戶(hù)和項(xiàng)目推向原點(diǎn)附近,因此本文放寬正則化的要求并在在每次迭代中更新參數(shù)時(shí)執(zhí)行此操作:
Dropout:為了防止維度間的過(guò)擬合晦溪,建議隨機(jī)丟棄一些維度并計(jì)算剩下維度形成的總距離:
六.度量分解用于項(xiàng)目排名
首先瀑粥,需要將相似度轉(zhuǎn)換為距離,使用以下方程式進(jìn)行轉(zhuǎn)換: a和z這兩個(gè)超參數(shù)使得控制用戶(hù)和項(xiàng)目之間的距離變得靈活三圆,設(shè)置a和z的值時(shí)狞换,需要確保不等式:a> z避咆,以使用戶(hù)與未交互項(xiàng)之間的距離大于用戶(hù)與交互項(xiàng)之間的距離。通常將z設(shè)為0哀澈,由于
等于“1”或“0”牌借,所有<user,positive item>(或<user割按,negative item>)具有相同的距離膨报。
為了從隱式反饋中學(xué)習(xí)到用戶(hù)和項(xiàng)目的位置,我們采用point-wise的方法最小化加權(quán)平方損失:
也是一個(gè)置信度值现柠,在這里它被用來(lái)對(duì)隱式反饋建模,并定義為:
其中
表示觀察到的隱式反饋弛矛,但是數(shù)據(jù)集中一般沒(méi)有這個(gè)屬性够吩,所以用
(0或1)代替。對(duì)于正則化丈氓,采用的方法與上述評(píng)級(jí)預(yù)測(cè)中的方法相同周循。
該模型不僅可以迫使用戶(hù)及其喜歡的物品靠近,而且采用了逐點(diǎn)訓(xùn)練方案万俗,也可以將不喜歡的物品推開(kāi)湾笛。與大多數(shù)基于度量學(xué)習(xí)的模型不同,這種模型將冒名頂替者強(qiáng)制限制在用戶(hù)區(qū)域之外闰歪,這種方法中的信任機(jī)制提供了負(fù)項(xiàng)目進(jìn)入用戶(hù)領(lǐng)域的可能性嚎研,這有利于推薦任務(wù),因?yàn)樗梢宰鳛楹Y選推薦負(fù)面項(xiàng)目的過(guò)濾器库倘。我們的模型的另一個(gè)重要特點(diǎn)是它可以間接地將共享大量項(xiàng)目的用戶(hù)聚集在一起临扮。這種特性使我們能夠捕捉鄰里之間的關(guān)系,這些關(guān)系對(duì)于商品推薦也很重要教翩。
七.優(yōu)化和學(xué)習(xí)過(guò)程
采用Adagrad調(diào)參杆勇,特點(diǎn)是根據(jù)更新頻率使步長(zhǎng)適應(yīng)參數(shù)。度量分解的學(xué)習(xí)過(guò)程如下:
對(duì)評(píng)分預(yù)測(cè)任務(wù)來(lái)說(shuō):獲得
對(duì)物品推薦任務(wù)來(lái)說(shuō):直接推薦
評(píng)分預(yù)測(cè)任務(wù)的模型復(fù)雜度:
物品推薦任務(wù)的模型復(fù)雜度: