聚类算法

一.引言

聚类算法是无监督学习,只需要数据,而不需要标记结果,通过学习训练,用于发现共同的群体。本文将介绍几种常见的聚类算法,包括K-means、层次聚类和GMM高斯混合模型等。
层次聚类
k-means聚类
1、聚类算法是什么
给定n个训练样本(未标记),如:{X1,X2,…,Xn},同时给定聚类的个数K。
目标:把比较“接近”的样本放到一个簇类(cluster)里,总共得到K个簇类(cluster)。
2、如何衡量样本距离
下面是几个最常用的距离计算公式:

(1)欧氏距离:
在这里插入图片描述
(2)曼哈顿距离
在这里插入图片描述
(3)核函数映射后距离
在这里插入图片描述
3、如何评价聚类好坏
类间距高,类内距低,通俗地说就是“抱团紧不紧,异族远不远”。

4、应用场景
(1)图片检索:图片内容相似度

(2)图片分割:图片像素相似度

(3)网页聚类:文本内容相似度

(4)社交网络聚类:(被)关注人群、兴趣

(5)电商用户聚类:点击/加车/购买商品、行为序列等

二.K-means 聚类

对于一组数据(x1,x2,x3,x4,xn),给定k值(种类数,即簇),将这组数据根据距离划分到K个集合,使每个集合内平方和最小。
1.算法原理
在这里插入图片描述迭代收敛定义:
(1)聚类中心不在有变化
(2)每个样本到对应聚类中心的距离之和不再有很大变化
损失函数:

假定为K个聚类中心,用表示是否属于聚类K,则损失函数定义如下:
在这里插入图片描述
最小化损失函数的过程是一个NP问题。上面的迭代,是收敛到局部最低点的过程。

2、优缺点

K-means算法优点:
(1)计算复杂度低,为O(Nmq),其中N是数据总量,m是类别(即k),q是迭代次数
(2)原理简单,实现容易,容易解释
(3)聚类效果不错

K-means算法缺点:
(1)对异常值(噪声)敏感,可以通过一些调整(如中心值不直接取均值,而是找均值最近的样本点代替)
(2)需要提前确定K值(提前确定多少类)
(3)分类结果依赖于分类中心的初始化(可以通过进行多次K-means取最优来解决)
(4)属于“硬聚类”,每个样本只能有一个类别。其他的一些聚类方法(GMM或者模糊K-means允许“软聚类”)
(5)对于团状的数据点集区分度好,对于带状(环绕)等非凸形状不太好。(用谱聚类或做特征映射)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值