李順勇, 張鈺嘉, 張海玉
(1.山西大學(xué)數(shù)學(xué)科學(xué)學(xué)院,太原 030006; 2.山西大學(xué)新聞學(xué)院,太原 030006)
協(xié)同過濾(Collaborative Filtering)是一種有效的推薦技術(shù),該技術(shù)通過找出與被推薦用戶喜好相近的一組用戶,然后把該組用戶喜好的項目推薦給被推薦用戶. 協(xié)同過濾技術(shù)由于其推薦資源廣、算法較為簡單、易于實現(xiàn)等優(yōu)勢,在電子商務(wù)、客戶研究、廣告投遞等方面有著較為廣泛的應(yīng)用[1-2].
基于上述分析,本文提出了一種基于NKL 和K-means 聚類的協(xié)同過濾推薦算法(NKL-KM),該算法分為三個步驟:首先,基于NKL度量法計算item之間的相似性;其次,根據(jù)K-means算法將item分成k個類;最后,得到Top-n列表.


③KLSim(i,j)沒有考慮到具體評分值對計算相似性度量時的影響,評1分和5分用戶所表達(dá)的感情是截然不同的. 因此,本文在式(1)的基礎(chǔ)上,引入?yún)?shù)λ、α、β 得到式(2),計算式為



式(2)有以下屬性:

為提高推薦算法精度,本文將K-means算法與CF算法相結(jié)合,基于1.1提出的NKL相似性度量法,提出了一種基于NKL和K-means聚類的協(xié)同過濾推薦算法.
定義1[15]數(shù)據(jù)的分類標(biāo)準(zhǔn)為:

K-means算法具體過程見算法1.
算法1[15]K-means算法
Step4 重復(fù)Step2~Step3至簇中心不再變化為止.
得到C={ }C1,C2,C3,…,Ck后,就可以對目標(biāo)項目進(jìn)行項目評分預(yù)測,預(yù)測具體步驟如1.3所示.


綜上,一種基于NKL和K-means聚類的協(xié)同過濾推薦算法具體步驟如算法2所示.
算法2 NKL-KM算法
輸出:Top-n推薦列表.
Step4 重復(fù)Step2~Step3至簇中心不再變化為止;

Step6 根據(jù)式(5)計算用戶u對i的評分,挑選出預(yù)測分?jǐn)?shù)最高的n個項目組成Top-n推薦列表.
本文選取MovieLens[16]和Netflix數(shù)據(jù)集……