基于模糊聚类和协同过滤的混合推荐系统
????? Hybrid Recommender System based on Fuzzy Clustering and Collaborative Filtering
????? 給出題目,想找的話直接在ElsevierSD里下載即可。
????? 并不是逐句翻譯,一些簡單的背景比如經(jīng)濟啦什么的直接忽略,不過筆者會在博文里點出來。
????? 一二三這樣的標題是原論文的題目,我沒翻譯,為以后自己寫英文論文做準備,以1234這樣的標題開始的內(nèi)容是筆者自己加上去的,就是我的筆記。
????? 我自己把握不準的或者比較精妙的局段,都有英文原文留下,分段也被保留。
????? 如何輸入羅馬數(shù)字,看下圖,搜狗輸入法下,ctrl+shift+z;有時候可能需要多個這樣的符號,每次都這樣調(diào)用的話很麻煩,我就按住ctrl鍵,果然可以一次多個,看來計算機是相通的。
??????????????????????
一、Abstract
????? 由于越來越多的電商使用推薦系統(tǒng),推薦系統(tǒng)獲得了極大發(fā)展。不過由于產(chǎn)品和用戶數(shù)的顯著增加使得推薦系統(tǒng)面臨數(shù)據(jù)稀疏性和可擴展性的問題。本篇提出了FCM(Fuzzy C Means)算法。
二、Introduction
????? 推薦系統(tǒng)結合電商背景介紹。NetFlix推薦電影,Amazon推薦圖書。有幾種不同的方法來做推薦,這包括給出銷量最高的產(chǎn)品列表、基于人口統(tǒng)計學給我出建議和通過分析用戶過去行為來給出建議(including providing top list of items, making suggestion based on demographic data and making recommendation by analyzing past user interaction of the user with the system.)。在這之中,協(xié)同過濾是最好的技術之一,該技術于1992年由[Goldberg et al., 1992]提出(我以Goldberg為關鍵字百度之,只出現(xiàn)摔跤運動員,對于這么吊的算法思想來說,這很不合理啊)。通常來說,推薦系統(tǒng)被分為三類,協(xié)同過濾、基于內(nèi)容的推薦和混合推薦。基于內(nèi)容的推薦使用過去的產(chǎn)品或者用戶的描述信息(the item or user’s profile),因此當產(chǎn)品是像視頻、音樂這類東西的話,該算法會很不方便得到需要的信息(原文是be quite challenging)。
????? 在協(xié)同過濾算法(下文用CF來代替,太麻煩,我自己加上的)中,關鍵元素是用戶過去的行為。CF推薦系統(tǒng)采用由用戶制作的原來產(chǎn)品的排名來預測新產(chǎn)品的排名(筆者感覺這很像是Item-Based的CF算法,請參考筆者這一篇博文探秘推薦引擎之協(xié)同過濾算法小綜述)。這種算法思想是根據(jù)(The idea behind this is that)兩個用戶曾經(jīng)喜歡過想死產(chǎn)品的話那么他們很可能繼續(xù)喜歡同樣的產(chǎn)品(這一句又像是User-Based)。在建議的的方法中(proposed approach),初試聚類中心采用FCM算法生成。然后這些中心采用item-based來預測未來的產(chǎn)品排名。
????? 相關工作在區(qū)域 Ⅱ,區(qū)域Ⅲ詳細討論了建議的方法,實驗結果在區(qū)域Ⅳ討論,結論呈現(xiàn)在區(qū)域Ⅴ。
????? 1.基于人口統(tǒng)計學的推薦
????? 這是最為簡單的一種推薦算法,它只是簡單的根據(jù)系統(tǒng)用戶的基本信息發(fā)現(xiàn)用戶的相關程度,然后將相似用戶喜愛的其他物品推薦給當前用戶。
????? 系統(tǒng)首先會根據(jù)用戶的屬性建模,比如用戶的年齡,性別,興趣等信息。根據(jù)這些特征計算用戶間的相似度。比如系統(tǒng)通過計算發(fā)現(xiàn)用戶A和C比較相似。就會把A喜歡的物品推薦給C。
????? 優(yōu)勢:
????? a 不需要歷史數(shù)據(jù),沒有冷啟動問題
????? b 不依賴于物品的屬性,因此其他領域的問題都可無縫接入。
????? 不足:
????? 算法比較粗糙,效果很難令人滿意,只適合簡單的推薦
????? 2.基于內(nèi)容的推薦
??????????????????????
????? 與上面的方法相類似,只不過這次的中心轉到了物品本身。使用物品本身的相似度而不是用戶的相似度。
????? 系統(tǒng)首先對物品(圖中舉電影的例子)的屬性進行建模,圖中用類型作為屬性。在實際應用中,只根據(jù)類型顯然過于粗糙,還需要考慮演員,導演等更多信息。通過相似度計算,發(fā)現(xiàn)電影A和C相似度較高,因為他們都屬于愛情類。系統(tǒng)還會發(fā)現(xiàn)用戶A喜歡電影A,由此得出結論,用戶A很可能對電影C也感興趣。于是將電影C推薦給A。
????? 優(yōu)勢:
????? 對用戶興趣可以很好的建模,并通過對物品屬性維度的增加,獲得更好的推薦精度
????? 不足:
????? a 物品的屬性有限,很難有效的得到更多數(shù)據(jù)
????? b 物品相似度的衡量標準只考慮到了物品本身,有一定的片面性
????? c 需要用戶的物品的歷史數(shù)據(jù),有冷啟動的問題
????? 看完2我發(fā)現(xiàn),冷啟動問題指的就是建模的初始數(shù)據(jù)的來源問題,看來書真是閱讀越明白,所以溫故而知新,古人沒有欺騙我---古之人誠不欺余也。
三、Related Work
????? 在參考文獻3里,作者提出了一種基于用戶和產(chǎn)品之間不同的CF算法。首先,他們(用的they,表示作者不止一個的意思吧)比較了不同的CF算法。根據(jù)他們的方法,他們沒有考慮用戶和產(chǎn)品知己恩的聯(lián)系,只考慮(other than)了不同之處。在這種情況下,有一些用戶傾向于給好評,對那些真正的垃圾產(chǎn)品才給差評;而其他用戶給最好的產(chǎn)品最高的評價,對于其他的產(chǎn)品傾向于給差評(On the condition that there are some users, who inclined to give positive rating, leaving negative ratings for really bad items, while other user, save their highest rating s for the best item and tends to give negative ratings. So according to their approach, first find the tendencies of items and users and on the basis of this, recommendation is done.剛開始翻譯不出來參考了百度翻譯,就翻譯了出來;我想起了英語老師說咱們口語不好不是因為搞幾次會不會,而是因為很多低級詞匯忘了;我真是個聽話的孩子,好老師說的話我基本都記得,感覺自己萌萌噠)。因此根據(jù)他們的方法(approach),首先找到產(chǎn)品和用戶的趨勢,據(jù)此,推薦完成。
????? 在參考文獻11里,作者提出了混合的方法,該方法結合了(take advantages of)基于內(nèi)容和CF的優(yōu)點。根據(jù)他們的方法,他們首先采用k-means算法找到相似的用戶(筆者認為這地方?jīng)]說清楚,根據(jù)用戶買的產(chǎn)品類別還是用戶的個人注冊信息,不過就筆者個人感覺而言,對于非社交群體,比如電商企業(yè),用戶的注冊信息完全沒有價值);然后,找到同一簇中高度相關用戶的內(nèi)容(感覺內(nèi)容量子很別扭then find the content that the users of the same cluster rated high)。添加這一內(nèi)容進入內(nèi)容列表中,然后在同一簇中就要求的內(nèi)容采用FCM算法找到內(nèi)容。最后,從珍貴(我在想,他是不是寫錯了previous:前一個,寫成了precious)的兩個已經(jīng)計算的集合找出公共部分(Add this content in the list of contents and then apply fuzzy c-mean algorithm to find contents in the same cluster as that of the content requested. And in the end find common set from precious two computed set. 我不理解兩個已經(jīng)計算的集合是什么)。公共部分就是最好的結果。算了,確實看不明白,有空看原文。
????? 在參考文獻15中,作者針對個性化推薦提出了一種相反的CF算法。根據(jù)他們的方法,他們結合user-based和item-based算法,同時使用斯皮爾曼等級相關系數(shù)代替皮爾遜相關系數(shù)來確保在數(shù)據(jù)的邏輯區(qū)域有相同的空間(或者等距,equal space),這不必要成對出現(xiàn)從正態(tài)分布(which do not need to be receive in pairs from the normal distribution)。根據(jù)這個算法,CF算法預測相似的產(chǎn)品集根據(jù)已經(jīng)給的數(shù)據(jù),然后使用第二個算法得到最終的分配,同時解決奇異的數(shù)據(jù)(
singular data
)。
????? 1.斯皮爾曼相關系數(shù)
??????????
????? 在此例中,我們要使用下表所給出的原始數(shù)據(jù)計算一個人的智商 和其每周花在 電視上的小時數(shù)的相關性。
????????????????
????? 首先,我們必須根據(jù)以下步驟計算出 ,如下表所示。
???????????????
?????? 得 ρ = ?0.175757575,這個值很小表明上述兩個變量的關系很小。
????? 該系數(shù)和皮爾遜的區(qū)別是xy可以不是正態(tài)分布;但是xy不也可以進行標準花么((x-u)/D),然后可以用皮爾遜洗漱了。
四、ProposedApproach
????? 算法被分為兩個階段(phase)。
????? 階段一:根據(jù)產(chǎn)品信息進行產(chǎn)品聚類
????? 階段二:對階段一的每個簇應用基于項目的CF。
????? 算法概述。
????? 步驟一:根據(jù)產(chǎn)品信息進行產(chǎn)品聚類(筆者認為說的很不直觀,聚類的結果是什么,只是產(chǎn)品還是包括用戶)
????? 步驟二:在用戶項目矩陣中對于每個簇應用基于項目的CF來預測丟失的評分。
????? 步驟三:為了減少冷啟動的問題,新用戶(NU):必須給在給定閾值數(shù)量的產(chǎn)品的評分來做推薦。新產(chǎn)品(NI):用戶U對于新產(chǎn)品的評分經(jīng)由NI(U)的評分=用戶U在該簇中的評分平均值(To reduce the Cold Start problem.New User: Rating must be given on the specific (threshold)number of items to get recommendation.New Item (NI) : Rating of new item by user U is given byRating of NI(U) = Average rating of the user U within thatcluster.)。這是不是在說SlopeOne算法,前面提到的博文里對該算法有介紹。
????? 步驟四:為了降低可擴展性的問題,聚類是預先處理步驟。該算法周期性運行或者當超過給定閾值數(shù)量額產(chǎn)品被加入時該算法被觸發(fā)(Clustering is pre-processing step. This algorithm is runperiodically or triggered after some particular (threshold)number of new items add in the system.)。
????? 階段一:聚類
????? A.K-means
????? 筆者注:下面只做簡單翻譯
????? 采用k-means算法(原文是k-mean,是不是筆誤)。Movielens數(shù)據(jù)集包括來自943個用戶的評分分為1到5等級的10w個評分,該數(shù)據(jù)集也包括每個電影的大致信息(profile),比如類型(genre[???nr?])(喜劇、動作等),類型共19種。在電影的類型上做聚類。在劃分好的k個簇上上應用基于項目的CF算法。
????? 下面就是k-means的步驟了,不再翻譯。
????? 假設10個電影(Assume),每個電影經(jīng)由三種類型來描述(喜劇、動作、音樂片),如表1(為毛沒加上章的信息,寫成表3-1)。
???????????????? ?
????? 使用曼哈頓距離來計算電影之間的相似性或者不想實行。
?????????
????? 筆者注:曼哈頓距離與歐氏距離:紅 藍和黃分別表示曼哈頓距離都擁有一樣的長度12.綠色表示歐式距離 6*1.414=8.48的長度。
?????????
????? 筆者感覺這個圖很直觀,妙處自己體會。????????
?
?
?
????? 結果是表2
????????
????? B、FCM
????? 先介紹
???????????
????? 生成如下表
??????????
????? 假設閾值是0.15
???????????????????
????? C。減少冷啟動問題
????? 新用戶未做任何評價,新產(chǎn)品未收到任何評價。
????? a.新用戶必然要評價超過閾值數(shù)量的產(chǎn)品。
????? b.if new item add in the system: rating of new item M,by user U is given by:上面的式子Where右端第一部分 average of user U in cluster c. And右端第二部分 is membership value of new item M to cluster c。
????? 階段二:基于項目的CF
????? 筆者注:未做逐字逐句翻譯。
????? 由于當數(shù)據(jù)達到百萬級時,user-based算法尋找像是用戶的CF的計算復雜度太大。 所以2001年提出了item-based算法。
????? 該階段把第一階段的輸出作為輸入,對每個簇用基于項目的CF算法。
????? 采用皮爾遜相關系數(shù)離線計算ij之間的相似度。
??????????????
????? U是同時評價過i和j的用戶集,帶上劃線的是評價過該項產(chǎn)品的所有用戶評分的均值。
?????????
????? 由于FCM是模糊聚類,那么問題來了當一個產(chǎn)品同時屬于兩個或多個簇時,評分公式如下,
???????
????? Nc是簇個數(shù),分子是a對i在簇c下的評分,實際上就是求各個簇下的均值。寫到這,筆者認為,所謂論文就是把簡單問題復雜化,通俗名詞專業(yè)化。
五、Experiment Results
????? CF的評價準則有統(tǒng)計學準則和決策支持準則,本文采用前者。統(tǒng)計學準則比較預測值和實際值的分離程度,采用MAE(mean absolute error),
????????????? ,下面第二個圖x是指數(shù)據(jù)量的大小,單位是10w。
?????????????????
六、Conclusion
????? 結合CF和FCM解決數(shù)據(jù)稀疏性和冷啟動問題。
????? 提出的方法是基于記憶的方法,因此不需要花費時間來訓練數(shù)據(jù)(這個不懂,可能看的資料不夠吧,我感覺是不就是說增量)。
七、筆者自己
????? 四點半左右去聽了一個講座,小公式注重你的技術,要能立刻上手;大公司注重基礎,愿意培養(yǎng)你,所以跟一個大牛,他跳槽了,也把你帶走了。
????? 今晚在實驗室吃飯啦,附上照片紀念正在流逝的青春。
?????????????????????
轉載于:https://www.cnblogs.com/hxsyl/p/4237372.html
總結
以上是生活随笔為你收集整理的基于模糊聚类和协同过滤的混合推荐系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 弘辽科技:如何提高客单价
- 下一篇: 嵌套(Embeddings)