机器学习基础 之 聚类


转自: https://www.zhenxiangsimple.com/2019/04/02/tech-ml-jl/


  聚类通常目标是将样本分为几个同的类别,而分类前的样本数据本身通常并没有对应的类别,也称为无监督学习,或者说样本是在聚类后才知道了哪些样本属于一类,而被分好的类别名称是需要用户根据其特征来命名,在分类前是不知道的。

性能度量

  对聚类后的结果进行有效性评估的一种度量方法,通常希望聚类后的样本在类内部相似度高,在不同类之间相似度低,常用的衡量指标有两种:

外部指标

  外表指标指,将聚类结果跟另一个参考模型进行比较,常用的评价指标有:

  1. Jaccard系数(JC:Jaccard Coefficient)
  2. FM指数(FMI:Fowlkes and Mallows Index)
  3. Rand指数(RI:Rand Index)

内部指标

  内部指标指,直接基于聚类结果进行性能的评估,常用的评估指标有:

  1. DB指数(DBI:Davies-Bouldin Index)
  2. Dunn指数(DI:Dunn Index)

距离计算

有序属性

  对于有序属性的样本之间距离的计算,常用的有:

  1. 闵可夫斯基距离: d i s t m k ( x i , x j ) = ( ∑ u = 1 n ∣ x i u − x j u ∣ p ) 1 p dist_{mk}(x_i,x_j)=(\sum_{u=1}^{n}|x_{iu}-x_{ju}|^p)^{\frac{1}{p}} distmk(xi,xj)=(u=1nxiuxjup)p1
  2. 欧氏距离(p=2): d i s t e d ( x i , x j ) = ∣ ∣ x i − x j ∣ ∣ 2 = ∑ u = 1 n ∣ x i u − x j u ∣ 2 dist_{ed}(x_i,x_j)=||x_i-x_j||^2=\sqrt{\sum_{u=1}^{n}|x_{iu}-x_{ju}|^2} disted(xi,xj)=xixj2=u=1nxiuxju2
  3. 曼哈顿距离(p=1): d i s t m a n ( x i , x j ) = ∣ ∣ x i − x j ∣ ∣ = ∑ u = 1 n ∣ x i u − x j u ∣ dist_{man}(x_i,x_j)=||x_i-x_j||=\sum_{u=1}^{n}|x_{iu}-x_{ju}| distman(xi,xj)=xixj=u=1nxiuxju

无序属性

V D M p ( a , b ) = ∑ i = 1 k ∣ m u , a , i m u , a − m u , b , i m u , b ∣ p VDM_p(a,b) = \sum_{i=1}^{k}|\frac{m_{u,a,i}}{m_{u,a}}-\frac{m_{u,b,i}}{m_{u,b}}|^p VDMp(a,b)=i=1kmu,amu,a,imu,bmu,b,ip

原型聚类

  原型聚类顾名思义就是基于某个原型进行聚类的方法,根据不同的原型有不同的聚类算法,常用的原型算法如下:

k均值算法

  核心原理就是不断求各样本到当前各类别之间的距离,每个样本选择距离最近的类别,每次所有样本分类结束后重新求得各类别的中心位置,再继续迭代,直到所有样本分类不再变化。
E = ∑ i = 1 k ∑ x ∈ C i ∣ ∣ x − u i ∣ ∣ 2 E=\sum_{i=1}^{k}\sum_{x\in{C_i}}||x-u_i||^2 E=i=1kxCixui2

学习向量量化

  核心原理跟k均值算法类似,区别仅在与对每个类别的调整方式,k均值是对所有样本计算结束后对所有样本求均值,而学习向量是根据每个样本计算完成后立即调整类别的中心位置,将样本归类的类别向当前样本靠近,其他所有类别远离当前样本。

高斯混合聚类

  核心原理跟k均值算法一致,区别在于其距离的计算不是使用欧氏距离,而是使用概率模型,认为样本服从高斯分布,从而使用对应的高斯分布对各样本计算,每次计算万所有样本后根据所有样本的计算结果求得新的高斯分布函数,直到达到计算次数或偏差达到阈值内。其中 u i , Σ i , α i u_i,\Sigma_i,\alpha_i ui,Σi,αi分别表示第i个高斯分类的均值、协方差矩阵和权重。
P ( x ) = ∑ i = 1 k α i p ( x ∣ u i , Σ i ) P(x)=\sum_{i=1}^k\alpha_ip(x|u_i,\Sigma_i) P(x)=i=1kαip(xui,Σi)

密度聚类

顾名思义就是基于样本的分布密度来进行分类,其聚类原理是从样本的密度来判别样本之间的关系,从而确定分类类别,最终不断聚类得到最终的聚类结果。其实现过程即为,先设定一些最小密度和分类最大距离阈值,找到满足阈值条件的一个样本作为核心,根据核心样本筛出当前分类,然后从剩下样本中继续寻找,直到将样本分类完。

层次聚类

  核心原理就是将样本分类为不同层次的数据,形成类似树形的结构,常用自底向上或者自顶向下两种方式,前者是先对所有样本进行初步分类,不断合并小的分类形成更大的分类,直到达到预定的分类个数,AGNES即为自底向上分类的一种聚类算法。

点击查看 (人工智能) 系列文章


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放羊郎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值