第 4 章 算法融合與數據血統

原文html

全文目錄算法

關聯規則算法, 因爲限制較大, 因此相關性較強, 但覆蓋率較低;機器學習

協同過濾算法, 覆蓋率更高, 相關性較差;學習

以上二者基於行爲, 有冷啓動問題, 因此須要內容相關性算法來託底;優化

三種算法的融合得出最終的結果;spa

數據血統: 對數據的來源進行記錄與分析的相關數據和過程;code

線性加權融合

\[score_i = \sum_j(w_j \times score_{j,i}) \]

  • w, 對該推薦物品使用的推薦算法的權重;
  • score, 在該推薦算法下該物品的得分;

若是推薦算法下沒有直接給出得分(score), 只有一個排序, 則能夠選擇平均點擊率做爲擬合目標:htm

\[ctr_i = w_i \times order_i + b \]

  • ctr_i, 該算法在該位置的平均點擊率, 做爲該算法下該物品的分數;
  • order_i, 位置編號;
  • b, 偏置項;

存在兩個問題:blog

  1. 平均點擊率和編號之間未必是線性關係;
  2. 編號相同, 得分就會相同, 不合理;

\(w_j\) 可根據不一樣算法的 CTR, CVR 等客觀指標來分配權重,排序

\[w_j = \frac {ctr_j} {\sum_k ctr_k} \]

平均點擊率必須是不一樣算法在同一位置上的平均點擊率;

或者採用網格搜索;

優先級融合/交叉融合

使用一組規則未來自不一樣推薦算法的結果進行融合, 規則的核心要素:

  • 推薦算法之間的相對優先級;
  • 每種算法要佔到的比例;

優先級高的算法通常具備如下特色:

  • 準確率高
  • 覆蓋率低
  • 實時性好

基於機器學習的排序融合

線性加權融合和優先級融合, 均是粗粒度的算法級融合, 不是細粒度的物品級融合; 模型結構簡單, 優化空間小; 融合方法沒有結合用戶反饋;

機器學習的排序融合, 在某個衡量指標(CTR)的指引下, 基於物品自己的特徵, 當前場景的特徵以及物品和場景的組合特徵, 爲當前場景下的每一個參與排序的候選物品計算該指標(CTR), 並使用該估計值進行排序;

融合策略的選擇

  1. 優先級融合方法, 適合使用者對算法的效果, 覆蓋率等方面相對熟悉, 不一樣算法之間有明確的效果差別時使用; 系統創建初期;
  2. 線性加權融合方法, 適合不一樣算法之間沒有那麼大的效果差別, 主要用來提升覆蓋率和多樣性;
  3. 機器學習模型排序方法, 第一優先級的方法, 須要具有條件: 1. 已有一些推薦算法, 有必定比例的優質覆蓋率; 2. 有數量足夠準確的樣本數據;
  4. 混合的融合方法

融合時機的選擇

  • 實時融合
  • 離線融合, 計算能力強, 能夠處理複雜邏輯和大量數據;
  • 近實時融合, 分離用戶對推薦數據的請求和推薦數據的計算生成, 兩者經過數據存儲服務進行交互, 實現解耦;

時效性要求不高, 策略多樣複雜, 召回數據量大的狀況時, 並不必定須要實時融合;

數據血統

  • 每一個推薦物品來源於哪一種算法;
  • 每一個推薦物品在該算法中的得分和排序;

融合策略正確性驗證

計算每種策略在結果中的佔比分佈, 每種策略平均能貢獻多少個結果, 以及這些結果的平均分數如何;

系統效果監控

  • 不一樣策略在請求, 曝光, 點擊等多個維度上的絕對數量和數量佔比;
  • 分策略的點擊率, 轉化率;
  • 分策略的平均排序位置;

策略效果分析

  • 統計在 topN 結果中, 不一樣策略的曝光, 點擊, 下單數據佔比, 以此肯定主要起做用的是哪些策略;
  • 統計不一樣策略的點擊率和轉化率, 以此肯定策略的效果好壞; 統計不一樣策略的排序位置分佈;
  • 分析在每種策略的被點擊/下單的結果中, 策略的打分和排序的分佈如何;
  • 對以上兩種數據進行交叉分析, 即分析效果好的策略和效果很差的策略在結果中的佔比;
相關文章
相關標籤/搜索