自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

老板問我,完全沒有用戶歷史行為記錄,怎么做推薦?

開發(fā) 開發(fā)工具
老板問我,如果系統(tǒng)沒有用戶的歷史行為數(shù)據(jù)積累,就不能實施推薦了嗎?今天講講“相似性推薦”。

前幾天和老板通俗的介紹了協(xié)同過濾(Collaborative Filtering)和基于內(nèi)容的推薦(Content-based Recommendation),但都必須分析用戶的歷史行為數(shù)據(jù)(例如電影點擊數(shù)據(jù),職位查看數(shù)據(jù)等),針對不同的用戶進行個性化推薦。

老板問我,如果系統(tǒng)沒有用戶的歷史行為數(shù)據(jù)積累,就不能實施推薦了嗎?

今天講講“相似性推薦”。

[[435248]]

什么是“相似性推薦”?

答:對于新用戶A,沒有ta的歷史行為數(shù)據(jù),在ta點擊了item-X的場景下,可以將與item-X最相似的item集合推薦給新用戶A。

問題轉化為,如何用一種通用的方法,表達item之間的相似性。

仍以電影推薦為例,新用戶A進入了《我不是潘金蓮》電影詳情頁,如何對A進行電影推薦呢?

先看二維空間的點N,如何推薦與其最近的點?

答:可以用二維空間中,點與點之間的距離,表示點之間的遠近。

對于全集中的任何一個點M(xi, yi),它與點N(x1, y1)的距離:

  1. distance = (x1-xi)^2 + (y1-yi)^2 

所以,只要計算全集中所有點與N的距離,就能計算出與它最近的3個點。

再看三維空間的點N,如何推薦與其最近的點?

答:可以用三維空間中,點與點之間的距離,表示點之間的遠近。

對于全集中的任何一個點M(xi, yi, zi),它與點N(x1, y1, z1)的距離:

  1. distance = (x1-xi)^2 + (y1-yi)^2 + (z1-zi)^2 

所以,只要計算全集中所有點與N的距離,就能計算出與它最近的3個點。

循序漸進,對于一部電影《我不是潘金蓮》,假設它有10個屬性,則可以把它看做一個十維空間中的點:

  1. 點N《我不是潘金蓮》 
  2. 導演:馮小剛 
  3. 女主:范冰冰 
  4. 男主:郭濤 
  5. 女配:張嘉譯 
  6. 男配:大鵬 
  7. 類型:劇情 
  8. 地區(qū):中國大陸 
  9. 語言:普通話 
  10. 日期:2016 
  11. 片長:140 

對于電影全集中的任何一部電影,都可以計算與點N《我不是潘金蓮》之間的距離。二維三維中的點,可以用直線距離計算遠近,10維空間{導演, 女主, 男主, 女配, 男配, 類型, 地區(qū), 語言, 日期, 片長}中的兩個點的距離,需要重新定義一個距離函數(shù),例如:

  1. distance = f1(導演) + f2(女主) + … +f10(片長) 

這個距離,通俗的解釋,就是每個維度貢獻分值的總和。 分值可以這么定義:

  1. f1(導演){ 
  2.          如果兩部電影導演相同,得1分; 
  3.          如果導演不同,得0分; 
  4.   

例如,現(xiàn)在10維空間中,有另一個點M《芳華》

  1. 導演:馮小剛 
  2. 女主:苗苗 
  3. 男主:黃軒 
  4. 女配:NULL 
  5. 男配:NULL 
  6. 類型:劇情 
  7. 地區(qū):中國大陸 
  8. 語言:普通話 
  9. 日期:2017 
  10. 片長:140 

要計算點M《芳華》與點N《我不是潘金蓮》的距離,代入distance距離計算公式:

  1. distance = f1(導演) + f2(女主) + … +f10(片長) 
  2.          =1 + 0 + … + 1 
  3.          =5 

即:導演、類型、地區(qū)、語言、片長相同各得1分,其他維度不同得0分。

遍歷電影全集中的10w部電影,就能找到與點N《我不是潘金蓮》最相近的3部電影,當用戶點擊《我不是潘金蓮》的詳情頁時,直接推薦這3部最相近的電影即可。

相似性推薦,原理大致如上,要說明的是:

(1)由于沒有用戶歷史行為積累,不是個性化推薦,所以所有用戶的推薦結果都是相同的;

(2)一般來說,距離公式確實是線性的;

(3)一般來說,每個維度的權重不一樣;

(4)這個線性公式,以及維度的權重,都可以通過機器學習訓練出來;

相似性推薦原理如上,希望這1分鐘,大家沒浪費。

【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉載請聯(lián)系原作者】

戳這里,看該作者更多好文 

 

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2021-11-23 10:50:29

關聯(lián)規(guī)則推薦推薦系統(tǒng)開發(fā)

2013-08-30 10:03:42

SaaS

2021-11-12 11:51:03

基于內(nèi)容的推薦查詢推薦

2018-03-23 11:56:09

相似性推薦推薦算法推薦

2015-08-05 14:33:01

APP用戶原因

2021-08-14 23:11:37

區(qū)塊鏈加密貨幣技術

2022-09-26 11:32:14

用戶分層服務業(yè)務

2021-03-18 12:16:44

用戶分層業(yè)務

2010-04-08 16:13:34

Oracle數(shù)據(jù)庫

2021-11-15 12:45:44

協(xié)同過濾算法架構

2022-03-10 11:25:51

InnoDB優(yōu)化

2023-09-27 22:44:18

數(shù)據(jù)遷移數(shù)據(jù)庫

2018-12-06 14:56:46

微服務隔離熔斷

2020-09-21 06:45:48

監(jiān)控延遲消息隊列

2021-07-22 06:25:14

敏捷開發(fā)用戶體驗CIO

2016-09-21 10:18:26

阿里Dubbo性能測試

2020-04-22 15:27:30

Vue組件項目

2022-01-22 00:19:33

手機屏幕夜間模式

2023-08-27 21:25:20

用戶畫像數(shù)據(jù)數(shù)據(jù)分析

2020-04-10 08:03:04

分布式鎖Redlock算法流行算法
點贊
收藏

51CTO技術棧公眾號