基于蜜蜂优化算法优化的卷积神经网络(CNN)图像分类——附代码

目录

摘要:

1.蜜蜂优化算法:

2. 卷积神经网络(CNN)

输入层

隐含层

输出层

​3. 本文Matlab代码:​


摘要:

本文通过蜜蜂优化算法,优化了卷积神经网络(CNN)中的超参数,主要是网络的权重和偏差等关键参数,使CNN可以达到更加优秀的性能表现,通过使用优化后的CNN进行图像分类任务,从所得结果可以看出,蜜蜂优化算法对CNN的分类准确度的提升很大,在训练过程中CNN的分类准确度甚至可以达到100%,充分展示了本文所提方法的有效性。

程序已做标准化处理,使用者可以通过替换原始数据为自己的数据,从而实现需要的功能。

1.蜜蜂优化算法:

蜜蜂算法是受自然界中蜜蜂的觅食行为启发而提出的一种优化算法。算法中食物源位置代表优化 问题的一组解,由食物源位置及其近邻域形成一个 小的搜索区域,称为花丛。

在搜索食物的过程中,蜜蜂群首先派出侦察蜂 进行搜索,侦察蜂不断地从一个食物源飞往另一个 食物源,搜索所有可能的食物源。当搜索到食物源 的收益度( 比如糖的含量) 超过一定量时,侦察蜂返 回蜂巢,卸下蜂蜜并在“跳舞板”上跳一种神奇的“摇 摆舞”。这种“摇摆舞”是蜜蜂群进行信息交流的必 要工具,能使整个蜂群了解到所发现食物源的方位、 到蜂巢的距离和收益度。跳完舞后的侦察蜂带领守 候在蜂巢外面的跟随蜂飞回到相应的食物源采蜜, 并且收益度高的食物源将会招募到更多的跟随蜂前 往采蜜。在采蜜过程中,采蜜蜂计算其正在采蜜的 食物源的收益度,并返回蜂巢跳“摇摆舞”,给蜂群传 递当前食物源收益度的信息。如果食物源收益度仍 然较高,将会招募更多的跟随蜂前往采蜜;

该算法需要设置一些参数,即侦察蜂的数量 n,n 个被搜索的食物源中被选中食物源的数量 m,m 个 食物源中最好食物源的数量 e,为最好 e 个食物源招 募的蜜蜂数量 nep,为其它 m - e 个食物源招募的蜜 蜂数量 nsp,食物源近邻搜索半径 ngh 和算法的终止 条件。蜜蜂算法的伪代码如下:

( 1) 初始化种群的随机解; ( 2) 评价种群的适应度; ( 3) 当停止准则不满足时,产生新的种群; ( 4) 为近邻搜索选择食物源; ( 5) 招募蜜蜂到选择的食物源( 为最好的 e 个食 物源招募更多的蜜蜂) 并评价其适应度; ( 6) 从每个花丛中选择适应度最高的蜜蜂; ( 7) 派遣其余的搜索蜂进行随机搜索并评价其 适应度; ( 8) 结束循环

2. 卷积神经网络(CNN)

卷积神经网络是一种多层非线性前馈神经网 络,最初被用于复杂图像的特征识别和提取,以解决 传统图像识别技术仅能提取图像浅层特征的问题, 实现对复杂图像的自动化处理。典型的卷积神经网 络包括输入层、卷积层、激活层、池化层、全连接层和 输出层,如图所示:

求解网络模型参数时,给出损失函数沿网络模 型反向在各层关于模型参数的梯度,并使参数沿梯 度方向更新直至误差收敛,此方法被称为随机梯度下降法等。

输入层

卷积神经网络的输入层可以处理多维数据,常见地,一维卷积神经网络的输入层接收一维或二维数组,其中一维数组通常为时间或频谱采样;二维数组可能包含多个通道;二维卷积神经网络的输入层接收二维或三维数组;三维卷积神经网络的输入层接收四维数组。由于卷积神经网络在域应用较广,因此许多研究在介绍其结构时预先假设了三维输入数据,即平面上的二维像素点和RGB通道。

隐含层

卷积神经网络的隐含层包含卷积层、池化层和全连接层3类常见构筑,在一些更为现代的算法中可能有Inception模块、残差块(residual block)等复杂构筑。在常见构筑中,卷积层和池化层为卷积神经网络特有。卷积层中的卷积核包含权重系数,而池化层不包含权重系数,因此在文献中,池化层可能不被认为是独立的层。以LeNet-5为例,3类常见构筑在隐含层中的顺序通常为:输入-卷积层-池化层-全连接层-输出。

输出层

卷积神经网络中输出层的上游通常是全连接层,因此其结构和工作原理与传统前馈神经网络中的输出层相同。对于图像分类问题,输出层使用逻辑函数或归一化指数函数(softmax function)输出分类标签。在物体识别(object detection)问题中,输出层可设计为输出物体的中心坐标、大小和分类。在图像语义分割中,输出层直接输出每个像素的分类结果。

3. 求解结果:

3. 本文Matlab代码:​

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值