本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
聚类问题是机器学习中常见的一类问题,
本文介绍聚类问题是什么,最小距离聚类是什么,和聚类问题的难点
本节简单介绍什么是聚类问题和聚类问题的意义
初识聚类问题
有一组样本数据共150组,
包含2个变量,x1和x2,如下
在可视化的情况下,我们很容易就知道,这150个样本可以归为5个类别
但当变量不是2个,而是很多个的时候,我们就没办法可视化了,也就没办法样本的类别了
聚类问题要解决的是,
如何在不可视化的情况下,对样本划分类别,使相近的样本归为一类
并给出每个样本的类别标签和每个类别的类别中心
聚类问题的意义
降维分析
聚类问题是非常有意义的,
例如,我们采集了150组发烧病人样本,
如果把发烧病人的症状用聚类方法打上类别标签,
最后确定有5个类别,
那么我们分析问题就不需要对150个样本分析,而是降维成针对5个类别分析了
通过聚类,分析问题就更有针对性了
按类别服务
我们对已有客户聚类,聚成4类,
如果来了新客户,那我们判断他属于哪一个类别,就能针对性提供服务了
类似于音乐推荐,先把已有用户聚类,
来了新用户,就把和他同一类别的用户喜欢的音乐推荐给他
本节通过层次聚类,说明聚类算法需要解决的难点在哪里
层次聚类法
聚类问题一个较理想的解决方案是“层次聚类法”,
先把所有样本都当成一个类别,
每次把最近的两个类别聚合成一个类别(每次减少一个类别)
当类别的距离都比较大,或者类别个数足够小时,就停止聚类
这个方法非常有聚类的感觉
层次聚类法的缺点
层次聚类法的最大缺点是计算量非常大,
每次都要计算所有类别两两间的距离,
当样本量较大时,例如10万个样本,那样本两两间的距离就有100亿,
这样的计算量几乎不可能完成!
所以这个方案,往往并不投入实际使用。
聚类算法需要解决的难点
聚类问题有很多解决方法,
但计算量过大往往都是这些聚类方法的通病。
k-means则是一种计算量较小,不会因为数据量暴增而暴增的方法,
因此,k-means 脱颖而出,成为了一种经典的聚类算法
End