机器学习(K-Means算法)


前言

监督学习是有一系列标签数据,寻找假设函数去拟合这些标签。无监督学习是寻找到一些隐含在系列无标签数据中的结构。K-Means聚类算法是常用的无监督学习方法之一。


一、K-Means算法

输入为:
①聚类个数:K
②训练集: { x ( 1 ) , x ( 2 ) , . . . , x ( m ) } \begin{Bmatrix}{x^{(1)},x^{(2)},...,x^{(m)}}\end{Bmatrix} {x(1),x(2),...,x(m)}

K-Means算法流程如下:
1、随机初始化K个聚类中心
2、分别计算当前样本i到K个聚类中心的距离,将该样本分类至距离最小值所对应的簇
3、重新计算K个簇的中心
4、当所有样本所属的簇不再发生改变或已到达最大迭代次数,停止迭代,否则重复步骤234

当样本数量为M,样本特征维度为D,聚类个数为K,迭代次数为I,K-Means算法的时间复杂度为O(KMDI)。

二、优化目标

J ( c ( 1 ) , c ( 2 ) , . . . , c ( m ) , μ 1 , μ 2 , . . . , μ k ) = 1 m ∑ i = 1 m ∣ ∣ x ( i ) − μ c ( i ) ∣ ∣ 2 m i n J ( c ( 1 ) , c ( 2 ) , . . . , c ( m ) , μ 1 , μ 2 , . . . , μ K ) J{(c^{(1)},c^{(2)},...,c^{(m)},\mu_1,\mu_2,...,\mu_k)} = \frac{1}{m}\sum_{i=1}^m||x^{(i)}-\mu_{c^{(i)}}||^{2} \\min\quad J{(c^{(1)},c^{(2)},...,c^{(m)},\mu_1,\mu_2,...,\mu_K)} J(c(1),c(2),...,c(m),μ1,μ2,...,μk)=m1i=1mx(i)μc(i)2minJ(c(1),c(2),...,c(m),μ1,μ2,...,μK)
c ( i ) 表 示 样 本 x ( i ) 所 属 的 簇 的 索 引 或 序 列 μ k 表 示 第 k 个 聚 类 中 心 的 位 置 ∣ ∣ x ( i ) − μ c ( i ) ∣ ∣ 2 表 示 样 本 x ( i ) 到 该 样 本 所 属 的 聚 类 中 心 距 离 的 平 方 c^{(i)}表示样本x^{(i)}所属的簇的索引或序列 \\\mu_{k}表示第k个聚类中心的位置 \\||x^{(i)}-\mu_{c^{(i)}}||^2表示样本x^{(i)}到该样本所属的聚类中心距离的平方 c(i)x(i)μkkx(i)μc(i)2x(i)

三、随机初始化

随机挑选K个聚类样本,使其为K个聚类中心。
为避免局部最优解,尝试多次随机初始化,多次进行K-Means聚类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值