集體智慧型程式設計 推薦系統2

2021-05-23 11:37:37 字數 533 閱讀 8791

總體的思路很簡單,為每件物品計算與其最相近的其他物品。然後我們為某為使用者提供推薦時,就可以檢視他曾經評分過的物品,並從中選出排位靠前者(這多少代表了一些喜好)。再構造乙個加權的列表,其中包含了與這些選中物品最為相近的其他物品。

選擇乙個物品相近的物品的演算法我們上次其實就已經講過了,就是將原先的key是人的打分的矩陣進行轉換,變成key是物品的矩陣。這樣就可以用前面的演算法來計算對於每乙個物品,其他物品與其的相似程度。這一步完成之後就是推薦了。首先還是需要知道被推薦使用者的喜好,所以需要找出一些他打分比較高的電影,然後根據這些電影來計算其它電影的推薦分值。首先對於其中的乙個電影,那麼其他電影與其相似性我們是知道的,那麼就可以用這個電影的打分乘以他們的相似度,來得到對未知電影的打分。這樣將所有的電影的打分加起來歸一化,就能夠得到其它電影的推薦指數了。

聽起來聽簡單的,其實也是這麼簡單的。從這兩種推薦方法來看,目的都是需要得到乙個推薦的列表,而這個列表的排序需要一定的權值。怎麼計算權值,乙個是找到品位相投的使用者,用他們的打分來綜合對這個列表打分。另乙個是根據自己以前的打分的記錄,然後根據這些打分的記錄來對列表進行打分。

集體智慧型程式設計學習

集體智慧型程式設計學習 概要 文章主要討論一些我遇到的問題,學習到的方法,總結一些演算法的實現過程。注 所參考的版本為2009年出版。書中packages與現在有變化,但是可以通過查閱相關packages文件來找到相關功能 3.相似度排序 4.相似人群加權排名及歸一化 6.構建基於 del.icio...

集體智慧型程式設計 第二章,推薦演算法

有乙個 允許使用者對她看過的電影打分。乙個可能的結果是 使用者1 使用者2 使用者3 省略其他使用者。怎麼計算相似度呢?第一種方式是向量距離,也就是常用的 x1 x2 2 y1 y2 2開根號。第二種方式是pearson相關係數,利用的是斜率,比如jack喜歡打高分 a 5,b 4 tom喜歡打低分...

集體智慧型程式設計(一)推薦系統之歐里幾德距離

在網上購物,聽歌,看電影的 上,都會根據我們的購物記錄,聽歌記錄或著是 記錄給我們推薦一些商品,或者是電影。那這些推薦系統是怎麼實現的呢?首先,推薦乙個東西,得是購物者所感興趣的,那麼怎麼判斷購物者對該物品感興趣呢?那麼,就得根據購物者的記錄來判斷了,假定購物者所購買的物品都是他所感興趣的。那麼跟該...