胡陳思
(杭州電子科技大學(xué),杭州 310018)
?
一種基于蟻群算法的移動電子商務(wù)推薦方法
胡陳思
(杭州電子科技大學(xué),杭州 310018)
[摘 要]本文針對移動電子商務(wù)推薦算法特性,結(jié)合模擬進(jìn)化算法——蟻群算法,提出一種新型的推薦算法。該算法模擬螞蟻覓食原理,對用戶尋找商品的路徑進(jìn)行模擬,引入用戶實時評分偏好、時間、地點等移動性因素,結(jié)合面向用戶的協(xié)同過濾算法,得到較為精確的推薦結(jié)果。對數(shù)據(jù)集的測試結(jié)果表明,相比于傳統(tǒng)的協(xié)同過濾算法,該算法可有效提高推薦系統(tǒng)的推薦質(zhì)量。
[關(guān)鍵詞]蟻群算法;推薦算法;協(xié)同過濾
蟻群算法(Ant Colony Optimization,ACO),又稱為螞蟻算法或蟻群優(yōu)化,是一種用來在圖中尋找優(yōu)化路徑的機率型技術(shù)。算法靈感源于生物學(xué)中螞蟻覓食的行為,螞蟻從巢穴出發(fā)覓食,沿途釋放一定的信息素,路徑長度決定螞蟻在行進(jìn)過程中釋放的信息素濃度,該濃度與路徑成反比,而后續(xù)出發(fā)的螞蟻會識別路徑中信息素的濃度,選擇信息素大的路徑,經(jīng)過多次循環(huán),螞蟻會傾向選擇信息素較多的路徑,得到最短路徑。
2.1轉(zhuǎn)移概率函數(shù)
蟻群算法中螞蟻在節(jié)點需要根據(jù)信息素的濃度來決定是否進(jìn)入某一路徑,轉(zhuǎn)移概率決定了轉(zhuǎn)移的方向。相應(yīng)的,用戶會根據(jù)商品評分選擇瀏覽哪個商品。用戶已瀏覽的商品集合為:N={1,2,3,…,num},利用搜索禁忌算法中的禁忌表tab來記錄用戶已瀏覽的商品項目,allowed=(N-tab),根據(jù)蟻群算法原理,可得到用戶從商品項目i轉(zhuǎn)到j(luò)的概率為:
2.2啟發(fā)函數(shù)
ηij(t)為啟發(fā)函數(shù),表示用戶從項目i到項目j的期望程度,表示為i與j的相似性。可用i與j之間的余弦相似性來表示,cos(Ci,Cj),余弦相似性根據(jù)項目評分來獲得。i與j的相似性越大,啟發(fā)函數(shù)的值越高。公式如下:
2.3項目評分更新規(guī)則
螞蟻在路徑上留下信息素,越短的路徑,螞蟻留下的信息素濃度越高,反之,越長的路徑,螞蟻留下的信息素濃度越低。蟻群算法中,每進(jìn)行一次算法的循環(huán),所有路徑上的信息素會進(jìn)行一次更新。
由于蟻群算法的信息素的揮發(fā)性,在每一次推薦完成,信息素就進(jìn)行更新處理,信息素在不斷更新,算法中的時效性便得以體現(xiàn),用戶長時間瀏覽某一商品,說明用戶對商品具有一定興趣,反之,用戶對商品興趣較弱。其更新規(guī)則如下所示:
信息素殘留因子表示不同蟻群間相互影響的關(guān)系,當(dāng)信息素殘留因子過大時,系統(tǒng)會增加對之前搜索過的路徑再次進(jìn)行搜索的次數(shù),降低了算法的搜索隨機性和全面搜索能力;反之,雖然可通過降低信息素殘留因子的大小來提高算法的搜索隨機性和全面搜索能力,但會使算法計算速度降低。初始時,?ω=0,如果用戶瀏覽商品而且購買推薦項目時,則商品項目評分增加,即?ω>0。如果用戶未瀏覽或瀏覽后沒有購買該推薦商品時?ω=0 。
實驗采用某移動電子商務(wù)網(wǎng)站的數(shù)據(jù)集,此數(shù)據(jù)集是由953名用戶對1 457種商品的10萬多條評分記錄所組成,用戶評分的范圍是1~5顆星,5星表示“好評”,1星表示“差評”,轉(zhuǎn)化為數(shù)值1-5進(jìn)行數(shù)據(jù)的采集。評分的稀疏性可進(jìn)行計算,為:1-100 000/ (953×1457)=0.938 22,數(shù)據(jù)具有較強的稀疏性。實驗過程中對數(shù)據(jù)進(jìn)行隨機分配,訓(xùn)練集:測試集為2∶ 8。
實驗采用不相同的數(shù)據(jù)集進(jìn)行測試,取4次實驗的平均值作為實驗結(jié)果,得出最優(yōu)參數(shù)值。實驗結(jié)果表明,當(dāng)δ=0.3,?ω=1.5,α=1.2,β=0.5時,實驗結(jié)果最優(yōu)。為了驗證算法的有效性,以基于用戶的協(xié)同過濾推薦算法作為對照,對平均絕對偏差這一個維度進(jìn)行比較,然后與本文提出的算法作比較,實驗結(jié)果如表1所示。
表1 蟻群算法與傳統(tǒng)協(xié)同過濾算法的實驗結(jié)果
本文提出一種基于蟻群算法的移動電子商務(wù)個性化推薦算法。分析實驗結(jié)果,該算法的平均絕對偏差值比傳統(tǒng)的協(xié)同過濾算法小,推薦商品的質(zhì)量有所提高,并通過設(shè)置公示中的參數(shù)解決傳統(tǒng)協(xié)同過濾算法中的冷啟動問題。該算法中各參數(shù)的取值尚無嚴(yán)格的理論依據(jù),需利用數(shù)據(jù)反復(fù)實驗求得公式中最優(yōu)參數(shù)值,具有一定的局限性,相對于傳統(tǒng)的協(xié)同過濾算法,蟻群算法的計算時間并不理想,尚有一定缺陷。
主要參考文獻(xiàn)
[1]李濤,王建東,葉飛躍.推薦系統(tǒng)中一種新的相似性計算方法[J].計算機科學(xué),2007(8).
[收稿日期]2015-12-04
[中圖分類號]TP301.6;TP391.3
[文獻(xiàn)標(biāo)識碼]A
[文章編號]1673-0194(2016)02-0152-01
doi:10.3969/j.issn.1673 - 0194.2016.02.117