前面我们已经对实现用户智能的机器学习的回归算法和分类算法进行了解读,下面我们再来继续看看机器学习的聚类算法和关联分析。

1.聚类算法

与分类算法不同,聚类算法是一个典型的“无监督”算法。聚类没有训练样本这一概念,所要做的就是基于输入样本的某些特征,按照一定的评价体系,将它们按照相似程度聚成几类。以图 1 和图 2 为例,同样的一些头像,按照聚类的标准,可以聚类得到不同的结果。

图 1 对头像按照发型进行聚类(图片来源于网络)

图 2 对头像按照肤色进行聚类(图片来源于网络)

聚类算法同样也在很多不同的领域得到广泛应用。例如,在产品运营中,我们可以用聚类算法,自动聚合用户的行为轨迹,并且据此分析用户使用产品的习惯,用于改善产品交互设计;在图形学领域,基于聚类算法进行图像主题筛选也是一种常见的应用;甚至在防火墙领域,对于那些加密流量,也可以通过聚类算法来大概识别这些流量到底是什么类型的流量。

2.关联分析

最后一种典型的“无监督”的“连续”的机器学习算法,我们就以关联分析为例来进行介绍。关联分析的一个非常典型的应用,是从订单数据中分析两个商品的关系。如图 3 是一些订单数据。

图 3 一些订单数据

我们想从这些订单数据中分析商品之间的关系,可以基于关联分析(有时候也被叫作关联规则挖掘)来做。我们可以分别计算两个商品的支持度(Support)与置信度(Confidence)。

例如在超市购买(D)这个事件中,包含了买了啤酒(A)的事件,买了面包(B)的事件,以及同时买了啤酒和面包(AB)的事件。支持度的定义是:Support(A -> B)=P(AB),它揭示了 A 与 B 同时出现的概率。如果 A 与 B 同时出现的概率小,说明 A 与 B 的关系不大;如果 A 与 B 频繁同时出现,则说明 A 与 B 总是相关的。置信度的公式是:Confidence(A -> B)=P(B|A),它揭示了事件 A 成立的条件下,事件 B 出现的概率,比如在买啤酒的情况下,有多少概率会去买面包。如果置信度度为 100%,则A和B可以捆绑销售,如果置信度太低,则说明 A 的出现与 B 是否出现关系不大。

基于上面的规则得到的支持度和置信度,可以搭建一个简单的商品推荐系统,在实际应用中,如相关电影推荐等应用,就可以用关联分析得到很好的解决。

接下来介绍关联分析和协同过滤的区别。

协同过滤是一种间接推荐,即先找到品味相似的人(User Based),然后再根据品味相似的人的偏好进行推荐。适用于重度个性化并且 Item1非常多的场景,比如音乐,电影等。关联规则是更加直接的推荐,从整体的数据中挖掘商品之间的潜在关联,与单个人的偏好无关,适用于 Item 不多,并且非重度个性化的场景,如超市购物、汽车导购、交通规划等。

现在本博客已经介绍了基于机器学习实现用户智能的四个学习算法,之后我们会写一篇文章结合实例进行实际应用的介绍,敬请期待!

相关阅读:

什么是用户智能,它与数据有什么关系?

干货:常见用户智能实例解读

基于规则的用户智能应用解读及实例

实现用户智能的机器学习算法解读(上)

更多数据分析干货和案例,可以关注“神策数据”公众号了解~