推薦系統 封面
Recommendation Machine Learning System Design

推薦系統

📘 深度概覽

資料來源與整理脈絡#

本筆記整合推薦系統領域的經典書籍與專欄內容,主要參考項亮《推薦系統實踐》、王喆《深度學習推薦系統》、以及極客時間《推薦系統三十六式》一類專欄,並補充 BPR、Wide & Deep、DeepFM、DIN、YouTube DNN 等代表性論文與業界部落格的工程實踐。切入角度刻意把「演算法原理(algorithm)—工程實踐(engineering)—系統架構(system architecture)」三條軸線並排處理:每章既講模型怎麼推導、也談線上怎麼跑、為什麼選這個方案。相較於偏教科書或偏面試題庫的資源,本倉庫補上的是從召回到重排、從離線到線上的 end-to-end 鏈路取捨脈絡。

完整摘要#

全書十章、約 2800 行筆記,按「基礎—進階模型—系統與工程」三段式鋪陳。概論(01) 先定義推薦系統的本質(在用戶與物品之間建立連接)、漏斗式核心流程(召回 ➡️ 粗排 ➡️ 精排 ➡️ 重排)以及冷啟動、探索利用、解釋性三大常見問題,奠定後續章節的共同詞彙。使用者建模(02) 處理用戶畫像(user profile)、隱式回饋為主的行為資料、從標籤到 Embedding 的演進,以及基於內容的推薦冷啟動策略。協同過濾(03)矩陣分解(04) 是召回層的兩大基礎:前者比較 User-Based 與 Item-Based 的取捨、相似度計算與工程挑戰;後者從 SVD、隱因子模型、隱式回饋處理(ALS)一路推到 BPR(面向排序的損失)與 ANN 向量檢索(FAISS、HNSW)。Bandit(05) 切入探索與利用的權衡,從 ε-greedy、UCB、Thompson Sampling 到 LinUCB 等 Contextual Bandit,解決冷啟動與資訊繭房問題。排序模型(06)深度學習推薦(07) 對應精排層的演進:從 LR、GBDT、LR+GBDT、FM、FFM 到 Wide & Deep、DeepFM、雙塔模型(Two-Tower)、YouTube DNN、序列建模(DIN、Transformer 推薦),完整呈現工業界十年的模型演進史。系統架構(08) 整合前述模型成三層架構(線上 / 近線 / 離線),討論搜尋、推薦、廣告的架構統一與儲存選型;工程實踐(09) 補上資料採集、去重、即時推薦、實驗平台、服務化等落地細節;品質與安全(10) 收尾於評估指標、A/B 測試、推薦攻防、公平性與商業價值。各章透過「下一章」連結與交叉引用串接,例如 02 章的隱式回饋分類直接決定 03、04 章的模型選型,05 章的冷啟動方案回扣 01 章提出的問題。

適用情境與閱讀路徑#

主要讀者是具備機器學習(machine learning)基礎、想系統性建立推薦系統 end-to-end 視角的 ML 工程師、後端工程師與研究生,以及準備推薦系統面試或正要啟動推薦專案的團隊。建議路徑:新手依序讀 01 ➡️ 02 ➡️ 03 建立直覺;演算法工程師聚焦 03–07,理解模型演進與適用場景;系統工程師重點放在 08–09,理解召回 / 粗排 / 精排的分層落地與實驗平台;產品與評估視角則直接讀 10,掌握指標體系與風險。讀完應能在面對「為什麼選這個模型」「線上效果不如離線怎麼辦」「冷啟動怎麼破」等真實問題時,有結構化的判斷骨架。

知識架構總覽#

模組說明章節數
概論推薦系統的角色與商業價值1
使用者建模行為日誌、特徵工程、使用者畫像1
協同過濾User-based / Item-based / 矩陣分解前置1
矩陣分解SVD、隱因子模型1
Bandit 演算法探索 vs 利用、ε-greedy、UCB、Thompson1
排序模型LR / GBDT / Wide & Deep / DIN1
深度學習推薦嵌入向量、Two-Tower、Transformer 推薦1
系統架構召回 / 粗排 / 精排 / 重排,線上服務化1
工程實踐特徵平台、A/B 測試、即時運算1
品質與安全評估指標、公平性、反作弊、隱私1

閱讀建議#

  1. 新手:先讀 01-introduction、02-user-modeling、03-collaborative-filtering 建立直覺
  2. 演算法工程師:聚焦 03–07,理解模型演進與適用場景
  3. 系統工程師:聚焦 08-system-architecture、09-engineering,理解推薦系統的工程化挑戰
  4. 產品/評估:閱讀 10-quality-security,理解指標與風險

關聯倉庫#