SVD简化数据

1.SVD数学原理

1.1把矩阵拆解成3个子矩阵

svd(mat)=U * sigma * VT

1.2sigma

  1. 仅对角线有数据的矩阵
  2. 对角线数据的和代表矩阵的能量
  3. 对角线数据由大到小排列
  4. 前i个和>=80%,则原始数据可有n维降维i维

1.3应用方法

  1. 数据降维:mat.T*U[:,i]*sigma[:i].I
  2. 压缩(算法表示数据)

1.4特点

简化数据
适用数值型数据
难以解释

2.推荐系统中的应用

假设场景

用户点评菜品
行表示用户
列表示菜品评分

推荐业务理解

  1. 2个菜品(列)对比,用户评分越相似,菜品越相似
  2. 2个用户(行)对比,对不同菜品评分越相似,用户越相似
  3. 得分:基于菜品,=该用户已点评菜品得分*该菜品与待推荐菜品相似度

SVD的使用

把点评数据简化

3.图像压缩中的应用

假设场景

01码表示的位图

业务理解

  1. 把01码的原始图理解成矩阵
  2. 矩阵SVD分解
  3. sigma能量占比,把原始矩阵转成很小的子矩阵乘法

SVD的使用

3232矩阵1024个数据
转成
32
2+32*2+2=130个数据

你可能感兴趣的:(数据挖掘)