作者:**習作品編號:02基于算法的電影推薦系摘要:商業網站迅猛發展的時代已經到來,網上服務的交易方式正在改變著傳統的商業模式。如果說過去的十年是搜索技術高速發展的十年,那么個性化推薦技術將作為下一個十年中最為重要的革新之一。目前幾乎所有大型的商業網站,如亞馬遜、淘寶網等,都不同程度地使用了各種形式的推薦系統。本文就推薦系統這一話題展開討論,首先介紹了推薦系統的提出和發展過程,然后列舉出了幾種推薦系統的研究方法,其中,詳細的描述了算法推薦系統的實現過程以及用算法編寫程序完成了電影推薦系統。最后列舉了幾個推薦系統的實例。關鍵字:算法推薦系統數據挖掘個性化推薦發展背景:隨著的日益普及,商業網站的蓬勃發展,如何提高商業網站的有效性,尤其是如何運用個性化推薦技術提供個性化服務來實現已逐漸成為一個能引起廣泛興趣的熱點課題。雖然商業網站從“以站點為中心”向“以用戶為中心”發展成為必然趨勢。但目前國內大多數商業網站的商品推薦通常是:推薦熱銷產品;推薦相關產品;依據用戶瀏覽歷史的信息進行推薦。
由教授在2005年提出的一個Item-Based(基于條目)推薦算法,可應用于各類以網上商品銷售為主業務的網上商店,以及提供文章、新聞、音樂、電影等“無形”的產品的網絡站點。用于幫助商店經營者,網絡站點從事產品的個性化推薦,提高營銷及服務質量,更好地挖掘潛在客戶及客戶的使用、購買潛能。同時也根據用戶的喜好,網站會留下記錄,當用戶再次訪問時,網站會推薦用戶可能喜歡的東西,這樣也方便了用戶,用戶無需浪費時間去搜索大量的信息。基于內容的推薦:基于內容的推薦(-)是指根據用戶選擇的對象,推薦其他類似屬性的對象作為推薦,屬于劃分中的Item-方法.這類算法源于一般的信息檢索方法.不需要依據用戶對對象的評價意見.對象使用通過特征提取方法得到的對象內容特征來表示,系統基于用戶所評價對象的特征,學習用戶的興趣,從而考察用戶資料與待預測項目相匹配的程度.對象內容特征((s))的選取在目前的研究中以對象的文字描述為主,比如信息檢索中最經典的文本特征是詞頻-倒排文檔頻率(-ency,簡稱TF-IDF).另一方面,用戶的資料模型(c)取決于所用機器學習方法,常用的有決策樹、貝葉斯分類算法、神經網絡、基于向量的表示方法等,數據挖掘領域的眾多算法都可以應用.協同過濾推薦協同過濾推薦()技術是推薦系統中最為成功的技術之一,它于20世紀90年代開始研究并促進了整個推薦系統研究的繁榮.大量論文和研究都屬于這個類別.協同過濾的基本思想是:找到與當前用戶ccur相似(比如興趣和口味相似的其他用戶cj,計算對象s對于用戶的效用值u(cj,s),利用效用值對所有行排序或者加權等操作,找到最適合ccur的對象s*.其基本思想非常易于理解,在日常生活中,我們往往會利用好朋友的推薦來進行一些選擇.協同過濾正是把這一思想運用到推薦系統中來,即基于其他用戶對某一內容的評價向目標用戶進行推薦.基于協同過濾的推薦系統可以說是從用戶的角度進行推薦的,并且是自動的,也就是說,用戶所獲得的推薦是系統從用戶購買或瀏覽等行為中隱式獲得的,不需要用戶主動去查找適合自己興趣的推薦信息,如填寫一些調查表格等.其另外一個優點是對推薦對象沒有特殊的要求(而基于內容的推薦需要對推薦對象進行特征分析),能夠處理非結構化的復雜對象,如音樂、電影等.同時,研究用戶之間的關系需要大量的用戶訪問行為的歷史數據,與社會網絡研究有交叉點,有豐富的研究基礎和廣闊的前景.對協同過濾最早的研究有,后來的研究成果包括,,Ringo,,]等.總體而言,此類推薦算法可以分為兩類:啟發式(--based)方法和基于模型(model-based)的方法。
基于知識的推薦:基于知識的推薦(-)在某種程度上可以看成是一種推理()技術.它不是建立在用戶需要和偏好基礎上推薦的,而是利用針對特定領域制定規則(rule)來進行基于規則和實例的推理(case-).例如,文獻[34]中利用飯店的菜式方面的效用知識,推薦飯店給顧客.效用知識()是一種關于一個對象如何滿足某一特定用戶的知識,因而能夠解釋需求和推薦的關系,用于推薦系統.效用知識在推薦系統中必須以機器可讀的方式存在(本體知識庫),例如ems使用關于學術論文主題的本體知識庫向讀者作推薦.算法推薦:是一系列應用于協同過濾的算法的統稱。由年發表的論文中提出。有爭議的是,該算法堪稱基于項目評價的non-協同過濾算法最簡潔的形式。該系列算法的簡潔特性使它們的實現簡單而高效,而且其精確度與其它復雜費時的算法相比也不相上下。
該系列算法也被用來改進其它算法。當可以對一些項目評分的時候,比如人們可以對一些東西給出1價的時候,協同過濾意圖基于一個個體過去對某些項目的評分和(龐大的)由其他用戶的評價構成的數據庫,來預測該用戶對未評價項目的評如果一個人給披頭士的評分為5(總分5)的話,我們能否預測他對席琳狄翁新專輯的評分呢?這種情形下,item-based協同過濾系統根據其它項目的評分來預測項目的分值,一般方法為線性回歸().于是,需要列出個線性回歸方程和回歸量推薦系統是否屬于數據挖掘,例如:當有1000個項目時,需要列多達1,000,000個線性回歸方程,以及多達2,000,000個回歸量。除非我們只選擇某些用戶共同評價過的項目對,否則協同過濾會遇到過適(過擬合)問題。算法描述及實現過程:算法原型:圖例一(如圖3-1所示):3-1算法演示圖一如上圖所示,的評分是ItemB的評分是ItemA的評分是2,那么,預測的評分是多少根據算法,2+(3-4)=1。圖例二(如圖3-2所示):3-2算法演示圖二 如上圖所示,UserB ItemB的評分會是多少呢?股票上有個說法 是平均值可以掩蓋一切的異常波動,所以股票上的各個技術指標是收集不 同時間段的平均值的曲線圖或是柱狀圖等。
同樣的,Slope One 算法也認 為:平均值也可以代替某兩個未知個體之間的打分差異,條目 的平均差值是:4-3+(3-3)2=0.5 也就是說人們對事物 的打分要高0.5,于是 Slope one 算法就猜測 UserB 對事物 作者:相近習作品編號:02 加權算法:由上的兩個示例對 Slope One 算法有了認識。如果有 100 個用戶對 ItemA ItemB都打過分,有 1000 個用戶對 ItemC ItemB也打過 分。顯然這兩個 差的權重是不一樣的。因此我們可以推測,計算 方法是: 2+1000( 3)(100+1000)Slope One 算法的加權算法數學描述如下:有 打分的平均差(A-B),有 打分的平均差(C-B),注意都是平均差而不是平方差推薦系統是否屬于數據挖掘,現在某個用戶對 的打分是ra,對 的打分是rc,那么 的打分可能是:rb=Nra-RA->B+M(rc-R(C->B))M+N 上面討論的是用戶只對條目的喜好程度打分。還有一種情況下用戶也 可以對條目的厭惡程度打分。
這時可以使用雙極 Slope One 算法(BI-Polar Slope One)。 實驗結果:測試數據 均方根誤差RMSE=0.9474 45分以上推薦正確率: 0.746 盧一強:北京遇上西雅圖 龔志鑫:少年派燕睿濤:泰坦尼克號 盧一強:速度與激情5 湯瑤:泰坦尼克號 劉璐:速度與激情5 劉思遙:泰坦尼克號 劉璐:猩球崛起 注釋:此數據代表按照自己和別人的評分推薦的電影 作者:相近習 作品編 15002 作者:相近習 作品編 15002 代表已經看過的電影,其他的數數代表預測你給相應電影的評分。 推薦系統在幾個網站中實例:1、下面幾幅圖是在卓越亞馬遜上根據瀏覽記錄推薦的商品: 2、下面的這幅圖示在網上看過電影后推薦的 3、人人網上按照共同好友的數量推薦的好友: 參考文獻:[1]《推薦系統實踐》 人民郵電出版社[2]《.x 基礎教程》 張笑天等 西安電子科技大學出版社, 2008 附錄附錄一:成員介紹及分工: 代碼編寫:湯瑤、劉少博 資料查閱:姚偉娜、劉璐 報告撰寫:阿鵬仁附錄二: 代碼 clear [ua1,ua2,ua3,ua4,ua5]=(′ .txt′,′%d [uat1,uat2,uat3,uat4,uat5]=(′.txt′,′ Train=[ua1,ua2,ua3];Test=[uat1,uat2,uat3]; user=(ua1); movie=(ua2); m=max(user); n=max(movie); Score=zeros(m,n); i=1:(ua1)Score(ua1(i),ua2(i))=ua3(i); end =(Score,Test); (find(>=5))=5; J=(sum((- uat3).^2)/(uat3))^0.5; J=sum((round()-uat3).^2); ratio=sum(round()==uat3)/(uat3); idxp4=find(round()==4); idxp5=find(round()==5); idxp=[idxp4;idxp5]; =sum(uat3(idxp)>=4)/(idxp); M=(A,Test) tic; [m,n]=size(A); gB=ones(n); B=tril(gB);%上三角存平均評分差,下三角存評分的權重 %即共同的評分人數 %計算每兩列間的平均評分差 end M=zeros((Test(:,1)),1); z=1:(Test(:,1))i=Test(z,1); j=Test(z,2); X=find(C~=0);temp=0;%各權重之和 temp=temp+B(j,X(k));else temp=temp+B(X(k),j);end end toc; end 附錄三:原始數據 附錄四:PPT單位(學校): 下山鎮花崗 岵學校 作者(教師或學生): 電話:QQ: 郵箱: 微信: 作者:相近習 作品編號:02