优化算法+神经网络:神经网络自动参数优化

article/2025/7/22 10:22:32

当智能群优化算法遇上神经网络

    • 优化算法进行神经网络的参数寻优,解放深度调参
      • 1.已经实现的Genetic Algorithm优化Neural Network
      • 2.已经实现的PSO优化Neural Network
      • 3.已实现的SSA[^1]优化Neural Network
    • 三种方法的可视化搜索过程对比
    • 三种优化算法性能总结
    • 总结
    • 目前来将任何新出的智能优化算法都可以做神经网络的参数搜索,并且都比较容易应用

优化算法进行神经网络的参数寻优,解放深度调参

最近先立个flag,用python把目前的主流的、新的智能算法与神经网络的参数优化相结合,进行自动参数寻优。寻优参数,不用限制形式,待寻优参数可以使网络层数、激活函数、优化器、初始学习率、网络块的结构、卷积的方式、核大小、步幅、初始化方式、神经元数目、神经元类型等但凡能想得到的“参数”

目前,已经使用了GA算法、PSO算法和SSA算法优化CNN网络进行涡扇发动机数据集的剩余使用寿命预测:

def main():"""进化一个网络."""generations = 50  # 种群进化代数.population = 10  # 种群数量.dataset = 'C-MAPSS'#random.randint()方法里面的取值区间是前闭后闭区间,而np.random.randint()方法的取值区间是前闭后开区间#[a for a in np.arange(1,129,2)]nn_param_choices = {'activation':['relu', 'elu', 'selu', 'LeakyReLU'],'optimizer':['Adam', 'RMSprop', 'Adagrad', 'Adadelta', 'Adamax','Nadam'],'layer_1': [4,8,16,24,32,36,48,64,80,100,128],'layer_2': [0,4,8,16,24,32,36,48,64,80,100,128],'layer_3': [0,4,8,16,24,32,36,48,64,80,100,128],'layer_4': [0,4,8,16,24,32,36,48,64,80,100,128],'kernel_size':[2,3],'Dropout': [0,0.10,0.15,0.20,0.25,0.30],'alpha':[0.05,0.1,0.15,0.2,0.25,0.3],'batch_size':[32,64,128],'decay':[1e-6,5e-6,1e-5,5e-5,1e-4,5e-4],'learning_rate':[0.0001,0.0005,0.001,0.005,0.01,0.05,0.1,0.5,1.0]}#'learning_rate':[0.0001,0.0005,0.0008,0.001,0.005,0.008,0.01,0.05,0.08,0.1]logging.info("***当前进化代数 %d 当前代数种群数量 %d***" %(generations, population))generate(generations, population, nn_param_choices, dataset)
if __name__ == '__main__':main()

1.已经实现的Genetic Algorithm优化Neural Network

GA参数搜索的可视化过程:
在这里插入图片描述

2.已经实现的PSO优化Neural Network

参数搜索和GA通用,单独修改了算法代码。PSO参数搜索可视化过程:

在这里插入图片描述

3.已实现的SSA1优化Neural Network

参数搜索和GA通用,单独修改了算法代码。SSA参数搜索可视化过程:
在这里插入图片描述

三种方法的可视化搜索过程对比

1)三种算法的种群平均适应度的比较
在这里插入图片描述
2)种群最佳个体适应度
在这里插入图片描述

三种优化算法性能总结

GA、PSO和SSA三种优化算法的性能总结:

项目收敛速度收敛值
GA最慢较小
PSO最快最大
SSA较快最小

总结

优化算法搜索出来的神经网络模型效果确实是有一定的提升,但是未必能保证后续每一次运行的结果就能达到优化时那么好的效果。

目前来将任何新出的智能优化算法都可以做神经网络的参数搜索,并且都比较容易应用

当GA、PSO和SSA知道了他们的搜索性能后会发生什么有趣的事?

GA PSO SSA 我是老大,在座的各位都是小弟! 我才是鼻祖! 你觉得谁才是老大? 恕我直言,都是弟弟! 我不是针对谁,我是针对在座的各位! 不要太嚣张,总有后辈会收拾你的! GA PSO SSA

  1. Xue, J., & Shen, B. (2020). A novel swarm intelligence optimization approach: sparrow search algorithm. Systems Science & Control Engineering, 8(1), 22-34. ↩︎


http://chatgpt.dhexx.cn/article/QcZ4o5hC.shtml

相关文章

Java stream().sorted()实现排序(升序、降序、多字段排序)

1 自然排序 sorted()&#xff1a;自然排序&#xff0c;流中元素需实现Comparable接口 package com.entity;import lombok.*;Data ToString AllArgsConstructor NoArgsConstructor public class Student implements Comparable<Student> {private int id;private String …

linux centos查找某个文件,Linux查找命令(文件、文件中的关键字)

1、grep &#xff1a;查找文件中的内容 $ grep [option] pattern [file] 例&#xff1a; $ grep un day Sunday 例: $grep include doulinked.c doulinked1.c doulinked.c:#include doulinked.c:#include doulinked.c:#include doulinked1.c:#include doulinked1.c:#includ…

Linux下查找\命令(收集整理)

以下为总结&#xff0c;其实可直接跳过&#xff0c;查看locate部分&#xff0c;这个是类似windows下verything搜索工具&#xff01; 一.Linux查找文件的相关命令 常 用 命 令 简要中文说明 程序所在目录 whereis 寻找文件工具 /usr/bin find 寻找文件工具 /usr/bin l…

Linux查找命令 which和find命令

目录 前言一、which命令二、find命令 前言 一、which命令 格式&#xff1a; which [选项] 命令|程序名 #默认当找到第一个目标后不再继续查找选项说明-a查找全部内容&#xff0c;而非第一个文件-n<文件名长度>  指定文件名长度&#xff0c;指定的长度必须大于或等于所有…

Linux文件查找的4个命令

1. find find 命令应该是最经典的命令了&#xff0c;谈到搜索工具第一个想到的肯定是 find 命令。但是&#xff0c;find 命令非常强大&#xff0c;想要把它的功能都介绍一遍&#xff0c;恐怕要写好几篇文章。 所以&#xff0c;这里介绍最基本的&#xff0c;根据文件名查找文件…

Linux下的查找命令合集(which/whereis/locate/find)

Linux 下的查找命令有很多&#xff0c;常用的有which、whereis、locate、find。那么这4个命令之间各自有什么特点&#xff0c;又有什么区别&#xff0c;什么时候该用哪个才最合适呢&#xff1f;方便我们在开发和学习中能更加有效的使用。 1、which 该命令主要是用来查找系统P…

【Linux命令】查找文件命令

文章目录 一、查找文件locateupdatedbfind测试条件操作符操作预定义操作自定义操作 find命令选项&#xff08;常用&#xff09; 一、查找文件 locate locate命令会查找其路径名数据库&#xff0c;输出所有包含查找字符串的匹配项&#xff1a; locate settings.xmlupdatedb …

Linux常用查找命令

1、命令名称&#xff1a;which&#xff08;查看命令文件位置和命令可能出现的别名&#xff09; which 命令 2、whereis&#xff08;查找命令及帮助文档所在位置&#xff09; whereis 命令 3、locate&#xff08;按照文件名查找&#xff0c;按照数据库查找&#xff09; locate…

【Linux学习笔记】8. Linux查找命令:find和grep详解

Linux查找命令 find查找文件grep查找字符串 1. find命令 有多种使用方式&#xff1a; 根据文件名搜索根据文件大小搜索根据文件类型搜索根据修改时间搜索根据文件权限搜索根据文件所有者搜索 上面的各种方式可以利用逻辑与或非组合起来使用。 功能一&#xff1a;按文件名…

linux查找命令,文件就这些which,whereis,locate,find,grep,|

linux生产中我们经常需要查看某个软件是否安装&#xff0c;某个文件在哪里等&#xff0c;某个命令是否存在等。 1. which 查看可执行文件的位置 which命令的作用是&#xff0c;在PATH变量指定的路径中&#xff0c;搜索某个系统命令的位置&#xff0c;并且返回第一个搜索结果…

linux 查找命令

CentOS Linux学习笔记总结(八十六)-CentOS Linux系统的查找命令find find命令是用于在指定目录下查找文件,并可以对查找到的文件进行指定的操作。它的查找是从指定目录开始,并向下递归搜索它的所有各个子目录,查到后标准输出,并对其进行指定操作。 find语法: find [参…

Linux下4个查找命令which、whereis、locate、find

1.which 作用:从环境变量PATH中,定位、返回与指定名字相匹配的可执行文件所在的路径 原理:执行which命令时,which会在当前环境变量PATH中依次寻找能够匹配所找命令名字的可执行文件 适用场合:一般用于查找命令、可执行文件所在的路径 2.whereis 作用:定位、返回与指定名字…

Linux 查找命令(find、locate 、grep )

学习Linux系统的第五篇博客&#xff1a;学习如何查询文件。 一、find 命令 作用&#xff1a; 在指定范围内迅速查找到文件。 用法&#xff1a; find 路径 参数 文件名 例如&#xff1a; 查找自己账户下文件名为test.txt的文件 命令&#xff1a;find /home/ygt -name test.tx…

景区门票管理系统

1、项目介绍 景区门票管理系统拥有两种角色 管理员&#xff1a;景点管理、留言管理、用户管理、订单管理等 用户&#xff1a;留言、门票购买、修改个人信息等 2、项目技术 后端框架&#xff1a; Servlet、mvc模式 前端技术&#xff1a;Bootstrap、jsp、css、JavaScript、…

景点景区门票购买核销宴会活动报名公众号系统开发

景点景区门票购买核销宴会活动报名公众号系统开发 功能特性 1.活动管理 可以新建一场或多场活动&#xff0c;管理每一场活动&#xff1b;与此同时&#xff0c;可以添加多张收费或免费门票&#xff0c;满足特定的需求&#xff1b;填写举办城市后&#xff0c;客户可通过定位服务&…

条件判断练习:门票价格【Python练习】

if-else语句 在 Python 中&#xff0c;if-else语句用于控制程序执行&#xff0c;基本形式为&#xff1a; if 判断语句1&#xff1a; step1 else:step2当判断语句1为真时&#xff0c;执行step1&#xff0c;否则执行step2。例如&#xff1a; name choose #判断变量name是否…

旅游景区怎么在抖音上卖门票?

抖音日活超8亿&#xff0c;流量巨大&#xff0c;而且是国内最大的短视频平台。 而景区拥有优美自然旅游资源&#xff0c;可以源源不断产出优质视频&#xff0c;非常适合短视频宣传&#xff0c;抖音如今堪称景区必做的营销渠道。 景区也想要在抖音上售卖门票&#xff0c;减少客户…

Java 一个景区根据游人的年龄收取不同价格的门票。请编写游人类,根据年龄段决定能够购买的门票价格并输出说明:11岁到59岁的门票是20,10岁及以下免票,60岁以上10元。

先创建一个类&#xff0c;储存信息。 package sqy; import java.util.Scanner; public class Passager {String name;int age;public void piaojia() {do {Scanner in new Scanner(System.in);System.out.print("请输入姓名(输入n&#xff0c;退出程序)&#xff1a; &qu…

送点门票给大家

阅读文本大概需要 2.6 分钟。 先说一句&#xff0c;昨天的文章又被和谐了&#xff0c;搞不懂&#xff0c;其实我感觉也没说啥敏感的吧&#xff0c;说的都是大实话&#xff0c;哎&#xff0c;这年头&#xff0c;实话都不敢随便说了&#xff0c;大号连续被和谐&#xff0c;再乱说…

多平台购买门票,退款中的被消费,导致损失两张门票的屎蛋经历(追回钱的过程深刻展示了中国式踢皮球)

一、事由&#xff1a; 美团买了瓦屋山门票&#xff0c;购买后发现支付宝的更便宜&#xff0c;就退了美团的&#xff08;退款周期4天&#xff09;&#xff0c;结果第二天把退款中的消费了…………what fck&#xff0c;&#xff0c;&#xff0c;作为程序猿&#xff0c;这屎蛋逻辑…