资源简介
Shu-ChuanChu受到猫日常行为动作的启发,于2006年提出了猫群算法。算法最大特征表现为在进化过程中能够同时进行局部搜索和全局搜索,具有很好的收敛速度
代码片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%函数名称:C_CSO()
%参数:m_pattern:样品特征库;patternNum:样品数目
%返回值:m_pattern:样品特征库
%函数功能:按照猫群聚类法对全体样品进行分类
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[m_pattern]=C_CSO(m_patternpatternNum)
disType=DisSelDlg(); %获得距离计算类型
[centerNum iterNum]=InputClassDlg(); %获得类中心数和最大迭代次数
CatNum=200; %初始化猫数目
SMP=5; %记忆池大小
CDC=1; %每个样品特征值的变化概率
SRD=0.2; %每个样品的变化值范围
%初始化中心和速度
global Nwidth;
for i=1:centerNum
m_center(i).feature=zeros(NwidthNwidth);
m_center(i).patternNum=0;
m_center(i).index=i;
m_velocity(i).feature=zeros(NwidthNwidth);
end
%初始化猫
for i=1:CatNum
cat(i).location=m_center; %猫各中心
cat(i).velocity=m_velocity; %毛各中心速度
cat(i).fitness=0; %适应度
cat(i).flag=0; %个体猫所属的行为模式标志:flag=0时为搜寻模式,flag=1时为跟踪模式
end
C_gd.location=m_center; %全局猫最优中心
C_gd.velocity=m_velocity %全局猫最优速度
C_gd.fitness=0; %猫全局最优适应度
C_gd.string=zeros(1patternNum);
for i=1:CatNum %生成随机猫分布矩阵
ptDiterb(i:)=ceil(rand(1patternNum)*centerNum);
end
%生成初始猫群
for i=1:CatNum
for j=1:patternNum
m_pattern(j).category=ptDitrib(ij);
end
for j=1:centerNum
m_center(j)=CalCenter(m_center(j)m_patternpatternNum);
end
Cat(i).location=m_center;
end
%初始化参数
R=2; %跟踪模式位移方程系数
for iter=1:iterNum
for i=1:CatNum
Cat(i).flag=0;
end
index=randperm(CatNum);
for i=1:CatNum*0.02
Cat(index(i)).flag=1; %随机从种群中选择2%个猫执行跟踪模式,其他为搜寻模式
end
end
%更新猫速度、位置
for i=1:CatNum
if Cat(i).flag==1; %跟踪行为
for j=1:centerNum
Cat(i).velocity(j).feature=Cat(i).velocity(j).feature+R*rand(NwidthNwidth).*(C_gd.location(j).feature-Cat(i).location(j).feature);
Cat(i).location(j).feature=Cat(i).location(j).feature+Cat(i).velocity(j).feature;
end
%最近零聚类
for j=1:patternNum
min=inf;
for k=1:centerNum
tempDis=GetDistance(m_pattern(j)Cat(i).location(k)disType);
if(tenmDis min=tempDis;
m_pattern(j).category=k;
ptDitrib(ij)=k;
end
end
%重新计算聚类中心
for k=1:centerNum
Cat(i).location(k)=CalCenter(Cat(i).location(k)m_patternNum);
end
end
%计算猫适应度
temp=0;
for j=1:patternNum
temp=temp+GetDistance(m_pattern(j)Gat(i).location(ptDituib(ij))disType);
end
if(temp==0) %最优解,直接退出
iter=iterNum+1;
break;
end
Cat(i).fitness=1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5609 2013-07-09 12:17 Cat.m
----------- --------- ---------- ----- ----
5609 1
相关资源
- 细菌觅食算法与粒子群优化算法相结
- 一种显著性特征检测算法
- 粒子群算法路径规划动画演示
- DPSO离散粒子群算法解决旅行商问题
- 独立分量ICA图像特征提取程序和图片
- SVM的手写数字识别(Handwriting recogni
- 人工蜂群算法优化无刷直流电机PID控
- 高斯混合模型(GMM)
- PSO SVM SVM用于分类时的参数优化
- LBP特征提取的MATLAB实现
- 粒子群算法优化极限学习机的参数
- haar-like特征的提取代码
- 基于蚁群算法的机器人路径规划(避
- 以全控型器件和PWM 技术为特征的二极
- 改进后的离散粒子群算法 (discrete
- PSO粒子群5种改进算法实例源码
- 粒子群求解电力系统机组组合优化问
- 基于粒子群算法的最短路径设计和实
- matlab 粒子群算法 路径规划
- 时域、频域特征提取
- 振动信号频域特征提取算法
- SIFT特征匹配matlab版.rar
- hog特征提取matlab实现
- 粒子群算法与灰狼优化结合算法PSO-
- 路径规划 matlab 粒子群算法
- 粒子群算法PSO应用于神经网络优化m
- GWO灰色狼群优化算法MATLAB源码详细中
- 智能微网粒子群优化算法.zip
- 基于改进型蜂群算法的无线传感器节
- MATLAB遗传粒子群GAPSOPID参数优化设计
评论
共有 条评论