您的位置:首页 > 理论基础

几种计算机视觉中常用的聚类算法(K-means, Agglomerative clustering, Mean shift, Spectral clustering)

2016-11-03 16:39 471 查看
前言:计算机视觉是让计算机理解图像与视频,本系列博客的目的在于加深自己在学习计算机视觉过程中对相关知识理解与回顾。其中很多内容参照:教材《ComputerVision:
Algorithms and Applications》,教材《Learning
Image Processing with OpenCV》工具书《LearningOpenCV》,国外大学的课程《Computer
Vision》和课程《Computer
Vision》。

对于机器学习而言,聚类常常应用于离散情况下的非监督学习算法之中,如下图所示。



聚类的总体目标是使得最小化目标函数:



聚类的方法很多,常用的包括(K-means, Agglomerative clustering,mean shift, Spectral clustering)。

1.        K-means
核心思想为迭代的指定点到最近的聚类中心。聚类算法会收敛到局部极小值。
 
算法的有点包括:
l  简单快速(不针对大型的聚类问题)
l  容易实现
l  能很好的表示数据
 
缺点包括
l  需要设定k
l  对outliers很敏感
l  收敛到局部极小值
l  对于大型的聚类问题,其算法复杂度较高,可能导致运行很慢
 
基本原理:







2.        Agglomerative clustering
基本思想为:从每一个点开始作为一个类,然后迭代的融合最近的类。能创建一个树形层次结构的聚类模型
 
算法优点为:
l  易于实现,具有广泛的应用
l  拥有一定的自适应形状
l  可提供层级聚类
 
算法缺点:
l  仍然需要选择聚类的个数或者设置相关的阈值
l  可能会导致聚类不平衡(如一个类超大,一个类超小)
 
基本原理为:











3.        Mean shift
算法优点为:
l  对outliers很鲁棒
l  不需要预先设聚类的个数或者区域
 
算法缺点为:
l  需要设定核的尺寸
l  不适合特征维数很高的聚类
 
基本原理为:(算法流程+源码:http://blog.csdn.net/hjimce/article/details/45718593



4.        Spectral clustering
参见(https://www.cs.cmu.edu/~aarti/Class/10701/slides/Lecture21_2.pdf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐