2014MathorCup優(yōu)秀論文B題_第1頁
2014MathorCup優(yōu)秀論文B題_第2頁
2014MathorCup優(yōu)秀論文B題_第3頁
2014MathorCup優(yōu)秀論文B題_第4頁
2014MathorCup優(yōu)秀論文B題_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、2014MathorCup優(yōu)秀論文 B 題評委一評分, 簽名及備注隊號:10469評委三評分,簽名及備注評委二評分, 簽名及備注評委四評分,簽名及備注選題:B題題目:書籍推薦摘要本文主要研究的是書籍推薦問題, 分析了影響讀者對書籍評分的因素, 通過 協(xié)同過濾算法和書籍相似度分析預(yù)測出指定的讀者對未讀過的書的評分, 再基于 標(biāo)簽相似度和讀書偏好模型給指定的讀者分別推薦 3 本書。針對問題一: 本文通過相關(guān)性分析和對數(shù)據(jù)的分類統(tǒng)計, 發(fā)現(xiàn)書籍的平均得 分,用戶的評分習(xí)慣和用戶的讀書偏好(標(biāo)簽)這三個因素影響讀者對書籍的評 分。針對問題二: 對于指定的讀者, 本文采用余弦相似度來計算所需預(yù)測的每一

2、本書籍與這個讀者所有評過分的書籍的相似度并依此排序,選取前 10 本書籍作 為鄰居集, 根據(jù)該讀者對鄰居集中的書籍評分預(yù)測出他對這本書的評分。 為了檢 驗預(yù)測的準(zhǔn)確性, 本文把評分記錄的一小部分作為測試集, 用 MAE指標(biāo)衡量預(yù)測 誤差,結(jié)果顯示預(yù)測效果良好。針對問題三: 本文采用余弦相似度計算每書籍標(biāo)簽的共生相似度, 建立了一 個用戶讀書偏好模型, 求出用戶之間的相似度和用戶偏好與書籍標(biāo)簽匹配度, 綜 合這兩個指標(biāo)得到書籍對用戶的推薦指數(shù), 按照推薦指數(shù)給指定的用戶推薦 3 本 未讀過的書籍。關(guān)鍵字:協(xié)同過濾 余弦相似度 標(biāo)簽相似度 讀書偏好模型 推薦指數(shù)11.模型假設(shè)1、 用戶的讀書興趣在

3、整個評分過程中沒有發(fā)生變化;2、 用戶都會盡可能讀自己感興趣的書;3、 書籍的不同的標(biāo)簽代表不同的類別;4、 用戶會對感興趣的書籍反復(fù)閱讀。2.主要符號說明符號符號說明Q書籍質(zhì)量P書籍受歡迎程度IP用戶評分偏好BP用戶讀書偏好SI社交圈評分影響B(tài)S書籍間的相似性TCS標(biāo)簽共生相似度CS用戶相似度CPS用戶與書籍的匹配度RP推薦指數(shù)3.問題分析3.1第一問題的分析書籍的評分客觀上取決于書籍本身的質(zhì)量,同時也受到用戶評分偏好等的主觀影響。根據(jù)附件中所給數(shù)據(jù), 我們首先定義書籍質(zhì)量 Q 、書籍受歡迎程度 P、用戶評分偏好 IP 、用戶讀書偏好 BP、以及社交圈評分影響 SI 等五個因素。然 后從以上

4、因素出發(fā),分別分析它們對用戶評分的影響。3.2第二問題的分析在不考慮主觀因素影響的條件下,同一用戶對書籍質(zhì)量 Q 相同的書籍應(yīng)具 有相近的評分,首先,我們采用基于書籍相似性的協(xié)同過濾推薦算法,求出與 預(yù)測書籍相似的鄰居集;然后,通過鄰居集對預(yù)測書籍給出預(yù)測評分。3.3第三問題的分析給用戶推薦的書籍,應(yīng)盡可能的符合用戶的讀書偏好。首先,我們求出了 用戶對書籍的關(guān)注度;其次,我們求出了用戶的讀書偏好;然后,求出符合用 戶偏好的書對用戶的推薦指數(shù);最后,找出推薦指數(shù)最高的書推薦給該用戶。4.模型建立與求解4.1第一問題的模型建立與求解4.1.1分析書籍質(zhì)量 Q 因素的影響我們將書籍的平均得分定義為書

5、籍質(zhì)量 Q ,定義如下:score ( j,i,3)j ,i bookIDQii N i其中, score( j ,i ,3)表示用戶 j 對書籍 i的評分, Ni表示參與對書籍 i評分的用戶總數(shù)。我們從附件 user_book_score.txt 中隨機找出 100 名用戶,并對每一位用戶作 如下處理:Step1:找出用戶所有評分書籍及對應(yīng)分?jǐn)?shù);Step2:求出這些書籍的書籍質(zhì)量 Q ;Step3:求出用戶評分與書籍質(zhì)量的相關(guān)系數(shù)和置信水平。用戶 7245481 參與打分的書籍?dāng)?shù)量為 517本,其中前 10本的處理結(jié)果如表 4-1所示。表4-1 用戶 7245481打分與書籍質(zhì)量書籍 ID用

6、戶的評分參與評分的人數(shù)書籍質(zhì)量 Q96272949594.11678835640544634.16414783638345884.06122428455049983.942886723581411454.13537182730544783.92050257278642324.02586247369043193.833856964695410634.23518392911844974.046278求得相關(guān)系數(shù) R =0.57359;置信水平 P =1.4614e-046 。因此,對于用戶 7245481 , 書籍評分與書籍質(zhì)量有顯著的相關(guān)性。對于隨機選取 100 名用戶中的前 10 名用戶,書籍

7、評分與書籍質(zhì)量的相關(guān)性 見表 4-2。表 4-2 書籍評分與書籍質(zhì)量相關(guān)性表用戶 ID相關(guān)系數(shù)置信水平29634360.614841.06E-079187401-0.284920.3234762029490.595751.19E-1357644190.355853.14E-0640179130.44118.37E-0511370540.4090.01811176721690.520478.62E-1537369780.53222.99E-4938782000.430150.1247326146430.486216.82E-17經(jīng)分析,書籍質(zhì)量是用戶評分的影響因素4.1.2分析書籍受歡迎程度 P

8、 因素的影響 書籍的標(biāo)簽數(shù)量在一定程度上反映了書籍的受歡迎程度, 因此我們定義書籍受歡迎程度 P :Pitag(i, j)通過簡單統(tǒng)計附件 user_read_history.txt 以及 user_book_score.txt 中數(shù)據(jù), 我們發(fā)現(xiàn):1、 有部分用戶對沒有閱讀過的書籍也給了評分;2、 部分用戶對大部分書籍給了相同分?jǐn)?shù)。因此我們考慮用戶評分偏好 IP 因素,N1 (N N1)IP用戶評分偏好 IP 定義如下:5 Ni 1NS1Sii2N1N1N2100%其中, tag(i, j) 表示書籍 i 的第 j 個標(biāo)簽我們從附件 user_book_score.txt 中隨機找出 100

9、 名用戶,并對每一位用戶作 如下處理:Step1:找出用戶所有評分書籍及對應(yīng)分?jǐn)?shù);Step2:求出這些書籍的書籍受歡迎程度 P ;Step3:求出用戶評分與書籍受歡迎程度的相關(guān)系數(shù)和置信水平。用戶 7245481 參與打分的書籍?dāng)?shù)量為 517本,其中最后 10本的處理結(jié)果如表 4-3 所示。表4-3 書籍評分與書籍標(biāo)簽數(shù)書籍ID用戶的評分書籍標(biāo)簽數(shù)3040703174194613039440641799519841852351140471206424726758417798662313877201320378626316求得相關(guān)系數(shù) R= 0.1368;置信水平 P= 0.0018234 。則

10、對于用戶 7245481 , 其評分與書籍標(biāo)簽數(shù)具有較強的相關(guān)性。因此,我們認(rèn)為書籍的受歡迎程度對 用戶的評分具有一定的影響。4.1.3分析用戶評分偏好 IP 因素的影響其中,N N ii1N :所有得分書籍的數(shù)目; :調(diào)整因子;Ni :某分值出現(xiàn)次數(shù)排名為 i的評分次數(shù),則有 N1 N2 N3 N4 N5。我們從附件 user_book_score.txt 中隨機找出 100 名用戶,并對每一位用戶作 如下處理:Step1:找出用戶所有評分書籍及對應(yīng)分?jǐn)?shù);Step2:求出用戶的評分偏好 IP ;Step3:考察用戶的所有評分與評分偏好 IP 的偏離程度。ID 為 7245481 的用戶參與打

11、分的書籍?dāng)?shù)量為 517 本,處理結(jié)果如表 4-4所示表 4-4 書籍評分與對應(yīng)出現(xiàn)次數(shù)表書籍的評分出現(xiàn)次數(shù)112731314359519IP =3.909 。經(jīng)統(tǒng)計分析,我們得到用戶的所有評分均接近于評分偏好 IP 。因此,我們認(rèn)為 用戶評分受評分偏好 IP 的影響。4.1.4分析用戶讀書偏好 BP 因素的影響通過統(tǒng)計分析附件中的 user_book_score.txt 表以及 book_tag.txt 表,我 們發(fā)現(xiàn),大部分用戶會有一個讀書偏好 BP ,他們傾向于閱讀含有某一標(biāo)簽的書 籍并可能對其打高分。其中用戶 7245481 參與打分的書籍中,出現(xiàn)次數(shù)最多的 標(biāo)簽為 6391,出現(xiàn)了 2

12、66 次,且這些書的得分都高于該用戶對所有書籍評分的 平均分;而用戶 7625225 參與打分的書籍中,出現(xiàn)次數(shù)最多的標(biāo)簽為 6391,出 現(xiàn)了 140 次,且這些書的得分都高于該用戶對所有書籍評分的平均分。因此, 我們可以得出用戶讀書偏好 BP 對用戶評分有一定的影響。4.1.5分析社交圈評分影響 SI 因素的影響用戶好友對書籍的評分在一定程度上影響著用戶的評分。 但在我們隨機選取 的多組數(shù)據(jù)中,我們發(fā)現(xiàn)有大部分的用戶好友并沒有參與書籍評分,因此,此 處我們不多做分析。BS(i, j) cos(i, j)ij1)4.2第二問題的模型建立與求解我們采用基于書籍相似性的協(xié)同過濾推薦算法, 分別預(yù)

13、測附件 predict.txt 中 的用戶對未看過書籍的評分。1、定義算法中涉及到的書籍間的相似性 BS找出同時對書籍 i,j 評分的用戶,記為 n位,則書籍 i,j 分別在 n維空間上的評分表示為向量 i, j,書籍 i,j 之間的相似性 BS(i, j )為:其中, i 表示 i 的模長。2、構(gòu)造算法中涉及到的評分矩陣 S 。矩陣S的前六列表示附件 predict.txt 中對用戶 ui要求預(yù)測的書籍,記為Pbi 后n列表示用戶 ui參與評分的所有書籍 b,設(shè)共有 n本,則矩陣 S共有 n 6列; 矩陣 S的第一行表示為用戶 ui ,后m行表示為參與了 Pbi 中的任意一本的評分的 用戶,

14、設(shè)有 m位用戶,則矩陣 S共有 m 1行。3、預(yù)測用戶 ui 對第一本書 Pbi1 的評分。具體預(yù)測算法如下:Step1:取矩陣 S中第 1列元素和第 j 列元素, j 7,8, , n ,分別記為 s1和 sj;Step2:取在 s1和s j中均不含 0的行,記為 s1, sj ,若沒有取到,則定義 Pbi1與b j的相似度為 0;否則用公式( 1)求Pbi1與bj的相似度 BS(Pbi1,bj);Step3:取相似度 BS(Pbi1,bj)最高的10個書籍,組成 b1鄰居集B b1,b2, ,b10 其中,書籍 Pbi1與b1的相似度 BS(Pbi1,b1)最高,書籍 Pbi1與b2的相似

15、 BS(Pbi1, b2 ) 次之,以此類推。Step4:求用戶 ui 對 Pbi1的預(yù)測評分:BS(Pbi1,b) Si,bS(i,1)BS(Pbi1,b)bB4、對附件 predict.txt 中所有用戶要求預(yù)測的書籍用如上算法預(yù)測評分。表 4-5 用戶 7245481 要求預(yù)測書籍的預(yù)測評分書籍 ID794171381060776002980705354292738735預(yù)測評分43.83.63.83.63.6表 4-6 用戶 7625225 要求預(yù)測書籍的預(yù)測評分書籍 ID473690929118235338424691916469793936預(yù)測評分3.800161 3.399658

16、443.800061 3.799982表 4-7 用戶 4156658 要求預(yù)測書籍的預(yù)測評分書籍 ID175031422711585783412990134003443948預(yù)測評分4.63.4443.63.8表 4-8 用戶 5997834 要求預(yù)測書籍的預(yù)測評分書籍 ID346935144718827305219560242057803508預(yù)測評分4.599925 4.799826 4.4002634.600099 4.400368 4.599396表 4-9 用戶 9214078 要求預(yù)測書籍的預(yù)測評分書籍 ID310411727635724917325721105962235338

17、預(yù)測評分444.23.63.84.2表 4-10 用戶 2515537 要求預(yù)測書籍的預(yù)測評分書籍 ID900197680158770309424691573732210973預(yù)測評分3.399379 3.199388 3.7994333.79982943.799717為了對以上算法的預(yù)測評分進(jìn)行檢驗, 我們定義平均絕對誤差 MAE 。取用戶 u 參與評分的 n 本書籍,設(shè)用戶 u 對此 n 本書的實際評分集合為 s1,s2, ,sn ,預(yù) 測集合為 ps1, ps2, , psn 。則npsi siMAE i 1n表 4-11 用戶 7245481 實際評分與預(yù)測評分表書籍 ID962729

18、356405836383284550723581827305預(yù)測評分3.8462793.84604543.999923.8454643.922996實際評分4444447表 4-12 用戶 7625225 實際評分與預(yù)測評分表書籍 ID702699962729642256794171836383284550預(yù)測評分3.845917443.84597844實際評分444444表 4-13 用戶 4156658 實際評分與預(yù)測評分表書籍 ID345849220930732533566113500788242605預(yù)測評分3.6902563.2307693.6153853.2307693.38461

19、53.921765實際評分444444表 4-14 用戶 5997834 實際評分與預(yù)測評分表書籍 ID885390702699962729723581381060964695預(yù)測評分455444實際評分455444表 4-15 用戶 9214078 實際評分與預(yù)測評分表書籍 ID776002144718242462424691557713438265預(yù)測評分4.077574.077084.1542543.9221624.0764163.999463實際評分444444表 4-16 用戶 2515537 實際評分與預(yù)測評分表書籍 ID284550981616585307916469131620

20、549623預(yù)測評分3.5376143.2304743.4616283.3073153.6146233.614518實際評分4444444.3 第三問題的模型建立與求解我們采用基于標(biāo)簽相似度書籍推薦算法,針對附件 predict.txt 中的用戶,分 別給每一位用戶推薦 3 本沒看過的書。1、 定義算法中涉及的標(biāo)簽共生相似度 TCS 。設(shè)“用戶標(biāo)簽”矩陣為 Sz n ,Rz mQn m(rs1,sr2,L ,srn)T其中,行向量 rsi 的非零值表示用戶讀過的同一本書或者不同書籍的標(biāo)簽, sij表示標(biāo)簽 tj 在用戶 ci 讀過書籍集合中出現(xiàn)的次數(shù)。設(shè)標(biāo)簽共生矩陣為 Vn nTCSij co

21、s(vri ,vrj )2、 定義算法中涉及的用戶相似度CS 。設(shè)用戶 cx 對書籍 ps的關(guān)注度為pwxs,2x1xpxpxTxTxSzT nSz n (vr1,vr2 ,L ,vrn)T我們采用余弦相似度計算書籍的標(biāo)簽共生相似度 TCS ,則定義 TCS如下。nvik vjkk1nn ( vi2k )( v2jk )k1 k 1pwxs其中,Tx表示用戶 cx 評論過的書籍。2xn代表書籍 ps在用戶 cx閱讀記錄中出現(xiàn)的次數(shù)。設(shè)書籍關(guān)注度向量為 bx ,( prcx1, pwcx1 ),( pr cx2 , pwcx2 ),L ,( prcxk , pwcxk )r其中pcxi為用戶cx

22、i讀過的書籍, pwcxi為用戶cx對書籍 pcxi的關(guān)注度設(shè)標(biāo)簽對于用戶 cx的偏好權(quán)重為 wcxi ,twxj其中,tw*xipwxsps DxiDxi為用戶 cx讀過并且包含標(biāo)簽 tcxi的書籍集合, ctx為用戶cx看的書的標(biāo)簽集合。wcxitcx jctx用戶cx 與cy之間的相似度 CSxy定義如下:hkCSxy (wcxi wcyj TCS(tcxi ,tcyj )j 1i1 i j i j3、 定義算法中涉及的用戶與書籍的匹配度 CPS 。定義用戶 cx 與書籍 ps的匹配度為 CPSxy ,則hkCPSxs (wcxiTCS(tcxi,tcxj )/hj 1i 1 i i j

23、其中, h 表示書籍 ps 的標(biāo)簽數(shù)量。4、 定義算法中涉及的推薦指數(shù) RP。對用戶 x 推薦書籍 s的推薦指數(shù) RPxs 為:RPxs (CPSxs)2 (Max(CSxi )2其中, Max(CSxi)為 CSxi中的最大值。5、 對附件 predict.txt 中的用戶 ui 推薦 3 本書籍。我們采用基于標(biāo)簽相似度書籍推薦算法,算法實現(xiàn)步驟如下:Step1:求出標(biāo)簽共生相似度 TCS ;Step2:求出用戶 ui相似度 CS;Step3:用戶 ui與書籍的匹配度 CPS ;Step4:求出用戶 ui 與所有書籍的推薦指數(shù),并對推薦指數(shù)排序;Step5:取推薦指數(shù)排名前 3 的書籍推薦給

24、用戶 ui 。6、 對附件 predict.txt 中的所有用戶做如上 5 處理。10推薦結(jié)果如表 4-17 所示表 4-17 推薦結(jié)果表用戶 ID推薦 1推薦 2推薦 32258847245481499360594018225884762522549936012193559401841566585940185701295516435997834284550105810121935921407859401828455049936025155375940184993605701295.模型總結(jié)5.1 模型一的優(yōu)缺點優(yōu)點:1、 細(xì)致地分析了多種可能因素;2、 通過表格的形式把分析結(jié)果表現(xiàn)出來,非常

25、直觀; 缺點:1、 隨機抽取的用戶數(shù)量有限,可能存在偶然性;2、 對用戶打分習(xí)慣的度量缺乏科學(xué)依據(jù);3、 沒有分析出用戶好友對其打分的影響。5.2模型二的優(yōu)缺點 優(yōu)點:1、通過用戶已打分的書對未打分的書評分估計,反映了用戶打分習(xí)慣對評分的 影響;2、通過不同用戶之間的打分的余弦相似度來描述項目間的相似度,反映了圖書 質(zhì)量對評分的影響;3、從打分記錄中選取了一部分?jǐn)?shù)據(jù)作為檢測集,檢驗了模型的準(zhǔn)確性。 缺點:1、檢驗的數(shù)量不是很多。存在偶然性;112、沒有考慮用戶關(guān)注的好友對打分的影響。5.3模型三的優(yōu)缺點優(yōu)點:1、分析了標(biāo)簽之間的相似度,是對書籍種類的一個劃分;2、綜合考慮了用戶之間的相似度和用

26、戶偏好與圖書標(biāo)簽的匹配度,對推薦的影 響。缺點:1、采用用戶是否打分加上閱讀次數(shù)衡量對書籍的參與度,各自的權(quán)重相等,權(quán) 重的科學(xué)性沒有檢驗;2、沒有考慮用戶的好友對圖書推薦的影響;3、沒有找到合適的方法檢驗推薦的合理性。6.1 參考文獻(xiàn)1張光衛(wèi),康建初,李鶴松,等 . 面向場景的協(xié)同過濾算法 J. 系統(tǒng)仿真學(xué)報, 2006.2陳翔,邱秀珍 . 基于標(biāo)簽相似度的協(xié)作者推薦研究 J. 中國科技論文, 2013.3鄧愛林,朱揚勇,施伯樂. 基于項目評分的協(xié)同過濾算法 J. 軟件學(xué)報,2003.附錄問題一相關(guān)代碼:1、受歡迎程度clear load tag.mat; load score.mat; u

27、ser=7245481;m,n=find(score(:,1)=user); blen=length(m);tp=zeros(blen,3);for i=1:blentp(i,1)=score(m(i,1),2);tp(i,2)=score(m(i,1),3);endfor j=1:blen12 num=0;h,l=find(tag(:,1)=tp(j,1); x,d=find(tag(h,:)0); xlen=length(x);num=xlen-1;tp(j,3)=num;endtp;q,p=find(tp(:,3)=-1); qlen=length(q); for k=1:qlentp(

28、q(k,1),3)=0;end tp R,P=corrcoef(tp(:,2),tp(:,3); R P2、隨機選擇 100名打分用戶clear;load score.mat; slen=length(score); num=1;user(num,1)=0;for i=1:slenif any(user=score(i,1)=0 user(num,1)=score(i,1); num=num+1;user(num,1)=0;endendulen=length(user)-1;%4071?user randuser=user(randperm(ulen); ru=randuser(1:100)3

29、、書籍質(zhì)量clear;load score.mat;load predict.mat;slen = length(score); user=2614643; bn=0;m,n=find(score(:,1)=user); blen = length(m);13 sf=zeros(blen,4); for i=1:blen sum=0; ave=0; h,l=find(score(:,2)=score(m(i,1),2); num=length(h);if num=0 for j=1:num sum=sum+score(h(j,1),3); end ave=sum/num;end sf(i,1)

30、=score(m(i,1),2); sf(i,2)=score(m(i,1),3); sf(i,3)=num; sf(i,4)=ave;end R,P=corrcoef(sf(:,2),sf(:,4); sf(:,3);R P問題二相關(guān)代碼:1、預(yù)測打分 clear clc load score.mat; load predict.mat; bs=user_book_score; pred=predict; id=2515537; pu(2,1)=id;k=2; for i=1:36if pred(i,1)=id pu(1,k)=pred(i,2); k=k+1;end end for i=1:length(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論