一種歸一化pso隨機(jī)優(yōu)化算法及協(xié)同過濾推薦方法
【專利摘要】本發(fā)明公開了一種歸一化粒子群隨機(jī)優(yōu)化算法(PSO)以及6種歸一化加權(quán)協(xié)同過濾推薦方法。本發(fā)明公開的歸一化PSO隨機(jī)優(yōu)化算法通過吸引子和空間縮放,確定單個粒子的最優(yōu)位置和群體的最優(yōu)位置。用于求解最優(yōu)化問題時,其解滿足歸一化約束,吸引子是算法的穩(wěn)定點,算法在圍繞該點做螺旋運動,故使用吸引子作為縮放中心使得算法避免粒子越界和早熟的缺點,更容易尋找到全局最優(yōu)點。本發(fā)明公開的6種歸一化加權(quán)協(xié)同過濾推薦方法通過對用戶或項目進(jìn)行歸一化加權(quán),并以平均絕對誤差(MAE)最小為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),使用歸一化PSO隨機(jī)優(yōu)化算法求解用戶和項目的最優(yōu)歸一化權(quán)值,從而達(dá)到減少預(yù)測評分誤差,提高預(yù)測評分精度的目的。
【專利說明】
一種歸一化PSO隨機(jī)優(yōu)化算法及協(xié)同過濾推薦方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及信息過濾中的協(xié)同過濾推薦技術(shù)領(lǐng)域,特別是涉及一種歸一化PS0隨 機(jī)優(yōu)化算法、6種歸一化加權(quán)協(xié)同過濾推薦方法(包括:基于項目歸一化加權(quán)的項目協(xié)同過 濾推薦方法、基于用戶歸一化加權(quán)的用戶協(xié)同過濾推薦方法、基于用戶歸一化加權(quán)的項目 協(xié)同過濾推薦方法、基于項目歸一化加權(quán)的用戶協(xié)同過濾推薦方法、基于用戶和項目歸一 化加權(quán)的用戶協(xié)同過濾推薦方法及基于用戶和項目歸一化加權(quán)的項目協(xié)同過濾推薦方 法)。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)的普及和電子商務(wù)的發(fā)展,網(wǎng)絡(luò)資源不斷豐富,網(wǎng)絡(luò)信息量不斷膨脹, 用戶要在眾多的選擇中挑選出自己真正需要的信息好比大海撈針。推薦系統(tǒng)應(yīng)運而生,推 薦系統(tǒng)為不同用戶提供不同的服務(wù),以滿足不同的需求。推薦系統(tǒng)成為電子商務(wù)的核心,而 協(xié)同過濾推薦算法是推薦系統(tǒng)中應(yīng)用最成功、最廣泛的方法。目前,幾乎所有的大型電子商 務(wù)系統(tǒng),如淘寶、京東、當(dāng)當(dāng)、亞馬遜、eBay等系統(tǒng)均采用了該方法來提高服務(wù)質(zhì)量。
[0003] 協(xié)同過濾通??煞譃閮深?基于記憶的協(xié)同過濾和基于模型的協(xié)同過濾。其中基 于記憶的協(xié)同過濾利用整個用戶-項目評分?jǐn)?shù)據(jù)集進(jìn)行計算,為目標(biāo)用戶選擇一部分興趣 相近的鄰居用戶,根據(jù)鄰居用戶的評分預(yù)測目標(biāo)用戶對項目的評分值。
[0004] 基于記憶的協(xié)同過濾方法有基于用戶的協(xié)同過濾算法和基于項目的協(xié)同過濾算 法兩種。其中基于用戶的協(xié)同過濾算法,是以用戶為主體的算法,這種以用戶為主體的算法 比較強(qiáng)調(diào)的是社會性的屬性,把和你有相似愛好的其他的用戶的物品推薦給用戶。與之對 應(yīng)的是基于物品的推薦算法,這種更加強(qiáng)調(diào)把和你喜歡的物品相似的物品推薦給用戶。但 是協(xié)同過濾推薦算法對所有的用戶和項目權(quán)值同等對待,存在精度低的缺點。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是提供一種歸一化PS0隨機(jī)優(yōu)化算法。
[0006] 為實現(xiàn)上述目的,本發(fā)明提供了如下方案:
[0007] -種歸一化PS0隨機(jī)優(yōu)化算法,其特征在于,所述歸一化PS0隨機(jī)優(yōu)化算法包括:
[0008] 步驟11:初始化Z個粒子的群體,使得每個粒子初始化為Η維,迭代次數(shù)T;選取一個 粒子對所述粒子的每一維上都賦值為1/Η,剩下的粒子的每一維均在(0,1)之間隨機(jī)賦值;
[0009] 步驟1 2 :計算每個粒子的當(dāng)前位置< =(Χ^,,· ?)的適應(yīng)度 ),以確定每個粒子ζ的歷史最優(yōu)位置f = (/4,,· ?,…及群體歷 史取優(yōu)位置GLa,. ^best -· · ',&· * ·,),.其中,Z表不粒子序可,Z -丄, 2,…,Z; h表示維度序號,h=l,2,…,H; t表示迭代次數(shù),? = 1,2,···,Τ; <表示第z個粒子在 第t次迭代的當(dāng)前位置;
[0010]
更新粒子 的速度和位置;其中,^表示第t次迭代的粒子Z的速度,if1表示第t+1次迭代的粒子Z的速 度,X;表示第t次迭代后的粒子z的位置,X】+1表示第t+Ι次迭代后粒子z的位置,ω表示慣性 權(quán)值,γ:、γ2為[0,1]之間的隨機(jī)數(shù),且兩者之間相互獨立,m、n2為加速因子;
[0013]若滿足執(zhí)行步驟15,否則對粒子做以下處理以滿足所述判斷條件:
[0016] 步驟15:根據(jù)以下公式確定吸引子Γ"并以吸引子為縮放中心,以<為縮放因
子對粒子進(jìn)行縮放 其中,為隨機(jī)數(shù), "> 且αι e(〇.5,1.5)、a2e(-〇.5,1.5)、a3e(〇,l);
[0017] 步驟16:根據(jù)縮放結(jié)果判斷是否找到單個粒子的最優(yōu)位置和群體的最優(yōu)位置或者 迭代次數(shù)t>T,如果是則根據(jù)所述群體的最優(yōu)位置確定所述群體的權(quán)值;否則執(zhí)行步驟12。
[0018] 根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:
[0019] 本發(fā)明公開的歸一化PS0隨機(jī)優(yōu)化算法通過吸引子和空間縮放,確定單個粒子的 最優(yōu)位置和群體的最優(yōu)位置。用于求解最優(yōu)化問題時,其解滿足歸一化約束,吸引子是算法 的穩(wěn)定點,算法在圍繞該點做螺旋運動,故使用吸引子作為縮放中心使得算法避免粒子越 界和早熟的缺點,更容易尋找到全局最優(yōu)點。
[0020] 本發(fā)明的第二目的是提供一種基于項目歸一化加權(quán)的項目協(xié)同過濾推薦方法。 [0021 ]為實現(xiàn)上述目的,本發(fā)明提供了如下方案:
[0022] -種基于項目歸一化加權(quán)的項目協(xié)同過濾推薦方法,所述基于項目歸一化加權(quán)的 項目協(xié)同過濾推薦方法包括:
[0023] 步驟21:獲取用戶113對項目ib的實際評分ra,b形成評分矩陣R mXn,其中,a表示用戶 序號,a = l,2···,m;b表示項目序號,b = l,2···,n;
[0024] 步驟22:以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1 中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對項目進(jìn)行歸一化加權(quán),確定對 1表示對所有的項目ib加權(quán)的權(quán)值之和為1,Test表示已評分測試集,L表示測試
集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶1^對項目ib的實際評分,q、 b表示對 項目進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分;
[0025]步驟23:根據(jù)以下公式計算項目歸一化加權(quán)后,項目ib與項目k的項目余弦相似 Igsim7 (ib,ib7):
lb表示所有評分過項目ib的用戶集合,k表示所有評分過項目k的用戶集合,lb n k表示 同時評分過項目ib和項目W的用戶集合,^力代表用戶\對項目的ib評分,^#代表用戶%對 項目k的評分,w b代表項目ib的權(quán)重,w代表項目k的權(quán)重;
[0027] 步驟24:根據(jù)以下公式計算項目歸一化加權(quán)后,用戶乂對項目ib的評分預(yù)測值
(3 );其中,項目歸一化加權(quán)后,心代表用戶%對項 目ib的評分預(yù)測值,代表項目乜的讓個最近鄰項目集合Λ,?代表用戶義對項目k的真 實評分,wi/代表項目it/的權(quán)重。
[0028] 根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:
[0029] 本發(fā)明公開的基于項目歸一化加權(quán)的項目協(xié)同過濾推薦方法通過對項目進(jìn)行歸 一化加權(quán),并以平均絕對誤差(MAE)最小為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),使用歸一化PS0隨機(jī)優(yōu) 化算法求解項目的最優(yōu)歸一化權(quán)值,從而達(dá)到減少預(yù)測評分誤差,提高預(yù)測評分精度的目 的。
[0030] 本發(fā)明的第三目的是提供一種基于用戶歸一化加權(quán)的用戶協(xié)同過濾推薦方法。
[0031] 為實現(xiàn)上述目的,本發(fā)明提供了如下方案:
[0032] -種基于用戶歸一化加權(quán)的用戶協(xié)同過濾推薦方法,所述基于用戶歸一化加權(quán)的 用戶協(xié)同過濾推薦方法包括:
[0033] 步驟31:獲取用戶113對項目ib的評分ra,b形成評分矩陣R mXn,其中,a表示用戶序號, a = l,2···,m;b表示項目序號,b = l,2···,n;
[0034] 步驟32:以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1 中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對用戶進(jìn)行歸一化加權(quán),確定對 應(yīng)用戶的歸一化權(quán)重;
[0035]
( 4 );其中,歸一化約束條件
所有的用戶ua加權(quán)的權(quán)值之和為l,Test表示已評分測試集,L表示測試集大小(包含的用戶 對項目的評分個數(shù)),ra,b表示用戶1^對項目ib的實際評分,Y a,b表示對用戶進(jìn)行歸一化加權(quán) 之后,用戶ua對項目i b的預(yù)測評分;
[0036]步驟33:根據(jù)以下公式計算用戶歸一化加權(quán)后,用戶ua和用戶iw的用戶余弦相似 度sim'(UE^Ua,):
[0037]
ra,u代表用戶~對項目iu的實際評分,^,"代表用戶iw對項目i u的實際評分,仏代表用戶~評 分過的項目集合,ua'代表用戶iw評分過的項目集合,uanua'代表用戶u a和用戶iw共同評分 的項目集,la代表用戶~的權(quán)重,代表用戶iw的權(quán)重;
[0038]步驟34:根據(jù)以下公式計算用戶歸一化加權(quán)后,用戶ua對項目的評分預(yù)測值
G其中,基于用戶歸一化加權(quán)后,Y a, U表示用 戶~對項目"的評分預(yù)測值,表示用戶~的讓個最近鄰用戶集合,表示用戶IW的加權(quán) 值,ra' ,"表示用戶iw對項目iu的實際評分。
[0039] 根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:
[0040] 本發(fā)明公開的基于用戶歸一化加權(quán)的用戶協(xié)同過濾推薦方法通過對用戶進(jìn)行歸 一化加權(quán),并以平均絕對誤差(MAE)最小為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),使用歸一化PS0隨機(jī)優(yōu) 化算法求解用戶的最優(yōu)歸一化權(quán)值,從而達(dá)到減少預(yù)測評分誤差,提高預(yù)測評分精度的目 的。
[0041] 本發(fā)明的第四目的是提供一種基于用戶歸一化加權(quán)的項目協(xié)同過濾推薦方法。 [0042 ]為實現(xiàn)上述目的,本發(fā)明提供了如下方案:
[0043] -種基于用戶歸一化加權(quán)的項目協(xié)同過濾推薦方法,所述基于用戶歸一化加權(quán)的 項目協(xié)同過濾推薦方法包括:
[0044] 步驟41:獲取用戶~對項目ib的評分ra,b形成評分矩陣RmXn,其中,a表示用戶序號, a = l,2···,m;b表示項目序號,b = l,2···,n;
[0045] 步驟42:以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1 中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對用戶進(jìn)行歸一化加權(quán),確定對
[0046] 其中,歸一化約束條件<
表示對所有的用戶ua加權(quán)的權(quán)值之和為l,Test 表示已評分測試集,L表示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶uM 項目ib的實際評分,Y a,b表示對用戶進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分;
[0047] 步驟43:根據(jù)以下公式計算用戶歸一化加權(quán)后,項目ib與項目k的項目余弦相似
[0048] 其中,Ib表示所有評分過項目ib的用戶集合,k表示所有評分過項目k的用戶集 合,lb n Ib'表示同時評分過項目ib和項目ib'的用戶集合,代表用戶乂對項目的i b評分, ζ-,代表用戶^對項目的k評分Λ代表用戶心的權(quán)重;
[0049] 步驟44:根據(jù)以下公式計算用戶歸一化加權(quán)后,用戶%對項目ib的評分預(yù)測值
(:9);其中,項目歸一化加權(quán)后, (代表用戶1對項目ib的評分預(yù)測值,^,6代表項目?的k個最近鄰項目集合Λ,?/代表用 戶1對項目k的真實評分Λ代表用戶七的權(quán)重。
[0050] 根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:
[0051] 本發(fā)明公開的基于用戶歸一化加權(quán)的項目協(xié)同過濾推薦方法通過對用戶進(jìn)行歸 一化加權(quán),并以平均絕對誤差(MAE)最小為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),使用歸一化PS0隨機(jī)優(yōu) 化算法求解用戶的最優(yōu)歸一化權(quán)值,從而達(dá)到減少預(yù)測評分誤差,提高預(yù)測評分精度的目 的。
[0052]本發(fā)明的第五目的是提供一種基于項目歸一化加權(quán)的用戶協(xié)同過濾推薦方法。 [0053]為實現(xiàn)上述目的,本發(fā)明提供了如下方案:
[0054] -種基于項目歸一化加權(quán)的用戶協(xié)同過濾推薦方法,所述基于項目歸一化加權(quán)的 用戶協(xié)同過濾推薦方法包括:
[0055] 步驟51:獲取用戶113對項目ib的評分ra,b形成評分矩陣R mXn,其中,a表示用戶序號, a = l,2···,m;b表示項目序號,b = l,2···,n;
[0056] 步驟52:以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1 中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對項目進(jìn)行歸一化加權(quán),確定對 應(yīng)項目的歸一化權(quán)重:
);其中,歸一化約束條件
表示對所有的項目ib加權(quán)的權(quán)值之和為1,Test表示已評分測試集,L表示測試 集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶1^對項目ib的實際評分,q〃 a,b表示對 項目進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分;
[0057]步驟53:根據(jù)以下公式計算項目歸一化加權(quán)后,用戶ua和用戶iw的用戶余弦相似 度 sim〃(UE^Ua,):
[0059] 其中,ra,u代表用戶113對項目iu的實際評分,r a' 表用戶ua'對項目iu的實際評分, Ua代表用戶1^評分過的項目集合,IV代表用戶iw評分過的項目集合,ua n IV代表用戶^和 用戶iw共同評分的項目集,^代表項目。的權(quán)重;
[0060] 步驟54:根據(jù)以下公式確定項目歸一化加權(quán)后,用戶Ua對項目的評分預(yù)測值
;其中,基于用戶歸 一化加權(quán)后,q〃a>u表示用戶~對項目"的評分預(yù)測值;Λ//?表示用戶以燦個最近鄰用戶集 合,wu代表項目"的權(quán)重,ra',u表示用戶^'對項的實際評分。
[0061] 根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:
[0062] 本發(fā)明公開的基于項目歸一化加權(quán)的用戶協(xié)同過濾推薦方法通過對項目進(jìn)行歸 一化加權(quán),并以平均絕對誤差(MAE)最小為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),使用歸一化PS0隨機(jī)優(yōu) 化算法求解項目的最優(yōu)歸一化權(quán)值,從而達(dá)到減少預(yù)測評分誤差,提高預(yù)測評分精度的目 的。
[0063] 本發(fā)明的第六目的是提供一種基于用戶和項目同時歸一化加權(quán)的用戶協(xié)同過濾 推薦方法。
[0064]為實現(xiàn)上述目的,本發(fā)明提供了如下方案:
[0065] -種基于用戶和項目同時歸一化加權(quán)的用戶協(xié)同過濾推薦方法,所述基于用戶和 項目同時歸一化加權(quán)的用戶協(xié)同過濾推薦方法包括:
[0066] 步驟61:獲取用戶113對項目ib的評分ra, b形成評分矩陣RmXn,其中,a表示用戶序號, a = l,2···,m;b表示項目序號,b = l,2···,n;
[0067] 步驟62:以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1 中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對用戶和項目進(jìn)行歸一化加權(quán), 分別確定對應(yīng)用戶和項目的權(quán)重;
[0068]
示對所有的用戶113加權(quán)的權(quán)值之和為1,歸一化約束條件#·
表示對所有的項目ib 加權(quán)的權(quán)值之和為l,Test表示已評分測試集,L表示測試集大小(包含的用戶對項目的評分 個數(shù)),ra,b表示用戶心對項目ib的實際評分,(^〃 a,b表示對項目進(jìn)行歸一化加權(quán)之后,用戶ua 對項目ib的預(yù)測評分;
[0069]步驟63:根據(jù)以下公式計算用戶和項目同時歸一化加權(quán)后,用戶ua和用戶iw的用 戶余弦相似度Sin/" (Ua,Ua'):
[0071] 其中,ra,u代表用戶心對項目iu的實際評分,ra' 表用戶ua'對項目iu的實際評分, Ua代表用戶1^評分過的項目集合,IV代表用戶iw評分過的項目集合,ua n IV代表用戶^和 用戶iw共同評分的項目集,狗代表項目"的權(quán)重,13代表用戶1^的權(quán)重,la'代表用戶iw的權(quán) 重;
[0072] 步驟64:根據(jù)以下公式確定用戶和項目同時歸一化加權(quán)后,,用戶1^對項目的評
中,基于用戶和項目同時歸一化加權(quán)后,q" a,痛示用戶1^對項目"的評分預(yù)測值;表 不用戶Ua的k個最近鄰用戶集合,Wu代表項目iu的權(quán)重,la代表用戶Ua的權(quán)重,代表用戶1^ 的權(quán)重,^^表示用戶對項目i U的實際評分。
[0073] 根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:
[0074] 本發(fā)明公開的基于用戶和項目同時歸一化加權(quán)的用戶協(xié)同過濾推薦方法通過對 用戶和項目同時進(jìn)行歸一化加權(quán),并以平均絕對誤差(MAE)最小為優(yōu)化目標(biāo)和適應(yīng)度函數(shù), 使用歸一化PSO隨機(jī)優(yōu)化算法求解用戶和項目的最優(yōu)歸一化權(quán)值,從而達(dá)到減少預(yù)測評分 誤差,提高預(yù)測評分精度的目的。
[0075]本發(fā)明的第七目的是提供一種基于用戶和項目同時歸一化加權(quán)的項目協(xié)同過濾 推薦方法。
[0076]為實現(xiàn)上述目的,本發(fā)明提供了如下方案:
[0077] -種基于用戶和項目同時歸一化加權(quán)的項目協(xié)同過濾推薦方法,所述基于用戶和 項目同時歸一化加權(quán)的項目協(xié)同過濾推薦方法包括:
[0078] 步驟71:獲取用戶113對項目ib的評分ra,b形成評分矩陣R mXn,其中,a表示用戶序號, a = l,2···,m;b表示項目序號,b = l,2···,n;
[0079] 步驟:72:根據(jù)權(quán)利要求1中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán) 值對用戶和項目進(jìn)行歸一化加權(quán),分別確定對應(yīng)用戶和項目的權(quán)重;
[008C
對所有的用戶ua加權(quán)的權(quán)值之和為1,歸一化約束條件夂·
表示對所有的項目ib加 權(quán)的權(quán)值之和為1,Test表示已評分測試集,L表示測試集大小(包含的用戶對項目的評分個 數(shù)),ra,b表示用戶^對項目ib的實際評分,cT a,b表示對項目進(jìn)行歸一化加權(quán)之后,用戶^對 項目ib的預(yù)測評分。
[0081 ]步驟73:根據(jù)以下公式計算用戶和項目歸一化加權(quán)后,,項目ib與項目k的項目余 弦相似度8;[1]1〃(;^41/):
[0083]其中,Ib表示所有評分過項目ib的用戶集合,Ib'表示所有評分過項目ib'的用戶集 合,Ib n IV表示同時評分過項目ib和項目W的用戶集合,代表用戶%對項目的乜評分, i,//代表用戶I對項目的k評分Λ代表用戶^的權(quán)重,代表項目ib的權(quán)重,w代表項目 ib'的權(quán)重;
[0084]步驟74:根據(jù)以下公式計算用戶和項目歸一化加權(quán)后,用戶%對項目ib的評分預(yù)測 值心:
[0086] 其中,項目歸一化加權(quán)后,代表用戶義對項目ib的評分預(yù)測值,1^代表項目ib 的k個最近鄰項目集合代表用戶沁對項目ib'的真實評分Λ代表用戶^的權(quán)重,wb代表 項目ib的權(quán)重,w b'代表項目ib'的權(quán)重。
[0087] 根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:
[0088] 本發(fā)明公開的基于用戶和項目同時歸一化加權(quán)的項目協(xié)同過濾推薦方法通過對 用戶和項目同時進(jìn)行歸一化加權(quán),并以平均絕對誤差(MAE)最小為優(yōu)化目標(biāo)和適應(yīng)度函數(shù), 使用歸一化PS0隨機(jī)優(yōu)化算法求解用戶和項目的最優(yōu)歸一化權(quán)值,從而達(dá)到減少預(yù)測評分 誤差,提高預(yù)測評分精度的目的。
【附圖說明】
[0089] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例中所 需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施 例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖 獲得其他的附圖。
[0090] 圖1為本發(fā)明實施例歸一化PS0隨機(jī)優(yōu)化算法的流程圖。
【具體實施方式】
[0091] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護(hù)的范圍。
[0092] 本發(fā)明的目的是提供一種歸一化PS0隨機(jī)優(yōu)化算法,所述歸一化PS0隨機(jī)優(yōu)化算法 的解就滿足歸一化約束,而傳統(tǒng)的PS0算法還需要進(jìn)一步的變化才能滿足歸一化約束。吸引 子是算法的穩(wěn)定點,算法在圍繞該點做螺旋運動,故使用吸引子作為縮放中心使得算法更 容易尋找到全局最優(yōu)點。
[0093] 為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實 施方式對本發(fā)明作進(jìn)一步詳細(xì)的說明。
[0094] 如圖1所示,本發(fā)明歸一化PS0隨機(jī)優(yōu)化算法包括:
[0095] 步驟11:初始化Z個粒子的群體,使得每個粒子初始化為Η維,迭代次數(shù)T;選取一個 粒子對所述粒子的每一維上都賦值為1/Η,剩下的粒子的每一維均在(0,1)之間隨機(jī)賦值;
[0096] 步驟1 2 :計算每個粒子的當(dāng)前位置尤=(Xi, 2,…4…,X;/f )的適應(yīng)度 夕,以確定每個粒子z的歷史最優(yōu)位置€ =〇4,/4,···,/4,···,/4)及群體歷 史最優(yōu)位置Gts;: =?^,客^2,···,^^,。",%##);其中,z表示粒子序號, z = i, 2,…,Z;h表示維度序號,h = l,2,…,H;t表示迭代次數(shù),t = l,2,···,T;<表示第z個粒子在 第t次迭代的當(dāng)前位置;
[0097] 步驟13:根據(jù)以下公式
的速度和位置;其中,K:表示第t次迭代的粒子z的速度,?^+1表示第t+Ι次迭代的粒子z的速 度,義;表示第t次迭代后的粒子z的位置,表示第t+Ι次迭代后粒子z的位置,ω表示慣性 權(quán)值,γ:、γ2為[0,1]之間的隨機(jī)數(shù),且兩者之間相互獨立,m、n2為加速因子;
[0100]若滿足執(zhí)行步驟15,否則對粒子做以下處理以滿足所述判斷條件:
[0103] 步驟15:根據(jù)以下公式確定吸引子ΓΙ并以吸引子Γ1.為縮放中心,以4為縮放因 子對粒子進(jìn)行縮放
,其中,為隨機(jī)數(shù), 且ai e(〇.5,1.5)、a2e(-〇.5,1.5)、a3e(〇,l);
[0104] 步驟16:根據(jù)縮放結(jié)果判斷是否找到單個粒子的最優(yōu)位置和群體的最優(yōu)位置或者 迭代次數(shù)t>T,如果是則根據(jù)所述群體的最優(yōu)位置確定所述群體的權(quán)值;否則執(zhí)行步驟12。
[0105] 下面以具體實施例詳細(xì)介紹:
[0106] (11)始化歸一化PS0算法最大迭代次數(shù)T=Maxtime,記目前次數(shù)times = l,全局最 優(yōu)精度值gbest為最大值。初始化各粒子的權(quán)值分配,將平均分配作為一個粒子的初始權(quán)值 分配,將相關(guān)加權(quán)權(quán)值分配作為部分粒子的初始權(quán)值分配,其余粒子進(jìn)行隨機(jī)權(quán)值分配。將 已知加權(quán)作為初始值可以加快歸一化PS0算法尋優(yōu)的收斂速度。
[0107] (12)計算各粒子權(quán)值分配下的適應(yīng)函數(shù)值,即推薦精度值??梢酝ㄟ^分布式加速 這部分計算。通過比較,得到本次最優(yōu)推薦精度pbest。若pbest>gbest,則更新全局最優(yōu)精 度值和相應(yīng)的最優(yōu)權(quán)值分配策略。
[0108] (13)判斷目前次數(shù)times是否超過預(yù)先設(shè)置最大迭代次數(shù)Maxtime,若超過則將 gbest及其相應(yīng)權(quán)值分配策略作為最后結(jié)果輸出,否則繼續(xù)進(jìn)入(14)。
[0109] (14)更新各粒子的權(quán)值分配,times為粒子更新迭代次數(shù)。在第times代,粒子i在d 維空間中所經(jīng)歷過的"最好"位置記作口^二化也^^…^^乂粒子群中"最好"的粒子位置 記作Ptg= (ptgi,ptg2,…,Ptgd) ;C1和C2為加速系數(shù);ri、r2為[0,1]之間的隨機(jī)數(shù),且兩者之間 相互獨立。w稱為慣性權(quán)值,控制粒子每一代速度更新有多少以前的速度保留下來。 VlJ (times) e [-Vmax,Vmax]; Vmax是常數(shù),用來限制粒子速度的更新范圍,由用戶設(shè)定次數(shù)加一轉(zhuǎn) (⑵。
[0110]數(shù)據(jù)集使用的是UCI公共數(shù)據(jù)集的wine數(shù)據(jù)集和heart-statlog數(shù)據(jù)集。wine數(shù)據(jù) 集中包含178條信息。每條信息包含14個基本屬性和一個分類屬性,一共將這些信息分為三 類,其中類別一包含59條信息,類別二包含71條信息,類別三包含48條信息。而heart-statlog 數(shù)據(jù)集是一個二分類問題 ,其中包含 270 條信息 ,每條信息包含 13 個基本屬性和一 個分類屬性。
[0111]表一數(shù)據(jù)集描述
[0113] 進(jìn)一步通過三種算法:傳統(tǒng)KNN,傳統(tǒng)PS0加權(quán)的KNN和歸一化PS0加權(quán)的KNNJS0算 法中:初始的粒子數(shù)目設(shè)置為20個,參數(shù)設(shè)置如下:ω =〇. 3,ci = C2 = 1.49445,迭代次數(shù)均 為300次,算法在迭代次數(shù)完成后退出循環(huán),為了排除實驗中的偶然性,我們講每個實驗重 復(fù)執(zhí)行10次。每次執(zhí)行時傳統(tǒng)PS0算法和歸一化PS0算法所有粒子初始位置和初始速度均相 同。
[0114] 實驗結(jié)果如下表2:表2實驗結(jié)果
[0115]
[0116] 從表1和表2中可以看出:
[0117] 1)在Wine數(shù)據(jù)集上傳統(tǒng)KNN的分類準(zhǔn)確性已經(jīng)比較高,加權(quán)PS0-KNN可以在此基礎(chǔ) 上提高分類準(zhǔn)確率。
[0118] 2)而歸一化加權(quán)PS0-KNN能夠在加權(quán)的基礎(chǔ)上再次將準(zhǔn)確率提高,并且歸一化加 權(quán)PS0-KNN在波動幅度上也和加權(quán)PS0-KNN相差不大。
[0119] 本發(fā)明還提供一種基于項目歸一化加權(quán)的項目協(xié)同過濾推薦方法。其中,所述基 于項目歸一化加權(quán)的項目協(xié)同過濾推薦方法包括:
[0120] 步驟21:獲取用戶心對項目ib的實際評分ra,b形成評分矩陣R mXn,其中,a表示用戶 序號,a = l,2···,m;b表示項目序號,b = l,2···,n;
[0121] 步驟22:以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1 中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對項目進(jìn)行歸一化加權(quán),確定對 應(yīng)項目的歸一化權(quán)重
其中,歸一化約束條件
表示對所有的項目ib加權(quán)的權(quán)值之和為1,Test表示已評分測試集,L表示測試 集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶1^對項目ib的實際評分,q、 b表示對 項目進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分。
[0122] 步驟23:根據(jù)以下公式計算項目歸一化加權(quán)后,項目ib與項目k的項目余弦相似 Igsim7 (ib,ib7):
[0124] 其中,Ib表示所有評分過項目ib的用戶集合,k表示所有評分過項目k的用戶集 合,lb n Ib'表示同時評分過項目?和項目ib'的用戶集合,4,6代表用戶\對項目的乜評分, 9代表用戶乂對項目ib'的評分,Wb代表項目ib的權(quán)重,w代表項目ib'的權(quán)重。
[0125] 步驟24:根據(jù)以下公式計算項目歸一化加權(quán)后,用戶%對項目ib的評分預(yù)測值
;其中,項目歸一化加權(quán)后,'代表用戶化對項 目ib的評分預(yù)測值,,代表項目?的k個最近鄰項目集合,代表用戶餼對項目W的真 實評分,wi/代表項目it/的權(quán)重。
[0126] 具體的,在得到的最優(yōu)權(quán)值的基礎(chǔ)上,計算加權(quán)后項目的相似度,為每個項目賦予 一個權(quán)值,分別為W1,W2,......Wi,......Wn。因為近鄰選擇是按照相似性從大到小來選擇 的,各相似性權(quán)重比例相同時結(jié)果也相同。根據(jù)這一特性,可以對相似性加權(quán)進(jìn)行權(quán)值和歸 一化約束。在不影響精度的情況下,這些約束大大縮小了最優(yōu)權(quán)值的選取范圍。
[0128] 下面以具體實例詳細(xì)介紹:
[0129] 1)將數(shù)據(jù)集中數(shù)據(jù)表示為mXn的用戶-項目矩陣。m為用戶數(shù),η為項目數(shù)。用戶-項 目評分矩陣
[0132] 2)項目進(jìn)行歸一化加權(quán),得到項目歸一化加權(quán)的項目協(xié)同過濾推薦方法。項目歸 一化加權(quán)的用戶-項目矩陣
[0134] 3)項目歸一化加權(quán)后,項目ib與項目ib'的項目余弦相似度sin/ (ib,ib'):
[0136] 其中,Ib表示所有評分過項目ib的用戶集合,k表示所有評分過項目k的用戶集 合,lb n k表示同時評分過項目ib和項目k的用戶集合代表用戶~對項目的乜評分, 9代表用戶%對項目ib'的評分,w b代表項目ib的權(quán)重,wb'代表項目ib'的權(quán)重。
[0137] 4):根據(jù)以下公式計算項目歸一化加權(quán)后,用戶I對項目ib的評分預(yù)測值
[0138] 其中,項目歸一化加權(quán)后,代表用戶%對項目ib的評分預(yù)測值,代表項目ib 的k個最近鄰項目集合,代表用戶義對項目ib'的真實評分,W代表項目ib'的權(quán)重。
[0139] 進(jìn)一步的,以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),利用歸一化 PS0算法來迭代求解最優(yōu)項目加權(quán)值;
[0140] 測試集合上的平均絕對偏差MAE可以定義為: 其中,Test 表示已評分測試集,L表示測試集的大小(包含的用戶對項目的評分個數(shù)),ra,b表示測試集 中用戶ua對項目ib的真實評分,Y a,b表示利用本文中提出的基于項目歸一化加權(quán)的項目協(xié) 同過濾推薦方法測試集中用戶1^對項目i b的預(yù)測評分。
[0141] MAE(平均絕對偏差)衡量了用戶對項目的實際評分與通過預(yù)測得到的用戶對項目 的評分之間的絕對偏差大小,其值越小,說明偏差越小,從而推薦質(zhì)量就越高。
[0142] 數(shù)據(jù)集使用的是美國明尼蘇達(dá)大學(xué)GroupLens研究項目組提供的MovieLens數(shù)據(jù) 集。該數(shù)據(jù)集包含943用戶對1682部電影的細(xì)節(jié)信息以及這些用戶對項目的10萬次評分。其 中每個用戶至少對20部電影進(jìn)行了評分。評分的范圍是1、2、3、4、5,1表示"很差",5表示"很 好"。
[0145] 基于用戶歸一化加權(quán)的用戶協(xié)同過濾推薦方法中:初始粒子數(shù)目設(shè)置為100個,參 數(shù)設(shè)置如下:cl = c2 = 0.1,迭代次數(shù)均為500次,算法在迭代次數(shù)完成后退出循環(huán),為了排 除實驗中的偶然性,我們將每個實驗重復(fù)執(zhí)行10次。
[0146] 本發(fā)明還提供一種基于用戶歸一化加權(quán)的用戶協(xié)同過濾推薦方法。其中,所述基 于用戶歸一化加權(quán)的用戶協(xié)同過濾推薦方法包括:
[0147] 步驟31:獲取用戶心對項目ib的評分ra,b形成評分矩陣RmXn,其中,a表示用戶序號, a = l,2···,m;b表示項目序號,b = l,2···,n;
[0148] 步驟32:以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1 中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對用戶進(jìn)行歸一化加權(quán),確定對 應(yīng)用戶的歸一化權(quán)重;
;其中,歸一化約束條件
表示對所有的用戶ua加權(quán)的權(quán)值之和為l,Test表示已評分測試集,L表示測試 集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶1^對項目ib的實際評分,q、 b表示對 用戶進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分。
[0149] 步驟33:根據(jù)以下公式計算用戶歸一化加權(quán)后,用戶ua和用戶iw的用戶余弦相似 度sim'(UE^Ua,):
[0151] 其中,ra, u代表用戶ua對項目i u的實際評分,r/,^代表用戶ua'對項目i u的實際評 分,Ua代表用戶Ua評分過的項目集合,Ik代表用戶IW評分過的項目集合,Ua (? Ik代表用戶Ua 和用戶UY共同評分的項目集,1 a代表用戶Ua的權(quán)重,代表用戶UY的權(quán)重;
[0152] 步驟34:根據(jù)以下公式計算用戶歸一化加權(quán)后,用戶ua對項目的評分預(yù)測值
(6 );其中,基于用戶歸一化加權(quán)后,q' a,"表示用 戶1^對項目"的評分預(yù)測值,表示用戶u^k個最近鄰用戶集合,la'表示用戶iw的加權(quán) 值,ra' ,u表示用戶仏'對項目iu的實際評分。
[0153]具體的,在得到的最優(yōu)權(quán)值的基礎(chǔ)上,計算加權(quán)后項目的相似度,為每個用戶賦予 一個權(quán)值,分別為h,l2,......la,......lm。因為近鄰選擇是按照相似性從大到小來選擇 的,各相似性權(quán)重比例相同時結(jié)果也相同。根據(jù)這一特性,可以對相似性加權(quán)進(jìn)行權(quán)值和歸 一化約束。在不影響精度的情況下,這些約束大大縮小了最優(yōu)權(quán)值的選取范圍。
[0155] 其中,歸一化約束條件
表示對所有的用戶ua加權(quán)的權(quán)值之和為l,Test 表示已評分測試集,L表示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶uM 項目ib的實際評分,Y a,b表示對用戶進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分。
[0156] 下面以具體實例詳細(xì)介紹:
[0157] 1)將數(shù)據(jù)集中數(shù)據(jù)表示為mXn的用戶-項目矩陣。m為用戶數(shù),η為項目數(shù)。用戶-項 目評分矩陣
[0159] 2)對用戶進(jìn)行歸一化加權(quán),得到用戶歸一化加權(quán)的項目協(xié)同過濾推薦方法。用戶 加權(quán)的用戶-項目矩陣
[0162]用戶ua和用戶IW的用戶余弦相似度sin/ (Ua,lW ):
[0164] 其中,ra,"代表用戶~對項目的實際評分,ra>代表用戶iW對項目L的實際評分, ua代表用戶~評分過的項目集合,代表用戶iw評分過的項目集合,ua n 代表用戶udP 用戶iw共同評分的項目集,la代表用戶~的權(quán)重,代表用戶iw的權(quán)重;
[0165] 根據(jù)以下公式計算用戶歸一化加權(quán)后,用戶ua對項目的評分預(yù)測值
[0167] 其中,基于用戶歸一化加權(quán)后,匕,"表示用戶~對項目"的評分預(yù)測值,表示 用戶~的1^個最近鄰用戶集合,表示用戶iw的加權(quán)值,"表示用戶iw對項目^的實際評 分。
[0168] 3)以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),利用歸一化PS0算法來 迭代求解最優(yōu)用戶加權(quán)值;
[0169]
其中,Test表示已評分測試集,L表示測試集的大小 (包含的用戶對項目的評分個數(shù)),ra,b表示測試集中用戶ua對項目i b的真實評分,Y a,b表示 利用本文中提出的基于項目歸一化加權(quán)的項目協(xié)同過濾推薦方法測試集中用戶~對項目ib 的預(yù)測評分。
[0170] MAE(平均絕對偏差)衡量了用戶對項目的實際評分與通過預(yù)測得到的用戶對項目 的評分之間的絕對偏差大小,其值越小,說明偏差越小,從而推薦質(zhì)量就越高。
[0171]數(shù)據(jù)集使用的是美國明尼蘇達(dá)大學(xué)GroupLens研究項目組提供的MovieLens數(shù)據(jù) 集。該數(shù)據(jù)集包含943用戶對1682部電影的細(xì)節(jié)信息以及這些用戶對項目的10萬次評分。其 中每個用戶至少對20部電影進(jìn)行了評分。評分的范圍是1、2、3、4、5,1表示"很差",5表示"很 好"。
[0172]表四數(shù)據(jù)集描述
[0175] 基于用戶歸一化加權(quán)的用戶協(xié)同過濾推薦方法中:初始粒子數(shù)目設(shè)置為100個,參 數(shù)設(shè)置如下:cl = 0.6,c2 = 1.0,迭代次數(shù)均為500次,算法在迭代次數(shù)完成后退出循環(huán),為 了排除實驗中的偶然性,我們將每個實驗重復(fù)執(zhí)行10次。
[0176] 本發(fā)明還提供一種基于用戶歸一化加權(quán)的項目協(xié)同過濾推薦方法,其中所述基于 用戶歸一化加權(quán)的項目協(xié)同過濾推薦方法包括:
[0177] 步驟41:獲取用戶~對項目ib的評分ra,b形成評分矩陣RmXn,其中,a表示用戶序號, a = l,2···,m;b表示項目序號,b = l,2···,n;
[0178] 步驟42:以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1 中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對用戶進(jìn)行歸一化加權(quán),確定對 應(yīng)用戶的權(quán)重;
[0180] 其中,歸一化約束條件&
表示對所有的用戶ua加權(quán)的權(quán)值之和為l,Test 表示已評分測試集,L表示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶uM 項目ib的實際評分,Y a,b表示對用戶進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分。 [0181 ]步驟43:根據(jù)以下公式計算用戶歸一化加權(quán)后,項目ib與項目k的項目余弦相似 ^sim^Cib.ib 7):
[0183]其中,Ib表示所有評分過項目ib的用戶集合,k表示所有評分過項目k的用戶集 合,ibn Ib'表示同時評分過項目ib和項目ib'的用戶集合,代表用戶%對項目的込評分, i萬代表用戶心對項目的k評分4代表用戶4的權(quán)重;
[0184]步驟44:根據(jù)以下公式計算用戶歸一化加權(quán)后,用戶\對項目ib的評分預(yù)測值<-.i:
[0186] 其中,項目歸一化加權(quán)后,心,代表用戶對項目ib的評分預(yù)測值,7胃%代表項目i b 的k個最近鄰項目集合,代表用戶義對項目k的真實評分,&代表用戶~的權(quán)重。
[0187] 具體的,在得到的最優(yōu)權(quán)值的基礎(chǔ)上,計算加權(quán)后項目的相似度,為每個用戶賦予 一個權(quán)值,分別為h,l2,......la,......lm。因為近鄰選擇是按照相似性從大到小來選擇 的,各相似性權(quán)重比例相同時結(jié)果也相同。根據(jù)這一特性,可以對相似性加權(quán)進(jìn)行權(quán)值和歸 一化約束。在不影響精度的情況下,這些約束大大縮小了最優(yōu)權(quán)值的選取范圍。
[0189] 其中,歸一化約束條件說
表示對所有的用戶ua加權(quán)的權(quán)值之和為l,Test 表示已評分測試集,L表示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶uM 項目ib的實際評分,Y a,b表示對用戶進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分。
[0190] 下面以具體實例詳細(xì)介紹:
[0191] 1)將數(shù)據(jù)集中數(shù)據(jù)表示為mXn的用戶-項目矩陣。m為用戶數(shù),η為項目數(shù)。用戶-項 目評分矩陣
[0193] 2)對用戶進(jìn)行歸一化加權(quán),得到用戶歸一化加權(quán)的項目協(xié)同過濾推薦方法。用戶 加權(quán)的用戶-項目矩陣
[0195] 根據(jù)以下公式計算用戶歸一化加權(quán)后,項目ib與項目的項目余弦相似度
,其中,lb表;^ ! 所有評分過項目ib的用戶集合,k表示所有評分過項目k的用戶集合,lb n IV表示同時評 分過項目ib和項目k的用戶集合Λ,ζ,代表用戶%對項目的ib評分代表用戶士對項目 的k評分,?代表用戶氣_的權(quán)重;
[0196] 根據(jù)以下公式計算用戶歸一化加權(quán)后,用戶%對項目ib的評分預(yù)測值<
[0198] 其中,項目歸一化加權(quán)后,代表用戶%對項目ib的評分預(yù)測值,代表項目ib 的k個最近鄰項目集合Λ,ζ/代表用戶義對項目k的真實評分Λ代表用戶士的權(quán)重。
[0199]
所有的用戶ua加權(quán)的權(quán)值之和為l,Test表示已評分測試集,L表示測試集大小(包含的用戶 對項目的評分個數(shù)),ra,b表示用戶^對項目ib的實際評分,Y a,b表示對用戶進(jìn)行歸一化加權(quán) 之后,用戶ua對項目i b的預(yù)測評分。
[0200] MAE(平均絕對偏差)衡量了用戶對項目的實際評分與通過預(yù)測得到的用戶對項目 的評分之間的絕對偏差大小,其值越小,說明偏差越小,從而推薦質(zhì)量就越高。
[0201] 本發(fā)明還提供一種基于項目歸一化加權(quán)的用戶協(xié)同過濾推薦方法,其中,所述基 于項目歸一化加權(quán)的用戶協(xié)同過濾推薦方法包括:
[0202] 步驟51:獲取用戶心對項目ib的評分ra,b形成評分矩陣RmXn,其中,a表示用戶序號, a = l,2···,m;b表示項目序號,b = l,2···,n;
[0203] 步驟52:以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1 中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對項目進(jìn)行歸一化加權(quán),確定對 應(yīng)項目的歸一化權(quán)重
;其中,歸一化約束條件
表示對所有的項目ib加權(quán)的權(quán)值之和為1,Test表示已評分測試集,L表示測試 集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶1^對項目ib的實際評分,q〃 a,b表示對 項目進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分。
[0204]步驟53:根據(jù)以下公式計算項目歸一化加權(quán)后,用戶ua和用戶iw的用戶余弦相似 度 sim〃(UE^Ua,):
[0206] 其中,ra,u代表用戶心對項目iu的實際評分,rZ 表用戶iw對項目i u的實際評分, Ua代表用戶1^評分過的項目集合,IV代表用戶iw評分過的項目集合,ua n IV代表用戶^和 用戶iw共同評分的項目集,^代表項目。的權(quán)重;
[0207] 步驟54:根據(jù)以下公式確定項目歸一化加權(quán)后,用戶ua對項目的評分預(yù)測值
其中,基于用戶歸 一化加權(quán)后,q〃a>u表示用戶~對項目"的評分預(yù)測值;示用戶uWk個最近鄰用戶集 合,wu代表項目"的權(quán)重,ra',u表示用戶^'對項的實際評分。
[0208] 具體的,在在得到的最優(yōu)權(quán)值的基礎(chǔ)上,計算加權(quán)后項目的相似度,為每個項目賦 予一個權(quán)值,分別為W1,W2,......m,......wn。因為近鄰選擇是按照相似性從大到小來選 擇的,各相似性權(quán)重比例相同時結(jié)果也相同。根據(jù)這一特性,可以對相似性加權(quán)進(jìn)行權(quán)值和 歸一化約束。在不影響精度的情況下,這些約束大大縮小了最優(yōu)權(quán)值的選取范圍。
[0209]
其中,歸一化約束條件說
對所有的項目ib加權(quán)的權(quán)值之和為l,Test表示已評分測試集,L表示測試集大小(包含的用 戶對項目的評分個數(shù)),ra,b表示用戶1^對項目ib的實際評分,q〃 a,b表示對項目進(jìn)行歸一化加 權(quán)之后,用戶ua對項目ib的預(yù)測評分。
[0210]下面以具體實施例詳細(xì)介紹:
[0211] 1)將數(shù)據(jù)集中數(shù)據(jù)表示為mXn的用戶-項目矩陣。m為用戶數(shù), n為項目數(shù)。用戶-項 目評分矩陣
[0213] 2)對項目進(jìn)行歸一化加權(quán),得到項目歸一化加權(quán)的項目協(xié)同過濾推薦方法。項目 歸一化加權(quán)的用戶-項目矩陣
[0216]根據(jù)以下公式計算項目歸一化加權(quán)后,用戶Ua和用戶Ua'的用戶余弦相似度 sim〃 (Ua,Ua7 ):
[0218]其中,ra,u代表用戶仏對項目i"的實際評分,r a/ ,u代表用戶似對項目i"的實際評分, Ua代表用戶1^評分過的項目集合,IV代表用戶iw評分過的項目集合,ua n IV代表用戶^和 用戶iw共同評分的項目集,^代表項目。的權(quán)重;
[0219]根據(jù)以下公式確定項目歸一化加權(quán)后,用戶^對項目iu的評分預(yù)測值q〃a, u
[0221] 其中,基于用戶歸一化加 權(quán)后,q〃a>u表示用戶~對項目"的評分預(yù)測值;表示 用戶個最近鄰用戶集合,^代表項目。的權(quán)重,^^表示用戶iw對項目iu的實際評分。
[0222]
其中,Test表示已評分測試集,L表示測試集大 小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶^對項目ib的實際評分,Y / ,b表示對項目 進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分。
[0223] MAE(平均絕對偏差)衡量了用戶對項目的實際評分與通過預(yù)測得到的用戶對項目 的評分之間的絕對偏差大小,其值越小,說明偏差越小,從而推薦質(zhì)量就越高。
[0224] 本發(fā)明還提供一種基于用戶和項目同時歸一化加權(quán)的用戶協(xié)同過濾推薦方法,其 中,所述基于用戶和項目同時歸一化加權(quán)的用戶協(xié)同過濾推薦方法包括:
[0225] 步驟61:獲取用戶心對項目ib的評分ra,b形成評分矩陣RmXn,其中,a表示用戶序號, a = l,2···,m;b表示項目序號,b = l,2···,n;
[0226] 步驟62:以最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1 中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對用戶和項目進(jìn)行歸一化加權(quán), 分別確定對應(yīng)用戶和項目的權(quán)重;
[0228]其中,歸一化約束條件#·
表示對所有的用戶ua加權(quán)的權(quán)值之和為1,歸一 化約束條件夂
表示對所有的項目ib加權(quán)的權(quán)值之和為l,Test表示已評分測試 集,L表示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶1^對項目ib的實際評 分,a,b表示對項目進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分。
[0229] 步驟63:根據(jù)以下公式計算用戶和項目同時歸一化加權(quán)后,用戶ua和用戶iw的用 戶余弦相似度Sin/" (Ua,Ua'):
[0230]
[0231] 其中,ra,u代表用戶心對項目iu的實際評分,ra' 表用戶ua'對項目iu的實際評分, Ua代表用戶1^評分過的項目集合,IV代表用戶iw評分過的項目集合,ua n IV代表用戶^和 用戶iw共同評分的項目集,狗代表項目"的權(quán)重,13代表用戶1^的權(quán)重,la'代表用戶iw的權(quán) 重;
[0232]步驟64:根據(jù)以下公式確定用戶和項目同時歸一化加權(quán)后,,用Pua對項目的評 分預(yù)測值Μ
[0234] 其中,基于用戶和項目同時歸一化加權(quán)后,表示用戶心對項目的評分預(yù)測 值表示用戶uWk個最近鄰用戶集合,^代表項目"的權(quán)重,la代表用戶~的權(quán)重 代表用戶1^的權(quán)重,iv ,u表不用戶iw對項目iu的實際評分。
[0235] 具體的,在得到的最優(yōu)權(quán)值的基礎(chǔ)上,計算加權(quán)后項目的相似度,為每個項目賦予 一個權(quán)值,分別為W1,W2,......Wb,......Wn。因為近鄰選擇是按照相似性從大到小來選擇 的,各項目權(quán)重比例相同時結(jié)果也相同。根據(jù)這一特性,可以對項目加權(quán)進(jìn)行權(quán)值和歸一化 約束。在不影響精度的情況下,這些約束大大縮小了項目最優(yōu)權(quán)值的選取范圍。歸一化約束 條件夂
表示對所有的項目ib加權(quán)的權(quán)值之和為1。
[0236] 在得到的最優(yōu)權(quán)值的基礎(chǔ)上,計算加權(quán)后項目的相似度,為每個用戶賦予個權(quán)值, 分別為h,l2,......la,......lm。因為近鄰選擇是按照相似性從大到小來選擇的,各用戶 權(quán)重比例相同時結(jié)果也相同。根據(jù)這一特性,可以對用戶加權(quán)進(jìn)行權(quán)值和歸一化約束。在不 影響精度的情況下,這些約束大大縮小了用戶最優(yōu)權(quán)值的選取范圍。歸一化約束條件 St-
表示對所有的用戶ua加權(quán)的權(quán)值之和為1。
[0237] 下面以具體實施例詳細(xì)介紹:
[0238] 1)將數(shù)據(jù)集中數(shù)據(jù)表示為mXn的用戶-項目矩陣。m為用戶數(shù),η為項目數(shù)。用戶-項 目評分矩陣
[0240] 2)對用戶和項目進(jìn)行歸一化加權(quán),得到用戶歸一化加權(quán)的項目協(xié)同過濾推薦方法。用戶和項目加權(quán)的用戶-項目矩陣
[0242]根據(jù)以下公式計算用戶和項目同時歸一化加權(quán)后,用戶ua和用戶IW的用戶余弦相 似度Sim'" (Ua,!^ ):
[0244] 其中,ra,u代表用戶^對項目i"的實際評分,ra/ ,u代表用戶似對項目i"的實際評分, Ua代表用戶1^評分過的項目集合,IV代表用戶iw評分過的項目集合,ua n IV代表用戶^和 用戶iw共同評分的項目集,狗代表項目"的權(quán)重,13代表用戶1^的權(quán)重,la'代表用戶iw的權(quán) 重;
[0245] 根據(jù)以下公式確定用戶和項目同時歸一化加權(quán)后,用戶ua對項目的評分預(yù)測值 q〃' a,u
[0247] 其中,基于用戶和項目同時歸一化加權(quán)后,表示用戶心對項目的評分預(yù)測 值;胃,。表示用戶11』他個最近鄰用戶集合,^代表項目"的權(quán)重,la代表用戶~的權(quán)重, 代表用戶1^的權(quán)重,iv ,u表不用戶iw對項目iu的實際評分。
[0248]
其中,Test表示已評分測試集,L表示測試集大小(包 含的用戶對項目的評分個數(shù)),ra,b表示用戶^對項目ib的實際評分,q〃 a,b表示對項目進(jìn)行歸 一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分。
[0249] MAE(平均絕對偏差)衡量了用戶對項目的實際評分與通過預(yù)測得到的用戶對項目 的評分之間的絕對偏差大小,其值越小,說明偏差越小,從而推薦質(zhì)量就越高。
[0250] 本發(fā)明還提供一種基于用戶和項目同時歸一化加權(quán)的項目協(xié)同過濾推薦方法,其 中,所述基于用戶和項目同時歸一化加權(quán)的項目協(xié)同過濾推薦方法包括:
[0251] 步驟71:獲取用戶心對項目ib的評分ra,b形成評分矩陣RmXn,其中,a表示用戶序號, a = l,2···,m;b表示項目序號,b = l,2···,n;
[0252] 步驟:72:根據(jù)權(quán)利要求1中所述的歸一化PS0隨機(jī)優(yōu)化算法確定的所述群體的權(quán) 值對用戶和項目進(jìn)行歸一化加權(quán),分別確定對應(yīng)用戶和項目的權(quán)重;
[0254] 其中,歸一化約束條件〃·
表示對所有的用戶ua加權(quán)的權(quán)值之和為1,歸一 化約束條件
表示對所有的項目ib加權(quán)的權(quán)值之和為l,Test表示已評分測試 集,L表示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶1^對項目ib的實際評 分,a,b表示對項目進(jìn)行歸一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分。
[0255] 步驟73:根據(jù)以下公式計算用戶和項目同時歸一化加權(quán)后,,項目ib與項目k的項 目余弦相似度sim〃(ib,it/ ):
[0257] 其中,Ib表示所有評分過項目ib的用戶集合,k表示所有評分過項目k的用戶集 合,Ib n Ib'表示同時評分過項目ib和項目ib'的用戶集合,代表用戶%對項目的辻評分, i,/y代表用戶1對項目的k評分Λ代表用戶%的權(quán)重,抓代表項目ib的權(quán)重,W代表項目 ib'的權(quán)重;
[0258] 步驟74:根據(jù)以下公式計算用戶和項目同時歸一化加權(quán)后,用戶對項目ib的評分 預(yù)測值':
[0260]其中,項目歸一化加權(quán)后,</,代表用戶\對項目ib的評分預(yù)測值,代表項目ib 的k個最近鄰項目集合,代表用戶心對項目k的真實評分Λ代表用戶%的權(quán)重,代表 項目ib的權(quán)重,wb'代表項目ib'的權(quán)重。
[0261 ]具體的,在得到的最優(yōu)權(quán)值的基礎(chǔ)上,計算加權(quán)后項目的相似度,為每個項目賦予 一個權(quán)值,分別為W1,W2,......Wb,......Wn。因為近鄰選擇是按照相似性從大到小來選擇 的,各項目權(quán)重比例相同時結(jié)果也相同。根據(jù)這一特性,可以對項目加權(quán)進(jìn)行權(quán)值和歸一化 約束。在不影響精度的情況下,這些約束大大縮小了項目最優(yōu)權(quán)值的選取范圍。歸一化約束 條件夂
表示對所有的項目ib加權(quán)的權(quán)值之和為1
[0262] 在得到的最優(yōu)權(quán)值的基礎(chǔ)上,計算加權(quán)后項目的相似度,為每個用戶賦予個權(quán)值, 分別為h,l2,......la,......lm。因為近鄰選擇是按照相似性從大到小來選擇的,各用戶 權(quán)重比例相同時結(jié)果也相同。根據(jù)這一特性,可以對用戶加權(quán)進(jìn)行權(quán)值和歸一化約束。在不 影響精度的情況下,這些約束大大縮小了用戶最優(yōu)權(quán)值的選取范圍。歸一化約束條件 對.
表示對所有的用戶ua加權(quán)的權(quán)值之和為1。
[0263] 下面以具體實施例詳細(xì)介紹:
[0264] 1)將數(shù)據(jù)集中數(shù)據(jù)表示為mXn的用戶-項目矩陣。m為用戶數(shù),η為項目數(shù)。用戶-項 目評分矩陣
[0266] 2)對用戶和項目同時進(jìn)行歸一化加權(quán),得到用戶和項目同時歸一化加權(quán)的項目協(xié) 同過濾推薦方法。用戶和項目加權(quán)的用戶-項目矩陣
[0268]根據(jù)以下公式計算用戶和項目同時歸一化加權(quán)后,,項目ib與項目k的項目余弦 相似度8;[1]1〃(;^41/):
[0270] 其中,Ib表示所有評分過項目ib的用戶集合,k表示所有評分過項目k的用戶集 合,I bn k表示同時評分過項目ib和項目k的用戶集合,^力代表用戶%對項目的乜評分, 代表用戶氣-對項目的k評分Λ代表用戶%的權(quán)重,Wb代表項目ib的權(quán)重,W代表項目 ib'的權(quán)重;
[0271] 根據(jù)以下公式計算用戶和項目同時歸一化加權(quán)后,用戶對項目ib的評分預(yù)測值
[0273] 其中,項目歸一化加權(quán)后,劣,6代表用戶對項目ib的評分預(yù)測值,《1代表項目ib 的k個最近鄰項目集合Λ.//代表用戶~對項目k的真實評分Λ代表用戶I的權(quán)重,wb代表 項目ib的權(quán)重,w b'代表項目ib'的權(quán)重。
[0274]
其中,Test表示已評分測試集,L表示測試集大小(包 含的用戶對項目的評分個數(shù)),ra,b表示用戶^對項目ib的實際評分,q〃 a,b表示對項目進(jìn)行歸 一化加權(quán)之后,用戶ua對項目ib的預(yù)測評分。
[0275] MAE(平均絕對偏差)衡量了用戶對項目的實際評分與通過預(yù)測得到的用戶對項目 的評分之間的絕對偏差大小,其值越小,說明偏差越小,從而推薦質(zhì)量就越高。
[0276] 本說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他 實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
【主權(quán)項】
1. 一種歸一化PSO隨機(jī)優(yōu)化算法,其特征在于,所述歸一化PSO隨機(jī)優(yōu)化算法包括: 步驟11:初始化Z個粒子的群體,使得每個粒子初始化為Η維,迭代次數(shù)T;選取一個粒子 對所述粒子的每一維上都賦值為1/Η,剩下的粒子的每一維均在(0,1)之間隨機(jī)賦值; 步驟1 2 :計算每個粒子的當(dāng)前位置X;=(為,_<2,…,為,…,冷/)的適應(yīng)度 邦we訓(xùn):確定每個粒子Ζ的歷史最優(yōu)位置/^=(拍,佐,...,咸,...,/4)及群體歷 史最優(yōu)位置巧。,:巧W =(容Lw,l,各…,各Lw,/,…,故W,ii);其中,Z表示粒子序號,Z = 1, 2,…,Z;h表示維度序號,h = l,2,…,H;t表示迭代次數(shù),t = l,2,···,Τ;,《表示第Z個粒子在 第t次迭代的當(dāng)前位置; 步驟13 :根據(jù)W下公式更新粒子的速 度和位置;其中,表示第t次迭代的粒子Z的速度,巧W表示第t+i次迭代的粒子Z的速度, 義;表示第t次迭代后的粒子Z的位置,單+1表示第t+1次迭代后粒子Z的位置,ω表示慣性權(quán) 值,丫 1、丫 2為[0,U之間的隨機(jī)數(shù),且兩者之間相互獨立,m、η勸加速因子; 步驟14:計算判斷是否滿足W下判斷條件:其中,Xzh表示第Ζ個粒子的位置在第h維上的分量; 若滿足執(zhí)行步驟15,否則對粒子做W下處理W滿足所述判斷條件: 若不滿足錢> 0,則令瑣二去*誠,并更新,巧中/4 € (0,1); 若粒子不滿足誠< 1,則令并更新4: 步驟15:根據(jù)^下公式確定吸引子^,,并^吸引子[1為縮放中屯、,化5^為縮放因子對 粒子進(jìn)行縮放:,其中,日1、日2和日3為隨機(jī)數(shù),且日1 e (0.5, 1.5)^02^(-0.5,1.5)^03^(0,1); 步驟16:根據(jù)縮放結(jié)果判斷是否找到單個粒子的最優(yōu)位置和群體的最優(yōu)位置或者迭代 次數(shù)t>T,如果是則根據(jù)所述群體的最優(yōu)位置確定所述群體的權(quán)值;否則執(zhí)行步驟12。2. -種基于項目歸一化加權(quán)的項目協(xié)同過濾推薦方法,其特征在于,所述基于項目歸 一化加權(quán)的項目協(xié)同過濾推薦方法包括: 步驟21:獲取用戶Ua對項目ib的實際評分ra,b形成評分矩陣Rmxn,其中,a表示用戶序號,a =1,2...,m;b表示項目序號,b = l ,2...,n; 步驟22: W最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1中所 述的歸一化PSO隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對項目進(jìn)行歸一化加權(quán),確定對應(yīng)項 目的歸一化權(quán)重;其中,歸一化約束條件A't表示對所有的項目ib加權(quán)的權(quán)值之和為1,Test表示 已評分測試集,L表示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶Ua對項目ib 的實際評分,q/ a, b表示對項目進(jìn)行歸一化加權(quán)之后,用戶Ua對項目ib的預(yù)測評分; 步驟23:根據(jù)W下公式計算項目歸一化加權(quán)后,項目ib與項目ib'的項目余弦相似度 sim' (ib,ib'):其中,Ib表示所有評分過項目ib的用戶集合,Ib'表示所有評分過項目ib'的用戶集合,Ib η Ib'表示同時評分過項目ib和項目ib'的用戶集合,和代表用戶而對項目的ib評分代表 用戶%對項目ib'的評分,wb代表項目ib的權(quán)重,W代表項目ib'的權(quán)重; 步驟24:根據(jù)W下公式計算項目歸一化加權(quán)后,用戶對項目ib的評分預(yù)測值姑6::其中,項目歸一化加權(quán)后,追A代表用戶聲對項目ib的評分預(yù)測值,WK,。代表項目ib的k個 最近鄰項目集合,盡,6'代表用戶^對項目ib'的真實評分,W代表項目ib'的權(quán)重。3. -種基于用戶歸一化加權(quán)的用戶協(xié)同過濾推薦方法,其特征在于,所述基于用戶歸 一化加權(quán)的用戶協(xié)同過濾推薦方法包括: 步驟31 :獲取用戶Ua對項目ib的評分ra,b形成評分矩陣RmXn ,其中,a表不用戶序號,曰二1 , 2…,m;b表示項目序號,b = l,2···,n; 步驟32: W最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1中所 述的歸一化PSO隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對用戶進(jìn)行歸一化加權(quán),確定對應(yīng)用 戶的歸一化權(quán)重;其中,歸一化約束條件S;表示對所有的用戶Ua加權(quán)的權(quán)值之和為l,Test表示 已評分測試集,L表示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶Ua對項目ib 的實際評分,q/a,b表示對用戶進(jìn)行歸一化加權(quán)之后,用戶Ua對項目ib的預(yù)測評分; 步驟33:根據(jù)W下公式計算用戶歸一化加權(quán)后,用戶Ua和用戶Ua'的用戶余弦相似度 S im' ( Ua , Ua'):其中,。,。代表用戶Ua對項目i。的實際評分,代表用戶Ua'對項目i。的實際評分,Ua代 表用戶Ua評分過的項目集合,Ua'代表用戶Ua'評分過的項目集合,UanUa'代表用戶Ua和用戶 Ua'共同評分的項目集,la代表用戶Ua的權(quán)重,。代表用戶Ua'的權(quán)重; 步驟34:根據(jù)W下公式計算用戶歸一化加權(quán)后,用戶Ua對項目i。的評分預(yù)測值q/a,。其中,基于用戶歸一化加權(quán)后,q/ a,。表示用戶Ua對項目i。的評分預(yù)測值,隸示用戶 Ua的k個最近鄰用戶集合,。表示用戶Ua'的加權(quán)值,表示用戶Ua'對項目i。的實際評分。4. 一種基于用戶歸一化加權(quán)的項目協(xié)同過濾推薦方法,其特征在于,所述基于用戶歸 一化加權(quán)的項目協(xié)同過濾推薦方法包括: 步驟41 :獲取用戶Ua對項目ib的評分ra,b形成評分矩陣RmXn,其中,a表示用戶序號,曰二1, 2…,m;b表不項目序號,b = l ,2··· ,η; 步驟42: W最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1中所 述的歸一化PSO隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對用戶進(jìn)行歸一化加權(quán),確定對應(yīng)用 戶的權(quán)重;其中,歸一化約束條件si表示對所有的用戶Ua加權(quán)的權(quán)值之和為1,Test表示 已評分測試集,L表示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶Ua對項目ib 的實際評分,q/a,b表示對用戶進(jìn)行歸一化加權(quán)之后,用戶Ua對項目ib的預(yù)測評分; 步驟43:根據(jù)W下公式計算用戶歸一化加權(quán)后,項目ib與項目ib<的項目余弦相似度 sim"(ib,ib'):其中,Ib表示所有評分過項目ib的用戶集合,Ib'表示所有評分過項目ib'的用戶集合,Ib η Ib'表示同時評分過項目ib和項目ib'的用戶集合,.6代表用戶^對項目的ib評分,方代 表用戶:^;對項目的山評分,胃/^代表用戶與前權(quán)重; 步驟44:根據(jù)W下公式計算用戶歸一化加權(quán)后,用戶%對項目ib的評分預(yù)測值楚4^其中,項目歸一化加權(quán)后,若A代表用戶^對項目ib的評分預(yù)測值,ΛΚ、代表項目ib的k 個最近鄰項目集合,言護(hù)代表用戶對項目ib'的真實評分,代表用戶兩的權(quán)重。5. -種基于項目歸一化加權(quán)的用戶協(xié)同過濾推薦方法,其特征在于,所述基于項目歸 一化加權(quán)的用戶協(xié)同過濾推薦方法包括: 步驟51 :獲取用戶Ua對項目ib的評分ra,b形成評分矩陣RmXn,其中,a表不用戶序號,曰二1 , 2…,m;b表示項目序號,b = l,2···,n; 步驟52: W最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1中所 述的歸一化PSO隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對項目進(jìn)行歸一化加權(quán),確定對應(yīng)項 目的歸一化權(quán)重;其中,歸一化約束條件表示對所有的項目ib加權(quán)的權(quán)值之和為1,Test表示 已評分測試集,L表示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶Ua對項目ib 的實際評分,q"a,b表示對項目進(jìn)行歸一化加權(quán)之后,用戶Ua對項目ib的預(yù)測評分; 步驟53:根據(jù)W下公式計算項目歸一化加權(quán)后,用戶Ua和用戶Ua'的用戶余弦相似度 S im" ( Ua , Ua'):其中,。,。代表用戶Ua對項目i。的實際評分,代表用戶Ua'對項目i。的實際評分,Ua代 表用戶Ua評分過的項目集合,Ua'代表用戶Ua'評分過的項目集合,UanUa'代表用戶Ua和用戶 Ua'共同評分的項目集,W。代表項目i。的權(quán)重; 步驟54:根據(jù)w下公式確定項目歸一化加權(quán)后,用戶Ua對項目i。的評分預(yù)測值q"a,。其中,基于用戶歸一化加權(quán)后,q"a,。表示用戶Ua對項目i。的評分預(yù)測值;WKu。表示用戶 Ua的k個最近鄰用戶集合,W。代表項目i。的權(quán)重,raV表示用戶對項目i。的實際評分。6.-種基于用戶和項目同時歸一化加權(quán)的用戶協(xié)同過濾推薦方法,其特征在于,所述 基于用戶和項目同時歸一化加權(quán)的用戶協(xié)同過濾推薦方法包括: 步驟61:獲取用戶Ua對項目ib的評分ra,b形成評分矩陣Rmxn,其中,a表示用戶序號,a= 1, 2…,m;b表不項目序號,b = l ,2··· ,η; 步驟62: W最小化平均絕對誤差(MAE)為優(yōu)化目標(biāo)和適應(yīng)度函數(shù),根據(jù)權(quán)利要求1中所 述的歸一化PSO隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對用戶和項目進(jìn)行歸一化加權(quán),分別 確定對應(yīng)用戶和項目的權(quán)重;其中,歸一化約束條件心表示對所有的用戶Ua加權(quán)的權(quán)值之和為1,歸一化約 束條件I示對所有的項目ib加權(quán)的權(quán)值之和為1,Test表示已評分測試集,L表 示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶Ua對項目ib的實際評分,q"/ a,b 表示對項目進(jìn)行歸一化加權(quán)之后,用戶Ua對項目ib的預(yù)測評分; 步驟63:根據(jù)W下公式計算用戶和項目同時歸一化加權(quán)后,用戶Ua和用戶Ua'的用戶余 弦相似度sim"' (Ua,Ua'):其中,。,。代表用戶Ua對項目i。的實際評分,代表用戶Ua'對項目i。的實際評分,Ua代 表用戶Ua評分過的項目集合,Ua'代表用戶IW評分過的項目集合,UaHUa'代表用戶Ua和用戶 Ua'共同評分的項目集,W。代表項目i。的權(quán)重,la代表用戶Ua的權(quán)重,。代表用戶Ua'的權(quán)重; 步驟64:根據(jù)W下公式確定用戶和項目同時歸一化加權(quán)后,,用戶Ua對項目i。的評分預(yù) 測值q"'a,。其中,基于用戶和項目同時歸一化加權(quán)后,q"/ a,。表示用戶Ua對項目i。的評分預(yù)測值; ^^,,。表示用戶113的1^個最近鄰用戶集合,機(jī)代表項目1。的權(quán)重,13代表用戶113的權(quán)重山'代表 用戶。的權(quán)重,表示用戶Ua'對項目i。的實際評分。7.-種基于用戶和項目同時歸一化加權(quán)的項目協(xié)同過濾推薦方法,其特征在于,所述 基于用戶和項目同時歸一化加權(quán)的項目協(xié)同過濾推薦方法包括: 步驟71 :獲取用戶Ua對項目ib的評分ra,b形成評分矩陣RmXn,其中,a表示用戶序號,曰二1, 2…,m;b表示項目序號,b = l,2···,n; 步驟:72:根據(jù)權(quán)利要求1中所述的歸一化PSO隨機(jī)優(yōu)化算法確定的所述群體的權(quán)值對 用戶和項目進(jìn)行歸一化加權(quán),分別確定對應(yīng)用戶和項目的權(quán)重;其中,歸一化約束條件化表示對所有的用戶Ua加權(quán)的權(quán)值之和為1,歸一化約 束條件說.表示對所有的項目ib加權(quán)的權(quán)值之和為l,Test表示已評分測試集,L表 示測試集大小(包含的用戶對項目的評分個數(shù)),ra,b表示用戶Ua對項目ib的實際評分,q"/ a,b 表示對項目進(jìn)行歸一化加權(quán)之后,用戶Ua對項目ib的預(yù)測評分; 步驟73:根據(jù)W下公式計算用戶和項目歸一化加權(quán)后,,項目ib與項目ib'的項目余弦相 似度3;[1]1"(山:[1/):其中,Ib表示所有評分過項目ib的用戶集合,Ib'表示所有評分過項目ib'的用戶集合,Ib η ib'表示同時評分過項目ib和項目ib'的用戶集合,ff,z,代表用戶對項目的ib評分Λ,6'代 表用戶'w.i對項目的ib'評分,每代表用戶的權(quán)重,wb代表項目ib的權(quán)重,wb'代表項目ib'的權(quán) 重; 步驟74:根據(jù)W下公式計算用戶和項目歸一化加權(quán)后,用戶和對項目ib的評分預(yù)測值 知,:其中,項目歸一化加權(quán)后,我6代表用戶^對項目ib的評分預(yù)測值,Af馬代表項目ib的k個 最近鄰項目集合,吃6'代表用戶聽對項目ib'的真實評分Λ代表用戶^的權(quán)重,Wb代表項目ib 的權(quán)重,Wb'代表項目ib'的權(quán)重。
【文檔編號】G06N3/00GK106096718SQ201610395724
【公開日】2016年11月9日
【申請日】2016年6月6日 公開號201610395724.X, CN 106096718 A, CN 106096718A, CN 201610395724, CN-A-106096718, CN106096718 A, CN106096718A, CN201610395724, CN201610395724.X
【發(fā)明人】王成, 文詩琪, 蘇芳芳, 郭俊杰, 陳維斌, 陳葉旺, 賴雄鳴, 鐘必能, 蔡奕僑, 張惠臻
【申請人】華僑大學(xué)