AI時代系列(3) 機器學習三部曲: 🔹 第一部:《機器學習 —— AI 智慧的啟航》
45/100 第五週:非監督學習
45. 奇異值分解(SVD) 🎭 用於推薦系統與文本分析,擅長處理稀疏數據!
🎭 奇異值分解(SVD)
用於推薦系統與文本分析,擅長處理稀疏數據!
________________________________________
🔎 一、什麼是 SVD(Singular Value Decomposition)?
• SVD 是一種矩陣分解技術
• 能將任意大小的矩陣拆解為三個矩陣的乘積:
A=UΣ Vᵗ
✅ U(左奇異矩陣):代表原數據的特徵向量(行空間)
✅ Σ(奇異值對角矩陣):代表每個主成分的重要程度
✅ Vᵗ(右奇異矩陣):代表特徵向量(列空間)
________________________________________
🌟 二、SVD 的核心價值與用途
1. 降維 保留最重要的奇異值,達到資料壓縮效果
2. 特徵提取 抽取數據中最具代表性的資訊
3. 處理稀疏數據 對推薦系統中缺失值(0值)極為友善
4. 雜訊過濾 小奇異值常被視為雜訊,可過濾掉
5. 隱含結構挖掘 發現數據中潛在的隱含規律與關聯
________________________________________
📚 三、SVD 經典應用場景
✅ 推薦系統(Collaborative Filtering)
👉 例:Netflix、YouTube、Spotify 影片與歌曲推薦
✅ 文本與語意分析(LSA)
👉 潛在語意分析(Latent Semantic Analysis, LSA)發掘文本潛藏的主題
✅ 圖片壓縮
👉 用少量奇異值重建圖片,達到壓縮效果
✅ 降維與資料清理
________________________________________
📈 四、推薦系統中的應用範例(矩陣填空)
原始評分矩陣(User-Item Matrix)
使用者/物品 電影A 電影B 電影C 電影D
User1 5 3 0 1
User2 4 0 0 1
User3 1 1 0 5
User4 0 0 5 4
User5 0 1 5 4
✅ 利用 SVD 分解後填補 0 值,預測使用者可能喜歡的電影
________________________________________
🛠 五、Python 例子(scipy or numpy)
python
import numpy as np
from scipy.sparse.linalg import svds
# 假設評分矩陣
R = np.array([
[5, 3, 0, 1],
[4, 0, 0, 1],
[1, 1, 0, 5],
[0, 0, 5, 4],
[0, 1, 5, 4]
], dtype=float)
# SVD 分解
U, sigma, VT = svds(R, k=2)
sigma = np.diag(sigma)
# 預測填補缺失值
R_pred = np.dot(np.dot(U, sigma), VT)
print(np.round(R_pred, 2))
這段程式碼透過奇異值分解(SVD)將使用者對物品的評分矩陣降維,並重建出一個近似矩陣,以預測原本缺失(0)的評分值,是協同過濾式推薦系統的常用方法。它先對原始評分資料進行秩為2的稀疏SVD分解,取得使用者與物品的潛在特徵向量,再透過矩陣乘積重構預測評分矩陣,進而達到填補遺漏資料並實現個人化推薦的目的,廣泛應用於如 Netflix、Spotify 等平台的推薦系統中。
✅ 結果:預測出原本 0 的位置可能的評分值,提升推薦系統效果!
________________________________________
📊 六、SVD 與 PCA 的關聯
PCA SVD
基於共變異矩陣 直接分解原始矩陣
適合連續數值型數據 適合稀疏或缺失數據
強調數據最大變異方向 強調數據矩陣潛在結構
常用於可視化 更廣泛用於推薦與文本
👉 數學上,PCA 其實就是 SVD 的一種特殊應用!
________________________________________
📉 七、SVD 優缺點
優點 缺點
✅ 強大降維能力 ❌ 計算量大(大型矩陣耗資源)
✅ 能處理稀疏數據 ❌ 對異常值敏感
✅ 適合推薦系統與文本 ❌ 實務上常需截斷(Truncated SVD)以減少運算
________________________________________
🎯 八、總結與亮點
✔ SVD 是機器學習與數據科學中最重要的矩陣運算之一
✔ 能發掘潛在結構,讓「隱藏資訊」浮出水面
✔ 廣泛應用於推薦系統、自然語言處理、圖像處理與降維領域
________________________________________
📌 一句話精華
🎭 SVD = 用數學魔法解開稀疏數據背後的秘密,讓推薦更準、文本更懂你!
________________________________________