8-机器学习之聚类

目录

一 Kmeans 算法原理

二 k-means 应用于非分离的数据集

三 优化目标函数

四 如何设置初始聚类中心

五 初始化K值的方法


背景:有监督的学习中,训练数据需要有标签,而无监督学习中,训练数据不需要任何标签。

一 Kmeans 算法原理

1.生成随机点(聚类中心)

2.迭代执行如下两步until 聚类中心不再发生变化

  • 遍历每一个样本,计算每一个样本与不同聚类中心的距离,然后分配给相应的类
  • 在类别内部遍历每一个样本,将类别中心移动到簇的中心(求类别内样本的均值即可)

二 k-means 应用于非分离的数据集

如下图右侧的数据集,没有明显的分割区间的情况下如何处理?

虽然看似不可分,但如果执行k-means 之后还是会分成如下的不同类别

三 优化目标函数

优化的目标是让簇内的样本离簇中心的举例最小

四 如何设置初始聚类中心

1.随机挑选k个训练样本(k<m(样本总数))

2.尝试多次初始化,避免落在局部最优解

五 初始化K值的方法

通常,聚类的目的是为下游处理决策服务的,因此可以根据实际权衡来设定K。举例如下:

通常可以把衣服尺寸分为S\M\L三类出售,由于尺寸较少,所以成本便宜,但是顾客穿起来不一定合身。也可以选择把衣服尺寸分为XS\S\M\L\XL五类,此时尺寸较多,成本较高,但是顾客的满意度可能会变高。这样就根据你的权衡来选择分三类还是五类