引入: 随着互联网时代的发展, 数据量的产生越来越来, 如何能够利用起来呢? 我们先来说说最常用的推荐系统几种算法,并且加以区分
一丶基于统计学的推荐
概述:
基于统计学的推荐系统,其实就是对大量的历史数据, 根据自己的业务需求,来获取到想要的信息
例如:
热门商品的排行, 最近的热门商品排行, 对商品的评分求取平均值得到最优质的商品等等,这些都是对统计学推荐的应用
二丶基于协同过滤的推荐
概述:
基于协同过滤的推荐又分为:
基于用户的协同过滤的推荐, 基于物品的协同过滤的推荐,基于(隐语义)模型的协同过滤的推荐
1.基于隐语义模型的推荐
概述:
隐语义模型就像是一些玄学一样, 根据用户已经评过分数据,找到一些联系,得到一个模型,对测试集数据进行预测, 这种玄妙的关系就像 "啤酒和尿不湿"放在一块会有很好的售卖一样
1.通过训练集数据,训练出ALS模型
2.使用模型对数据进行预测出评分
3.找出评分最高的几个,这样就可以提取出用户的推荐列表了
1.使用已经训练好的模型,对数据进行生成特征值
2.对生成的特征值转换为矩阵
3.计算相似度,得到商品相似度矩阵
2.基于物品的协同过滤推荐
概述:
基于物品的协同过滤,是根据用户的一些行为数据,得到商品之间的相似度. 比如用户A购买了商品B, 这个时候查到用户C也购买了商品B,并且购买了商品D,这个时候就会根据计算 “同现相似度”,得到相似度列表
1.根据物品的协同过滤计算的相似度,又叫 "同现相似度"
2. 这个的优点就是不用对物品的原数据进行特征提取, 只需要行为数据就可以
3.基于用户的协同过滤推荐
概述:
先寻找与目标用户有相同喜好的邻居, 在根据目标用户的邻居所喜好的商品对目标用户进行推荐
这里因为我还没遇到实例,先简单这样概述
三丶基于内容的推荐
概述:
根据商品的数据信息,进行特征提取(TF-IDF),再进行计算相似度,得到商品的相似度列表. 特征提取一般都是对类型丶标签进行
冷启动问题
问题:
当我们使用实时推荐,或者离线模型时,这个时候来了一个新用户, 并没有对任何的行为数据,这时候我们就出现冷启动问题了.
解决:
我们可以先用基于统计学进行代替,或者根据用户的兴趣进行推荐