8-机器学习之聚类
📅 2026/7/28 17:37:10
👁️ 阅读次数
📝 编程学习
目录
一 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五类,此时尺寸较多,成本较高,但是顾客的满意度可能会变高。这样就根据你的权衡来选择分三类还是五类
。
编程学习
技术分享
实战经验