K―means算法在电子商务推荐系统中的应用

1 协作型过滤技术

当前主流的推荐系统都是采用被称为协作型过滤的技术,该算法基于一个假设,即为用户找到他感兴趣的内容的方法是首先找到与其兴趣相似的用户,然后将这些用户感兴趣的内容推荐给目标用户。其通用做法是对海量用户进行搜索,并从中找出与目标用户相似度最高的部分用户。算法会对所有用户进行考查,并进行组合构造出一个经过排名的推荐列表。

协作型过滤分为:基于用户的协作型过滤和基于物品的协作型过滤。

1.1 基于物品的协作型过滤

将用户对物品的喜好,当作是物品的一个属性来看待,也就是说,有多少用户喜欢某物品,那么可以将该物品看作有多少个维度的属性,具体偏好就是维度的属性值。然后通过相似度算法,来计算物品间的相似度。当大部分用户购买的商品很少的时候,基于物品的协作过滤效果比较好。

1.2 基于用户的协作型过滤

将用户购买的物品看作是这个用户的不同维度的属性,很显然,大部分用户买了多件物品的数据,采用这种方法效果比较好。

2 相似度度量

协作型过滤系统需要通过相似度计算来获取用户间/物品间的相似度,通用的相似度评价体系有:欧几里得距离和皮尔逊相关度。

2.1 欧几里得距离

欧几里得距离(Euclidean distance)也称欧式距离,它是一个通常采用的距离定义,它是在n维空间中两个点之间的真实距离。

在二维和三维空间中的欧式距离的就是两点之间的距离,二维空间的公式:

2.2 皮尔逊相关系数

皮尔逊相关系数是一种度量两个变量间相关程度的方法。它是一个介于1和-1之间的值,其中,1表示变量完全正相关,0表示无关,-1表示完全负相关。该系数是判断两组数据与某一直线拟合程度的一种度量,在数据不规范的时候,该系数会倾向于给出更好的结果。

3 聚类算法在推荐系统中的应用

协作型过滤技术在推荐系统中的应用已经非常成熟且取得了很好的效果,但是随着移动互联网的发展,数据量的逐步增大,通过搜索全部用户寻找与目标用户相似度排名较高的用户会极大的影响推荐系统的效率,特别是一些实时性要求较高的系统中,效率问题会更加凸显。

因此在大数据环境下,一种通过离线聚类在线搜索的方式,提高推荐系统效率的方法可以有效提升系统效率而不损失推荐效果;首先在收集到大量用户数据后,预先对后台用户数据进行聚类,然后通过人工方式对各个类别进行标注,当有用户需要推荐时,仅仅对用户当前关注商品的类别已及相邻类别中的数据进行搜索,这样可以大大减少搜索的范围提升系统效率。

3.1 K-means算法

K-means是发现给定数据集在k个簇的算法。簇个数k是用户给定的,每个簇通过其质心(centroid),即簇中所有点的中心来描述。

K-means算法的工作流程如下:首先,随机确定k个初始点作为质心。其次,将数据集中的每个点分配到一个簇中。即为每个点找距离其最近的质心,并将其分配给质心所对应的簇中。最后,每个簇的质心更新为该簇所有点的平均值。

3.2 二分K-means算法

为了克服K-means算法收敛于局部最小值的问题,于是二分K-means算法被提出了。该算法首先将所有点作为一个簇,然后将该簇一分为二,然后选择其中的一个簇继续进行划分,具体选择哪个簇可以由其划分是否可以最大程度上降低误差的值为标准。不断重复基于误差的划分过程,直到得到用户所指定的数目为止。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值