




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、基于Slope one算法的電影推薦系統(tǒng)摘要:商業(yè)網(wǎng)站迅猛發(fā)展的時代已經(jīng)到來,網(wǎng)上服務的交易方式正在改變著傳統(tǒng)的商業(yè)模式。如果說過去的十年是搜索技術(shù)高速發(fā)展的十年,那么個性化推薦技術(shù)將作為下一個十年中最為重要的革新之一。目前幾乎所有大型的商業(yè)網(wǎng)站,如亞馬遜、淘寶網(wǎng)等,都不同程度地使用了各種形式的推薦系統(tǒng)。本文就推薦系統(tǒng)這一話題展開討論,首先介紹了推薦系統(tǒng)的提出和發(fā)展過程,然后列舉出了幾種推薦系統(tǒng)的研究方法,其中,詳細的描述了Slope one算法推薦系統(tǒng)的實現(xiàn)過程以及用Slope one算法編寫程序完成了電影推薦系統(tǒng)。最后列舉了幾個推薦系統(tǒng)的實例。關(guān)鍵字:Slope one算法 推薦系統(tǒng) 數(shù)據(jù)
2、挖掘 個性化推薦一、 發(fā)展背景:隨著Internet的日益普及,商業(yè)網(wǎng)站的蓬勃發(fā)展,如何提高商業(yè)網(wǎng)站的有效性,尤其是如何運用個性化推薦技術(shù)提供個性化服務來實現(xiàn)已逐漸成為一個能引起廣泛興趣的熱點課題。雖然商業(yè)網(wǎng)站從“以站點為中心”向“以用戶為中心”發(fā)展成為必然趨勢。但目前國內(nèi)大多數(shù)商業(yè)網(wǎng)站的商品推薦通常是:推薦熱銷產(chǎn)品;推薦相關(guān)產(chǎn)品;依據(jù)用戶瀏覽歷史的信息進行推薦。由 Daniel Lemire 教授在 2005 年提出的一個 Item-Based(基于條目)推薦算法,可應用于各類以網(wǎng)上商品銷售為主業(yè)務的網(wǎng)上商店,以及提供文章、新聞、音樂、電影等“無形”的產(chǎn)品的網(wǎng)絡站點。用于幫助商店經(jīng)營者,網(wǎng)絡
3、站點從事產(chǎn)品的個性化推薦,提高營銷及服務質(zhì)量,更好地挖掘潛在客戶及客戶的使用、購買潛能。同時也根據(jù)用戶的喜好,網(wǎng)站會留下記錄,當用戶再次訪問時,網(wǎng)站會推薦用戶可能喜歡的東西,這樣也方便了用戶,用戶無需浪費時間去搜索大量的信息。二、 現(xiàn)有推薦系統(tǒng)研究方法:1、 基于內(nèi)容的推薦:基于內(nèi)容的推薦(content-based recommendation)是指根據(jù)用戶選擇的對象,推薦其他類似屬性的對象作為推薦,屬于Schafer 劃分中的Item-to-Item Correlation 方法.這類算法源于一般的信息檢索方法.不需要依據(jù)用戶對對象的評價意見.對象使用通過特征提取方法得到的對象內(nèi)容特征來表
4、示,系統(tǒng)基于用戶所評價對象的特征,學習用戶的興趣,從而考察用戶資料與待預測項目相匹配的程度.對象內(nèi)容特征(Content(s)的選取在目前的研究中以對象的文字描述為主,比如信息檢索中最經(jīng)典的文本特征是詞頻-倒排文檔頻率(term frequency-inverse document frequency,簡稱 TF-IDF).另一方面,用戶的資料模型 ContentBasedProfile(c)取決于所用機器學習方法,常用的有決策樹、貝葉斯分類算法、神經(jīng)網(wǎng)絡、基于向量的表示方法等,數(shù)據(jù)挖掘領域的眾多算法都可以應用.2、 協(xié)同過濾推薦協(xié)同過濾推薦(collaborative filtering r
5、ecommendation)技術(shù)是推薦系統(tǒng)中最為成功的技術(shù)之一,它于 20 世紀 90 年代開始研究并促進了整個推薦系統(tǒng)研究的繁榮.大量論文和研究都屬于這個類別.協(xié)同過濾的基本思想是:找到與當前用戶ccur相似(比如興趣和口味相似的其他用戶cj,計算對象s 對于用戶的效用值u(cj,s),利用效用值對所有s 進 行排序或者加權(quán)等操作,找到最適合ccur的對象s*.其基本思想非常易于 理解,在日常生活中,我們往往會利用好朋友的推薦來進行一些選擇.協(xié)同過濾正是 把這一思想運用到推薦系統(tǒng)中來,即基于其他用戶對某一內(nèi)容的評價向目標用戶進行推薦.基于協(xié)同過濾的推薦系統(tǒng)可以說是從用戶的角度進行推薦的,并且
6、是自動的,也就是說,用戶所獲得的推薦是系統(tǒng)從用戶購買或瀏覽等行為中隱式獲得的,不需要用戶主動去查找適合自己興趣的推薦信息,如填寫一些調(diào)查表格等.其另外一個優(yōu)點是對推薦對象沒有特殊的要求(而基于內(nèi)容的推薦需要對推薦對象進行特征分析),能夠處理非結(jié)構(gòu)化的復雜對象,如音樂、電影等.同時,研究用戶之間的關(guān)系需要大量的用戶訪問行為的歷史數(shù)據(jù),與社會網(wǎng)絡研究有交叉點,有豐富的研究基礎和廣闊的前景.對協(xié)同過濾最早的研究有Grundy system, 后來的研究成果包括 Tapestry system, GroupLens, Ringo, PHOAKS system, Jester system等.
7、總體而言, 此類推薦算法可以分為兩類:啟發(fā)式(heuristic-based or memory-based)方法和基于模型(model-based)的方法。3、 基于知識的推薦:基于知識的推薦(knowledge-based recommendation)在某種程度上可以看成是一種推理(inference)技術(shù).它不是建立在用戶需要和偏好基礎上推薦的,而是利用針對特定領域制定規(guī)則(rule)來進行基于規(guī)則和實例的推理(case-based reasoning).例如,文獻34中利用飯店的菜式方面的效用知識,推薦飯店給顧客.效用知識(functional knowledge)是一種關(guān)于一個對象
8、如何滿足某一特定用戶的知識,因而能夠解釋需求和推薦的關(guān)系,用于推薦系統(tǒng).效用知識在推薦系統(tǒng)中必須以機器可讀的方式存在(ontology 本體知識庫),例如 quickstep and foxtrot systems使用關(guān)于學術(shù)論文主題的ontology本體知識庫向讀者作推薦.4、 Slope one算法推薦:Slope One 是一系列應用于 協(xié)同過濾的算法的統(tǒng)稱。由 Daniel Lemire和Anna Maclachlan于2005年發(fā)表的論文中提出。有爭議的是,該算法堪稱基于 項目評價的non-trivial 協(xié)同過濾算法最簡潔的形式。該系列算法的簡潔特性使它們的實現(xiàn)
9、簡單而高效,而且其精確度與其它復雜費時的算法相比也不相上下。 該系列算法也被用來改進其它算法。當可以對一些項目評分的時候,比如人們可以對一些東西給出1到5星的評價的時候,協(xié)同過濾意圖基于一個個體過去對某些項目的評分和(龐大的)由其他用戶的評價構(gòu)成的數(shù)據(jù)庫,來預測該用戶對未評價項目的評分。 如: 如果一個人給披頭士的評分為5(總分5)的話,我們能否預測他對席琳狄翁新專輯的評分呢?這種情形下, item-based 協(xié)同過濾系統(tǒng) 根據(jù)其它項目的評分來預測項目的分值,一般方法為線性回歸(). 于是,需要列出x2個線性回歸方程和回歸量,例如:當有1000個項目時,需要列多達1,00
10、0,000個線性回歸方程, 以及多達2,000,000個回歸量。除非我們只選擇某些用戶共同評價過的項目對,否則協(xié)同過濾會遇到過適(過擬合) 問題。三、 Slope one算法描述及實現(xiàn)過程:1、 算法原型:圖例一(如圖3-1所示): 圖 3-1 算法演示圖一如上圖所示,UserA對ItemA的評分是4,對ItemB的評分是3,UserB對ItemA的評分是2,那么,預測UserB對ItemB的評分是多少呢?根據(jù)Slope One算法,2(34)1。圖例二(如圖3-2所示): 圖 3-2 算法演示圖二如上圖所示,UserB 對 ItemB 的評分會是多少呢?股票上有個說法是平均值可以掩蓋一切的異
11、常波動,所以股票上的各個技術(shù)指標是收集不同時間段的平均值的曲線圖或是柱狀圖等。同樣的,Slope One 算法也認為:平均值也可以代替某兩個未知個體之間的打分差異,條目 A 條目B 的平均差值是: 4-3+(3-3)2=0.5也就是說人們對事物 A 的打分一般比事物 B 的打分要高 0.5,于是 Slope one 算法就猜測 UserB 對事物 B 的打分是 2 - 0.5 = 1.5。2、 加權(quán)算法:由上的兩個示例對Slope One算法有了認識。如果有100個用戶對ItemA和ItemB都打過分,有 1000 個用戶對 ItemC 和 ItemB 也打過分。顯然這兩個 rating 差的
12、權(quán)重是不一樣的。因此我們可以推測,計算方法是: 100×Rating 1 to 2+1000×(Rating 2 to 3)(100+1000)Slope One 算法的加權(quán)算法數(shù)學描述如下:有 N 個用戶對條目 A 和條目 B 打分了,R(A->B)表示這 N 位用戶對 A 和對 B 打分的平均差(A-B),有 M 位用戶對條目B 和條目 C 打分了,R(C->B)表示這 M 位用戶對 C 和對 B 打分的平均差(C-B),注意都是平均差而不是平方差,現(xiàn)在某個用戶對 A 的打分是 ra,對 C 的打分是 rc,那么 A 對 B 的打分可能是:rb=N×
13、;ra-RA->B+M×(rc-R(C->B)M+N上面討論的是用戶只對條目的喜好程度打分。還有一種情況下用戶也可以對條目的厭惡程度打分。這時可以使用雙極 Slope One 算法(BI-Polar Slope One)。四、 實驗結(jié)果:注釋:此數(shù)據(jù)代表按照自己和別人的評分推薦的電影致青春北京遇上西雅圖人再囧途之泰囧少年派的奇幻漂流黑衣人三白鹿原二次曝光速度與激情五泰迪熊功夫熊貓源代碼猩球崛起失戀三十三天志明與春嬌聽風者這個殺手不太冷肖申克的救贖唐伯虎點秋香大話西游泰坦尼克號盧一強04.2000004.1303.920000000000燕睿濤3.884.26003.212
14、.592.6403.3500003.83005.45004.97龔志鑫04.5304.5402.77003.5200000000000阿鵬仁2.98003.292.31003.232.3500000000000劉少博00000000000000000000姚偉娜3.413.7103.82.721.9803.782.743.53.833.62003.810003.530湯瑤3.433.8203.762.681.98002.780002.9303.8800004.46劉思遙3.133.43002.51.821.953.442.570002.653.113.6504.74004.23孫召星3.360
15、0001.922.113.642.76003.552.823.213.7604.89000劉璐3.874.24003.23004.173.32004.0500000000吳林00000000000000000000李長月3.84.020000000004.0203.674.1800000注釋:此數(shù)據(jù)中0代表已經(jīng)看過的電影,其他的數(shù)數(shù)代表預測你給相應電影的評分。五、 推薦系統(tǒng)在幾個網(wǎng)站中實例:1、下面幾幅圖是在卓越亞馬遜上根據(jù)瀏覽記錄推薦的商品:2、下面的這幅圖示在網(wǎng)上看過電影后推薦的3、人人網(wǎng)上按照共同好友的數(shù)量推薦的好友:六、 參考文獻:1推薦系統(tǒng)實踐 項亮 人民郵電出版社2MATLAB7.
16、x基礎教程 張笑天等 西安電子科技大學出版社,2008年。附錄附錄一:成員介紹及分工:代碼編寫:湯瑤、劉少博資料查閱:姚偉娜、劉璐評分統(tǒng)計:盧一強、李長月、燕睿濤PPT制作:吳林、劉思遙 孫召星、龔志鑫報告撰寫:阿鵬仁附錄二:matlab代碼clearua1,ua2,ua3,ua4,ua5=textread('u1_base.txt','%d %d %d %d %d');uat1,uat2,uat3,uat4,uat5=textread('u1_test.txt','%d %d %d %d %d');Train=ua1,ua2,u
17、a3;Test=uat1,uat2,uat3;user=unique(ua1);movie=unique(ua2);m=max(user);n=max(movie);Score=zeros(m,n); for i=1:length(ua1) Score(ua1(i),ua2(i)=ua3(i);endpredictS=slope_one_w(Score,Test);predictS(find(predictS>=5)=5;J=(sum(predictS-uat3).2)/length(uat3)0.5;% J=sum(round(predictS)-uat3).2);ratio=sum(
18、round(predictS)=uat3)/length(uat3);idxp4=find(round(predictS)=4);idxp5=find(round(predictS)=5);idxp=idxp4;idxp5;ratior=sum(uat3(idxp)>=4)/length(idxp);function M=slope_one_w(A,Test)tic;m,n=size(A);gB=ones(n);B=tril(gB);%上三角存平均評分差,下三角存評分的權(quán)重 %即共同的評分人數(shù)%計算每兩列間的平均評分差for i=1:n-1 for j=i+1:n C=A(:,i),A(:,j); C(C(:,1)=0,:)=; C(C(:,2)=0,:)=; if C B(i,j)=sum(C(:,2)-C(:,1)/length(C(:,1); B(j,i)=length(C(:,1); end endendM=zeros(length(Test(:,1),1);for z=1:length(Test(:,1) i=Test(z,1); j=Test(z,2); if A(i,j) C=A(i,:); X=find(C=0); temp=0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市集中供熱管理辦法
- 工作信息報送管理辦法
- 工地消防安裝管理辦法
- 宣傳物料暫放管理辦法
- 就業(yè)專項資金管理辦法
- 配套企業(yè)食堂管理辦法
- 科技平臺培育管理辦法
- 安徽集群注冊管理辦法
- 秋葵種植基地管理辦法
- 廣西容縣火葬管理辦法
- 2025年北京市第一次普通高中學業(yè)水平合格性考試歷史試題(含答案)
- ODM合同范本模板
- 血管導管相關(guān)血流感染預防控制
- T-NMSP 3-2022 高寒地區(qū)汽車試驗場地建設技術(shù)指南
- T-SDEPI 046-2024 微生物菌劑修復河道水體技術(shù)規(guī)程
- 醫(yī)院消毒劑知識培訓課件
- 2024年秋七年級上冊英語單詞表
- 2025年湖南網(wǎng)絡工程職業(yè)學院單招職業(yè)技能測試題庫含答案
- DB1303-T352-2023食品快速檢測產(chǎn)品驗收技術(shù)規(guī)范
- 2025年中考物理熱點題型專項訓練:實驗之探究平面鏡成像的特點 (解析版)
- SEAtech 石油石化ICS網(wǎng)絡安全解決方案
評論
0/150
提交評論