實時推薦模型的演算法設計

2022-07-27 06:36:14 字數 1543 閱讀 5803

當使用者u 對商品p 進行了評分,將觸發一次對u的推薦結果的更新。對於使用者u 來說,他與p 最相似的商品們之間的推薦強度將發生變化,所以選取與商品p 最相似的k 個商品作為候選商品。每個候選商品按照「推薦優先順序」這一權重作為衡量這個商品被推薦給使用者u 的優先順序。

這些商品將根據使用者u 最近的若干評分計算出各自對使用者u 的推薦優先順序,然後與上次對使用者u 的實時推薦結果的進行基於推薦優先順序的合併、替換得到更新後的推薦結果。

具體來說:

首先,獲取使用者u 按時間順序最近的k 個評分,記為rk;獲取商品p 的最相似的k 個商品集合,記為s;

其中:表示使用者u 對商品r 的評分;

sim(q,r)表示商品q 與商品r 的相似度,設定最小相似度為0.6,當商品q和商品r 相似度低於0.6 的閾值,則視為兩者不相關並忽略;

sim_sum 表示q 與rk 中商品相似度大於最小閾值的個數;

incount 表示rk 中與商品q 相似的、且本身評分較高(>=3)的商品個數;

recount 表示rk 中與商品q 相似的、且本身評分較低(<3)的商品個數;

公式的意義如下:

首先對於每個候選商品q,從u 最近的k 個評分中,找出與q 相似度較高(>=0.6)的u 已評分商品們,對於這些商品們中的每個商品r,將r 與q 的相似度乘以使用者u 對r 的評分,將這些乘積計算平均數,作為使用者u 對商品q 的評分**即

然後,將u 最近的k 個評分中與商品q 相似的、且本身評分較高(>=3)的商品個數記為 incount,計算lgmax作為商品 q 的「增強因子」,意義在於商品q 與u 的最近k 個評分中的n 個高評分(>=3)商品相似,則商品q 的優先順序被增加lgmax。如果商品 q 與 u 的最近 k 個評分中相似的高評分商品越多,也就是說n 越大,則商品q 更應該被推薦,所以推薦優先順序被增強的幅度較大;如果商品q 與u 的最近k 個評分中相似的高評分商品越少,也就是n 越小,則推薦優先順序被增強的幅度較小;

而後,將u 最近的k 個評分中與商品q 相似的、且本身評分較低(<3)的商品個數記為 recount,計算lgmax作為商品 q 的「削弱因子」,意義在於商品q 與u 的最近k 個評分中的n 個低評分(<3)商品相似,則商品q 的優先順序被削減lgmax。如果商品 q 與 u 的最近 k 個評分中相似的低評分商品越多,也就是說n 越大,則商品q 更不應該被推薦,所以推薦優先順序被減弱的幅度較大;如果商品q 與u 的最近k 個評分中相似的低評分商品越少,也就是n 越小,則推薦優先順序被減弱的幅度較小;

最後,將增強因子增加到上述的**評分中,並減去削弱因子,得到最終的q 商品對於u 的推薦優先順序。在計算完每個候選商品q 的後,將生成一組《商品q 的id, q 的推薦優先順序》的列表updatedlist:

(1)使用者u 對商品p 進行了評分,觸發了實時推薦的一次計算;

(2)選出商品p 最相似的k 個商品作為集合s;

(3)獲取使用者u 最近時間內的k 條評分,包含本次評分,作為集合rk;

(4)計算商品的推薦優先順序,產生集合updated_s;

將updated_s 與上次對使用者u 的推薦結果rec 利用公式(4-4)進行合併,產生新的推薦結果newrec;作為最終輸出。

多模型融合推薦演算法

常見的多模型融合演算法 多模型融合演算法可以比單一模型演算法有極為明顯的效果提公升。但是怎樣進行有效的融合,充分發揮各個演算法的長處?這裡總結一些常見的融合方法 1.線性加權融合法 是給使用者 user 推薦商品 item 的得分,是演算法k的權重,是演算法k得到的使用者 user 對商品item的...

推薦系統的排序演算法 樹模型

1.2 決策樹的整合演算法 1.3 決策樹整合演算法案例 2.整合學習 主要包括決策樹 隨機森林 rf gbdt gbdt lr和深度森林。樹模型的優點是可以通過有監督的方式進行特徵的自動交叉和選擇,也是整合學習中的常用方法或組成部分,樹模型在工業界常用的方法有gbdt lr和xgboost。決策樹...

推薦演算法5 隱語義模型

lfm latent factor model 隱語義模型的核心思想是通過隱含特徵 latent factor 聯絡使用者興趣和物品,採取基於使用者行為統計的自動聚類。lfm通過如下公式計算使用者u對物品i的興趣 對每個使用者取樣負樣本時,要選取那些很熱門,而使用者卻沒有行為的物品。下面的pytho...