k-mean算法是一种聚类算法。他的优化目标是 起中rnk为一如果第n个数据属于第k类。
我们使用坐标下降法,对uk求导数为0得到uk = 1/m*∑(xi),xi明显是标记为最近的中心点是函数最小化,不断迭代直到收敛。
问题是,算法开始时我们先要指定分类数K,这是一个不确定的数。我采取的做法是不断尝试K,取轮廓系数最小的K为最优K。
轮廓系数为
还有个问题是初始化中心点,这里我采用k-mean++的方法。
- 先从我们的数据库随机挑个随机点当“种子点”
- 对于每个点,我们都计算其和最近的一个“种子点”的距离D(x)并保存在一个数组里,然后把这些距离加起来得到Sum(D(x))。
k-means算法与k-means++初始化及轮廓系数解析

k-means算法是聚类方法,通过坐标下降法优化,寻找最佳聚类中心。面临的问题是初始分类数K的选择,通常通过计算轮廓系数来确定最优K值。k-means++是一种改进的初始化策略,首先随机选择一个点作为种子点,然后依据距离权重选取后续种子点,直至选满K个中心。轮廓系数衡量聚类效果,综合考虑聚类的紧密度和分离度。
最低0.47元/天 解锁文章
1693

被折叠的 条评论
为什么被折叠?



