k-均值聚类

在二维空间中
根据距离的邻近关系划分为两类
假设:
空间中有N个点,每个点的取值为{Xi},i=1,2…N,我们要把这N个点划分为K类
对每个点设置一个隐含变量{Zi}i=1,2,…N
Zi的取值范围为1,2…K,为第i个点所属的类别
Ck为第k类的中心
k均值聚类的优化目标
最小化:
E ( Z i , C k ) = 1 N ∑ i = 1 N ∣ ∣ X i − C z i ∣ ∣ 2 E({Z_i,C_k})=\dfrac{1}{N}\sum_{i=1}^N||X_i-C_{z_i}||^2 E(Zi,Ck)=N1i=1NXiCzi2
问题难点
A:不知道每个点的类别归属
B:不知道每个类别的中心
知道A,能用取平均值的方法求出B
知道B能通过计算每个点到所有类别中心欧氏距离取最小的那个值,求出B
期望最大算法(EM算法)
核心思想
假设:知道A和B中的一个
如:对A赋初值,求出B,再根据B更新A,如此循环
k均值算法的流程
1,随机赋值{Zi}=1,2…K //对每个点随机赋一个所属类别
2,求{Ck}
C k = 1 ∑ i = 1 N I ( Z i = k ) ∑ i = 1 − N , Z i = k X i C_k=\dfrac{1}{\sum_{i=1}^NI(Z_i=k)}\sum_{i=1-N,Z_i=k}X_i Ck=i=1NI(Zi=k)1i=1N,Zi=kXi//求第k个类别所有点的平均值
Z_i=k时,I(Zi=k)=1,否则等于0 //求属于第k个类别的个数
3,更新{Zi}i=1-N
Z i = a r g m i n k = 1 − K ∣ ∣ X i − C k ∣ ∣ 2 Z_i=argmin_{k=1-K}||X_i-C_k||^2 Zi=argmink=1KXiCk2
//更新每个点所属类别为离他最近的类别中心的类别
4.回到2直到算法收敛 //单调递减有下界(0)一定收敛
不同的初始类别赋值,获得的结果将可能会不一样
k-均值聚类算法,求的是目标函数的局部最优,不是全局最优。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值