目录一 Kmeans 算法原理二 k-means 应用于非分离的数据集三 优化目标函数四 如何设置初始聚类中心五 初始化K值的方法背景有监督的学习中训练数据需要有标签而无监督学习中训练数据不需要任何标签。一 Kmeans 算法原理1.生成随机点聚类中心2.迭代执行如下两步until 聚类中心不再发生变化遍历每一个样本计算每一个样本与不同聚类中心的距离然后分配给相应的类在类别内部遍历每一个样本将类别中心移动到簇的中心求类别内样本的均值即可二 k-means 应用于非分离的数据集如下图右侧的数据集没有明显的分割区间的情况下如何处理虽然看似不可分但如果执行k-means 之后还是会分成如下的不同类别三 优化目标函数优化的目标是让簇内的样本离簇中心的举例最小四 如何设置初始聚类中心1.随机挑选k个训练样本(km(样本总数))2.尝试多次初始化避免落在局部最优解五 初始化K值的方法通常聚类的目的是为下游处理决策服务的因此可以根据实际权衡来设定K。举例如下通常可以把衣服尺寸分为S\M\L三类出售由于尺寸较少所以成本便宜但是顾客穿起来不一定合身。也可以选择把衣服尺寸分为XS\S\M\L\XL五类此时尺寸较多成本较高但是顾客的满意度可能会变高。这样就根据你的权衡来选择分三类还是五类。