movielens推荐系统_案例|推荐系统的评估指标
推薦系統(tǒng)能夠?yàn)橛脩籼峁﹤€(gè)性化體驗(yàn),現(xiàn)在基本上各大電商平臺(tái)、資訊平臺(tái)都會(huì)用推薦系統(tǒng)為自家評(píng)價(jià)下的用戶提供千人千面的服務(wù)。平均精度均值(Mean Average Precision,MAP)便是評(píng)估推薦系統(tǒng)性能的度量標(biāo)準(zhǔn)之一。
但是,使用其他診斷指標(biāo)和可視化工具可以讓模型評(píng)估更加深入,甚至還會(huì)帶來一些其他啟發(fā)。本文探討了召回率、覆蓋率、個(gè)性化和表內(nèi)相似性,并使用這些指標(biāo)來比較三個(gè)簡單的推薦系統(tǒng)。
Movielens數(shù)據(jù)集
這篇文章中的例子使用的數(shù)據(jù)是Movielens 20m數(shù)據(jù)集。這些數(shù)據(jù)包含用戶對(duì)電影的評(píng)分以及電影類型的標(biāo)記。 (為了延長訓(xùn)練時(shí)間,該數(shù)據(jù)被下采樣,評(píng)分僅包括給超過1000部電影打過分的用戶的評(píng)分,以及3星及其以上的評(píng)分。)
用戶電影評(píng)級(jí)的示例模型
本文測(cè)試并比較了三種不同的推薦系統(tǒng):
1.隨機(jī)推薦(隨機(jī)為每位用戶推薦10部電影)
2.根據(jù)流行度推薦(向每位用戶推薦最受歡迎的10部電影)
3.協(xié)同過濾器(使用SVD的矩陣分解方法)
接下來就讓我們深入了解這些指標(biāo)和診斷圖,并比較這些模型!
長尾圖
長尾圖用于挖掘用戶-項(xiàng)交互數(shù)據(jù)中的流行度模式,例如點(diǎn)擊次數(shù)、評(píng)分或購買行為等。通常,只有一小部分項(xiàng)目具有大量的交互,我們稱之為“頭部”;而大多數(shù)項(xiàng)目都集中在“長尾”中,它們只占交互的一小部分。
長尾圖 (Movielens 20m評(píng)級(jí)數(shù)據(jù)樣本)在訓(xùn)練數(shù)據(jù)中會(huì)對(duì)許多熱門項(xiàng)目進(jìn)行多方觀察,因此,推薦系統(tǒng)想要準(zhǔn)確預(yù)測(cè)這些項(xiàng)目并不難。在電影數(shù)據(jù)集中,最受歡迎的電影是大片和經(jīng)典老片。這些電影已為大多數(shù)用戶所熟知,推薦這些電影,對(duì)用戶來說可能并非是個(gè)性化推薦,也可能無法幫助用戶發(fā)現(xiàn)其他新的電影。相關(guān)推薦被定義為用戶在測(cè)試數(shù)據(jù)時(shí)給予正面評(píng)價(jià)的項(xiàng)目的推薦。這里的指標(biāo)用來評(píng)估推薦系統(tǒng)的相關(guān)性和實(shí)用性。
MAP和MAR
推薦系統(tǒng)會(huì)為測(cè)試集中的每個(gè)用戶生成推薦的有序列表。平均精度均值(MAP)可以讓開發(fā)者深入了解推薦項(xiàng)目列表的相關(guān)性,而召回率可以讓開發(fā)者深入了解推薦系統(tǒng)的調(diào)試性能,如調(diào)試用戶給予正向評(píng)價(jià)的所有項(xiàng)目。MAP和MAR的詳細(xì)描述如下:
Mean Average Precision (MAP) For Recommender Systems?sdsawtelle.github.io覆蓋率
覆蓋率是指模型能夠在測(cè)試集上推薦的項(xiàng)目占訓(xùn)練數(shù)據(jù)的百分比。在此示例中,受歡迎度推薦的覆蓋率僅為0.05%,它只推薦了10件物品。隨機(jī)推薦器的覆蓋率接近100%。出乎意料的是,協(xié)同過濾只能推薦其訓(xùn)練的項(xiàng)目的8.42%。
三個(gè)推薦系統(tǒng)的覆蓋率比較:
個(gè)性化
個(gè)性化是評(píng)估模型是否向不同用戶推薦相同項(xiàng)目的方法。用戶的推薦列表之間存在差異(1-余弦相似性)。下邊的例子能很好地說明如何計(jì)算個(gè)性化程度。
3個(gè)不同用戶的推薦項(xiàng)目示例列表:
首先,每個(gè)用戶的推薦項(xiàng)目會(huì)被表示為二進(jìn)制指示符變量(1:向用戶推薦該項(xiàng)目.0:不向用戶推薦該項(xiàng)目)。
然后,跨所有用戶的推薦向量計(jì)算余弦相似度矩陣。
最后,計(jì)算余弦矩陣的上三角的平均值。個(gè)性化是1-平均余弦相似度。
高個(gè)性化分?jǐn)?shù)表示用戶的推薦不同,這也意味著該模型為每一位用戶提供個(gè)性化體驗(yàn)。
列表內(nèi)相似性
列表內(nèi)相似性是推薦列表中所有項(xiàng)目的平均余弦相似度。該計(jì)算使用推薦項(xiàng)目(例如電影類型)的特征來計(jì)算相似度。該計(jì)算方法可以通過以下示例說明。
針對(duì)3個(gè)不同用戶的電影ID的推薦示例:
這些電影類型特征用于計(jì)算推薦給用戶的所有項(xiàng)目之間的余弦相似度。該矩陣顯示了向用戶1推薦的所有電影的特征。
我們可以為每個(gè)用戶計(jì)算表內(nèi)相似性,并對(duì)測(cè)試集中的所有用戶求平均值,從而得到對(duì)模型的表內(nèi)相似性的估計(jì)。
如果推薦系統(tǒng)向每一個(gè)用戶推薦非常相似的項(xiàng)目列表(如用戶僅接收浪漫電影的推薦),那么列表內(nèi)相似性將很高。
使用正確的訓(xùn)練數(shù)據(jù)
我們可以對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行如下操作,從而快速改進(jìn)推薦系統(tǒng):
1.從培訓(xùn)數(shù)據(jù)中刪除熱門項(xiàng)目 (這一點(diǎn)適用于用戶可以自行找到這些項(xiàng)目,以及發(fā)現(xiàn)這些項(xiàng)目不具備實(shí)用性的情況)。
2.按照用戶的值來放大項(xiàng)目評(píng)級(jí),例如平均交易值。這樣做有助于模型推薦能夠帶來忠誠度或高價(jià)值客戶的項(xiàng)目。
結(jié)論
一個(gè)好的推薦系統(tǒng)能夠生成兼具實(shí)用性和相關(guān)性的推薦結(jié)果。
使用多個(gè)評(píng)估指標(biāo)來評(píng)估模型,能夠更加全面地衡量一個(gè)推薦系統(tǒng)的性能。
原文鏈接:Evaluation Metrics for Recommender Systems
以上內(nèi)容由第四范式先薦編譯,僅供于學(xué)習(xí)交流,版權(quán)歸原作者所有。
相關(guān)閱讀:
如何解決推薦系統(tǒng)中的冷啟動(dòng)問題?
推薦系統(tǒng):混合過濾
推薦系統(tǒng):協(xié)同過濾及其利弊
推薦系統(tǒng)過濾技術(shù):基于內(nèi)容的過濾及其利弊
推薦系統(tǒng)的工作流程
用Python搭建推薦系統(tǒng)的最佳開源包
如何用Python搭建一個(gè)簡單的推薦系統(tǒng)?
想要了解推薦系統(tǒng)?看這里!(2)——神經(jīng)網(wǎng)絡(luò)方法
想要了解推薦系統(tǒng)?看這里!(1)——協(xié)同過濾與奇異值分解
入門推薦系統(tǒng),你不應(yīng)該錯(cuò)過的知識(shí)清單
推薦系統(tǒng)相關(guān)術(shù)語知多少
如欲了解更多,歡迎搜索并關(guān)注先薦微信公眾號(hào)(ID:dsfsxj)。
本賬號(hào)為第四范式智能推薦產(chǎn)品先薦的官方賬號(hào)。賬號(hào)立足于計(jì)算機(jī)領(lǐng)域,特別是人工智能相關(guān)的前沿研究,旨在把更多與人工智能相關(guān)的知識(shí)分享給公眾,從專業(yè)的角度促進(jìn)公眾對(duì)人工智能的理解;同時(shí)也希望為人工智能相關(guān)人員提供一個(gè)討論、交流、學(xué)習(xí)的開放平臺(tái),從而早日讓每個(gè)人都享受到人工智能創(chuàng)造的價(jià)值。
總結(jié)
以上是生活随笔為你收集整理的movielens推荐系统_案例|推荐系统的评估指标的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vb ftp linux,VB FTP上
- 下一篇: java多线程交替打印_java实现多线