一边动手一边学习遗传算法(GA)吧💐
首先打开MATLAB中的优化器
了解遗传算法①:模仿生物进化的自然选择过程——
求解无约束和有约束的 非线性优化问题
了解遗传算法②:群体智能算法——
个体:解决问题可能的方案
许多个体组成群体,通过一定更新策略,群体会逐渐向目标进化,从而演化为 最优解
了解遗传算法②:全局最优解——
群体中个体的进化方向不仅是向已知的优解方法,还有一部分会存在随机更新,保持全局搜索的能力。
GA算法在数学建模中的使用
🍹标准优化算法:数学上严格定义的推导,求解速度快,更适合于不复杂的问题,陷入局部最优风险较大。
🍹全局优化求解器:求解不光滑的、高度非线性的、更复杂、传统优化求解器不使用,计算效率低,更易找到全局最优解(目标函数不连续、不可微分、随机或高度非线性)
使用思路:利用GA计算结果作为初始值,再用一种严谨的标准优化算法 😉😉😉
下面来看参数的设置:
混合:利用GA计算结果作为初始值,再用一种标准优化算法,注意存在整数时不能用
视频讲解:https://www.bilibili.com/video/BV1LS4y1e7xW/
BP神经网络
视频讲解:https://www.bilibili.com/video/BV1M5411S746/
是一种按照误差逆向传播算法训练的多层前馈神经网络
属于非线性算法,由输入层、输出层和隐含层构成
优化方向:
- 初始值的优化(权重和偏置)
- 超参数的优化(迭代次数、目标值、学习速率)
- 模型算法层面的优化(神经进化、隐藏层数量)
在满足精度前提下,尽可能减少隐含层数
(1)浅层神经网络样本数据集
GA优化GA优化后的BP神经网络
🐸🐸预测优化
1. 初始权重和偏置的优化——初级
2. 超参数的优化——进化
3. 模型结构的优化——究极
机器学习 | 基于遗传算法的BP神经网络优化算法(附MATLAB代码)
优化算法 | 基于GA的Bp神经网络预测20~21赛季NBA总冠军花落谁家
下面是具体的改进遗传算法优化BP神经网络步骤:https://blog.csdn.net/weixin_46039719/article/details/126657902
(1)初始化BP神经网络,确定网络结构和学习规则,以及遗传算法的染色体长度。
(2)初始化遗传算法的参数(包括迭代次数,种群大小,交叉概率和突变概率等),以及群体选择遗传算法的所需适应度函数。
(3)使用轮盘赌方法选择几条染色体,以满足适应度函数的要求,作为新人口的父系。
(4)通过改变交叉过程和遗传算法的变化,处理男性父母产生新的人口生成。
(5)判断误差是否达到精度,否定的话重新执行(3)(4)步骤,使染色体不断跟新从而使个体不断更新;当达到目标后找到最优染色体并赋值给BP神经网络的初始权重和阈值。