一、學習目標
完成本單元後,你將能夠:
- 說明推薦系統要解決的核心問題(資訊過載)
- 比較內容過濾(Content-Based Filtering)與協同過濾(Collaborative Filtering)的原理與差異
- 解釋矩陣分解(Matrix Factorization)如何找出潛在因子(Latent Factors)
- 描述深度學習推薦模型(DeepFM、DIN)的改進方向
- 說明冷啟動問題(Cold Start Problem)的成因與三種解法
- 列舉推薦系統的主要評估指標(Precision@K、NDCG 等)
二、核心內容
1. 為什麼需要推薦系統?
問題:資訊過載(Information Overload)
Netflix 有超過 1.5 萬部影片、YouTube 每分鐘上傳 500 小時的影片、Amazon 有數億件商品。若沒有推薦系統,使用者面對這些選項就像走進一間有一百萬本書的書店,卻沒有任何導覽——只能茫然地隨意翻找,最後放棄離開。
推薦系統的核心任務:在正確的時機,將正確的內容推薦給正確的使用者,提升「人找到東西」的效率。
| 平台 | 推薦的對象 | 推薦的目標 |
|---|---|---|
| Netflix / YouTube | 影片 | 延長觀看時間 |
| Amazon / 蝦皮 | 商品 | 提升購買轉換率 |
| Spotify | 歌曲、播放清單 | 增加聆聽時長 |
| Twitter / 小紅書 | 貼文、帳號 | 提升互動與留存 |
考試重點:推薦系統的三大主流方法為「內容過濾(Content-Based Filtering)」、「協同過濾(Collaborative Filtering)」與「混合方法(Hybrid)」,需能比較其優缺點。
2. 內容過濾(Content-Based Filtering)
核心思想:根據「物品本身的特徵」,推薦與使用者過去喜歡的物品特徵相似的新物品。
生活類比:你有一個閨密,她非常了解你的喜好——知道你愛看動作片、男主角最好是布拉德彼特、音效要夠震撼。下次她看到一部符合這些條件的新片,就會主動推薦給你。這位閨密的推薦邏輯就是「內容過濾」:根據物品特徵比對偏好。
技術實現:
步驟一:特徵提取
電影「復仇者聯盟」→ 特徵向量:[動作=1, 科幻=1, 劇情=0, 主演=小勞勃道尼, 時長=180min]
步驟二:建立使用者偏好向量(User Profile)
使用者 A 喜歡過的電影 → 平均特徵向量
步驟三:計算相似度(通常用 Cosine Similarity)
候選電影特徵 vs 使用者偏好向量 → 分數最高者推薦
TF-IDF 在文字推薦中的應用:
| 術語 | 含義 | 作用 |
|---|---|---|
| TF(Term Frequency) | 詞在文件中出現的頻率 | 衡量詞對該文件的重要性 |
| IDF(Inverse Document Frequency) | 詞在所有文件中的稀缺程度 | 降低常見詞(「的」「了」)的權重 |
| TF-IDF = TF × IDF | 綜合衡量詞的代表性 | 作為文章特徵向量,計算文章間相似度 |
內容過濾的優缺點:
| 優點 | 缺點 |
|---|---|
| 不需要其他使用者資料(隱私友善) | 推薦範圍侷限(只推類似的,難有驚喜) |
| 可解釋性強(「因為你喜歡 A,所以推 B」) | 需要高品質的物品特徵標注 |
| 新物品只要有特徵就能被推薦 | 無法利用群體智慧(別人的喜好) |
3. 協同過濾(Collaborative Filtering)
核心思想:不看物品的特徵,只看「行為資料」——誰跟你有相似的喜好,他喜歡的你可能也喜歡。
生活類比:你在 Spotify 找新歌,你最好的朋友和你音樂品味完全一樣——他喜歡的歌你幾乎都喜歡。現在他發現了一首你沒聽過的好歌,系統就把這首歌推薦給你。這是「協同過濾」:靠群體行為模式,而非物品特徵。
協同過濾分為三種:
3a. User-Based CF(基於使用者的協同過濾)
找到與目標使用者行為最相似的一群人,推薦「他們喜歡但目標使用者還沒看過的物品」。
目標使用者 A:喜歡電影 [1, 2, 3]
相似使用者 B:喜歡電影 [1, 2, 3, 4] ← 和 A 最相似
相似使用者 C:喜歡電影 [1, 2, 5]
→ 推薦電影 4(B 喜歡但 A 沒看過,且 B 與 A 相似度最高)
3b. Item-Based CF(基於物品的協同過濾)
找到與目標物品被相同使用者群體共同喜歡的其他物品。
很多喜歡《鋼鐵人》的人也喜歡《美國隊長》
→ 若使用者喜歡《鋼鐵人》,推薦《美國隊長》
生活類比:「買了這個商品的人也買了……」這行字就是 Item-Based CF 的精髓——Amazon 最早的推薦系統核心正是 Item-Based CF。
3c. 矩陣分解(Matrix Factorization)
核心問題:User-Item 互動矩陣極度稀疏(一個使用者只看過上萬部影片中的幾十部),無法直接計算相似度。
解法:將大的 User-Item 矩陣分解為兩個小矩陣的乘積,找出「潛在因子(Latent Factors)」。
User-Item Matrix(m 個使用者 × n 個物品)
≈ User Matrix(m × k)× Item Matrix(k × n)
↑ ↑
每個使用者的 k 個潛在偏好 每個物品的 k 個潛在特徵
生活類比:Netflix 有 1 億使用者和 1.5 萬部影片,直接存 1 億×1.5 萬的評分矩陣太大且空格太多。矩陣分解就像「把 1 億個使用者的喜好壓縮成 50 個維度(例如:喜愛動作程度、喜愛愛情程度……)」,再用這 50 個維度去預測他對每部影片的評分。
| 演算法 | 說明 | 特色 |
|---|---|---|
| SVD(Singular Value Decomposition) | 奇異值分解 | 數學上最優,但對缺失值處理需特別設計 |
| ALS(Alternating Least Squares) | 交替最小化 | 可並行計算,適合超大規模(Spark MLlib) |
| SGD(Stochastic Gradient Descent) | 隨機梯度下降 | 靈活且廣泛應用,Netflix Prize 得獎方法核心 |
考試重點:矩陣分解的核心是「將高維稀疏矩陣分解為兩個低維稠密矩陣」,透過潛在因子(Latent Factors)捕捉使用者與物品的隱性偏好。
4. 深度學習推薦模型
傳統矩陣分解只能捕捉線性關係,而真實的使用者行為涉及複雜的非線性交互。深度學習推薦模型透過神經網路學習更複雜的特徵交互。
| 模型 | 提出者 | 核心改進 |
|---|---|---|
| DeepFM | Huawei(2017) | 結合 FM(低階特徵交叉)+ DNN(高階特徵交叉),無需手動特徵工程 |
| DIN(Deep Interest Network) | 阿里巴巴(2018) | 用 Attention 機制對使用者歷史行為加權,關注與候選物品最相關的行為 |
| Transformer4Rec | NVIDIA(2021) | 將 Transformer 架構用於序列推薦,捕捉使用者行為的時序模式 |
| 两塔模型(Two-Tower Model) | 使用者塔 + 物品塔分別 Embedding,ANN 快速召回 |
DIN 的 Attention 機制類比:你在瀏覽 Amazon 時,它不是把你過去 100 次購買記錄一視同仁地加總——它知道你現在看的是「電競滑鼠」,因此特別放大你過去購買「鍵盤」「耳機」的行為權重,而淡化你買「嬰兒奶粉」的行為。這就是 DIN 的動態注意力。
5. 混合方法(Hybrid Approaches)
實際產品幾乎都採用混合方法,結合多種推薦策略的優點:
Netflix 推薦架構(簡化版):
① 召回層(Recall):多路召回
- 協同過濾召回
- 內容過濾召回
- 熱門內容召回
② 排序層(Ranking):深度模型精排
- 使用 DNN / 兩塔模型計算點擊率(CTR)
③ 重排層(Re-ranking):多樣性調整
- 避免推薦清單過於同質
生活類比:去餐廳找不到想吃的,朋友先幫你大範圍縮小選項(召回),再根據你今天的心情精選(排序),最後確保菜色不要全部都是同一種口味(重排)——這三層就是現代工業推薦系統的基本架構。
6. 冷啟動問題(Cold Start Problem)
定義:新使用者或新物品沒有足夠的歷史互動資料,協同過濾無法正常運作。
| 類型 | 問題描述 | 生活類比 |
|---|---|---|
| 新使用者冷啟動(User Cold Start) | 剛註冊,沒有任何行為記錄 | 新學生剛轉學,老師完全不了解他的喜好 |
| 新物品冷啟動(Item Cold Start) | 剛上架,沒有人互動過 | 新書剛出版,沒有讀者評論 |
| 系統冷啟動 | 整個系統剛建立,沒有任何資料 | 全新平台,沒有使用者也沒有互動資料 |
三大解法:
| 解法 | 說明 | 適用場景 |
|---|---|---|
| 熱門推薦(Popularity-Based) | 推薦全站最受歡迎的內容 | 新使用者剛進來的預設推薦 |
| 人口統計過濾(Demographic Filtering) | 根據年齡、性別、地區等基本資料推薦 | 有收集基本資料但無行為資料時 |
| 引導問卷(Onboarding Quiz) | 新用戶註冊時填寫偏好問卷 | Spotify、Netflix 新帳號初始化 |
| 內容過濾(Content-Based) | 新物品只要有特徵就能被推薦,不需行為資料 | 解決新物品冷啟動 |
| 遷移學習(Transfer Learning) | 從其他平台或任務遷移已學到的使用者表示 | 大型跨平台企業 |
考試重點:冷啟動問題(Cold Start)是協同過濾最主要的缺點,「內容過濾不受冷啟動影響(只需物品特徵)」是常考比較點。
7. 評估指標
推薦系統的評估不同於一般分類問題,需要考慮「排名品質」:
| 指標 | 全名 | 說明 |
|---|---|---|
| Precision@K | 精準率@K | 推薦的前 K 個物品中,使用者真正喜歡的比例 |
| Recall@K | 召回率@K | 使用者喜歡的物品中,有多少被包含在前 K 個推薦中 |
| NDCG(歸一化折扣累積增益) | Normalized Discounted Cumulative Gain | 考慮排名位置的品質指標,排名越前的正確推薦分數越高 |
| MAP(平均精確度均值) | Mean Average Precision | 多個查詢的平均精確率,綜合衡量排名品質 |
| Hit Rate | 命中率 | 前 K 個推薦中至少有一個正確結果的使用者比例 |
Precision@K vs Recall@K 類比:
想像你的朋友推薦了 10 部電影(K=10):
- Precision@10:這 10 部裡你真的喜歡幾部?(準不準)→ 6/10 = 60%
- Recall@10:你全部喜歡的電影裡,這 10 部涵蓋了幾部?(全不全)→ 若你總共喜歡 20 部,命中 6 部 = 30%
8. 真實世界案例
| 案例 | 核心技術 | 里程碑意義 |
|---|---|---|
| Netflix Prize(2006-2009) | 矩陣分解 + 集成學習 | 公開競賽,獲獎隊伍將 RMSE 降低 10% 可獲百萬美元獎金,推動矩陣分解技術普及 |
| YouTube 推薦(2016) | 深度神經網路兩階段(召回+排序) | 第一個大規模工業深度推薦系統的公開論文 |
| Amazon「買了也買」 | Item-Based CF | 開創電商推薦模式,據估計貢獻 35% 的銷售額 |
| Spotify Discover Weekly | 矩陣分解 + 音頻特徵 | 結合協同過濾與內容過濾的混合推薦標竿案例 |
Spotify Discover Weekly 類比:Discover Weekly 每週一更新,像是一位 DJ 朋友每週幫你精選 30 首歌——他知道和你口味相似的人這週在聽什麼(協同過濾),也知道歌曲本身的音樂特徵是否符合你的喜好(內容過濾),兩者整合才有那麼準的推薦。
三、關鍵名詞中英對照
| 中文 | 英文 | 說明 |
|---|---|---|
| 推薦系統 | Recommendation System | 根據使用者偏好自動推薦物品的 AI 系統 |
| 資訊過載 | Information Overload | 選項過多導致使用者難以決策的問題 |
| 內容過濾 | Content-Based Filtering | 根據物品特徵相似度推薦 |
| 協同過濾 | Collaborative Filtering | 根據使用者群體的行為模式推薦 |
| 使用者基礎協同過濾 | User-Based CF | 找相似使用者,推薦其喜好 |
| 物品基礎協同過濾 | Item-Based CF | 找相似物品,推薦給喜歡原物品的使用者 |
| 矩陣分解 | Matrix Factorization | 將 User-Item 矩陣分解為低維潛在因子矩陣 |
| 潛在因子 | Latent Factors | 矩陣分解中提取的隱性特徵維度 |
| 奇異值分解 | SVD (Singular Value Decomposition) | 矩陣分解的數學方法之一 |
| 交替最小二乘法 | ALS (Alternating Least Squares) | 可並行的矩陣分解訓練演算法 |
| 混合推薦 | Hybrid Recommendation | 結合多種推薦方法 |
| 冷啟動問題 | Cold Start Problem | 新使用者或新物品因缺乏歷史資料無法推薦的問題 |
| 精準率 | Precision@K | 推薦前 K 個中實際正確的比例 |
| 召回率 | Recall@K | 實際正確物品中被推薦到的比例 |
| 歸一化折扣累積增益 | NDCG | 考慮排名位置的推薦品質評估指標 |
| 點擊率 | CTR (Click-Through Rate) | 推薦物品被點擊的比率,常作為線上評估指標 |
| 召回層 | Recall / Candidate Generation | 從大量物品中快速篩選候選集的階段 |
| 排序層 | Ranking | 對候選集精確打分排序的階段 |
四、考試重點提示
考試重點:以下是 iPAS 人工智慧考試中與推薦系統相關的高頻考點:
- 三大方法定義:
- 內容過濾 = 根據「物品特徵」的相似度推薦
- 協同過濾 = 根據「使用者行為」的相似度推薦
- 混合方法 = 兩者結合
- 協同過濾 vs 內容過濾的優缺點對比:協同過濾受冷啟動影響、內容過濾不受冷啟動影響
- 矩陣分解的核心:將稀疏的 User-Item 矩陣分解為兩個低維矩陣,發現「潛在因子(Latent Factors)」
- 冷啟動問題:新使用者、新物品缺乏歷史資料,協同過濾無法運作;解法包括熱門推薦、人口統計過濾、引導問卷
- Precision@K vs Recall@K:推薦的準確性(準)vs 覆蓋率(全),兩者常有 trade-off
- NDCG 的特點:考慮排名位置,推薦正確但排在第 1 位比排在第 10 位得分更高
- Netflix Prize 的意義:推動矩陣分解技術普及,是推薦系統發展的重要里程碑
- 工業推薦系統架構:召回(大範圍篩選)→ 排序(精確打分)→ 重排(多樣性調整)三階段
Q1. 「買了這個商品的人也買了……」這個功能最符合下列哪種推薦技術?
- A. 內容過濾(Content-Based Filtering)
- B. 基於物品的協同過濾(Item-Based Collaborative Filtering)
- C. 基於人口統計的過濾(Demographic Filtering)
- D. 深度神經網路推薦(Deep Learning Recommendation)
Q2. 矩陣分解(Matrix Factorization)在推薦系統中最主要解決什麼問題?
- A. 使用者個資保護問題
- B. 物品特徵標注需要人工的問題
- C. User-Item 互動矩陣過於稀疏、難以直接計算相似度的問題
- D. 計算 Cosine Similarity 速度太慢的問題
Q3. 下列關於「冷啟動問題(Cold Start Problem)」的描述,何者正確?
- A. 冷啟動問題只發生在新物品,新使用者不受影響
- B. 內容過濾(Content-Based Filtering)與協同過濾(Collaborative Filtering)同樣容易受冷啟動影響
- C. 冷啟動問題是協同過濾的主要缺點,因為協同過濾需要歷史行為資料才能運作
- D. 矩陣分解可以完全解決冷啟動問題
Q4. Precision@K 與 Recall@K 的主要差異為何?
- A. Precision@K 衡量推薦排名的準確性,Recall@K 衡量計算速度
- B. Precision@K 衡量推薦結果的準確性(精準),Recall@K 衡量對正確物品的覆蓋率(全)
- C. Precision@K 只適用於協同過濾,Recall@K 只適用於內容過濾
- D. 兩者完全相同,只是不同文獻的不同命名
Q5. 下列哪個評估指標在計算推薦品質時,會特別考慮「排名位置」——正確推薦排在越前面得分越高?
- A. Hit Rate
- B. Precision@K
- C. Recall@K
- D. NDCG(Normalized Discounted Cumulative Gain)
解答與解析
| 題號 | 答案 | 解析 |
|---|---|---|
| Q1 | B | 「買了這個商品的人也買了……」是根據使用者群體的共同行為找出物品間的相似關係,屬於 Item-Based Collaborative Filtering(基於物品的協同過濾)。Amazon 的早期推薦系統正是以此為核心。 |
| Q2 | C | User-Item 互動矩陣中,大多數格子都是空的(使用者只與極少數物品互動),這種稀疏性使直接計算相似度困難。矩陣分解透過提取潛在因子(Latent Factors)來填補空格、預測未觀察到的評分。 |
| Q3 | C | 冷啟動問題是協同過濾的核心缺點——新使用者沒有行為記錄、新物品沒有互動資料,協同過濾就無法運作。內容過濾只需物品特徵,不依賴行為資料,因此對新物品冷啟動的抵抗力較強。 |
| Q4 | B | Precision@K = 推薦前 K 個中,真正相關的比例(準不準);Recall@K = 所有真正相關的物品中,有多少被推薦進前 K(全不全)。兩者常有 Trade-off:K 越大 Recall 越高但 Precision 可能下降。 |
| Q5 | D | NDCG(歸一化折扣累積增益)的設計核心是「位置折扣」——排在第 1 位的正確推薦比排在第 10 位得到更高的分數(以對數函數折扣),能更真實反映使用者通常只關注頂部結果的行為模式。 |