版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、基于用戶協(xié)同過濾算法的電影推薦系統(tǒng)摘要隨著電子商務(wù)的高速發(fā)展和普及應(yīng)用,個(gè)性化推薦的推薦系統(tǒng)已成為一個(gè)重 要研究領(lǐng)域。個(gè)性化推薦算法是推薦系統(tǒng)中最核心的技術(shù),在很大程度上決定了 電子商務(wù)推薦系統(tǒng)性能的優(yōu)劣。協(xié)同過濾是應(yīng)用最為廣泛的一種個(gè)性化推薦技術(shù)。 協(xié)同過濾主要分為基于用戶的協(xié)同過濾和基于項(xiàng)目的協(xié)同過濾。本文研究了基于用戶的協(xié)同過濾推薦算法及其在電影推薦系統(tǒng)中的應(yīng)用,設(shè)計(jì)開發(fā)了相應(yīng)的電影推薦系統(tǒng)中個(gè)性化推薦原型系統(tǒng),并對該算法的推薦質(zhì)量進(jìn) 行了深入的實(shí)驗(yàn)分析。本文也介紹了協(xié)同過濾推薦的基本思想。 在介紹電影推薦 系統(tǒng)推薦技術(shù)研究與應(yīng)用現(xiàn)狀的基礎(chǔ)上,詳細(xì)說明了基于用戶的協(xié)同過濾推薦算 法及其具
2、體實(shí)現(xiàn)步驟。采用 Java Web實(shí)現(xiàn)了原型系統(tǒng)。對于挖掘結(jié)果從算法效 率及應(yīng)用意義上進(jìn)行比較分析關(guān)鍵詞:電影基于用戶的協(xié)同過濾推薦余弦相似性相關(guān)相似性目錄 TOC o 1-5 h z 基于用戶協(xié)同過濾算法的電影推薦系統(tǒng) 1摘要1.第1章緒論3.研究背景3.國際發(fā)展形勢 4.第2章基于用戶協(xié)同過濾推薦技術(shù)5電子商務(wù)推薦系統(tǒng)概述5協(xié)同過濾才t薦技術(shù)5.第3章基于用戶的協(xié)同過濾推薦算法7基于用戶協(xié)同過濾算法的介紹7、基于用戶喜好值推薦算法的思路 .7建立用戶模型7.尋找最近鄰居8.算法的實(shí)現(xiàn)9.電影推薦系統(tǒng)界面實(shí)現(xiàn)1.0第4章算法推薦質(zhì)量的實(shí)驗(yàn)分析 1.1算法推薦質(zhì)量的衡量方法 11驗(yàn)證推薦方法采
3、用的數(shù)據(jù)集 11實(shí)驗(yàn)結(jié)果分析12余弦相似性12相似相關(guān)性13基于用戶評分次數(shù)的相似相關(guān)性計(jì)算方法 1 4兩種算法的對比分析1.5第五章總結(jié)16參考文獻(xiàn)1.7附錄1.8第1章緒論研究背景隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,人們逐漸走入了信息過載的時(shí)代。面對大量的 信息,我們都顯得有些無所適從。作為信息需求者,從大量信息中找到自己感興 趣的信息往往是一件非常困難的事情; 而對于信息提供者,讓自己的信息脫穎而 出,受到大家的關(guān)注,也是一件非常困難的事情。推薦系統(tǒng)就是解決這一矛盾的 重要工具。推薦系統(tǒng)通過建立用戶和信息產(chǎn)品之間的關(guān)系,利用已有的選擇過程 或相似性關(guān)系,一方面挖掘用戶潛在感興趣的信息,另一方面讓信
4、息能夠展現(xiàn)在 對它感興趣的用戶面前。一個(gè)完整的推薦系統(tǒng)通常包含收集用戶信息的行為記錄模塊,分析用戶喜好的模型分析模塊和推薦算法模塊。我們身邊最熟悉的例子要數(shù)電子商務(wù)網(wǎng)站的推薦系統(tǒng),幾乎每個(gè)大型電子商 務(wù)網(wǎng)站都把個(gè)性化推薦作為重要的營銷手段之一。更有文獻(xiàn)表明早期Amazon的35%銷售增量都來自它的推薦系統(tǒng)。除了商品,音樂、電影等也是常見的推 薦對象。在眾多的個(gè)性化推薦算法中,協(xié)同過濾被廣泛應(yīng)用,也是最成功的推薦算法。 本課題旨在研究基于用戶的協(xié)同過濾推薦算法在電子商務(wù)個(gè)性化商品推薦中的 應(yīng)用。研究電子商務(wù)推薦系統(tǒng)對企業(yè)和社會(huì)具有很高的經(jīng)濟(jì)價(jià)值。電子商務(wù)個(gè)性化推薦系統(tǒng)的關(guān)鍵是建立用戶模型。推薦系
5、統(tǒng)的熱點(diǎn)問題是推薦技術(shù)和推薦算法的 研究。推薦算法是整個(gè)推薦系統(tǒng)的核心,它的性能決定了最終推薦結(jié)果的好壞。 為了建立合理的用戶模型,滿足不同用戶對實(shí)時(shí)性、推薦方式等的要求,產(chǎn)生了 一系列的推薦技術(shù)和算法。涉及的技術(shù)包括基于內(nèi)容的過濾技術(shù)、協(xié)同過濾技術(shù)、 關(guān)聯(lián)規(guī)則挖掘技術(shù)、分類和聚類技術(shù)、神經(jīng)網(wǎng)絡(luò)技術(shù)等等。個(gè)性化的服務(wù)在商家與顧客之間建立起了一條牢固的紐帶。顧客越多地使用 推薦系統(tǒng)。推薦系統(tǒng)可以更適合顧客的需要,將顧客更多地吸引到自己的網(wǎng)站, 與顧客建立長期穩(wěn)定的關(guān)系。從而能有效保留用戶,防止用戶流失。個(gè)性化推薦技術(shù)是電子商務(wù)推薦系統(tǒng)中最核心最關(guān)鍵的技術(shù),很大程度上決 定了電子商務(wù)推薦系統(tǒng)性能的
6、優(yōu)劣4.國際發(fā)展形勢隨著互聯(lián)網(wǎng)的普及以及電子商務(wù)的發(fā)展,推薦系統(tǒng)漸漸成為電子商務(wù)技術(shù)的 一個(gè)重要研究內(nèi)容,得到了越來越多的研究者的關(guān)注5。國外在這方面的研究起步較早。1997年Resnick&Varian給出了電子商務(wù)推 薦系統(tǒng)的正式定義 6 o從1999年開始,計(jì)算機(jī)協(xié)會(huì)ACM(Association forComputing Machinery)每年召開一次電子商務(wù)的研討會(huì),研究文章中關(guān)于電子商 務(wù)推薦系統(tǒng)的占據(jù)了很大比重;該協(xié)會(huì)下面的數(shù)據(jù)挖掘特別興趣組 SIGKDD(Special Interest Group on KDD)和信息檢索興趣小組 SIGIR(Special Interes
7、t Group on Information Retrieval)也分別在 1999 年和第 24 屆研究發(fā)展會(huì) 議上,開始把推薦系統(tǒng)作為一個(gè)專門的研究主題。同時(shí),第十五屆人工智能會(huì)議、 第一屆知識(shí)管理應(yīng)用會(huì)議等也紛紛將電子商務(wù)推薦系統(tǒng)作為研究主題。第2章基于用戶協(xié)同過濾推薦技術(shù)電子商務(wù)推薦系統(tǒng)概述電子商務(wù)對傳統(tǒng)的商務(wù)交易產(chǎn)生了革命性的變化,從而要求“以產(chǎn)品為中心” 向“面向客戶”、“以客戶為中心”的新的商業(yè)模式的轉(zhuǎn)變,要求電子商務(wù)網(wǎng)站按 客戶群劃分產(chǎn)品,圍繞客戶進(jìn)行服務(wù),為客戶提供所需要的東西,所以對每個(gè)顧客 提供個(gè)性化的服務(wù)成為必要。在這種背景下,推薦系統(tǒng)(Recommender Syst
8、em)應(yīng) 運(yùn)而生,它是根據(jù)用戶個(gè)人的喜好、習(xí)慣來向其推薦信息、商品的程序70電子商務(wù)網(wǎng)站可以使用推薦系統(tǒng)分析客戶的消費(fèi)偏好晌每個(gè)客戶具有針對性地推薦產(chǎn)品,幫助用戶從龐大的商品目錄中挑選真正適合自己需要的商品,盡可能為每個(gè)顧客提供個(gè)性化的服務(wù)。個(gè)性化推薦(personalized recommendation術(shù)通過研究不同用戶的興趣,主 動(dòng)為用戶推薦最需要的資源,從而更好地解決互聯(lián)網(wǎng)信息日益龐大與用戶需求之 間的矛盾。目前,推薦技術(shù)被廣泛應(yīng)用到電子商務(wù)、數(shù)字圖書館、新聞網(wǎng)站等系 統(tǒng)中8。各種適用于推薦系統(tǒng)的技術(shù)應(yīng)運(yùn)而生,如協(xié)同過濾技 (CF)、bayesian網(wǎng) 技術(shù)、聚類分析技術(shù)、關(guān)聯(lián)規(guī)則技術(shù)
9、、神經(jīng)網(wǎng)絡(luò)技術(shù)和圖模型技術(shù)等9,其中, 協(xié)同過濾是應(yīng)用最為廣泛的個(gè)性化推薦技術(shù)10 o協(xié)同過濾推薦又分為基于模型 (Model-based)的協(xié)同過濾和基于用戶的協(xié)同過濾。后來,sarwr教授在2001年提出基于項(xiàng)目的協(xié)同過濾算法4。推薦技術(shù)的分類標(biāo)準(zhǔn):文獻(xiàn)11給出了區(qū)別推薦技術(shù)的兩維屬性:自動(dòng)化 程度(degree of automation),客戶要得到推薦系統(tǒng)的推薦是否需要顯式的輸入信 息;持久性程度(degree of persistence)推薦系統(tǒng)產(chǎn)生推薦是基于客戶當(dāng)前的單 個(gè)會(huì)話(session汪是基于客戶的多個(gè)會(huì)話。也有學(xué)者認(rèn)為,除了上述兩個(gè)特征外, 個(gè)性化程度(degree
10、of personalization也是評價(jià)推薦技術(shù)的重要指標(biāo), 可以用來反 映推薦結(jié)果符合用戶興趣愛好的程度。協(xié)同過濾推薦技術(shù)協(xié)同過濾主要是以屬性或興趣相近的用戶經(jīng)驗(yàn)與建議作為提供個(gè)性化推薦 的基礎(chǔ)。透過協(xié)同過濾,有助于搜集具有類似偏好或?qū)傩缘挠脩簦⑵湟庖娞?供給同一集群中的用戶作為參考,以滿足人們通常在決策之前參考他人意見的心協(xié)同過濾推薦(collaborative filtering recommendation)!目前研究最多的個(gè)性 化推薦技術(shù),它基于鄰居用戶的資料得到目標(biāo)用戶的推薦,推薦的個(gè)性化程度高。 著名的系統(tǒng)有 GroupLens/ Net Percep2tions,Rin
11、go/ Firefly 及 Tapestry等。協(xié)同過 濾的最大優(yōu)點(diǎn)是對推薦對象沒有特殊要求,能處理非結(jié)構(gòu)化的復(fù)雜對象,如音樂、 電影。協(xié)同過濾推薦主要分為兩類:一是基于內(nèi)存的協(xié)同過濾(memory - basedcollaborative filtering),先用相似統(tǒng)計(jì)的方法得到具有相似興趣愛好的鄰居用戶, 所以該方法也稱基于用戶的協(xié)同過濾 (user -based collaborative filtering)或基于鄰 居的協(xié)同過濾(neighbor - based collaborative filtering);二是基于模型的協(xié)同過濾 (model - based collabo
12、rative filtering),先用歷史數(shù)據(jù)得到一個(gè)模型,再用此模型 進(jìn)行預(yù)測。基于模型的推薦廣泛使用的技術(shù)包括神經(jīng)網(wǎng)絡(luò)等學(xué)習(xí)技術(shù)、潛在語義檢索(latent seman2tic indexing)和貝葉斯網(wǎng)絡(luò)(bayesian networks),訓(xùn)練一個(gè)樣本 得到模型。Breese教授認(rèn)為基于用戶的協(xié)同推薦比基于模型的協(xié)同推薦方法更 好4。本文主要研究的是基于用戶的協(xié)同過濾推薦算法的實(shí)現(xiàn)?;谟脩舻膮f(xié)同推薦算法隨著用戶數(shù)量的增多,計(jì)算量成線性加大,其性能越來越差,并且不能對 推薦結(jié)果提供很好的解釋。為此,在2001年Sar2wr教授提出了第三種協(xié)同過 濾推薦算法,即基于項(xiàng)目的協(xié)同推薦算
13、法(item - based collaborative filter2ingalgorithms)0該算法通過先計(jì)算已評價(jià)項(xiàng)目和待預(yù)測項(xiàng)目的相似度,以相似度作 為權(quán)重,加權(quán)各已評價(jià)項(xiàng)目的評價(jià)分,得到預(yù)測項(xiàng)目的預(yù)測值,并指出基于項(xiàng)目 的推薦算法比基于用戶的推薦算法還要好,且能解決基于用戶的協(xié)同推薦的兩個(gè)問題。但Mild教授從批判的角度重新審視了各種推薦算法,指出基于項(xiàng)目的協(xié)同推薦并不一定好,算法準(zhǔn)確度與采用的實(shí)驗(yàn)規(guī)模數(shù)據(jù)有關(guān),大多數(shù)情況下還是基于用戶的協(xié)同推薦好12 o協(xié)同過濾的出發(fā)點(diǎn)是:興趣相近的用戶可能會(huì)對同樣的東西感興趣。所以, 只要維護(hù)關(guān)于用戶喜好的數(shù)據(jù),從中分析得出具有相似口味的用戶
14、,然后就可以根據(jù)相似客戶的意見來向其進(jìn)行推薦。另一種可能的出發(fā)點(diǎn)是:用戶可能較偏愛與其已購買的東西相類似的商品??梢愿鶕?jù)用戶對各種東西的評價(jià)來判斷商品之 間的相似程度,然后推薦與用戶興趣最接近的那些商品。前一種思路以客戶與客戶之間的關(guān)系為中心,而后一種思路則以項(xiàng)目與項(xiàng)目之間的關(guān)系為著眼點(diǎn)。協(xié)同 過濾推薦的個(gè)性化程度高,目前有許多網(wǎng)站采用了基于該技術(shù)的推薦系統(tǒng),如 A,CDN, MovieR 等?;凇芭d趣相近的用戶可能會(huì)對同樣的東西感興趣”這一出發(fā)點(diǎn),本文主要研究基于用戶的協(xié)同過濾推薦算法。第3章基于用戶的協(xié)同過濾推薦算法基于用戶協(xié)同過濾算法的介紹基于用戶的協(xié)同過濾是個(gè)性化推薦中應(yīng)用最為廣泛的
15、方法,它是基于鄰居用戶的興趣愛好預(yù)測目標(biāo)用戶的興趣偏好。 算法先使用統(tǒng)計(jì)技術(shù)尋找與目標(biāo)用戶有 相同喜好的鄰居,然后根據(jù)目標(biāo)用戶的鄰居的偏好產(chǎn)生向目標(biāo)用戶的推薦13 o它的基本原理是利用用戶訪問行為的相似性來互相推薦用戶可能感興趣的資源對當(dāng)前用戶,系統(tǒng)通過其歷史訪問記錄及特定相似度函數(shù),計(jì)算出與其訪問 行為(購買的產(chǎn)品集合、訪問的網(wǎng)頁集等)最相近的N個(gè)用戶作為用戶的最近鄰居集,統(tǒng)計(jì)的近鄰用戶訪問過而目標(biāo)用未訪問的資源生成候選推薦集,然后計(jì)算候選推薦集中每個(gè)資源對用戶的推薦度,取其中K個(gè)排在最前面的資源作為用戶的推薦集0、基于用戶喜好值推薦算法的思路其基本思想是:通過計(jì)算用戶對項(xiàng)目評分之間的相似性
16、,搜索目標(biāo)用戶的最 TOC o 1-5 h z 近鄰居,然后根據(jù)最近鄰居的評分向目標(biāo)用戶產(chǎn)生推薦8。典型的協(xié)同過濾算法是基于用戶的。協(xié)同過濾推薦算法的實(shí)現(xiàn)過程分為3步:建立用戶矩陣模型、通過用戶相似度尋找最近鄰居和產(chǎn)生推薦項(xiàng)目8。建立用戶模型如表2.1,協(xié)同過濾算法的輸入數(shù)據(jù)通常表示為一個(gè) m*n的用戶一評價(jià)矩 陣R, m是用戶數(shù),n是項(xiàng)目數(shù),其中Rij表示第i個(gè)用戶對第j個(gè)項(xiàng)目的評 分值;尋找最近鄰居在這一階段,主要完成對目標(biāo)用戶最近鄰居的查找。 通過計(jì)算目標(biāo)用戶與其 他用戶之間的相似度,算出與目標(biāo)用戶最相似的“最近鄰居”集。即:對目標(biāo)用 戶u產(chǎn)生一個(gè)以相似度sim(u, v)遞減排列的“鄰
17、居”集合。該過程分兩步完成: 首先計(jì)算用戶之問的相似度,可采用皮爾森相關(guān)系數(shù)、余弦相似性和修正的余弦 相似性等度量方法9,其次是根據(jù)如下方法選擇“最近鄰居”:(1)選擇相似度大于設(shè)定閾值的用戶;(2)選擇相似度最大的前 k個(gè)用戶;(3)選擇相似度大于 預(yù)定閾值的k個(gè)用戶。.余弦相似性(Cosine)每一個(gè)用戶的評分都可以看作為 n維項(xiàng)目空間上的 向量,如果用戶對項(xiàng)目沒有進(jìn)行評分,則將用戶對該項(xiàng)目的評分設(shè)為 00用戶問 的相似性通過向量間的余弦夾角度量。 設(shè)用戶i和用戶j在n維項(xiàng)目空間上的評 分分別表示為向量i 和向量j ,則用戶i和用戶j之間的相似性),(j isim 為:其中,分子為兩個(gè)用戶
18、評分向量的內(nèi)積,分母為兩個(gè)用戶向量模的乘積。2,相關(guān)相似性:Corr I at ion)沒用戶i和用戶j共同評分過的項(xiàng)目集合用介表示,岳=82,則用戶和 用戶之間的相做性s加值力通過Prison相關(guān)系數(shù)度量;J i龜力=匯(見i 特X取d -超) mT1JY de1 i j其中,表示用戶;對項(xiàng)目d的評分,瓦.另分別表示用戶和用戶,對所 打分項(xiàng)目的平均評分.3.2.2產(chǎn)生推薦項(xiàng)目:計(jì)算方法如下:_產(chǎn)二元十工.那田祝叮)* (檢一即其中),(j isim表示用戶i與用戶j之間的相似性,d jR ,表示最近鄰居用 戶j對項(xiàng)目d的評分,i R和j R分別表示用戶i和用戶j的平均評分,公式(1) 的實(shí)質(zhì)
19、是在用戶的最近鄰居集 NESi中查找用戶,并將目標(biāo)用戶與查找到的用戶 的相似度的值作為權(quán)值,然后將鄰居用戶對該項(xiàng)目的評分與此鄰居用戶的所有評 分的差值進(jìn)行加權(quán)平均。通過上述方法預(yù)測出目標(biāo)用戶對未評價(jià)項(xiàng)目的評分,然后選擇預(yù)測評分最高的TOP-N項(xiàng)推薦給目標(biāo)用戶。3.3算法的實(shí)現(xiàn).算法流程圖卻SU一一、Sin-jJar Tyl5irnlaryj&JfSifrdaf :yJ “EM一、 LVJlBj4 1i 力相 ila一,產(chǎn)2.算法代碼(見附錄)3.4電影推薦系統(tǒng)界面實(shí)現(xiàn)電影智能推薦用戶號:1推薦的電影是:電影號:313喜好程度M.5電影號:748喜好程度:4. 5電影號二288喜好程度:4.0
20、電影號:300喜好程度:4*0電影號:307喜好程度:3.0第4章算法推薦質(zhì)量的實(shí)驗(yàn)分析算法推薦質(zhì)量的衡量方法評價(jià)推薦系統(tǒng)推薦質(zhì)量的度量標(biāo)準(zhǔn)主要包括統(tǒng)計(jì)精度度量方法和決策支持 精度度量方法兩類。統(tǒng)計(jì)精度度量方法中的平均絕對偏差MAE易于理解,可以直觀地對推薦質(zhì)量進(jìn)行度量,是最常用的一種推薦質(zhì)量度量方法。 本文采用平均 絕對偏差MAE作為度量標(biāo)準(zhǔn),通過計(jì)算預(yù)測的用戶評分與實(shí)際的用戶評分之間 的偏差度量預(yù)測準(zhǔn)確性,MAE越小,推薦質(zhì)量越高。設(shè)預(yù)測的用戶評分集合表示為p1, p2, pN,對應(yīng)的實(shí)際用戶評分集合表示為q1,q2, ,qN,則平均絕對偏差 MAE定義為:IMAE N (多1)因此想要真
21、正的評價(jià)算法的推薦質(zhì)量, 必須要采用真實(shí)的數(shù)據(jù),這樣才能和 預(yù)測的評分進(jìn)行對比,并經(jīng)過反復(fù)試驗(yàn),計(jì)算 MAE的值,并分析試驗(yàn)結(jié)果。驗(yàn)證推薦方法采用的數(shù)據(jù)集本系統(tǒng)采用了 MovieLens數(shù)據(jù)集進(jìn)行試驗(yàn),并計(jì)算用余弦相似性方法計(jì)算相 似性的平均絕對偏差 MAE值。MovieLens是歷史最悠久的推薦系統(tǒng)。它由美國Minnesota大學(xué)計(jì)算機(jī)科學(xué) 與工程學(xué)院的GroupLens項(xiàng)目組創(chuàng)辦,是一個(gè)非商業(yè)性質(zhì)的、以研究為目的的實(shí) 驗(yàn)性站點(diǎn)。本實(shí)驗(yàn)所用的數(shù)據(jù)集是直接從 GroupLens網(wǎng)站上下載的,此數(shù)據(jù)集包含了 943名用戶對1682部電影的評價(jià),這些數(shù)據(jù)是 MovieLens在1997年九月19
22、日到1998年4月22日這七個(gè)月收集的數(shù)據(jù),這個(gè)數(shù)據(jù)集是經(jīng)過整理的,評 分不到20項(xiàng)的已經(jīng)被移除了,而且,已經(jīng)隨機(jī)分好了五個(gè)試驗(yàn)組, 每個(gè)試驗(yàn)組 包括完整的數(shù)據(jù),包括一個(gè)訓(xùn)練集和一個(gè)測試集,大約是按照80%是訓(xùn)練集,20%是測試集分的。其中u1base是第一組的訓(xùn)練集,u1test是第一組的測試集。 評分值都為1到5之間的整數(shù),數(shù)值越高,表明用戶對該電影的偏愛程度越高。實(shí)驗(yàn)結(jié)果分析本文實(shí)驗(yàn)從數(shù)據(jù)集中抽取了 500個(gè)用戶。本文首先這500個(gè)用戶對未評分項(xiàng)目的評分,再把它們分為兩組,選擇 300個(gè)用戶作為訓(xùn)練集(訓(xùn)練集大小依 次變化為300, 200,100個(gè)用戶),剩下的200個(gè)用戶作為測試集。
23、然后采用只 給出測試用戶的5個(gè)實(shí)際評分、10個(gè)實(shí)際評分和20個(gè)實(shí)際評分的方式,對兩 種算法的MAE進(jìn)行比較分析圖算法的MAE比較余弦相似性利用上面介紹的余弦相似性的公式計(jì)算用戶之間相似性,這個(gè)算法看似簡單, 仍然有很多問題需要注意,如隨著數(shù)據(jù)集的增大,這個(gè)算法的運(yùn)算量呈線性增長, 這是一個(gè)很重要的問題,對整個(gè) MAE值的計(jì)算有很大影響。相似相關(guān)性相似相關(guān)性的計(jì)算就是通過上面介紹的相關(guān)相似性的計(jì)算公式來實(shí)現(xiàn)的。相似相關(guān)性會(huì)存在極端情況,例如,當(dāng)用戶用戶i和用戶j共同評過分的項(xiàng)目為一 個(gè)項(xiàng)目時(shí),這時(shí)利用這個(gè)公式計(jì)算得到的相似性為 1,而一般情況下相似性的值 是小于一的,顯然這時(shí)的相似性要大于其他用
24、戶與目標(biāo)用戶的相似性, 若取j為 i的最近鄰居,卻不一定合理,因?yàn)樗麄児餐u過分的那一個(gè)項(xiàng)目很可能是巧合, 就算品味不同的兩個(gè)人也可能會(huì)喜歡同一件商品的。因此,在利用相關(guān)相似性計(jì)算最近鄰居時(shí),本試驗(yàn)不把與目標(biāo)用戶相似性為1的那個(gè)用戶視為目標(biāo)用戶的最近鄰居,只是把這樣的情況看做是極端情況?;谟脩粼u分次數(shù)的相似相關(guān)性計(jì)算方法本人寫了 一種基于用戶評分次數(shù)的相似性的方法,來對比這幾種方法。算法的基本思想:從用戶間相似性計(jì)算公式可以看出, 對于相似度較高的用 戶,所評價(jià)的項(xiàng)目數(shù)量相差較小,即所評價(jià)項(xiàng)目數(shù)量相差較大的用戶間相似度較 低;對于所評價(jià)項(xiàng)目數(shù)量相近的用戶,相似度越高,表明用戶共同測評項(xiàng)目數(shù)所
25、 占的比例越大,且測評分值也越相近,由此可知用戶的興趣愛好越相似14 0因?yàn)槊總€(gè)用戶都評過分,用戶一共評過分的次數(shù)就作為這個(gè)用戶的評分次數(shù), 對于沒有評過分的用戶,評分次數(shù)為零。在計(jì)算用戶的最近鄰居時(shí),不是在整個(gè) 用戶空間查找最近鄰居,而是先獲取這個(gè)用戶的評分次數(shù),那些評分次數(shù)在這個(gè) 次數(shù)某個(gè)范圍內(nèi)的用戶進(jìn)入候選鄰居集,這里波動(dòng)范圍用a表示,a是算法的一個(gè)參數(shù),如果目標(biāo)用戶的評分次數(shù)為18,則在計(jì)算相似性時(shí),只計(jì)算評分次數(shù)在(18-a)與(18+a)之間的用戶與目標(biāo)用戶的相似性。然后,取最高的幾個(gè)作為 最近鄰居集。而那些評分次數(shù)不在(18-a)到(18+a)范圍內(nèi)的用戶都認(rèn)為和目標(biāo)用 戶相差較
26、大,直接不計(jì)算其與目標(biāo)用戶的相似性。兩種算法的對比分析表ST余弦相像性的叱鄰居集的聚值MAE說他始時(shí)間遂行桔束時(shí)間5236:43251:5010O.S62R9 43 02957:22L50.34261349 2S上面的截圖是采用數(shù)據(jù)集1得出的結(jié)果,這里的數(shù)據(jù)集1是我為了運(yùn)算速 度的考慮在原來的ulbase數(shù)據(jù)集的基礎(chǔ)上進(jìn)行一定刪減得到的,我把 base表 中consumerid大于300以及goodsid大于800的記錄都刪掉了,test表也做了 同樣的操作。第一條記錄是最近鄰居集取7的記錄,即目標(biāo)用戶的最近鄰居選取7個(gè)。第二條記錄是鄰居集取 10的情況,第三條記錄是鄰居集取 15的情 況。對
27、比上圖可知,鄰居集取的越大,得到的MAE值越小,即鄰居集取的越大, 推薦的質(zhì)量越好。一般情況下,通過相似相關(guān)性方法計(jì)算得到的 MAE值應(yīng)該要小于用余弦相 似性方法計(jì)算相似性得到的 MAE值,即相關(guān)相似性的推薦質(zhì)量要好于余弦相似 性。而基于評分次數(shù)的 MAE值要大于相關(guān)相似性的 MAE值,但相應(yīng)的時(shí)間 要小很多。由于數(shù)據(jù)集的龐大,導(dǎo)致整個(gè)算法的調(diào)試很困難,我也只是盡量的改進(jìn)算法, 以使運(yùn)行速度盡量加快,實(shí)驗(yàn)表明,完全不與數(shù)據(jù)庫直接交互的方法, 不一定是 最快的,有時(shí)候采用與數(shù)據(jù)庫直接交互與從緩存中讀數(shù)據(jù)相結(jié)合的方法會(huì)更快一 些。第五章總結(jié)協(xié)同過濾推薦(collaborative filterin
28、g recommendation)!目前研究最多的個(gè)性 化推薦技術(shù),推薦的個(gè)性化程度高。協(xié)同過濾的出發(fā)點(diǎn):(1)興趣相近的用戶可能會(huì)對同樣的東西感興趣,(2)用戶可能較偏愛與其已購買的東西相類似的商品。本系統(tǒng)主要是為了研究學(xué)習(xí)基于用戶的協(xié)同過濾推薦算法的實(shí)現(xiàn),并對算法進(jìn)行深入的分析研究。經(jīng)過對比試驗(yàn),在一定范圍內(nèi),隨著最近鄰居集數(shù)量的增 加,推薦的質(zhì)量會(huì)相對較好,在同一數(shù)據(jù)集的對比試驗(yàn)中,最近鄰居集取的個(gè)數(shù) 越多,其MAE值會(huì)相對變小,而最近鄰居集得數(shù)量對算法的運(yùn)算時(shí)間一般影響 不大。我覺得關(guān)于協(xié)同過濾的推薦算法是一個(gè)很有趣的課題,但這個(gè)需要我們有很 大的耐心,因?yàn)橹虚g可能會(huì)出現(xiàn)很多錯(cuò),即使是
29、一個(gè)小的誤區(qū),可能導(dǎo)致結(jié)論相 差很多,而一般自己寫的代碼,自己是怎么都看不出問題的,只有通過不斷試驗(yàn), 得出一些數(shù)據(jù),才有可能發(fā)現(xiàn)自己存在的問題,然后再改進(jìn)。在這個(gè)算法的整個(gè) 研究過程中,由于數(shù)據(jù)量的龐大,還要不斷改進(jìn)算法,盡量使其運(yùn)行的更快。經(jīng)過本次試驗(yàn),雖然對基于用戶的協(xié)同過濾推薦算法的研究沒有深入到能提 出一些建設(shè)性的改進(jìn),但對于算法已經(jīng)有了一定的了解, 對以后更深入的研究打 下了扎實(shí)的基礎(chǔ)。參考文獻(xiàn)1基于多目標(biāo)優(yōu)化雙聚類的數(shù)字圖書館協(xié)同過濾推薦系統(tǒng)。劉飛飛2基于雙聚類模型的協(xié)同過濾推薦引擎設(shè)計(jì)。康美林3基于關(guān)聯(lián)規(guī)則的圖書銷售網(wǎng)站個(gè)性化推薦系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。王靜4高湮,齊紅,劉亞波,劉大有
30、.基于用戶等級的協(xié)同過濾推薦算法J.吉林大學(xué)學(xué)報(bào)網(wǎng)學(xué)版),2008, 46(3): 489493.5周強(qiáng).基于用戶的協(xié)同過濾推薦算法研究J.南昌高專學(xué)報(bào),2006, (3):8889.6高湮,齊紅,劉亞波,劉大有.基于用戶等級的協(xié)同過濾推薦算法J.吉林大學(xué)學(xué)報(bào)(理學(xué)版),2008, 46(3): 489493.附錄算法代碼:public class XieTong /* paramargs */private inttjs=0; /推薦的電影數(shù)private intneiborhoodnum=0; /鄰居的數(shù)量private int Count;/最大的電影編號private intUserN
31、um; /用戶數(shù)量private List Users; 用戶對象private int c;/ 目標(biāo)用戶private double叩Similarity;/相似用戶的相似值private double Array; /用戶-評分矩陣private int Neiborhood; 目標(biāo)用戶的鄰居public XieTong(Listuser,intc,inttjs) /帶參數(shù)的構(gòu)造函數(shù),初始化對 象super();Users=user;this.c=c;this.tjs=tjs;Count=0;UserNum=0;Iteratorit=Users.iterator();int temp=0;
32、while(it.hasNext()Person p=new Person();p=it.next();intuid=p.getUserID();int mid=p.getMovieID();if(temp!=uid)UserNum+;temp=uid; if(midCount) Count=mid; Array=newdoubleUserNum+1Count+1; public void juzhen() /形成用戶-評分矩陣 Iterator it=Users.iterator(); 用戶迭代器 while(it.hasNext()Person p=new Person(); 一個(gè)用戶對象
33、 p=it.next();intuid=p.getUserID(); /獲得用戶的 IDint mid=p.getMovieID(); 獲得電影的 IDdouble pfc=p.getPreference(); 獲得用戶對電影的喜好值 Arrayuidmid=pfc;形成矩陣public double Similarity() / 計(jì)算用戶相似度Similarity=new doubleUserNum+1UserNum+1; 初始化相似度對象 double rsx,rsy; /用戶x, y對所看過電影的評價(jià)分 for(inti=1;iUserNum+1;i+) doublercx=0,sx=0
34、;for(int m=1;mCount+1;m+) 計(jì)算用戶 i 的平均評分 if(Arrayim!=0)rcx+=Arrayim;sx+; for(int j=1;jUserNum+1;j+) /計(jì)算用戶j的平均評分 doublercy=0,sy=0;for(int n=1;nCount+1;n+)if(Arrayjn!=0)rcy+=Arrayjn; sy+;doublerxy = 0;doublerx = 0;doublery = 0;rsx=rcx/sx;rsy=rcy/sy;for(int k=1;kCount+1;k+)/通過皮爾森相關(guān)系數(shù)計(jì)算用戶i,對于j的相似度if(Array
35、ik!=0&Arrayjk!=0&i!=j)rxy+=(Arrayik-rsx)*(Array皿k-rsy);rx+=(Arrayik-rsx)*(Arrayik-rsx);ry+=(Arrayjk-rsy)*(Arrayjk-rsy);Similarityij= rxy/(Math.sqrt(rx)*Math.sqrt(ry);return Similarity; public int Neiborhood() 計(jì)算目標(biāo)用戶的鄰居 Neiborhood=newint11;int j=1;for(inti=1;i0.5&neiborhoodnum=10) Neiborhoodj=i;j+;neiborho
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版泥漿外運(yùn)承包合同(含應(yīng)急處理預(yù)案)4篇
- 二零二五版拌合料生產(chǎn)技術(shù)標(biāo)準(zhǔn)制定與執(zhí)行合同4篇
- 二零二五年度智能建筑暖通設(shè)備采購合同4篇
- 二零二五版門閘安全標(biāo)準(zhǔn)認(rèn)證服務(wù)合同4篇
- 二零二五年度網(wǎng)絡(luò)安全年薪制勞動(dòng)合同4篇
- 二零二五年度沖擊錘施工材料質(zhì)量檢測合同2篇
- 二零二五年度租賃市場合同糾紛解決策略4篇
- 二零二五年度城市更新改造項(xiàng)目規(guī)劃合同4篇
- 二零二五年度農(nóng)業(yè)電商數(shù)據(jù)安全與隱私保護(hù)合同樣本3篇
- 2025年度二零二五年度獼猴桃出口貿(mào)易代理合同3篇
- 2024年供應(yīng)鏈安全培訓(xùn):深入剖析與應(yīng)用
- 飛鼠養(yǎng)殖技術(shù)指導(dǎo)
- 壞死性筋膜炎
- 整式的加減單元測試題6套
- 股權(quán)架構(gòu)完整
- 山東省泰安市2022年初中學(xué)業(yè)水平考試生物試題
- 注塑部質(zhì)量控制標(biāo)準(zhǔn)全套
- 人教A版高中數(shù)學(xué)選擇性必修第一冊第二章直線和圓的方程-經(jīng)典例題及配套練習(xí)題含答案解析
- 銀行網(wǎng)點(diǎn)服務(wù)禮儀標(biāo)準(zhǔn)培訓(xùn)課件
- 二年級下冊數(shù)學(xué)教案 -《數(shù)一數(shù)(二)》 北師大版
- 晶體三極管資料
評論
0/150
提交評論