注:本文中的例子与数据均为杜撰,并为了说明问题做了简化,请勿对号入座
另:为了降低理解成本,本文尽量以直观的方法呈现,略去复杂公式推导,让聚类算法变成一个很直观的、开箱即用的工具。
1. 前言
物以类聚,人以群分。把这句流传了两千年的古语用机器学习的话术来表达,即是:具有相同或相似特征的对象,可以聚成一个群体。有了群体之后,就可以分析其共性特征与行为的关系。
以电商的购物记录为例。考察25-30岁的女性用户在双十一期间的消费类型,随机选取50w人,经计算,这50w人可以分为4类:
- 40%的人以衣服鞋帽为主
- 20%的人以化妆品为主
- 10%的人以电子产品为主
- 另外30%的人没有明显特征
那么在制定明年双十一广告策略时,就可以针对每一类人分别推荐。在计算之前并不知道这50w人可以分成哪几个类别,属于无监督学习。本文即将讲述的是无监督学习的聚类算法实践。
2. 基本概念
如果你要对二维平面上的点进行分类,如下图所示,显然可以把红色点和蓝色点各分为一类。
但是A点分到哪一类更"适合"呢。
该如何衡量分类效果的好坏呢?本节介绍常用的距离度量和性能度量方法。
2.1 距离度量
给定
维空间上的三个点