王珊珊
摘 要:近年來(lái),大數(shù)據(jù)的快速發(fā)展為電子商務(wù)帶來(lái)了新的機(jī)遇,推薦系統(tǒng)便是大數(shù)據(jù)與電子商務(wù)平臺(tái)結(jié)合的典型應(yīng)用,能夠大大提升用戶服務(wù)質(zhì)量,增加用戶點(diǎn)擊率。據(jù)此,介紹了經(jīng)典的推薦系統(tǒng)并以此為基礎(chǔ)描述了K-means算法在推薦系統(tǒng)中的應(yīng)用。
關(guān)鍵詞:電子商務(wù);推薦系統(tǒng);k-means;大數(shù)據(jù)
中圖分類號(hào):F49 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3198(2015)14-0051-03
電子商務(wù)是在Internet開放的網(wǎng)絡(luò)環(huán)境下,以在線形式實(shí)現(xiàn)用戶、合作伙伴、供應(yīng)商以及員工進(jìn)行交互的商業(yè)運(yùn)營(yíng)模式。電子商務(wù)的涌現(xiàn)標(biāo)志著商貿(mào)活動(dòng)正從傳統(tǒng)方式向電子信息化方向變革。今天,Internet為電子商務(wù)帶來(lái)了飛速增長(zhǎng),同時(shí)電子商務(wù)平臺(tái)的競(jìng)爭(zhēng)也日益激烈,如何為用戶提供更好的服務(wù)獲取更多的商品點(diǎn)擊率是各電商平臺(tái)競(jìng)爭(zhēng)的焦點(diǎn)。
1 協(xié)作型過(guò)濾技術(shù)
當(dāng)前主流的推薦系統(tǒng)都是采用被稱為協(xié)作型過(guò)濾的技術(shù),該算法基于一個(gè)假設(shè),即為用戶找到他感興趣的內(nèi)容的方法是首先找到與其興趣相似的用戶,然后將這些用戶感興趣的內(nèi)容推薦給目標(biāo)用戶。其通用做法是對(duì)海量用戶進(jìn)行搜索,并從中找出與目標(biāo)用戶相似度最高的部分用戶。算法會(huì)對(duì)所有用戶進(jìn)行考查,并進(jìn)行組合構(gòu)造出一個(gè)經(jīng)過(guò)排名的推薦列表。
協(xié)作型過(guò)濾分為:基于用戶的協(xié)作型過(guò)濾和基于物品的協(xié)作型過(guò)濾。
1.1 基于物品的協(xié)作型過(guò)濾
將用戶對(duì)物品的喜好,當(dāng)作是物品的一個(gè)屬性來(lái)看待,也就是說(shuō),有多少用戶喜歡某物品,那么可以將該物品看作有多少個(gè)維度的屬性,具體偏好就是維度的屬性值。然后通過(guò)相似度算法,來(lái)計(jì)算物品間的相似度。當(dāng)大部分用戶購(gòu)買的商品很少的時(shí)候,基于物品的協(xié)作過(guò)濾效果比較好。
1.2 基于用戶的協(xié)作型過(guò)濾
將用戶購(gòu)買的物品看作是這個(gè)用戶的不同維度的屬性,很顯然,大部分用戶買了多件物品的數(shù)據(jù),采用這種方法效果比較好。
2 相似度度量
協(xié)作型過(guò)濾系統(tǒng)需要通過(guò)相似度計(jì)算來(lái)獲取用戶間/物品間的相似度,通用的相似度評(píng)價(jià)體系有:歐幾里得距離和皮爾遜相關(guān)度。
2.1 歐幾里得距離
歐幾里得距離(Euclidean distance)也稱歐式距離,它是一個(gè)通常采用的距離定義,它是在n維空間中兩個(gè)點(diǎn)之間的真實(shí)距離。
在二維和三維空間中的歐式距離的就是兩點(diǎn)之間的距離,二維空間的公式:
2.2 皮爾遜相關(guān)系數(shù)
皮爾遜相關(guān)系數(shù)是一種度量?jī)蓚€(gè)變量間相關(guān)程度的方法。它是一個(gè)介于1和-1之間的值,其中,1表示變量完全正相關(guān),0表示無(wú)關(guān),-1表示完全負(fù)相關(guān)。該系數(shù)是判斷兩組數(shù)據(jù)與某一直線擬合程度的一種度量,在數(shù)據(jù)不規(guī)范的時(shí)候,該系數(shù)會(huì)傾向于給出更好的結(jié)果。
3 聚類算法在推薦系統(tǒng)中的應(yīng)用
協(xié)作型過(guò)濾技術(shù)在推薦系統(tǒng)中的應(yīng)用已經(jīng)非常成熟且取得了很好的效果,但是隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,數(shù)據(jù)量的逐步增大,通過(guò)搜索全部用戶尋找與目標(biāo)用戶相似度排名較高的用戶會(huì)極大的影響推薦系統(tǒng)的效率,特別是一些實(shí)時(shí)性要求較高的系統(tǒng)中,效率問(wèn)題會(huì)更加凸顯。
因此在大數(shù)據(jù)環(huán)境下,一種通過(guò)離線聚類在線搜索的方式,提高推薦系統(tǒng)效率的方法可以有效提升系統(tǒng)效率而不損失推薦效果;首先在收集到大量用戶數(shù)據(jù)后,預(yù)先對(duì)后臺(tái)用戶數(shù)據(jù)進(jìn)行聚類,然后通過(guò)人工方式對(duì)各個(gè)類別進(jìn)行標(biāo)注,當(dāng)有用戶需要推薦時(shí),僅僅對(duì)用戶當(dāng)前關(guān)注商品的類別已及相鄰類別中的數(shù)據(jù)進(jìn)行搜索,這樣可以大大減少搜索的范圍提升系統(tǒng)效率。
3.1 K-means算法
K-means是發(fā)現(xiàn)給定數(shù)據(jù)集在k個(gè)簇的算法。簇個(gè)數(shù)k是用戶給定的,每個(gè)簇通過(guò)其質(zhì)心(centroid),即簇中所有點(diǎn)的中心來(lái)描述。
K-means算法的工作流程如下:首先,隨機(jī)確定k個(gè)初始點(diǎn)作為質(zhì)心。其次,將數(shù)據(jù)集中的每個(gè)點(diǎn)分配到一個(gè)簇中。即為每個(gè)點(diǎn)找距離其最近的質(zhì)心,并將其分配給質(zhì)心所對(duì)應(yīng)的簇中。最后,每個(gè)簇的質(zhì)心更新為該簇所有點(diǎn)的平均值。
3.2 二分K-means算法
為了克服K-means算法收斂于局部最小值的問(wèn)題,于是二分K-means算法被提出了。該算法首先將所有點(diǎn)作為一個(gè)簇,然后將該簇一分為二,然后選擇其中的一個(gè)簇繼續(xù)進(jìn)行劃分,具體選擇哪個(gè)簇可以由其劃分是否可以最大程度上降低誤差的值為標(biāo)準(zhǔn)。不斷重復(fù)基于誤差的劃分過(guò)程,直到得到用戶所指定的數(shù)目為止。
二分K-means源碼如下:
4 總結(jié)
本文主要介紹了電子商務(wù)領(lǐng)域最重要的推薦系統(tǒng)之一,協(xié)作型過(guò)濾技術(shù)的算法及主流的相似度計(jì)算方法,并以此為基礎(chǔ)介紹了K-means算法在推薦系統(tǒng)中的應(yīng)用。
K-means算法及其改進(jìn)算法的引入可以在不損失推薦效果的前提條件下,有效的提高系統(tǒng)的效率,獲得更好的用戶體驗(yàn)。
參考文獻(xiàn)
[1]P.S.Bradley and U.M.Fayyad.Refining Initial Poins for k-means Clustering[C].In proc.of the 15th Intl.conf.on machine learning:91-99.
[2]張娜.電子商務(wù)環(huán)境下的個(gè)性化信息推薦服務(wù)及應(yīng)用研究[D].合肥:合肥工業(yè)大學(xué),2007.
[3]張建萍,劉希玉.基于聚類分析的K-means算法研究及應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2007,24(5):166-168.
[4]賈磊,丁冠華.數(shù)據(jù)挖掘中的K-means算法及改進(jìn)[J].福建電腦,2006,(11):47-56.
[5]B.S.Everitt,S.Landau,M.Leese.Cluster Analysis.Arnold Publishers[C].London,fourth edition,may,2001.