魏濤 劉亞軍 葉傳標 曹陽
摘要:針對基于聚類的協(xié)同過濾推薦算法在進行聚類代價函數(shù)優(yōu)化時容易陷入局部最優(yōu)的問題,將具有良好全局最優(yōu)搜索能力的螢火蟲優(yōu)化算法與聚類算法相互結(jié)合,提出一種基于螢火蟲聚類的協(xié)同過濾推薦算法,實驗結(jié)果表明,所提出的算法優(yōu)于基于聚類的協(xié)同過濾推薦算法,其推薦準確率更高,完成實時推薦所花費的時間更少。
關(guān)鍵詞:協(xié)同過濾;推薦系統(tǒng);聚類;螢火蟲算法
中圖分類號:TP391 文獻標識碼:A
文章編號:1009-3044(2019)33-0289-03
1概述
隨著電子商務(wù)中的商品種類和數(shù)量快速增長,為便于客戶快速選中心儀的商品,推薦系統(tǒng)應(yīng)時而生。協(xié)同過濾推薦技術(shù)是推薦系統(tǒng)中的一個重要技術(shù),該技術(shù)基于已有客戶群過去的商品選擇數(shù)據(jù),去預(yù)測某個客戶最可能感興趣或者喜歡的商品。
協(xié)同過濾技術(shù)目前已經(jīng)在推薦系統(tǒng)中得到廣泛應(yīng)用,該技術(shù)不依賴于商品本身的信息,當(dāng)商品信息殘缺時,仍然可以根據(jù)最近鄰客戶的評價值進行推薦,但該技術(shù)也存在數(shù)據(jù)稀疏和冷啟動問題,尤其是當(dāng)電子商務(wù)中客戶數(shù)量急劇膨脹時,在較大的客戶空間上搜索最近鄰客戶將變得非常耗時,這使得推薦系統(tǒng)的實時性等性能指標難以得到保證。
為了縮小客戶搜索空間,國內(nèi)外一些研究者將聚類技術(shù)引人協(xié)同過濾推薦算法中,提出了一些協(xié)同過濾推薦算法的改進算法,這些改進算法先將客戶按照對商品評價的相似性進行聚類,接著判斷目標客戶所屬的聚類,最后在其對應(yīng)或鄰近的聚類中進行最近鄰客戶的搜索,從而縮小了客戶搜索空間,保證了推薦系統(tǒng)實時性等性能指標。
雖然這些基于聚類的協(xié)同過濾算法提高了推薦系統(tǒng)的推薦性能,但這些算法中使用的聚類算法容易陷人局部最優(yōu)而達不到全局最優(yōu)。為此,本文提出一種基于螢火蟲聚類的協(xié)同過濾推薦算法,螢火蟲算法屬于群智能優(yōu)化算法,它通過螢火蟲群體中每個個體間信息交互合作來尋優(yōu),其良好的全局最優(yōu)搜索能力能夠使基于客戶聚類的協(xié)同過濾算法中的聚類代價優(yōu)化函數(shù)容易陷入局部最優(yōu)的不足之處得到解決。
2基于螢火蟲聚類的協(xié)同過濾推薦算法
2.2客戶集合k均值聚類
利用k均值聚類將客戶集合u劃分為k個簇來縮小客戶搜索空間,首先隨機選取k個客戶作為k個簇的初始聚類中心,然后計算每個客戶與這些聚類中心的距離,把每個客戶分配給距離最近的聚類簇,分配客戶后聚類簇的中心將重新計算。以上過程重復(fù)迭代進行,最終目的是使得聚類代價函數(shù)最小,聚類代價函數(shù)如式(3)所示,其定義為各個客戶距離所屬簇中心點的誤差平方和。
2.3螢火蟲算法
螢火蟲算法是一種利用自然界中螢火蟲發(fā)光行為所設(shè)計出的群體搜索智能優(yōu)化算法,這種算法用螢火蟲來模擬搜索空間中的點,通過亮度低的螢火蟲向亮度高的螢火蟲移動來求得最優(yōu)解,亮度和吸引度是螢火蟲算法的兩個重要參數(shù)。
螢火蟲算法中的亮度參數(shù)表示螢火蟲所表示解的優(yōu)劣程度,亮度越高,表示螢火蟲所代表的解越好,亮度低的螢火蟲因被吸引向亮度高的螢火蟲移動,故而,螢火蟲的亮度參數(shù)決定螢火蟲的移動方向,螢火蟲算法中的吸引度參數(shù)表示被吸引螢火蟲移動量的數(shù)值,螢火蟲算法的亮度、吸引度公式如式(4)、(5)所示。
由圖1所示,當(dāng)最近鄰個數(shù)較小時,兩種算法的平均絕對誤差MAE均較大,隨著最近鄰個數(shù)的增多,兩種算法的平均絕對誤差MAE均逐漸減小,本文所提出的基于螢火蟲聚類的協(xié)同推薦算法比基于聚類的協(xié)同過濾推薦算法的平均絕對誤差MAE低。
為了測試本文所提出算法的實時性性能,在測試實時性性能的實驗中,最近鄰個數(shù)為30,聚類的數(shù)目以15為間隔,依次從15增加到150,基于聚類的協(xié)同過濾推薦算法與本文所提出的算法完成實時推薦所花費時間的實驗結(jié)果如圖2所示。
由圖2所示,當(dāng)聚類數(shù)目較小時,兩種算法完成實時推薦所花費的時間均較大,隨著聚類數(shù)目的增多,兩種算法完成實時推薦所花費的時間均逐漸減小,本文所提出的算法完成實時推薦所花費的時間比基于聚類的協(xié)同過濾推薦算法完成實時推薦所花費的時間少。
4總結(jié)
本文提出一種基于螢火蟲聚類的協(xié)同過濾推薦算法,該算法通過螢火蟲群體中每個個體間信息交互合作來尋優(yōu),從而解決了基于聚類的協(xié)同過濾算法中的聚類算法代價優(yōu)化函數(shù)容易陷入局部最優(yōu)的缺點,實驗結(jié)果表明,本文所提出的算法比基于聚類的協(xié)同過濾推薦算法推薦準確率更高,完成實時推薦所花費的時間更少。