推薦系統(tǒng)就是用戶有一個需求中狂, 系統(tǒng)返回相關的item的系統(tǒng)。 推薦系統(tǒng)是非常重要的扑毡, 如在商場中吃型, 商家需要決定需要上市的商品, 一件商品如果是冷門了僚楞, 它占了貨架而沒帶來額外的利潤勤晚, 最終使商家損失。 在推薦系統(tǒng)中泉褐, 存在Long tail 的現(xiàn)象赐写, 即銷量好的東西集中在一個部分, 而其它的商品“銷量慘淡”膜赃。 因此挺邀, 對于線下銷售來說, 需要進行cut off跳座, 只上架熱銷的商品端铛。 在online的銷售中, 就不存在需要cut off的問題了疲眷, 因為我們的資源非常充足禾蚕。
總體而言, 推薦系統(tǒng)分為三類: Editorial and hand curated, 即手工推薦狂丝, 舉例: 書店的員工會把同類的書放在一起换淆, 這相當于一種推薦了; Simple aggregates 簡單的融合几颜, 如考慮這周的top 書單倍试, 然后推薦給用戶; Tailored to individual users 個性化推薦蛋哭, 這是最常見的县习, 考慮了用戶的興趣及行為, 可挖掘的信息也比較多。
簡單來說躁愿, 一個推薦系統(tǒng)就是對X與S之間算一個相似度評分哈蝇!那么首先就是收集信息了, 有了信息特征攘已, 才能計算衡量相似度炮赦。 若收集數(shù)據(jù)不夠充分, 還要考慮如何補充样勃, 這個時候我們更多的考慮highly unknown ratings吠勘。 一旦數(shù)據(jù)收集完成, 搭建好了一個系統(tǒng)峡眶, 那么如何評價推薦效果就是接下來及其重要的一步了剧防。接下來介紹的是Content-based的推薦系統(tǒng)。
下面是一個簡單的例子辫樱, 從用戶的profile得知他喜歡的item的profile并且從中提取特征峭拘, 然后進行推薦。
先講協(xié)同過濾
-
協(xié)同過濾思想是比較簡單的狮暑, 給定x鸡挠, 找到與x相近的集合N, 然后從集合N中找到公共的元素搬男, 進行推薦拣展。 主要有兩種協(xié)同過濾: user-user and item-item。
collaborative -
定義相似度缔逛。Jaccard只計算共同出現(xiàn)备埃, 而不考慮評分是否一致。 cosine similarity將missing value評為0. 用皮爾森相關系數(shù)是比較好的褐奴, 缺失值用均值代替按脚。 注意: 樣本減去均值, cosine就跟pearson等價了敦冬!
similarity -
接下來就是做推薦了辅搬。一種是user-user, 另外一種是item-item。 user-user就是加權平均相近用戶的評分匪补, 得到user的評分伞辛。
recommend -
item-item的一種方法是跟user-user一樣烂翰。 根據(jù)item i的特征夯缺, 找出用戶x有評價的商品中跟item i評分接近的item。 然后根據(jù)item之間的相似度作為權重因子甘耿, 乘上用戶的評分踊兜。
another -
例子。下面的例子是用item-item估計用戶5對movie 1的評分佳恬。 基本步驟就是用皮爾森相關系數(shù)衡量用戶5有評分的movie之間的相似度捏境, 然后進行加權平均于游, 這樣就得到了用戶的評分了。 以上是從行的觀點來看垫言; user-user是從列的觀點來看贰剥, 這種一種對偶的做法: 找到對movie 1 有評分的用戶中與用戶5接近的, 然后用其它用戶的評分加權平均作為用戶5的評分筷频。 可以看出來user-user受其它用戶的影響比較大蚌成, 而item-item利用的是用戶本身對其它商品的評價來得到評價, 在實際應用中這種做法是比較好的凛捏。
example
example -
協(xié)同過濾的好處是不用構建特征担忧, 但是存在如下的問題:需要足夠的用戶評分來構建系統(tǒng); 矩陣是稀疏的坯癣, 找到有評價的相鄰用戶是困難的瓶盛; 一個新來的item是無法進行評價的, 因為沒有用戶評分示罗; 趨于推薦popular item惩猫。
pros/cons -
在實際中, 為了解決上述提到的問題蚜点, 引入全局統(tǒng)計信息帆锋, 評分的公式是用如下的公式的。 u是整個系統(tǒng)的用戶的評分的均值禽额, bx是用戶x對均值u的偏移量(也就是用戶對系統(tǒng)全部用戶評分的偏移)锯厢, bi是該item對均值u的偏移量。 最終對global 信息和協(xié)同過濾的評分相加作為最終的評分脯倒。
practice