智能优化算法应用:基于麻雀搜索优化K-means图像分割算法 - 附代码

文章目录

  • 智能优化算法应用:基于麻雀搜索优化K-means图像分割算法 - 附代码
    • 1.K-means原理
    • 2.基于麻雀搜索算法的Kmeans聚类
    • 3.算法实验结果
    • 4.Matlab代码

摘要:基于麻雀搜索优化K-means图像分割算法。

1.K-means原理

K-Means算法是一种无监督分类算法,假设有无标签数据集:
X=[x1,x2,...,xn](1)X = [x_1,x_2,...,x_n] \tag{1} X=[x1​,x2​,...,xn​](1)
该算法的任务是将数据集聚类成kkk簇C=C1,C2,...,CkC = C_1,C2,...,C_kC=C1​,C2,...,Ck​,最小化损失函数为:
E=∑i=1k∑x∈Ci∣∣x−ui∣∣2(2)E = \sum_{i=1}^k\sum_{x\in C_i}||x-u_i||^2 \tag{2} E=i=1∑k​x∈Ci​∑​∣∣x−ui​∣∣2(2)
其中uiu_iui​为簇的中心点:
ui=1∣Ci∣∑x∈Cix(3)u_i = \frac{1}{|C_i|}\sum_{x\in C_i}x \tag{3} ui​=∣Ci​∣1​x∈Ci​∑​x(3)
要找到以上问题的最优解需要遍历所有可能的簇划分,K-Mmeans算法使用贪心策略求得一个近似解,具体步骤如下:

1.在样本中随机选取kkk个样本点充当各个簇的中心点{u1,u2,...,uk}\{u_1,u_2,...,u_k\}{u1​,u2​,...,uk​}

2.计算所有样本点与各个簇中心之间的距离dist(xi,uj)dist(x_i,u_j)dist(xi​,uj​),然后把样本点划入最近的簇中xi∈unearestx_i \in u_{nearest}xi​∈unearest​

3.根据簇中已有的样本点,重新计算簇中心
ui=1∣Ci∣∑x∈Cixu_i = \frac{1}{|C_i|}\sum_{x\in C_i}x ui​=∣Ci​∣1​x∈Ci​∑​x

4.重复2、3

K-means算法得到的聚类结果严重依赖与初始簇中心的选择,如果初始簇中心选择不好,就会陷入局部最优解.因此初始簇中心的选择非常重要。本文利用麻雀优化算法对初始簇中心进行优化,改进其容易陷入局部最优的特点。

2.基于麻雀搜索算法的Kmeans聚类

麻雀搜索算法的具体原理参考博客:https://blog.csdn.net/u011835903/article/details/108830958

适应度函数:利用麻雀搜索算法改进kmeans时,以聚类中心作为麻雀算法的优化变量,适应度函数设计如下:
fitness=∑i=1k∑x∈Ci∣∣x−ui∣∣2fitness = \sum_{i=1}^k\sum_{x\in C_i}||x-u_i||^2 fitness=i=1∑k​x∈Ci​∑​∣∣x−ui​∣∣2
该适应度函数与kmeans的最小损失函数一致。

算法的具体流程如下:

1.随机抽样待分类数据点,作为麻雀搜索聚类候选点。

2.利用麻雀搜索算法搜索最小损失的的聚类点。

3.将这些聚类点作为kmeans算法的初始聚类点。

4.利用kmeans获得最终的聚类点。

3.算法实验结果

将基于麻雀搜索优化的Kmeans算法用于图像的分割实验。对于图像,选取10%的像素点作为聚类候选点。

对于灰度图像聚类个数2,3,4的结果如下图所示:

对于彩色图像的聚类效果如下图所示:


收敛曲线:

4.Matlab代码

个人资料介绍

智能优化算法应用:基于麻雀搜索优化K-means图像分割算法 - 附代码相关推荐

  1. 【优化求解】基于水母搜索优化器JS算法求解最优目标matlab源码

    1 简介 1.1  人工水母算法原理背景 水母生活在世界上不同深度和温度的水中.它们酷似钟状,一些水母的直径小于1cm,然有些水母直径则非常大.它们有各种各样的颜色.大小和形状.大多数水母偏好海洋环境 ...

  2. 【优化求解】基于水母搜索优化器JS算法求解多目标优化问题matlab源码

    1 简介 1.1  人工水母算法原理背景 水母生活在世界上不同深度和温度的水中.它们酷似钟状,一些水母的直径小于1cm,然有些水母直径则非常大.它们有各种各样的颜色.大小和形状.大多数水母偏好海洋环境 ...

  3. 基于麻雀搜索算法优化的支持向量机回归预测-附代码

    基于麻雀搜索算法优化的支持向量机预测及其MATLAB代码实现 文章目录 基于麻雀搜索算法优化的支持向量机预测及其MATLAB代码实现 1. 基于麻雀搜索算法优化的支持向量机预测简介 1.1 支持向量机 ...

  4. 基于超像素的多视觉特征图像分割算法研究

    0.引言 背景: 经典聚类算法:Kmeans.FCM 现有问题: 1)现有算法大都是基于单一的视觉特征而设计的,eg:基于颜色特征的分割. 2)没有考虑像素周围的空间信息:分割结果:多噪声,缺乏区域性 ...

  5. 混沌麻雀搜索优化算法-附代码

    混沌麻雀搜索算法 文章目录 混沌麻雀搜索算法 1.麻雀搜索算法 2.Tent 混沌及高斯变异 2.1 Tent 混沌 2.2 高斯变异 3.混沌麻雀搜索优化算法 4.实验结果 5.参考文献 6.Mat ...

  6. 自适应变异麻雀搜索优化算法

    文章目录 一.理论基础 1.麻雀搜索算法 2.改进麻雀搜索算法 2.1 猫映射混沌初始化种群 2.2 Tent混沌和柯西变异扰动策略 2.2.1 Tent混沌扰动 2.2.2 柯西变异 2.3 改进探 ...

  7. 混沌麻雀搜索优化算法

    文章目录 一.理论基础 1.麻雀搜索算法 2.Tent混沌及高斯变异 2.1 Tent混沌 2.1.1 Tent混沌序列 2.1.2 Tent混沌扰动 2.2 高斯变异 3.改进麻雀搜索算法 二.仿真 ...

  8. 【多目标优化求解】基于matlab灰狼优化算法求解多目标优化问题 【含Matlab源码 007期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[多目标优化求解]基于matlab灰狼优化算法求解多目标优化问题 [含Matlab源码 007期] 获取代码方式2: 通过订阅紫极神光博客 ...

  9. 路径规划算法:基于入侵杂草优化的路径规划算法- 附代码

    路径规划算法:基于入侵杂草优化的路径规划算法- 附代码 文章目录 路径规划算法:基于入侵杂草优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法 ...

  10. 基于麻雀搜索算法优化的lssvm回归预测

    基于麻雀搜索算法优化的lssvm回归预测 - 附代码 文章目录 基于麻雀搜索算法优化的lssvm回归预测 - 附代码 1.数据集 2.lssvm模型 3.基于麻雀算法优化的LSSVM 4.测试结果 5 ...

最新文章

  1. matlab如何进对图像进行透视变换,在Matlab中实现透视变换的方法 | 学步园
  2. python 连接db2_大迷糊的博客
  3. 当我们在谈论 Deep Learning:AutoEncoder 及其相关模型
  4. 数据集-用于数据挖掘、信息检索、知识发现等
  5. OkHttp3中的代理与路由
  6. PHP 获取页面地址参数详解整理
  7. c++中调用Com组件的方法详解
  8. CUDA Eclipse Nsight 不能打开工程 an error has occurred see the log file
  9. CodeSmith注册机,支持5.2.2和5.2.1版
  10. linux 软件 runtime,Objective-C中runtime机制的应用
  11. 三角形周长最短问题_2019年中考数学压轴题分析——最短路径问题8:造桥选址...
  12. python画条形图-python使用Matplotlib画条形图
  13. php循环,die/exit脚本执行控制,文件载入及错误控制
  14. JNA模拟复杂的C类型——Java映射char*、int*、float*、double*
  15. work文档,Excel表格常用快捷键
  16. 【回炉重造系列】之Spring AOP简介
  17. 感冒发烧没想象中可怕:人体自我保护清除体内感染
  18. 【历史上的今天】8 月 10 日:“龙芯”点亮操作系统;谷歌宣布拆分;计算机先驱诞生日
  19. 继承的学习总结与感悟
  20. yolo-v3代码学习

热门文章

  1. Unity Input键盘输入无反应
  2. 三星android系统应用,三星Android系统文件夹全解
  3. Centos 7.6 挂载硬盘
  4. 许晓斌_Maven实战(四)——基于Maven的持续集成实践
  5. Python实现分卷压缩
  6. 一级建造师考试备考各科知识点记忆技巧
  7. 详解GBase 8c数据库安全之数据透明加密
  8. 一名运维工程师的第一个五年
  9. sam音高修正_音高修正软件melodyne使用方法1中英文对照
  10. Win11如何查看硬盘型号?Win11查看硬盘型号步骤