推薦系統 筆記(下)

2021-07-13 17:34:08 字數 3892 閱讀 5197

因為標籤的特點,它很適合用到推薦系統中。

標籤和使用者、物品類似,它的流行度分布也滿足長尾分布。

考慮到標籤後,使用者的標籤行為資料可以表示為 (u

,i,b

)

,表示使用者

u

給物品

i

打了個標籤

b

。對於評測指標,如果實際的標籤可以視作為使用者的正反饋,那麼準確率和召回率中的 t(

u)表示測試集上使用者打過標籤的物品集合。物品的相似度可以用它們的標籤向量的相似度來度量。

乙個簡單的想法是通過計算使用者的標籤向量和物品的標籤向量來得到使用者對物品的興趣p(

u,i)

=∑bn

(u,b

)n(i

,b)

上面的方法同樣有熱門標籤和熱門物品權重很大的問題,採用和iif、iuf和tf-idf類似的想法改進p(

u,i)

=∑bn

(u,b

)log(1

+nu(

b))n

(i,b

)log(1

+nu(

i))

n(u,

b)表示使用者

u

打過標籤

b

的次數, n(

i,b)

表示物品

i

被打過標籤

b

的次數, nu

(b)

表示用過標籤

b

的使用者數, nu

(i)

表示給物品

i

打過標籤的使用者數。

對於新使用者或新物品,標籤數會很少,為提高推薦的準確率,可能需要對標籤集合做擴充套件。常用的擴充套件方法有話題模型等,作者介紹了一種基於鄰域的方法:標籤擴充套件也就是找到相似的標籤,即計算標籤的相似度,可以從資料中採用余弦公式計算標籤的相似度。

這裡也可以加入使用者反饋的途徑。

也可以利用圖模型來做基於標籤的個性化推薦。方法和二分圖的推薦模型類似,不過這裡需要使用者、物品和標籤三種頂點。同樣可以用personalrank演算法計算所有物品頂點相對於當前使用者頂點在圖上的相關性,排序得到推薦列表。

分析表明:

標籤系統會希望使用者能夠給物品打上優質的標籤,這樣有利於標籤系統的良性迴圈。給使用者推薦標籤的好處是方便使用者打標籤,同時提高標籤質量,減少同義詞。

i pu

i(b)

=αwu

,bmaxbwu

,b+(

1−α)

wi,b

maxbwi

,b圖模型同樣可以用於標籤推薦。在生成使用者-物品-標籤圖後,可以用personalrank演算法生成推薦結果。但這裡和之前不同,可以重新定義頂點的啟動概率為rv

=⎧⎩⎨

α1−α

0v=v

uv=v

ioth

ers

考慮時間資訊後,推薦系統就變為乙個時變的系統,可以用 (u

,i,t

)

表示使用者

u

在時刻

t

對物品

i

的行為。

推薦系統的時間多樣性為推薦結果的變化程度,時間多樣性高能夠提高使用者滿意度。

加入時間效應後,最簡單的非個性化推薦演算法是推薦最近最熱門物品。給定時間

t

,物品最近的流行度 ni

(t)

定義為ni

(t)=

∑(u,

i,t)

,t1+α(

t−t)

根據時間效應,

由itemcf演算法,考慮到時間效應後(未使用iuf做修正)wi

j=∑u

∈n(i

)∩n(

j)f(

|tui

−tuj

|)|n

(i)|

|n(j

)|−−

−−−−

−−−√

f

為時間衰減函式,使用者對物品

i

和 j產生行為的時間距離越遠,則 f(

|tui

−tuj

|)越小。取f(

δ)=1

1+αδ

將 calcitemsimilarity 第9行改為

w[i
][j]=

w[i]

.get(j

,0)+

1/(1

+alpha

*abs

(items[i

]-items[j

]))另外,類似地p(

u,i)

=∑j∈

s(i,

k)∩n

(u)1

1+β|

t0−t

uj|w

ijru

j

其中 t

0

為當前時間, tu

j

越靠近 t0

,和物品

j

相似的物品就會更受推薦。

和itemcf演算法的思路類似,

由usercf演算法,考慮時間效應後(未使用iif做修正)wu

v=∑i

∈n(u

)∩n(

v)11

+α|t

ui−t

vi||

n(u)

||n(

v)|−

−−−−

−−−−

−√p(

u,i)

=∑v∈

s(u,

k)∩n

(i)1

1+β|

t0−t

vi|w

uvrv

i

不同地區的使用者興趣會不同,使用者在不同的地方,興趣也會變化。研究表明,使用者具有興趣本地化和活動本地化的特徵。

可以從3種資料形式來分析地點上下文的影響:

對於第一種,可以把使用者按地理位置做樹狀劃分,對每一級樹節點生成推薦列表,最終對各級推薦結果加權(金字塔模型)。

對於第二種,可以先計算忽略物品位置的 p(

u,i)

,然後減去物品位置對使用者的代價。

實驗表明,考慮了使用者位置的演算法要優於itemcf演算法。

作者基於他在hulu使用的架構總結了基於物品的推薦的推薦系統架構。

生成使用者特徵向量

使用者特徵可以分成使用者註冊時填寫的人口統計學特徵和從使用者行為中計算得到的特徵。特徵向量由特徵和它的權重組成。在利用使用者行為計算特徵向量時,需要考慮:

如果需要在乙個較小的候選物品集合中給使用者推薦物品,可以考慮用候選物品集合先做過濾,避免熱門度帶來的影響。

過濾過濾模組會過濾掉: 排名

排名模組一般需要包括很多不同的子模組:

確定你真的需要推薦系統

確定商業目標和使用者滿意度之間的關係

選擇合適的開發人員

忘記冷啟動的問題

平衡資料和演算法之間的關係

找到相關物品容易,但如何展現給使用者則很困難

不要浪費時間計算相似興趣的使用者,可以直接利用社會網路資料

需要不斷提公升演算法的擴充套件性

選擇合適的使用者反饋方式

設計合理的評測系統,時刻關注推薦系統各方面的效能

推薦系統筆記

推薦引擎利用特殊的資訊過濾 if,information filtering 技術,將不同的內容 例如電影 書籍 新聞 網頁等 推薦給可能感興趣的使用者。通常情況下,推薦引擎的實現是通過將使用者的個人喜好與特定的參考特徵進行比較,並試圖 使用者對一些未評分專案的喜好程度。參考特徵的選取可能是從專案本...

推薦系統 筆記

什麼是推薦系統 一種資訊過濾系統,使用者對物品的評分和偏好 推薦系統的問題模式 行為 80 直接 行為本身發生的概率 物品的相對排序 利用隱式反饋資料 隱式反饋的發生概率 問題 思維模式 目標思維和不確定性思維 使用者畫像和物品畫像 要用物品和使用者的文字資訊構建出乙個基礎版本的使用者畫像 內容分類...

推薦系統提綱筆記

問題本質 矩陣的未知部分如何填充問題 已知的值是使用者已經互動過的 item,如何基於這些已知值填充矩陣剩下的未知值,也就是去 使用者沒有互動過的 item 是矩陣填充要解決的問題。缺點 mf 模型 矩陣分解 fism factored item similarity model svd 缺點 優點...