七月算法4月机器学习算法班课程笔记——No.10
前言
与回归与分类不同,聚类是无监督学习算法,无监督指的是只需要数据,不需要标记结果,试图探索和发现一些模式。比如对用户购买模式的分析、图像颜色分割等。聚类算法的提出比较早,是数据挖掘的一个重要模块,可以对大量数据分类并概括出每一类的特点。目前也有很多种聚类算法,包括划分法、层次法、基于密度的方法、基于网格的方法等。实际生产中,很少有只用聚类算法的系统,因为聚类效果的好坏不容易衡量,有时候会用做监督学习中稀疏特征的预处理。
接下来会重点介绍K-means聚类、层次聚类和混合高斯模型。
1. 聚类算法思想
聚类算法的思想:给定N个训练样本(未标记的) x1,x2,...,xN ,目标是把比较“接近” 的样本放到一个cluster里, 总共得到K个cluster。没有给定标记,聚类唯一会使用到的信息是样本与样本之间的相似度,聚类就是根据样本相互之间的相似度“抱团” 的。那么怎么评定聚类的好坏呢?——也是用相似度评定,会尽量希望“ 高类内相似度, 低类间相似度”。
评定内容的选择:相似度评定对于聚类至关重要,选用的评定内容决定了相似度的偏向。看下面的两张图:
如果以轮廓和色调作为评定标准,那么这两张图很容易被分为一类,如果以眼睛鼻子来评定,就能区分开。所以在不同的场景下,应该选用不同的评定内容。例如:
- 图片检索: 图片内容相似度
- 图片分割: 图片像素(颜色)相似度
- 网页聚类: 文本内容相似度
- 社交网络聚类: (被)关注人群, 喜好, 喜好内容
- 电商用户聚类: 点击/加车/购买商品, 行为序列。比如按时间聚类,夜晚12点以后还在购物的多是学生党。
计算相似度距离:不管用什么样的评定内容,最终都会把样本表示成向量,那么向量的距离怎么表示呢?常用的距离计算公式有:
- 欧式距离
- 曼哈顿距离