推荐系统实战

简介

推荐系统学习笔记

推荐系统主要分类

基于人口统计学的推荐

推荐系统实战_第1张图片

 基于统计学的统计是相对于一种比较简单的推荐算法,比如给用户打一个程序员的标签,然后把电脑相关的数据进行推荐。但是有一个缺点就是用户的信息不是很好的收集。上图的意思就是,如果大部分25-30岁的女都喜欢A物品,那么当有用户c过来的时候,那么根据统计就会把A物品推荐给c用户。简单的理解就是物以类聚,人以群分

基于内容的推荐算法

推荐系统实战_第2张图片

根据物品的内容,算出他们的相识度,然后进行相关物品的推荐。首先要对物品进行向量化,然后求物品的欧式距离。

 推荐系统实战_第3张图片

基于协同过滤算法

推荐系统实战_第4张图片

基于用户行为推荐,这个是基于热推荐,要结合用户画像冷推荐效果更加的好,因为新用户,没有任何标签就不太好推荐物品。

 推荐系统实战_第5张图片

 可以更具用户近邻推荐,比如上面Alice和Cary的喜欢程度一样,那么就可以推测Cary对泰坦尼克号的评价可能是4或者是5。这就是User-CF,还有就是泰坦尼克号和阿甘正传很相近,也能推出Cary对电影的评分,那么这个就是Item-CF。物品多的时候用Item-CF,用户多的时候用User-CF。

在模型训练的时候,可以假设他们有一定的矩阵关系,入下图。

推荐系统实战_第6张图片

 上面差分的矩阵,然后重新计算,看是否和之前的数据一样,得到最后的数据进行模型的打分。分解以后在相乘就是预测数据。

推荐系统实战_第7张图片

 推荐系统实战_第8张图片

 推荐系统实战_第9张图片

 推荐系统实战_第10张图片

 推荐系统实战_第11张图片

 上面是协同过滤算法的损失函数,也就是特征越多,惩罚越大,那么我们就要想办法得到损失函数的最小值,从而得到最好的模型。

推荐系统实战_第12张图片

 推荐系统实战_第13张图片

 推荐系统实战_第14张图片

上面不管是ASL还是梯度下降算法,最后的结果都是想得到,损失函数的最小值,得到最小值的损失函数得到的模型就相对较好。 

特征工程

推荐系统实战_第15张图片

特征选择就是对于一些可以区分的关键信息进行提取出来,就想相亲一样,高,矮,胖瘦对于相亲的影响就很大,那么这些就是有用的特征。

数值型特征处理

归一化

推荐系统实战_第16张图片

算法,这里的作用就是尽量的减少数据的差异化,对结果产生影响。

 

离散化

就是对于连续的数据,分段处理的情况,比如像公交车按年龄让座的分类问题,1表示会让座,0表示不让座。

推荐系统实战_第17张图片

比如学区,房间类型,都可以用1或者0来表示,如下图提取的特征就能够放在机器学习里面进行训练。

推荐系统实战_第18张图片

反馈数据

推荐系统实战_第19张图片

 推荐系统实战_第20张图片

项目实战

架构图

推荐系统实战_第21张图片

 

思路

离线推荐

推荐系统实战_第22张图片

 上图是能够得到模型。下图是推荐信息生成的流程图,在模型训练出来着以后,开始预测,然后把预测的结果写到数据库中。

推荐系统实战_第23张图片

 下面根据训练出来的模型,求电影的相关度

推荐系统实战_第24张图片

上面用余弦相识度的原因是如果一个用户分别给两个电影打1,3分,另一个用户给3,5分,如果按距离计算的话,那么不太合适,如果用余弦相识度的话,他们就会在类似的角度,那么角度距离就不会太大。 

推荐系统实战_第25张图片

实时推荐 

推荐系统实战_第26张图片

实时推荐的思路就是,在理想求出相关性的电影以后,然后根据电影的相关性进行实时推荐,实时推荐的时候要考虑到用户对电影的评分的问题。 

 推荐系统实战_第27张图片

基于内容推荐 

推荐系统实战_第28张图片

综合使用 

 推荐系统实战_第29张图片

实现 

项目依赖

尚硅谷机器学习和推荐系统教程

你可能感兴趣的:(智能算法,python,机器学习,深度学习)