智能优化算法应用:基于麻雀搜索优化K-means图像分割算法 - 附代码
智能优化算法应用:基于麻雀搜索优化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∑kx∈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∣1x∈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∣1x∈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∑kx∈Ci∑∣∣x−ui∣∣2
该适应度函数与kmeans的最小损失函数一致。
算法的具体流程如下:
1.随机抽样待分类数据点,作为麻雀搜索聚类候选点。
2.利用麻雀搜索算法搜索最小损失的的聚类点。
3.将这些聚类点作为kmeans算法的初始聚类点。
4.利用kmeans获得最终的聚类点。
3.算法实验结果
将基于麻雀搜索优化的Kmeans算法用于图像的分割实验。对于图像,选取10%的像素点作为聚类候选点。
对于灰度图像聚类个数2,3,4的结果如下图所示:
对于彩色图像的聚类效果如下图所示:
收敛曲线:
4.Matlab代码
个人资料介绍
智能优化算法应用:基于麻雀搜索优化K-means图像分割算法 - 附代码相关推荐
- 【优化求解】基于水母搜索优化器JS算法求解最优目标matlab源码
1 简介 1.1 人工水母算法原理背景 水母生活在世界上不同深度和温度的水中.它们酷似钟状,一些水母的直径小于1cm,然有些水母直径则非常大.它们有各种各样的颜色.大小和形状.大多数水母偏好海洋环境 ...
- 【优化求解】基于水母搜索优化器JS算法求解多目标优化问题matlab源码
1 简介 1.1 人工水母算法原理背景 水母生活在世界上不同深度和温度的水中.它们酷似钟状,一些水母的直径小于1cm,然有些水母直径则非常大.它们有各种各样的颜色.大小和形状.大多数水母偏好海洋环境 ...
- 基于麻雀搜索算法优化的支持向量机回归预测-附代码
基于麻雀搜索算法优化的支持向量机预测及其MATLAB代码实现 文章目录 基于麻雀搜索算法优化的支持向量机预测及其MATLAB代码实现 1. 基于麻雀搜索算法优化的支持向量机预测简介 1.1 支持向量机 ...
- 基于超像素的多视觉特征图像分割算法研究
0.引言 背景: 经典聚类算法:Kmeans.FCM 现有问题: 1)现有算法大都是基于单一的视觉特征而设计的,eg:基于颜色特征的分割. 2)没有考虑像素周围的空间信息:分割结果:多噪声,缺乏区域性 ...
- 混沌麻雀搜索优化算法-附代码
混沌麻雀搜索算法 文章目录 混沌麻雀搜索算法 1.麻雀搜索算法 2.Tent 混沌及高斯变异 2.1 Tent 混沌 2.2 高斯变异 3.混沌麻雀搜索优化算法 4.实验结果 5.参考文献 6.Mat ...
- 自适应变异麻雀搜索优化算法
文章目录 一.理论基础 1.麻雀搜索算法 2.改进麻雀搜索算法 2.1 猫映射混沌初始化种群 2.2 Tent混沌和柯西变异扰动策略 2.2.1 Tent混沌扰动 2.2.2 柯西变异 2.3 改进探 ...
- 混沌麻雀搜索优化算法
文章目录 一.理论基础 1.麻雀搜索算法 2.Tent混沌及高斯变异 2.1 Tent混沌 2.1.1 Tent混沌序列 2.1.2 Tent混沌扰动 2.2 高斯变异 3.改进麻雀搜索算法 二.仿真 ...
- 【多目标优化求解】基于matlab灰狼优化算法求解多目标优化问题 【含Matlab源码 007期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[多目标优化求解]基于matlab灰狼优化算法求解多目标优化问题 [含Matlab源码 007期] 获取代码方式2: 通过订阅紫极神光博客 ...
- 路径规划算法:基于入侵杂草优化的路径规划算法- 附代码
路径规划算法:基于入侵杂草优化的路径规划算法- 附代码 文章目录 路径规划算法:基于入侵杂草优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法 ...
- 基于麻雀搜索算法优化的lssvm回归预测
基于麻雀搜索算法优化的lssvm回归预测 - 附代码 文章目录 基于麻雀搜索算法优化的lssvm回归预测 - 附代码 1.数据集 2.lssvm模型 3.基于麻雀算法优化的LSSVM 4.测试结果 5 ...
最新文章
- matlab如何进对图像进行透视变换,在Matlab中实现透视变换的方法 | 学步园
- python 连接db2_大迷糊的博客
- 当我们在谈论 Deep Learning:AutoEncoder 及其相关模型
- 数据集-用于数据挖掘、信息检索、知识发现等
- OkHttp3中的代理与路由
- PHP 获取页面地址参数详解整理
- c++中调用Com组件的方法详解
- CUDA Eclipse Nsight 不能打开工程 an error has occurred see the log file
- CodeSmith注册机,支持5.2.2和5.2.1版
- linux 软件 runtime,Objective-C中runtime机制的应用
- 三角形周长最短问题_2019年中考数学压轴题分析——最短路径问题8:造桥选址...
- python画条形图-python使用Matplotlib画条形图
- php循环,die/exit脚本执行控制,文件载入及错误控制
- JNA模拟复杂的C类型——Java映射char*、int*、float*、double*
- work文档,Excel表格常用快捷键
- 【回炉重造系列】之Spring AOP简介
- 感冒发烧没想象中可怕:人体自我保护清除体内感染
- 【历史上的今天】8 月 10 日:“龙芯”点亮操作系统;谷歌宣布拆分;计算机先驱诞生日
- 继承的学习总结与感悟
- yolo-v3代码学习