Demo.m 展示了一个 K-means 分割演示K-means 聚类是聚类和分割中流行的算法之一。 K-means 分割将每个 imgae 像素(具有 rgb 值)视为在空间中具有位置的特征点。 然后,基本的 K 均值算法在多维测量空间中任意定位该数量的聚类中心。 然后将每个点分配给任意平均向量最接近的集群。 该过程一直持续到在算法的连续迭代之间类均值向量的位置没有显着变化。
2021-10-27 06:46:28 13KB matlab
1
第14届认证杯数学建模二阶段C题处理数据,主要用于K-means聚类,大家可以结合博客内容,对经纬度坐标进行聚类。
2021-10-26 19:58:43 168KB 数学建模 K-means 经纬度划分
1
聚类是用于提取有用信息的最重要的数据挖掘技术之一来自微阵列数据。 微阵列数据集可以按样品或基因聚类。 在这研究我们专注于基因聚类问题。 基因聚类的目的是将基因分组相似的表达模式以及共同的信念,即这些基因通常具有相似的功能, 参与特定途径或对共同环境刺激的React。 虽然数百聚类算法存在,非常简单的 K-means 及其变体仍然是最广泛的生物学家和从业者使用的基因聚类算法。 这个令人惊讶的事实可能归因于其特别易于实施和使用。 当微阵列数据归一化为零均值和单位范数时,使用归一化数据的 K 均值算法的变体将更合适。 由于数据点位于单位超球面上,因此该算法称为球面 K 均值算法 (SPK-means)。
2021-10-25 14:33:09 3KB matlab
1
聚类概念 聚类是把相似的东西分到一组,它是一个无监督问题,没有标签使用 难点: 对于有标签的有监督学习问题,标签可以便于我们来评估模型,无监督学习问题在评估上比较难一点 对于不同的参数组合,得到的学习结果,因为比较难对模型做评估,所以不能通过一个精确度的好坏来选择参数组合 K-MEANS算法 K-MEANS算法是聚类问题中,最简单,也是最实用的一个算法 基本概念 一个数据放进来,需要指定K值,来声明要得到簇的个数 质心:一个簇的数据均值,即向量各维取平均即可(迭代时使用) 距离的度量:常用欧几里得距离和余弦相似度(数据需先标准化) 优化目标 通过目标函数进行不断地优化、求解 min∑i=1K∑
2021-10-23 10:22:29 438KB mean ns 学习
1
BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies)天生就是为处理超大规模(至少要让你的内存容不下)的数据集而设计的,它可以在任何给定的内存下运行。关于BIRCH的更多特点先不介绍,我先讲一下算法的完整实现细节,对算法的实现过程搞清楚后再去看别人对该算法的评价才会感受深刻。 你不需要具备B树的相关知识,我接下来会讲得很清楚。 BIRCH算法的过程就是要把待分类的数据插入一棵树中,并且原始数据都在叶子节点上。这棵树看起来是这个样子: 在这棵树中有3种类型的节点:Nonleaf、Leaf、MinCluster,Root可能是一种Nonleaf,也可能是一种Leaf。所有的Leaf放入一个双向链表中。每一个节点都包含一个CF值,CF是一个三元组,其中data point instance的个数,和是与数据点同维度的向量,是线性和,是平方和。比如有一个MinCluster里包含3个数据点(1,2,3),(4,5,6),(7,8,9),则 N=3, =(1+4+7,2+5+8,3+6+9)=(12,15,18), =(1+16+49,4+25+64,9+36+81)。 就拿这个MinCluster为例,我们可以计算它的 簇中心 簇半径 簇直径 我们还可以计算两个簇之间的距离,当然你也可以使用D0,D1,D3等等,不过在这里我们使用D2。 有意思的是簇中心、簇半径、簇直径以及两簇之间的距离D0到D3都可以由CF来计算,比如 簇直径 簇间距离,这里的N,LS和SS是指两簇合并后大簇的N,LS和SS。所谓两簇合并只需要两个对应的CF相加那可 CF1 + CF2 = (N1 + N2 , LS1 + LS2, SS1 + SS2) 每个节点的CF值就是其所有孩子节点CF值之和,以每个节点为根节点的子树都可以看成 是一个簇。 Nonleaf、Leaf、MinCluster都是有大小限制的,Nonleaf的孩子节点不能超过B个,Leaf最多只能有L个MinCluster,而一个MinCluster的直径不能超过T。 算法起初,我们扫描数据库,拿到第一个data point instance--(1,2,3),我们创建一个空的Leaf和MinCluster,把点(1,2,3)的id值放入Mincluster,更新MinCluster的CF值为(1,(1,2,3),(1,4,9)),把MinCluster作为Leaf的一个孩子,更新Leaf的CF值为(1,(1,2,3),(1,4,9))。实际上只要往树中放入一个CF(这里我们用CF作为Nonleaf、Leaf、MinCluster的统称),就要更新从Root到该叶子节点的路径上所有节点的CF值。 当又有一个数据点要插入树中时,把这个点封装为一个MinCluster(这样它就有了一个CF值),把新到的数据点记为CF_new,我们拿到树的根节点的各个孩子节点的CF值,根据D2来找到CF_new与哪个节点最近,就把CF_new加入那个子树上面去。这是一个递归的过程。递归的终止点是要把CF_new加入到一个MinCluster中,如果加入之后MinCluster的直径没有超过T,则直接加入,否则譔CF_new要单独作为一个簇,成为MinCluster的兄弟结点。插入之后注意更新该节点及其所有祖先节点的CF值。 插入新节点后,可能有些节点的孩子数大于了B(或L),此时该节点要分裂。对于Leaf,它现在有L+1个MinCluster,我们要新创建一个Leaf,使它作为原Leaf的兄弟结点,同时注意每新创建一个Leaf都要把它插入到双向链表中。L+1个MinCluster要分到这两个Leaf中,怎么分呢?找出这L+1个MinCluster中距离最远的两个Cluster(根据D2),剩下的Cluster看离哪个近就跟谁站在一起。分好后更新两个Leaf的CF值,其祖先节点的CF值没有变化,不需要更新。这可能导致祖先节点的递归分裂,因为Leaf分裂后恰好其父节点的孩子数超过了B。Nonleaf的分裂方法与Leaf的相似,只不过产生新的Nonleaf后不需要把它放入一个双向链表中。如果是树的根节点要分裂,则树的高度加1。
2021-10-22 18:50:37 4KB K-means Birc
1
实现了把n个二维向量聚类,聚成m个部分,仅供参考。
2021-10-21 18:38:17 3KB K-means
1
【图像分割】基于麻雀搜索优化K-means图像分割算法.md
2021-10-19 16:30:02 6KB 算法 源码
1
给出了一个利用K-means算法进行迭代聚类,并以聚类结果建立彩色图像调色板的算法C该算法在统计图像中各种颜色的RGB组合值出现次数的基础上,以聚类得到的256种颜色建立调色板,从而将BMP格式图像转换成GIF格式。实验表明,这种转换的色彩失真较小。
2021-10-18 18:34:39 2.09MB 自然科学 论文
1
k-means算法的简单实现,可供大家下载学习。如果有什么问题,也可相互讨论
2021-10-17 23:36:49 1KB k-means
1
计算机视觉学习20讲课程matlab源码,亲自测试可以使用。
2021-10-16 11:45:19 105KB 计算机视觉
1