一步一步学推荐系统(四)——CB和CF推荐算法详解
通用CB算法
制定分词
比如:
1.产品分类:5
2.产品名称:3
3.产品描述:1
正排表
倒排表
执行推荐
当用户查看产品:JXW12N通用四辊卷板机
- 对产品分词
- 基于分词查看倒排表
- 从倒排表中取出所有的相关产品集合N(i)
- 对产品集合N(i)中每个产品进行计算分数N(i,c)
- 排序
- top-N
User Based CB算法
与通用CB算法的区别,在最后一步,执行推荐时
- 对产品分词:
- 通用CB算法:只是基于用户当前正在查看的产品来计算
- User Based CB:基于当前用户查看的所有产品进行分词来计算
- 后续的步骤是一样的
通用CF算法
首先需要有这样一个矩阵,其中斜杠标识该用户没有看过这个电影。矩阵转置。
后面我是用excel的计算公式来做的。
User Based CF算法
每一个单元格计算公式:
矩阵归一化
同样的矩阵归一化方法还有:
- 线性函数的转换:y=(x-MinValue)/(MaxValue-MinValue)
- 对数函数转换:y=log10(x)
- 反余切函数转换:y=atan(x)*2/PI
执行推荐
我们预测,C用户给Titanic电影的评分会是3.18677分,整体上所有电影排序,拿出预测他评分最高的N个电影发给C。
Item Based CF算法
同样的基础内容,转换为Item-Item矩阵,然后计算方法类似。
两次计算结果并不相同,但并不影响推荐结果。