1.SVD數學原理
1.1把矩陣拆解成3個子矩陣
svd(mat)=U * sigma * VT
1.2sigma
- 僅對角線有數據的矩陣
- 對角線數據的和代表矩陣的能量
- 對角線數據由大到小排列
- 前i個和>=80%,則原始數據可有n維降維i維
1.3應用方法
- 數據降維:mat.T*U[:,i]*sigma[:i].I
- 壓縮(算法表示數據)
1.4特點
簡化數據
適用數值型數據
難以解釋
2.推薦系統中的應用
假設場景
用戶點評菜品
行表示用戶
列表示菜品評分
推薦業務理解
- 2個菜品(列)對比,用戶評分越相似,菜品越相似
- 2個用戶(行)對比,對不同菜品評分越相似,用戶越相似
- 得分:基於菜品,=該用戶已點評菜品得分*該菜品與待推薦菜品相似度
SVD的使用
把點評數據簡化
3.圖像壓縮中的應用
假設場景
01碼錶示的位圖
業務理解
- 把01碼的原始圖理解成矩陣
- 矩陣SVD分解
- sigma能量佔比,把原始矩陣轉成很小的子矩陣乘法
SVD的使用
3232矩陣1024個數據
轉成
322+32*2+2=130個數據