学习⽬标
- 知道k-means算法的优缺点
- 知道canopy、K-means++、⼆分K-means、K-medoids的优化原理
- 了解kernel K-means、ISODATA、Mini-batch K-means的优化原理
k-means算法⼩结
- 优点:
- 1.原理简单(靠近中⼼点),实现容易
- 2.聚类效果中上(依赖K的选择)
- 3.空间复杂度o(N),时间复杂度o(IKN)
- N为样本点个数,K为中⼼点个数,I为迭代次数
- 缺点:
- 1.对离群点,噪声敏感 (中⼼点易偏移)
- 2.很难发现⼤⼩差别很⼤的簇及进⾏增量计算
- 3.结果不⼀定是全局最优,只能保证局部最优(与K的个数及初值选取有关)
Canopy算法配合初始聚类
K-means++
其中:
为⽅便后⾯表示,把其记为A
kmeans++⽬的,让选择的质⼼尽可能的分散
⼆分k-means
实现流程:
- 1.所有点作为⼀个簇
- 2.将该簇⼀分为⼆
- 3.选择能最⼤限度降低聚类代价函数(也就是误差平⽅和)的簇划分为两个簇。
- 4.以此进⾏下去,直到簇的数⽬等于⽤户给定的数⽬k为⽌。
k-medoids(k-中⼼聚类算法)
K-medoids和K-means是有区别的,不⼀样的地⽅在于中⼼点的选取
- K-means中,将中⼼点取为当前cluster中所有数据点的平均值,对异常点很敏感!
- K-medoids中,将从当前cluster 中选取到其他所有(当前cluster中的)点的距离之和最⼩的点作为中⼼点。
Kernel k-means(了解)
kernel k-means实际上,就是将每个样本进⾏⼀个投射到⾼维空间的处理,然后再将处理后的数据使⽤普通的k-means 算法思想进⾏聚类。