奇异值分解
1. 概念
将一个复杂的矩阵分解为3个小的简单的矩阵,
其中sigma矩阵只包含对角元素且对角元素降序排列,该对角线元素为奇异值,为原始数据最重要的特征值。奇异值的取舍遵守两种启发式规则:
- 取总量信息的90%,总量信息的计算为:所有奇异值的平方求和
- 对上千万的奇异值,只取前2000到3000的奇异值
2. 应用
- 隐性语义分析
- 推荐系统
- 数据降维(特征缩减)
3.python实现
4.推荐系统
- 推荐的过程
给定一个用户,系统会为此用户返回N个最好的推荐菜:
1).寻找用户没有评级的菜,即用户-物品矩阵中的0值
2).在用户没有评级的所有物品中,对每个物品预计一个可能的评级分数。-相似度计算
3).对物品的评分从高到低进行排序,返回前N个商品 - 相似度的计算
包括基于用户与基于物品的相似度计算,取决于用户与物品的数量。 - 推荐结果的评价
1).交叉测试:将已知的评分去掉,然后对他们预测,最后计算预测值与真实值之间的差异,
2). 最小均方根误差(RMSE),首先计算均方误差的平均值然后取其平方根。 - 推荐的方法
协同过滤:考虑用户对物品的意见,包括评分,评论等
基于内容的推荐:考虑商品的属性标签