IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 实战案例:BP神经网络结合遗传算法寻优(优化)工艺参数及代码实现 -> 正文阅读

[人工智能]实战案例:BP神经网络结合遗传算法寻优(优化)工艺参数及代码实现

目录

摘要

1 工艺参数优化问题

1.1 确定输入变量及其寻优范围(13个属性因素,252组)

1.2 确定优化目标,即输出变量(体脂含量指标,单输出,252组)

2 工艺参数优化问题求解的流程设计

3 部分代码

3.1 BPNN.m

3.2 GA.m

4 运行结果

4.1 BP

4.2 遗传算法和BP结合,极值寻优?

5 全部代码


摘要

通过BP 神经网络确定预测模型后,结合遗传算法GA对身体脂肪含量的影响参数进行寻优,获得身体脂肪含量最低(1/ 体脂含量的值最大)的最佳工艺参数。

1 工艺参数优化问题


?

1.1 确定输入变量及其寻优范围(13个属性因素,252组)


1.年龄(年) [20 100]

2.重量(磅)[115 365]

3.高度(英寸) [25 80]

4.颈围(厘米)[30 60]

5.胸围(厘米)[78 140]

6.腹部2周长(厘米)[65 150]

7.臀围(厘米)[80 150]

8.大腿围(厘米)[45 90]

9.膝围(厘米)[30 50]

10.踝围(厘米)[18 35]

11.二头肌(延长)周长(厘米)[20 50]

12.前臂周长(厘米)[20 40]

13 腕围(厘米)[15 25]

1.2 确定优化目标,即输出变量(体脂含量指标,单输出,252组)


1. 身体脂肪含量

将身体脂肪含量最低的寻优问题,通过对数据取倒数,转换为求解脂肪含量倒数的最大值问题,并求得相应的各个输入变量的最优值。

由于遗传算法具有智能优化算法的随机性特点,每次求得的极大值都不一定是全局最大值,因此,可独立运行30次遗传算法寻优,统计每次寻优的极大值和最佳工艺参数取值,记录在结果表格中。

2 工艺参数优化问题求解的流程设计

在身体脂肪含量的影响参数优化过程中,神经网络训练拟合主要有网络的构建、样本数据训练、身体脂肪含量值(倒数值)预测三步。遗传算法极值寻优部分把训练后的BP神经网络预测体脂含量值(倒数值)作为个体适应度值,经一系列的选择、交叉、变异等遗传操作得出能够使身体脂肪含量最低(倒数值最大)的工艺参数。

工艺参数优化流程图如下,包含BP神经网络训练、测试和遗传算法极值寻优两个部分:

对工艺参数采用实数编码,每个个体由所优化的13个参数组合而成,选用身体脂肪含量的倒数值作为适应度函数,优化目标为求得最佳参数使得适应度值最大。

3 部分代码

3.1 BPNN.m

%% BP主程序
% 清空环境变量
clear, close all
clc
warning off
tic

%% 读取数据
data = xlsread('数据.xlsx', 'Sheet1', 'B2:O253');   
tic
% 训练/测试数据
input = data(:,1:end-1);
output= data(:,end);
nwhole=size(data,1);
train_ratio=0.9;             %训练集比例
ntrain=round(nwhole*train_ratio);
ntest =nwhole-ntrain;


%% 构建BP网络
%初始化网络结构
hiddennum=10; %隐含层节点个数
net=newff(inputn,outputn,hiddennum,{'tansig','purelin'},'trainlm');% 建立BP模型

% 网络参数
net.trainParam.epochs=1000;         % 训练次数
net.trainParam.lr=0.1;                   % 学习速率
net.trainParam.goal=0.00001;      % 训练目标最小误差
net.trainParam.mc=0.01;                 % 动量因子

3.2 GA.m

%% 使用遗传算法寻优BP输入的工艺参数,目标为求取输出最大及相应的最佳输入参数取值
% 清空环境变量
clear 
clc
addpath('gatoolf')
format shortg

%% 遗传算法参数设置
gen = 100;              % 最大迭代次数  100-300
popsize = 30;          % 种群规模     30-50

S =13; % 自变量个数, 由实际问题确定

bound = [20 115 25 30 78 65 80 45 30 18 20 20 15;   % 优化参数的下界 S = 13个, 按实际问题来确定变量范围的下界
    100 365 80 60 140 150 150 90 50 35 50 40 25];    % 优化参数的上界 S = 13个, 按实际问题来确定变量范围的下界

%% 初始化种群


4 运行结果

4.1 BP

?

?

4.2 遗传算法和BP结合,极值寻优?

?

?

5 全部代码

MATLAB代码地址icon-default.png?t=L9C2https://mianbaoduo.com/o/bread/mbd-YZ6WmZdt

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-16 19:38:58  更:2021-10-16 19:39:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 10:31:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码