机器学习——推荐算法

推荐算法

推荐系统的核心问题是为用户推荐与其兴趣相似度比较高的商品。 此时需要一个函数f(x)来计算候选商品与用户之间的相似度,并向用户推荐相似度比较高的商品。为了能够预测出函数f(x),可以利用的历史数据主要有:用户的历史行为数据、与该用户相关的其他用户信息、商品之间的相似性、文本的描述等等。

假设集合C表示所有的用户,集合S表示所有需要推荐的商品。函数f表示商品x到用户
c之间的有效性的效用函数:

在这里插入图片描述

其中,R是一个全体的排序集合,对于每一个用户c∈C,希望从商品的集合中选择出商品,即s∈S,以使得应用函数f的值最大。

1 协同过滤算法

协同过滤算法是最基本的推荐算法,CF算法从用户的历史行为数据中挖掘出用户的兴趣,为用户推荐其感兴趣的项。 根据挖掘方法的不同,协同过滤算法可以分为基于用户的协同过滤算法和基于项的协同过滤算法。

1.1 算法概述

基于用户的协同过滤算法是基于一个这样的假设:跟你喜好相似的人喜欢的东西你也很有可能喜欢。所以基于用户的协同过滤的主要任务是找出用户的最近邻居,从而根据最近邻居的喜好做出未知项的评分预测。

  1. 用户评分:可以分为显性评分和隐性评分两种。显性评分就是直接给项目评分,隐性评分就是通过评价或者购买的行为给项目评分。
  2. 寻找最近邻居:这一步就是为了寻找与你距离最近的用户,测算距离一般采用三种算法,即皮尔森相关系数、余弦相似性和调整余弦相似性。
  3. 推荐:产生了最近邻居集合后,就根据这个集合对未知项进行评分预测。把评分最高的N个项推荐给用户。

这种算法存在性能上的瓶颈,当用户数越来越多的时候,寻找最近邻居的复杂度也会大幅度增加。因而这种算法不能满足即时推荐的要求,基于项的协同过滤就解决了这一问题。

基于项的协同过滤与基于用户的算法相似,只不过第二步改为计算项之间的相似度。由于项之间的相似度比较稳定,可以在线下进行,所以解决了基于用户的协调过滤存在的问题。

未完待续

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
决策树算法是一种广泛应用于分类和回归的机器学习算法,它基于树形结构对样本进行分类或预测。决策树算法的主要思想是通过一系列的判断来对样本进行分类或预测。在决策树中,每个节点表示一个属性或特征,每个分支代表该属性或特征的一个取值,而每个叶子节点代表一个分类或预测结果。 决策树算法的训练过程主要包括以下步骤: 1. 特征选择:根据某种指标(如信息增益或基尼系数)选择最优的特征作为当前节点的分裂属性。 2. 决策树生成:根据选择的特征将数据集分成若干个子集,并递归地生成决策树。 3. 剪枝:通过剪枝操作来提高决策树的泛化性能。 决策树算法的优点包括易于理解和解释、计算复杂度较低、对缺失值不敏感等。但是,决策树算法也存在一些缺点,如容易出现过拟合、对离散数据敏感等。 下面是一个决策树算法的案例:假设我们要根据一个人的年龄、性别、教育程度和职业预测其收入水平(高于或低于50K)。首先,我们需要将这些特征进行编码,将其转换为数值型数据。然后,我们可以使用决策树算法对这些数据进行训练,并生成一个决策树模型。最后,我们可以使用该模型对新的数据进行分类或预测。例如,根据一个人的年龄、性别、教育程度和职业,我们可以使用决策树模型预测该人的收入水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值