推薦系統簡介

2021-08-13 01:04:39 字數 3678 閱讀 5462

社交網路

個性化閱讀

基於位置的服務

個性化郵件

離線實驗

步驟 通過日誌系統獲得使用者行為資料,並按照一定格式生成乙個標準的資料集;

將資料集按照一定的規則分成訓練集和測試集;

在訓練集上訓練使用者興趣模型,在測試集上進行**;

通過事先定義的離線指標評測演算法在測試集上的**結果。

優點 不需要有對實際系統的控制權

不需要使用者參與實驗

速度快、可以測試大量演算法

缺點 無法計算商業上關心的指標

離線實驗的指標和商業指標存在差距

使用者調查

概述:離線實驗的指標和實際的商業指標存在差距,比如**準確率和使用者滿意度之間就存在很大差別,高**準確率不等於高使用者滿意度。因此,如果要準確評測乙個演算法,需要相對比較真實的環境。最好的方法就是將演算法直接上線測試,但在對演算法會不會降低使用者滿意度不太有把握的情況下,上線測試具有較高的風險,所以在上線測試前一般需要做一次稱為使用者調查的測試。

優點 可以獲得很多體現使用者主觀感受的指標

缺點 招募測試使用者代價較大,很難組織大規模的測試使用者,因此會使測試結果的統計意義不足。

在很多時候設計雙盲實驗非常困難,而且使用者在測試環境下的行為和真實環境下的行為可能有所不同,因而在測試環境下收集的測試指標可能在真實環境下無法重現。

注意事項

測試使用者也不是隨便選擇的。需要盡量保證測試使用者的分布和真實使用者的分布相同,比如男女各半,以及年齡、活躍度的分布都和真實使用者分布盡量相同。

使用者調查要盡量保證是雙盲實驗,不要讓實驗人員和使用者事先知道測試的目標,以免使用者的回答和實驗人員的測試受主觀成分的影響。

缺點是週期比較長,必須進行長期的實驗才能得到可靠的結果。

注意乙個**可能分為很多層,要為不同的層分別設計ab測試系統,那麼不同的ab測試之間往往會互相干擾。因此,切分流量是ab測試中的關鍵,不同的層以及控制這些層的團隊需要從乙個統一的地方獲得自己ab測試的流量,而不同層之間的流量應該是正交的。

**準確度(離線指標):在計算該指標時需要有乙個離線的資料集,該資料集包含使用者的歷史行為記錄。然後,將該資料集通過時間分成訓練集和測試集。最後,通過在訓練集上建立使用者的行為和興趣模型**使用者在測試集上的行為,並計算**行為和測試集上實際行為的重合度作為**準確度。

評分**:評分**的**準確度一般通過均方根誤差(rmse)和平均絕對誤差(mae)計算。對於測試集中的乙個使用者

u 和物品i,令

rui 是使用者

u 對物品

i的實際評分,而/h

atru

i 是推薦演算法給出的**評分,那麼 rmse 的定義為: rm

se=∑

u,i∈

t(ru

i−r^

ui)2

−−−−

−−−−

−−−−

−−√|

t|mae採用絕對值計算**誤差,它的定義為: ma

e=∑u

,i∈t

|rui

−r^u

i||t

|

topn推薦**在提供推薦服務時,一般是給使用者乙個個性化的推薦列表,這種推薦叫做 topn 推薦。topn 推薦的**準確率一般通過準確率( precision ) / 召回率( recall )度量。 令 r

(u) 是根據使用者在訓練集上的行為給使用者作出的推薦列表,而t(

u)是使用者在測試集上的行為列表。那麼,推薦結果的召回率定義為: re

call

=∑u,

i∈u|

r(u)

∩t(u

)|∑u

∈u|t

(u)|

推薦結果的準確率定義為: re

call

=∑u,

i∈u|

r(u)

∩t(u

)|∑u

∈u|r

(u)|

關於評分**和topn推薦的討論

覆蓋率

覆蓋率(coverage)描述乙個推薦系統對物品長尾的發掘能力。覆蓋率有不同的定義方法,最簡單的定義為推薦系統能夠推薦出來的物品佔總物品集合的比例。假設系統的使用者集合為

u ,推薦系統給每個使用者推薦乙個長度為

n的物品列表r(

u)。 co

vera

ge=/

frac

|uu∈

ur(u

)||i

|

其他定義

在資訊理論和經濟學中有兩個著名的指標可以用來定義覆蓋率。第乙個是資訊熵: h=

−∑i=

1np(

i)lo

gp(i

) 這裡p

(i) 是物品

i 的流行度除以所有物品流行度之和。

第二個指標是基尼係數(gini index): g=

1n−1

∑j=1

n(2j

−n−1

)p(i

j)這裡,i

j 是按照物品流行度p(

) 從小到大排序的物品列表中第

j 個物品。

馬太效應:強者更強,弱者更弱效應。

多樣性(覆蓋使用者絕大多數的興趣點)

多樣性描述了推薦列表中物品兩兩之間的不相似性。因此,多樣性和相似性是對應的。假設s(

i,j)

∈[0,

1]定義了物品 i 和 j 之間的相似度,那麼使用者

u 的推薦列表r(

u)的多樣性定義如下: di

vers

ity=

1−∑i

,j∈r

(u),

i≠js

(i,j

)12|

r(u)

|(|r

(u)|

−1) di

vers

ity=

1|u|

∑u∈u

dive

rsit

y(r(

u))

從上面的定義可以看到,不同的物品相似度度量函式s(

i,j)

可以定義不同的多樣性。如果用內容相似度描述物品間的相似度,我們就可以得到內容多樣性函式,如果用協同過濾的相似度函式描述物品間的相似度,就可以得到協同過濾的多樣性函式。

新穎性(新穎的推薦是指給使用者推薦那些他們以前沒有聽說過的物品)

信任度

度量推薦系統的信任度只能通過問卷調查的方式,詢問使用者是否信任推薦系統的推薦結果。

提高信任度的主要方法

實時性

提高健壯性

商業目標

上一節介紹了很多評測指標,但是在評測系統中還需要考慮評測維度,比如乙個推薦演算法,雖然整體效能不好,但可能在某種情況下效能比較好,而增加評測維度的目的就是知道乙個演算法在什麼情況下效能最好。這樣可以為融合不同推薦演算法取得最好的整體效能帶來參考。一般來說,評測維度分為如下3種

* 使用者維度:主要包括使用者的人口統計學資訊、活躍度以及是不是新使用者等。

* 物品維度:包括物品的屬性資訊、流行度、平均分以及是不是新加入的物品等。

* 時間維度:包括季節,是工作日還是週末,是白天還是晚上等。

如果能夠在推薦系統評測報告中包含不同維度下的系統評測指標,就能幫我們全面地了解推薦系統效能,找到乙個看上去比較弱的演算法的優勢,發現乙個看上去比較強的演算法的缺點。

推薦系統簡介

當使用者並不明確自己可能需要某些商品的時候,搜尋引擎的作用開始不那麼明顯,於是就需要推薦引擎來為使用者進行可能感興趣商品的推薦。如圖,推薦系統可以看作是乙個黑盒子,把使用者以及商品的一些資訊 作為輸入,它就能給相關使用者推薦他們可能會感興趣的商品。1.根據物件導向的不同 2.根據不同的資料來源 3....

推薦系統 簡介

一.簡介 推薦系統本質上是銷售系統的一部分。為了解決資訊過載和使用者無明確需求的問題,找到使用者感興趣物品,才有了個性化推薦。二.組成 推薦系統廣泛存在於各類 中,一般由三部分組成 基礎資料 推薦演算法系統 前台展示。基礎資料報括很多維度,包括使用者的訪問 瀏覽 下單 收藏,使用者的歷史訂單資訊,評...

推薦系統簡介

推薦系統存在的前提 1 資訊過載 2 使用者需求不明確 推薦系統的目標 連線使用者和物品,發現長尾商品 留住使用者和內容生產者,實現商業目標 推薦系統的應用領域推薦系統的評估 使用者 滿足需求 內容提供方 獲取長尾流量,獲得互動和認可 留住使用者,實現商業目標 match rank re rank ...