[背景音乐] 翻译: RyukaSuu |审阅: 19waa Coursera Global Translator Community
回顾过分裂聚类之后
我们现在进入"凝聚聚类"的学习
首先 我们先看一个特别的例子 叫做"单链接"
它是一个特别常见的凝聚聚类的应用
一开始 每个数据点形成单独的一个聚类 事实上
所有的凝聚聚类方法都是这样的 不仅仅不是"单链接"
紧接着 我们就要思考 如何去合并这些聚类呢
我们这样来做 我们要考虑每一对聚类
对于每一对聚类
我们要计算这对聚类之间的距离
这样 我们就定义了所有聚类之间的距离
我通过两个不同的函数 来定义这个距离
一个就是distance函数
这个函数用于计算两个单独的数据点之间的距离
另一个函数就是linkage函数
它用于计算两个聚类之间的距离
聚类之间的距离的计算是基于数据点之间的距离的 也就是distance函数的返回值
就"单链接"问题而言 我们这样来确定这个"距离"
你可以先选择任何你喜欢实现distance函数的方法
但对于linkage函数的实现 你需要输入两个聚类 聚类A和
聚类B 就任意选择两个聚类
然后 分别观察两个聚类里的所有数据点
用distance函数找到两个数据点之间的最短距离 这两个点应该在两个不同的聚类中
这样我们就找到了两个距离最短的数据点
这两个点不在同一个聚类里
我们把这个两个数据点之间的距离 定义为两个聚类间的距离
这就是"单链接"的形式
接下来 如何去合并两个聚类
就是合并之间距离最短的两个聚类
接着 我们一直递归这个过程
我们考察一个聚类 这个聚类里现在有多个数据点
再看其他任何聚类 计算这个聚类里的数据点与
其他聚类里数据点的最短距离
我们递归这个过程 就是在一次迭代里 计算任意两个
存在的聚类之间的距离
记住 这个距离就是我们上面定义的
两个聚类之间的距离
我们一直这样迭代下去
直到所有的数据点都属于同一个聚类
所以我们看到了 就像分裂聚类一样
凝聚聚类定义了聚类的聚类。
这样我们就有了不同"粒度"的聚类
[背景音乐] 翻译: RyukaSuu |审阅: 19waa Coursera Global Translator Community