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