熊波元, 陳軍華
(上海師范大學(xué) 信息與機(jī)電工程學(xué)院,上海 200234)
1992年,xerox公司郵件系統(tǒng)通過協(xié)同過濾技術(shù),對所有咨詢的郵件進(jìn)行分析,提取有價(jià)值的郵件,推薦給公司優(yōu)先處理,這是對協(xié)同過濾算法最早的應(yīng)用[1].1994年,GroupLens研究小組創(chuàng)建了MovieLens系統(tǒng),對協(xié)同過濾算法的研究影響很大[2].
基于用戶的協(xié)同過濾算法雖然應(yīng)用廣泛,但是用戶相似性是通過用戶的評分來計(jì)算的,評分與購買商品沒有必然聯(lián)系,因此通過這種方式計(jì)算得到的用戶相似性,體現(xiàn)的是評分行為上的相似度,并不能直接代表用戶在興趣偏好上的相似度.對此,本文作者提出了改進(jìn)方案,在原有用戶相似性計(jì)算中加入用戶興趣偏差度因素,以期達(dá)到較為準(zhǔn)確的相似度計(jì)算結(jié)果.
統(tǒng)計(jì)數(shù)據(jù)中瀏覽行為的總次數(shù)與其用相同方法對應(yīng)的有效購買總次數(shù),然后將有效購買總次數(shù)除以瀏覽總次數(shù)得到瀏覽行為的有效購買占比w1,用相同方法計(jì)算出關(guān)注行為的有效購買占比w2和購買行為的有效購買占比w3.
將用戶對某個(gè)品牌的某種行為操作次數(shù)乘以對應(yīng)行為的有效購買占比,然后累加,得到用戶興趣度指數(shù).
品牌偏好計(jì)算公式如下:
(1)
其中,Iua是用戶u對品牌a的興趣指數(shù).
根據(jù)品牌偏好,可以得到用戶品牌偏好矩陣,每行中的數(shù)據(jù)是用戶對各個(gè)品牌的偏愛度,以此計(jì)算用戶間興趣偏差度:
(2)
其中,n是品牌的數(shù)量,Lua是用戶u對品牌a的偏好值,Lva是用戶v對品牌a的偏好值.
矩陣Q中的每行數(shù)據(jù)代表一個(gè)用戶向量,通過余弦相似性、修正的余弦相似性及Pearson相關(guān)相似性,計(jì)算得到用戶評分相似度,再乘以用戶興趣偏差度,最終得到用戶相似性.
采用Top-N的方式尋找目標(biāo)用戶的最近鄰居集合,即計(jì)算出每個(gè)用戶與目標(biāo)用戶之間的相似性,取相似性值最大的前k個(gè)用戶組成集合,即最近鄰居集合.
實(shí)驗(yàn)數(shù)據(jù)采用京東算法競賽提供的真實(shí)數(shù)據(jù),其中包括用戶信息、商品信息、商品屬性信息、用戶評分信息、用戶操作日志等數(shù)據(jù).實(shí)驗(yàn)的數(shù)據(jù)中總共有983個(gè)用戶、2398件商品和146198條評分記錄,還有幾十萬條用戶操作數(shù)據(jù).
選擇平均絕對誤差(MAE)作為驗(yàn)證標(biāo)準(zhǔn).MAE是計(jì)算用戶對項(xiàng)目的預(yù)測評分與用戶的實(shí)際評分之間的偏差,計(jì)算公式如下:
(3)
其中,n為商品數(shù)量,Suk為用戶u對商品k的預(yù)測評分,Quk為用戶u對商品k的實(shí)際評分.M越小,說明推薦準(zhǔn)確度越高.
將實(shí)驗(yàn)的數(shù)據(jù)集隨機(jī)分為5等份,將其中4份作為訓(xùn)練數(shù)據(jù)集,剩下的一份作為測試數(shù)據(jù)集,總共實(shí)驗(yàn)5次,每次實(shí)驗(yàn)都取不同的訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),得到的5個(gè)結(jié)果再取平均值作為最后的實(shí)驗(yàn)數(shù)據(jù),以此提高實(shí)驗(yàn)的準(zhǔn)確性.
圖1 相似性度量方法的比較
圖2 不同算法用戶評分預(yù)測的M值對比
對比了余弦相似性、修正的余弦相似性及Pearson相關(guān)相似性三種度量方法對算法M值的影響(圖1).從圖1中可以看出,隨著最近鄰居的數(shù)量的增加,三種度量方法對應(yīng)的M值都在減小,推薦準(zhǔn)確度在提高.相對而言,使用Pearson相關(guān)相似性公式計(jì)算用戶相似性更為準(zhǔn)確.因此,在后續(xù)比較算法的實(shí)驗(yàn)中,采用Pearson相關(guān)相似性公式計(jì)算用戶相似性.
比較了不同算法下用戶評分預(yù)測的M值(圖2).從圖2可知,隨著最近鄰居的增加,M值均先減小后趨于穩(wěn)定,傳統(tǒng)的基于用戶的協(xié)同過濾算法和基于項(xiàng)目屬性的協(xié)同過濾算法在最近鄰居數(shù)為80后,才接近穩(wěn)定,而改進(jìn)算法在最近鄰居數(shù)為60時(shí),已趨于穩(wěn)定.相對來說,改進(jìn)后的算法收斂速度較快,其對應(yīng)的M值整體相對于前兩種算法較低,表示改進(jìn)后的算法推薦準(zhǔn)確度更高.從圖2中還可以看出,改進(jìn)后的算法在最近鄰居數(shù)量為60時(shí),推薦效果最好,推薦系統(tǒng)的準(zhǔn)確性和復(fù)雜度達(dá)到最佳平衡.綜上所述,改進(jìn)后的算法的性能優(yōu)于傳統(tǒng)的基于用戶的協(xié)同過濾算法和基于項(xiàng)目屬性的協(xié)同過濾算法.
提出了一套協(xié)同過濾改進(jìn)算法,對用戶相似性計(jì)算方面進(jìn)行優(yōu)化,通過實(shí)驗(yàn)驗(yàn)證,相較于傳統(tǒng)算法,改進(jìn)算法能提高推薦系統(tǒng)的準(zhǔn)確率.但本研究依然存在較多不足,如未能考慮實(shí)時(shí)性、多樣性的平衡及智能化等問題,有待下一步研究工作加以解決.