用人话理解Kmeans聚类

Kmeans聚类

1. 层次聚类 vs 非层次聚类

    不同类之间有无包含关系

2. 硬聚类 vs 软聚类

    硬聚类:每个对象只属于一个类

    软聚类:每个对象以概率属于某个类。比如:样本1:A-0.8,B-0.1,C-0.1

3. 各样本之间的距离

    ① 将特征向量化,每个样本表示为高维空间的一个点

    ② 计算各个点之间的距离(距离与相似度成反比

  1. 欧氏距离:\sqrt {\sum\limits_i {​{​{(x_i^{(1)} - x_i^{(2)})}^2}} }
  2. 曼哈顿距离:\sum\limits_i {|x_i^{(1)} - x_i^{(2)}|}
  3. 余弦相似度:余弦相似度
  • 质心:质心

 4. 层次聚类

    自底向上:凝聚层次聚类

    自顶向下:分裂层次聚类

    算法描述:

  1. 每一个对象归为一类,共M类,每类只有一个对象
  2. 计算每一个类与其他类之间的距离
  3. 找到最接近的两个类合并长一个类A
  4. 删除其他类与类A内各类的距离

         删除类A内各类与其他类的距离

         插入其他类与类A的距离

         更新类A与其他类的距离

     5. 重复 3 4 直到最后合并为一个类为止(此类包含N个对象)

第二步中,计算类间距离的方法有三种:

  • 单链:计算最近两个对象的距离,倾向先把大类聚在一起
  • 全链:计算最远两个对象的距离,倾向先把小类聚在一起
  • 组合链:质心之间的距离

算法复杂度 O(M^3)

5. Kmeans聚类 

算法描述:

  1. 任意选择k个点作为初始聚类中心
  2. 计算每个对象到这k个点的距离,到哪个点最近,就归为哪一类
  3. 重新计算这k个类的聚类中心(质心)
  4. 重复 2 3 直到聚类中心变化不大或者损失函数L(C) = \sum\limits_{k \in K} {\sum\limits_{i \in k} {||{x^{(i)}} - {c^{(k)}}|{|^2}} }变化不大,xi是该类的样本,ck是该类的聚类中心

算法复杂度 O(M*K*T) T是迭代次数

算法缺点:

  1. 非常依赖于初始点的选择,如何选择初始点?多次训练,取使L(C)最小的初始点
  2. k取多少合适?看业务
  3. 适用于球面聚类

 6. 评价方法

(1)内部评价(用于无监督)

判断标准:同类是否相似,异类是否相异

聚类评价

σi:类内各对象到该类聚类中心的平均距离

ci:该类的聚类中心

(2)外部评价(用于有监督学习)

 分类预测类别
 y1y2
实际类别y1C11C12
y2C21C22

准确度

准确度

精确率

精确率

召回率

召回率

F值  

F值

β越小,越倾向于精确率;β越大,越倾向于精确率和召回率的混合。 

最常见是β=1,此时就是常见的F1值

AUC

 

欢迎转载,转载请标明出处。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值