聚类算法

原型聚类—— K − m e a n s K-means Kmeans
输入:样本集 D = { x 1 , x 2 , . . . , x m } D=\left\{x_{1},x_{2},...,x_{m}\right\} D={x1,x2,...,xm},聚类簇数 k k k
输出:簇划分
过程:随机选择 k k k个样本作为初始聚类均值向量,计算每个样本到聚类均值向量的距离,将样本划分到离均值向量最近的簇中,重新计算聚类均值向量。重复上述过程,直到聚类均值向量不再变化或者达到迭代次数。

原型聚类—— L V Q LVQ LVQ
输入:样本集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D=\left\{(x_{1},y_{1}),(x_{2},y_{2}),...,(x_{m},y_{m})\right\} D={(x1,y1),(x2,y2),...,(xm,ym)},原型向量个数 q q q,各原型向量预设类别标记,学习率 η \eta η
输出:簇划分原型向量(簇之间的分割线)
过程:随机选择 q q q个样本作为初始原型向量,随机选择一个样本 ( x j , y j ) (x_{j},y_{j}) (xj,yj),计算其到 q q q个原型向量之间的距离,若距离最近的那个原型向量 q i ∗ q_{i^*} qi的预设类别标记与该样本的标记 y j y_{j} yj相同,更新原型向量 q i = q i + η ∗ ( x j − q i ) q_{i}=q_{i}+\eta*(x_{j}-q_{i}) qi=qi+η(xjqi),即原型向量靠近该样本,若不同,更新原型向量 q i = q i − η ∗ ( x j − q i ) q_{i}=q_{i}-\eta*(x_{j}-q_{i}) qi=qiη(xjqi),即原型向量远离该样本。重复上述过程,直至达到最大迭代次数或者原型向量更新很小或不再更新。

密度聚类—— D B S C A N DBSCAN DBSCAN
输入:样本集 D = { x 1 , x 2 , . . . , x m } D=\left\{x_{1},x_{2},...,x_{m}\right\} D={x1,x2,...,xm},邻域参数 ( ϵ 半 径 , M i n p o i n t s ) (\epsilon半径,Minpoints) (ϵ,Minpoints)
输出:聚类簇
过程:根据邻域参数确定核心对象集合,随机选择一个核心对象,找出由它密度可达的所有样本,形成一个聚类簇。去除聚类簇中包含的核心对象,更新核心对象集合,从新的核心对象集合中随机选择一个核心对象形成下一个聚类簇。重复上述过程,直到核心对象集合为空。

层次聚类—— A G N E S AGNES AGNES
输入:样本集 D = { x 1 , x 2 , . . . , x m } D=\left\{x_{1},x_{2},...,x_{m}\right\} D={x1,x2,...,xm},聚类簇 k k k,聚类簇间距离度量函数 d ( i , j ) = d i s t ( C i , C j ) d(i,j)=dist(C_{i},C_{j}) d(i,j)=dist(Ci,Cj)
输出:聚类簇
过程:将每个样本都看成一个聚类簇,初始化簇距离矩阵 M ( i , j ) = d ( i , j ) M(i,j)=d(i,j) M(i,j)=d(i,j) M M M的维度是聚类簇个数*聚类簇的个数,不断合并距离最近的两个聚类簇,减少聚类簇的个数,并更新簇距离矩阵 M M M,直达聚类簇个数达到预设个数 k k k

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值