推荐系统是机器学习中的一个重要的应用。对机器学习来说特征选择是很重要的,所选择的特征将对学习算法的性能有很大的影响,推荐系统可以自动学习一套好的特征。具体应用:
- 降低信息过载,提高站点的点击率/转化率。
- 加深对用户的了解,为用户提供定制化服务。
- 帮助用户找到想要的商品,可以让小众的用户找到自己感兴趣的内容(长尾理论)。
推荐系统采用的算法有:基于内容的算法、协同过滤算法、基于模型的算法(用机器学习来预测)、混合算法(现实应用中一般通过给不同算法的结果加权重来综合结果)。
3.4.1 基于内容的推荐系统
基于内容的推荐系统的概念:
基于内容的推荐系统:根据用户对物品的评价历史,以及物品之间的相似度进行推荐。
算法主要步骤:
- 物品表征建模:从物品中抽取出一些特征来表示该物品。
- 用户喜好特征建模:从用户对某些物品的历史评价中,学习用户的偏好模型。
- 推荐物品:通过匹配某一用户的偏好及候选物的特征,为此用户推荐一组相关性最大的物品。
基于内容的电影推荐系统:
电影推荐
模型:用户数量
用户
代价函数:</br>
用户
所有用户的代价函数:
梯度下降算法:</br>
3.4.3 协同过滤算法
协同过滤的概念:
基于用户的协同算法:分析各个用户对物品的评价(通过浏览记录、购买记录等)->依据用户对物品的评价计算得出所有用户之间的相似度->选出与当前用户最相似的N个用户->将这N个用户评价最高并且当前用户又没有浏览过的物品推荐给当前用户。</br>
基于物品的协同算法:分析各个用户对物品的浏览记录->依据浏览记录分析得出所有物品之间的相似度->对于当前用户评价高的物品,找出相似度最高的N个物品->将这N个物品推荐给用户。
基于协同过滤的电影推荐系统:
自学习电影和用户的特征:</br>
- 若掌握了每一部电影的可用特征,使用这些特征可训练出每一个用户的参数:
- 若拥有用户的参数,就可以学习得出所有电影的特征:
- 协同过滤在既没有用户的参数,也没有电影的特征,可以同时学习用户参数以及电影特征:
- 代价函数:
- 梯度下降:
推荐系统应用注意点:
如何推荐:
均值归一化:
- 计算每部电影的评分平均值
。 - 将每一个用户对某一部电影的评分减去对该电影的评分平均值。
- 用新的数据集训练算法。
- 预测出来的评分,需将平均值重新加回去:
电影推荐均值归一化