模式识别经典算法——Kmeans图像聚类分割(以最短的matlab程序实现)
来源:互联网 发布:电钢琴推荐 知乎 编辑:程序博客网 时间:2024/05/22 03:24
kmeans之于模式识别,如同“hello world”之于C、之于任何一门高级语言。
算法的规格(specification)
在聚类问题(一般非监督问题)中,给定训练样本
随机选取
k 个聚类中心(cluster centroids)为μ1,μ2,…,μk
C = X(randperm(m*n, k), :); # 程序语言重复一下过程直至收敛
{
对于每一个样本i ,根据最近邻(欧氏距离度量)计算其所属分类c(i):=argminj∥x(i)−μj∥2
对于每一个类j ,重新计算该类的质心(centroids)μj:=∑mi=11{c(i)=j}x(i)∑mi=11{c(i)=j}
}
算法的规格:
- 一个参数
k ,聚类中心的数目,当然也有一些常规的参数,比如最大迭代次数epochs ,容忍度tol - 一个循环,判断目标函数是否变化足够小,以
F 范数(Frobenius norm)为度归。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 一条更新语句,更新各个类的聚类中心,根据每个样本应属的类别(欧式距离最小表征)
这个公式看似高大上,实则不值一提,翻译过来就是新的聚类中心(centroid)在该类别空间的中心处。
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
matlab实现
客户端(client)程序
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
kmeans函数
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
实验结果
目标函数收敛情况
目标函数
matlab计算程序:
- 1
- 1
效果图
阅读全文
0 0
- 模式识别经典算法——Kmeans图像聚类分割(以最短的matlab程序实现)
- 模式识别经典算法——Kmeans图像聚类分割(以最短的matlab程序实现)
- 模式识别经典算法——FCM图像聚类分割(最简matlab实现)
- 基于kmeans聚类算法的图像分割
- matlab粒子群算法结合模糊聚类分割算法实现图像的分割
- java代码 kmeans算法实现 图像分割
- kmeans算法分割图像
- kmeans聚类算法matlab实现
- kmeans聚类算法及matlab实现
- MATLAB并行实现Kmeans聚类算法
- 聚类算法KMeans和KMedoid 的Matlab实现
- 基于经典分割算法的图像内细胞识别与计数(matlab实现)(不定期更新完善)
- matlab下的Kmeans聚类算法
- Kmeans聚类及图像分割
- MATLAB聚类分割程序 图像聚类分割
- matlab实现kmeans算法
- 模糊C均值算法(FCM)分割图像MATLAB程序
- 增加回溯的最短路径算法的matlab实现
- 【Nginx源码剖析-数据结构】数据结构梳理
- 设计一个窗口,窗口中包含有一个文本框,一个标签,两个按钮,当按下“文本一”按纽时,使得“Hello java!”显示在文本框中,按下“文本二”按纽时,使得“你好 Java!” 显示在文本框中(要求两个
- 用手机就能识别车牌号码的开发应用
- Java编写身份证号码判断及其信息
- Android学习日志——第7天(补)
- 模式识别经典算法——Kmeans图像聚类分割(以最短的matlab程序实现)
- Nginx 服务器的启停控制
- Intent Flag启动模式——Android群英传
- 树和二叉树(三)-线索二叉树
- 2014基本贪心1002
- adb shell am broadcast 手动发送广播及adb shell am/pm其他命令
- ssget 用法详解
- 向uboot增加新的命令
- Lua split