搜狐首页 科技 法医秦明

手机搜狐

SOHU.COM

机器学习算法实践之K均值聚类的实用技巧

编者按:本文作者为美国数据分析专家BilalMahmood,他是用户数据分析平台Bolt的创始人之一。在本文中,他详细介绍了一种称为K-MeansClustering(k均值聚类)的算法,其中包括如何衡量算法效果,以及如何确定你需要生成的数据段集数量。雷锋网编译整理,更多AI开发技术文章,关注AI研习社(微信号:okweiwu)。

Bilal Mahmood:我们最常做的分析之一,便是在数据中提取模式。 比方说,某公司的客户可被划分入哪些细分市场? 我们如何在用户网络中找到特定群体的聚类?

通过机器学习的方式,我们可以得到这些问题的答案。 即使当我们不知道需要查找哪些特定数据段,亦或我们的数据格式是非结构化数据,我们都可以有这么一种技术手段,在算法上,分析出数据中合理的数据模式,合适的数据段和分类结果。

在本文中,我们将会详细介绍一种算法,K-Means Clustering(K均值聚类),包括如何衡量其效果,以及如何确定我们要生成的数据段集数量。

监督VS无监督学习

在数据分类领域里,有两种有效的机器学习方式。

通过监督学习,如果你搞清楚哪些输入能映射到哪些离散数据段,便可以对结果的分类做预测。 但在许多情况下,实际上不会有这些预定义好的标签,而只有非结构化数据——根本没有定义好的数据段。这时,您可能就需要借助无监督学习,从未标记的数据中推理出目标数据段。

为了更清楚一些,我们以分类T恤尺寸为例

如果我们拿到如图1A所示数据集,我们将有一组宽度(X1)和长度(X2)的输入,以及他们对应的T恤衫尺寸(S(蓝色)L(绿色)) 。 在这种情况下,我们就可以通过监督学习的技术,如逻辑回归,来绘制一个明确的决策边界,并分离出各类T恤。

但如果我们得到一个如图1B所示的数据集,我们得到一组宽度(X1)和长度(X2)的输入,但没有对应的T恤衫尺寸标签。 在这种情况下,我们就需要使用K均值聚类等无监督式学习技术,来找到相似的T恤衫,并将它们聚集到小(蓝色圆圈)和大(绿色圆圈)的各个类中。

在现实世界的许多应用中,你将面临如图2A所示的情况,因此搞明白如何从非结构化的数据中提取出结构,会有很大的用处。

K均值聚类

K均值聚类给无监督机器学习提供了一个非常直观的应用,在非结构化的数据中归纳出结构,

K均值聚类,正如其名,会将您的数据中相似的观察结果,分配到同组簇中。 它包括4个简单重复的步骤,迭代地评估对每个观察值有最近(平均)距离的簇。 因此,如果一组观察结果彼此接近,它们可能属于一组簇。

精选