聚类算法
聚类算法
1 k-means事先确定聚类中心个数,初始任意选择聚类中心,然后计算每个点到聚类中心距离,一般用欧式距离,通过这个也可以看出来这种方法比较适用于圆形或者球形分布的情况,距离哪个聚类中心最近就属于那一类,然后计算各个类的中心点作为新的聚类中心,重复操作,需要说明的是,这种方法对初始聚类中心选择敏感,初始聚类中心会影响最后迭代的结果。
2 sequential leader这种方法优点是可以处理流数据,不需要迭代和设置聚类个数,但是需要人工设置阈值,阈值对结果影响很大。先任意取一个点作为一类,取第二个点计算距离,如果大于阈值,则它自己为一类,依次计算新的点与原来各个类的midpoimt的距离和阈值关系。
3 EM可以聚非圆形或者球形分布的类,但是我感觉这种方法还是受到很大限制,你需要事先对这些点的概率分布做出假设,可以是高斯分布,卡方等等,假设的分布不同最后效果是不同的。最后的分布是很多个分布的mixture为了概率和为一,需要加上权重,权重和为1。先假设,比如说每个高斯分布的均值方差权重,然后计算每个点属于这个高斯分布的概率,注意这个概率是在这个点可能属于所有类的分布中属于特定类的概率,然后可以计算聚类中心点,可以求权重,然后又可以求每个点概率 这是一种迭代求法.对高维很难做精确处理,除非可以可视化,而且概率分布假设对结果影响很大,必须事先确定类个数。
4 密度DBSAN可以有效排除噪点,可以对任意连通形状聚类。无需事先确定聚类个数。基于ceteral point 的画圆连通的膨胀聚类。但是圆半径和多少点在圆内需要自己设置。
5 层次聚类不需要事先设置类个数。bottom-up,计算距离矩阵,找出最小的合并,距离计算有最近和最远距离,平均距离等,再计算距离矩阵,依次进行,最后会成为一类。
6 竞争神经网络聚类基于competitive 神经网络,权重任意初始化,输入的是负距离。权重调整是基于WTA原则,有bias,设置bias可以避免出现死神经元,经常更新权重的神经元的b会调小,不经常更新会调大。没有死神经元意味着聚类个数小于等于输出神经元个数,可能出现重复。
7模糊聚类计算相似矩阵,选定一个截的λ不需要设k。根据λ不同结果不同。
8 SOM 会出现死神经元,聚类个数小于等于输出神经元个数。不是简单的WTA,获胜神经元周围区域神经元都会按照距离递减调整权重,调整区域逐渐减小。可以排除噪点干扰,收敛速度比6快。学习次数影响聚类结果。可以看出5678也是偏向于圆,球型分布
以上就是(聚类算法)全部内容,收藏起来下次访问不迷路!