机器学习实战系列14——奇异值分解SVD

奇异值分解

1. 概念

将一个复杂的矩阵分解为3个小的简单的矩阵,
在这里插入图片描述
其中sigma矩阵只包含对角元素且对角元素降序排列,该对角线元素为奇异值,为原始数据最重要的特征值。奇异值的取舍遵守两种启发式规则:

  • 取总量信息的90%,总量信息的计算为:所有奇异值的平方求和
  • 对上千万的奇异值,只取前2000到3000的奇异值

2. 应用

  1. 隐性语义分析
  2. 推荐系统
  3. 数据降维(特征缩减)

3.python实现

4.推荐系统

  1. 推荐的过程
    给定一个用户,系统会为此用户返回N个最好的推荐菜:
    1).寻找用户没有评级的菜,即用户-物品矩阵中的0值
    2).在用户没有评级的所有物品中,对每个物品预计一个可能的评级分数。-相似度计算
    3).对物品的评分从高到低进行排序,返回前N个商品
  2. 相似度的计算
    包括基于用户与基于物品的相似度计算,取决于用户与物品的数量。
  3. 推荐结果的评价
    1).交叉测试:将已知的评分去掉,然后对他们预测,最后计算预测值与真实值之间的差异,
    2). 最小均方根误差(RMSE),首先计算均方误差的平均值然后取其平方根。
  4. 推荐的方法
    协同过滤:考虑用户对物品的意见,包括评分,评论等
    基于内容的推荐:考虑商品的属性标签

你可能感兴趣的:(机器学习,python机器学习实战)