基于k-medoids項(xiàng)目聚類(lèi)和局部興趣融合的用戶(hù)協(xié)同過(guò)濾推薦方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息過(guò)濾的技術(shù)領(lǐng)域,更具體地說(shuō),涉及一種基于k-medoids項(xiàng)目聚 類(lèi)和局部興趣融合的用戶(hù)協(xié)同過(guò)濾推薦方法。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)的普及和電子商務(wù)的發(fā)展,網(wǎng)絡(luò)資源不斷豐富,網(wǎng)絡(luò)信息量不斷膨脹, 用戶(hù)要在眾多的選擇中挑選出自己真正需要的信息好比大海撈針。推薦系統(tǒng)應(yīng)運(yùn)而生,推 薦系統(tǒng)為不同用戶(hù)提供不同的服務(wù),以滿(mǎn)足不同的需求。推薦系統(tǒng)成為電子商務(wù)的核心,而 協(xié)同過(guò)濾推薦算法是推薦系統(tǒng)中應(yīng)用最成功、最廣泛的方法。目前,幾乎所有的大型電子商 務(wù)系統(tǒng),如淘寶、京東、當(dāng)當(dāng)、亞馬遜、eBay等系統(tǒng)均采用了該方法來(lái)提高服務(wù)質(zhì)量。
[0003] 協(xié)同過(guò)濾通??煞譃閮深?lèi):基于記憶的協(xié)同過(guò)濾和基于模型的協(xié)同過(guò)濾。其中基 于記憶的協(xié)同過(guò)濾利用整個(gè)用戶(hù)-項(xiàng)目評(píng)分?jǐn)?shù)據(jù)集進(jìn)行計(jì)算,為目標(biāo)用戶(hù)選擇一部分興趣 相近的鄰居用戶(hù),根據(jù)鄰居用戶(hù)的評(píng)分預(yù)測(cè)目標(biāo)用戶(hù)對(duì)項(xiàng)目的評(píng)分值。
[0004] 隨著電子商務(wù)系統(tǒng)規(guī)模的進(jìn)一步擴(kuò)大,用戶(hù)數(shù)目和項(xiàng)目數(shù)據(jù)急劇增加,導(dǎo)致用戶(hù) 數(shù)據(jù)評(píng)分?jǐn)?shù)據(jù)的極端稀疏性,而在用戶(hù)評(píng)分?jǐn)?shù)據(jù)極端稀疏的情況下,通過(guò)全局相似度計(jì)算 得到的最近鄰不準(zhǔn)確,從而導(dǎo)致推薦系統(tǒng)的推薦質(zhì)量急劇下降。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種可以更大限度地利用已有數(shù) 據(jù),提高推薦的精確度的基于k-medoids項(xiàng)目聚類(lèi)和局部興趣融合的用戶(hù)協(xié)同過(guò)濾推薦方 法。
[0006] 本發(fā)明的技術(shù)方案如下:
[0007] -種基于k-medoids項(xiàng)目聚類(lèi)和局部興趣融合的用戶(hù)協(xié)同過(guò)濾推薦方法,包括如 下步驟:
[0008] 1)采用最小化最大相似度準(zhǔn)則確定K個(gè)初始聚類(lèi)中心;
[0009] 2)根據(jù)相似度和最大的k-medoids聚類(lèi)算法對(duì)項(xiàng)目進(jìn)行聚類(lèi);
[0010] 3)在聚類(lèi)基礎(chǔ)上,尋找用戶(hù)局部最近鄰;
[0011] 4)將用戶(hù)全局最近鄰與局部最近鄰以相似度和之比作為權(quán)值進(jìn)行融合,根據(jù)用戶(hù) 全局最近鄰與局部最近鄰對(duì)項(xiàng)目的評(píng)分,預(yù)測(cè)用戶(hù)對(duì)項(xiàng)目的評(píng)分,完成推薦。
[0012] 作為優(yōu)選,步驟1)具體為:
[0013] 1. 1)使用余弦相似度計(jì)算所有樣本點(diǎn)i,j之間的相似度sim(i,j),其中,i,j= 1,2,…,n,i辛j,將所有樣本點(diǎn)之間相似度最小的兩個(gè)樣本點(diǎn)作為前兩個(gè)初始聚類(lèi)中心μi 和μ2;
[0014] 1. 2)計(jì)算未選為初始聚類(lèi)中心的其它樣本點(diǎn)i到已經(jīng)被選定的每一個(gè)聚類(lèi)中心 μ1;μ2,.",Pk的相似度sim(i,μIsimQ,y2),...,sim(i,yk);
[0015] 1. 3)選擇樣本點(diǎn)i到已經(jīng)被選定的聚類(lèi)中心μ^μ2,…μk的相似度中最大相 似度為樣本點(diǎn)i到聚類(lèi)中心集的相似度sim(i,μ) =max{sim(i,μ),sim(i,μ2),… ,sim(i,yk)};
[0016] 1. 4)選取到聚類(lèi)中心集的相似度最小值的樣本點(diǎn)Γ為新增的第k+1個(gè)聚類(lèi)中心 yk+1,sim(i*,μ) =min{sim(l,y),sim(2,y),--*sim(i,y)--*sim(n,μ)};
[0017] 1. 5)如果k+1 <K,則賦值k=k+1,轉(zhuǎn)步驟2),否則利用最小化最大相似度準(zhǔn)則 確定K個(gè)初始聚類(lèi)中心的過(guò)程結(jié)束。
[0018] 作為優(yōu)選,步驟2)中,以余弦相似度作為樣本點(diǎn)之間的度量,采用相似度和最大 作為聚類(lèi)準(zhǔn)則函數(shù),聚類(lèi)后使得K個(gè)劃分到達(dá)相似度和最大。
[0019] 作為優(yōu)選,步驟2)具體為:
[0020] 2. 1)使用余弦相似度計(jì)算所有樣本點(diǎn)i,j之間的相似度sim(i,j),其中,i,j= 1,2,…,n,i乒j;
[0021] 2. 2)確定K個(gè)初始聚類(lèi)中心μ。,每一個(gè)聚類(lèi)c的聚類(lèi)中心μ。為樣本點(diǎn),c= 1,V..,K;
[0022]2· 3)對(duì)于剩余的其他樣本點(diǎn)i,i= 1,2,…,n,i乒uc,c= 1,2,…,K,貝lj 根據(jù)樣本點(diǎn)i與步驟2. 2)所述的聚類(lèi)中心μ。的相似度sim(i,μ。),按相似度最大 的準(zhǔn)則,將樣本點(diǎn)i分配給與其最相似的聚類(lèi)中心所代表的類(lèi)f中,sim( /_,/()= max{sim(i, μ2), ···,sim(i,μκ)};
[0023] 2.4)計(jì)算每個(gè)聚類(lèi)的相似度和·/, =Σ,/心私凡);其中,廠表示聚類(lèi)c中的所有 項(xiàng)目;計(jì)算所有K個(gè)聚類(lèi)的相似度?Η十算聚類(lèi)內(nèi)不同項(xiàng)目作 C=lC=l
為聚類(lèi)中心時(shí)的J值,按J值最大原則,選取J值最大的項(xiàng)目作為新的聚類(lèi)中心;如果J值 變大,則返回步驟2. 2),否則聚類(lèi)結(jié)束。
[0024] 作為優(yōu)選,步驟1. 1)與步驟2. 1)中,余弦相似度計(jì)算的公式如下:
[0025]
[0026] 其中,Uy表示項(xiàng)目i和項(xiàng)目j共同評(píng)分的項(xiàng)目集,1^表示項(xiàng)目i有評(píng)分的項(xiàng)目集, %表示項(xiàng)目j有評(píng)分的項(xiàng)目集,rUil表示用戶(hù)u對(duì)項(xiàng)目i的評(píng)分,r,表示用戶(hù)u對(duì)項(xiàng)目j 的評(píng)分,聚類(lèi)后使得K個(gè)聚類(lèi)劃分的相似度和J值達(dá)到最大,利用皮爾森相似度、修正的余 弦相似度等其它相似度也在保護(hù)范圍內(nèi)。
[0027] 作為優(yōu)選,步驟3)具體為:
[0028] 3. 1)通過(guò)聚類(lèi)的方式劃分用戶(hù)興趣,通過(guò)余弦相似度計(jì)算在每個(gè)聚類(lèi)上用戶(hù)之間 的相似度sinf(u,v),公式如下:
[0029]
[0030] 其中,c表示項(xiàng)目i所在的聚類(lèi),仏.表示用戶(hù)u和用戶(hù)v在聚類(lèi)c中共同評(píng)分的項(xiàng) 目集,4:表示用戶(hù)U在聚類(lèi)C中有評(píng)分的項(xiàng)目集,以表示用戶(hù)V在聚類(lèi)C中有評(píng)分的項(xiàng)目 集,ru,廣示用戶(hù)u對(duì)項(xiàng)目i的評(píng)分,rv,i表示用戶(hù)V對(duì)項(xiàng)目i的評(píng)分;
[0031] 3.2)選擇與目標(biāo)用戶(hù)在項(xiàng)目i所在的聚類(lèi)c上相似度最大的前N個(gè)用戶(hù)作為目標(biāo) 用戶(hù)的局部最近鄰。
[0032] 作為優(yōu)選,步驟4)根據(jù)最近鄰對(duì)項(xiàng)目的評(píng)分預(yù)測(cè)目標(biāo)用戶(hù)對(duì)項(xiàng)目的評(píng)分,最近鄰 為全局最近鄰與局部最近鄰以相應(yīng)的權(quán)值進(jìn)行融合。
[0033] 作為優(yōu)選,步驟4)中,基于用戶(hù)的全局最近鄰的預(yù)測(cè)評(píng)分公式如下:
[0034]
[0035] 其中,p' Uil表示基于用戶(hù)的全局最近鄰的預(yù)測(cè)評(píng)分時(shí)用戶(hù)u對(duì)項(xiàng)目i的預(yù)測(cè) 評(píng)分,.?表示用戶(hù)U的平均評(píng)分,V表示用戶(hù),neighborsu表示用戶(hù)u的全局最近鄰集合, sim(u, v)表示用戶(hù)u和用戶(hù)v的全局相似度,eUiV表示用戶(hù)u和用戶(hù)v的相似度相關(guān)加權(quán), rVil表示用戶(hù)u對(duì)項(xiàng)目i的實(shí)際評(píng)分,$表示用戶(hù)v的平均評(píng)分;
[0036] 作為優(yōu)選,步驟4)中,基于用戶(hù)的局部最近鄰的預(yù)測(cè)評(píng)分公式如下:
[0037]
[0038] 其中,c表示項(xiàng)目i所在聚類(lèi),p" Uil表示基于用戶(hù)的局部最近鄰的評(píng)分計(jì)算得到 的用戶(hù)u對(duì)項(xiàng)目i的預(yù)測(cè)評(píng)分,< 表示用戶(hù)u在聚類(lèi)c上的平均評(píng)分,^表示用戶(hù) u在聚類(lèi)c上的局部最近鄰集合,simlu,v)表示用戶(hù)u和用戶(hù)v在聚類(lèi)c上的局部相似度, rVil表示用戶(hù)v對(duì)項(xiàng)目i的實(shí)際評(píng)分,^表示用戶(hù)v在聚類(lèi)c上的平均評(píng)分;
[0039] 作為優(yōu)選,步驟4)中,局部最近鄰與全局最近鄰以相應(yīng)的權(quán)值結(jié)合后的預(yù)測(cè)評(píng)分 公式如下:
[0040] pUil= prUjl*er+p'f;
[0041] 局部最近鄰和全局最近鄰預(yù)測(cè)評(píng)分的權(quán)值分配通過(guò)局部最近鄰相似度和與全局 最近鄰相似度和的比值設(shè)定e'和e",公式如下:
[0042]
[0043]
[0044] 共十s e'十e·'=丄〇
[0045] 本發(fā)明的有益效果如下:
[0046] 本發(fā)明通過(guò)將項(xiàng)目聚類(lèi)來(lái)劃分用戶(hù)興趣,并根據(jù)用戶(hù)興趣局部相似性將全局最近 鄰與局部最近鄰?fù)扑]結(jié)果相融合,從而提高推薦精度,具體的:
[0047] 1、根據(jù)用戶(hù)興趣的局部相似特性,通過(guò)尋找局部最近鄰預(yù)測(cè)評(píng)分,更大限度地利 用已有數(shù)據(jù),緩解了由數(shù)據(jù)稀疏帶來(lái)的影響;
[0048] 2、通過(guò)將項(xiàng)目聚類(lèi)的方式來(lái)自動(dòng)劃分用戶(hù)興趣;
[0049] 3、相似度和最大的k-medoids聚類(lèi)方法可用于采用相似性作為樣本之間的度量 的樣本聚類(lèi);
[0050] 4、利用最小化最大相似度準(zhǔn)則確定初始聚類(lèi)中心,解決了項(xiàng)目聚類(lèi)時(shí)的初始聚類(lèi) 中心選取的問(wèn)題,聚類(lèi)性能有很大提高;
[0051] 5、將全局最近鄰與局部最近鄰相融合來(lái)預(yù)測(cè)用戶(hù)對(duì)項(xiàng)目的評(píng)分,并在全局最近鄰 和局部最近鄰上加以相應(yīng)的權(quán)值,提高推薦精度。
【附圖說(shuō)明】
[0052] 圖1是基于用戶(hù)局部興趣改進(jìn)的協(xié)同過(guò)濾推薦方法