基于BP神经网络和小波变换特征提取的烟草香型分类算法matlab仿真,分为浓香型,清香型和中间香型

news2024/10/7 4:28:56

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

5.算法完整程序工程


1.算法运行效果图预览

2.算法运行软件版本

matlab2022a

3.部分核心程序

......................................................................................
t1                      = clock;                              %计时开始
net                     = fitnet(54);
net.trainParam.epochs   = 1000;                               %设置训练次数
net.trainParam.goal     = 0.00001;                            %设置性能函数
net.trainParam.show     = 1;                                  %每10显示
net.trainParam.Ir       = 0.005;                               %设置学习速率
net                     = train(net,P,T);                     %训练BP网络
datat                   = etime(clock,t1);
Nets                    = net;
% view(Nets);

y = sim(net,P);  

figure;
stem(y,'r');hold on
plot(y,'b-.');hold on
plot(T,'b--','LineWidth',3);hold on
legend('预测数据(归一化)','实际数据(归一化)');
title('香型分类(根据气候进行分类)');

%%
%然后根据化学指标因素进行训练分析
%然后根据化学指标因素进行训练分析
%使用神经网络的相关结果,选择最佳的几个参数作为香型判断指标 
P =  Pc
T =  Tc;
%为了得到最为关键的几个指标,我们对12个指标分别进行训练测试分析,得到影响最精确的指标
%此部分神经网络代码无需变动,只需要修改内部的参数即可。

t1                      = clock;                              %计时开始
net                     = fitnet(34);
net.trainParam.epochs   = 1000;                               %设置训练次数
net.trainParam.goal     = 0.00001;                            %设置性能函数
net.trainParam.show     = 1;                                  %每10显示
net.trainParam.Ir       = 0.005;                               %设置学习速率
net                     = train(net,P,T);                     %训练BP网络
datat                   = etime(clock,t1);
Nets                    = net;
% view(Nets);

y = sim(net,P);  

figure;
stem(y,'r');hold on
plot(y,'b-.');hold on
plot(T,'b--','LineWidth',3);hold on
legend('预测数据(归一化)','实际数据(归一化)');
title('香型分类(根据气候进行分类)');
05_024m

4.算法理论概述

       基于BP神经网络和小波变换特征提取的烟草香型分类算法是一种将模式识别技术与深度学习相结合的方法,旨在通过对烟草样本的香气成分进行高效分析,准确区分浓香型、清香型和中间香型烟草。小波变换是一种时频分析工具,能够在不同尺度下捕捉信号的局部特征,非常适合处理非平稳信号,如烟草香气成分的复杂变化。其基本思想是将原始信号分解为不同尺度的细节和近似分量。

      对于烟草香气成分的分析,首先通过小波变换对每种香气成分的光谱数据进行降维处理和特征提取,保留那些对香型分类具有显著差异性的特征,如特定频率段的能量分布或峰形特征。

      在小波变换之后,通常会进行特征选择或降维处理,以减少计算复杂度并提高分类性能。常用的方法有主成分分析(PCA)、线性判别分析(LDA)等。以PCA为例,其目标是找到一个正交变换,将原始数据转换到一个新的坐标系统中,使得方差最大的方向位于坐标轴上。

       BP神经网络是一种多层前馈网络,通过反向传播算法调整权重和阈值,以减小输出层误差。在烟草香型分类中,BP网络的输入层接收从小波变换中提取的特征向量,隐藏层进行非线性映射,输出层给出属于浓香型、清香型或中间香型的概率。

5.算法完整程序工程

OOOOO

OOO

O

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1710918.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AURIX TC3xx单片机介绍-启动过程介绍3

如下的内容是英文为主,对于TC3xx芯片启动原理不清楚的,可以给我留言,我来解答你们的问题! 3.2.1 Reset类型识别 Reset类型的识别是用来判断上次的复位是Application Reset还是System Reset还是CPU0 Reset。基于复位的原因,启动软件会运行不同的分支逻辑。复位原因可以通…

每日两题 / 131. 分割回文串 42. 接雨水(LeetCode热题100)

131. 分割回文串 - 力扣&#xff08;LeetCode&#xff09; 数据量较小&#xff0c;考虑直接暴力&#xff0c;每次dfs&#xff1a;以bg作为左区间&#xff0c;往右遍历&#xff0c;找到一段回文串区间后&#xff0c;将回文串插入vector<string>&#xff0c;并以下一个下标…

【最优化方法】实验一 熟悉MATLAB基本功能

实验一  熟悉MATLAB基本功能 实验的目的和要求&#xff1a;在本次实验中&#xff0c;通过亲临使用MATLAB&#xff0c;对该软件做一全面了解并掌握重点内容。 实验内容&#xff1a; &#xff11;、全面了解MATLAB系统 &#xff12;、实验常用工具的具体操作和功能 学习建…

PHP:phpmyadmin 将查询数据导出csv

1、输入你的SQL查询出结果 2、查出数据以后拖到最下方【导出】 3、导出CSV

cs61B-sp21 | lab6

cs61B-sp21 | lab6 TODO 1 在 CapersRepository.java 中 static final File CAPERS_FOLDER null; // TODO Hint: look at the join // function in Utils在 Utils.java 我们找到 join 函数&#xff0c;第一个 join 的作用是将 first 和 others 连接起来形成一个路径…

部署LAMP环境

红帽9搭建LAMP 安装Apache 2.安装数据库服务 3.安装php (1)使用IP访问/phpinfo.php 4.安装phpMyAdmin &#xff08;1&#xff09;数据库端口改为学号后五位 &#xff08;2&#xff09;登录phpmyadmin 5.SSH增加一个端口10022&#xff0c;fttp增加两个端口10080和8080 &#xf…

使用python绘制一个五颜六色的爱心

使用python绘制一个五颜六色的爱心 介绍效果代码 介绍 使用numpy与matplotlib绘制一个七彩爱心&#xff01; 效果 代码 import numpy as np import matplotlib.pyplot as plt# Heart shape function def heart_shape(t):x 16 * np.sin(t)**3y 13 * np.cos(t) - 5 * np.cos…

HNU-人工智能-作业3

人工智能-作业3 计科210X 甘晴void 202108010XXX 1.贝叶斯网络 根据图所给出的贝叶斯网络&#xff0c;其中&#xff1a;P(A)0.5&#xff0c;P(B|A)1&#xff0c; P(B|A)0.5&#xff0c; P(C|A)1&#xff0c; P(C|A)0.5&#xff0c;P(D|BC)1&#xff0c;P(D|B, C)0.5&#xff…

链式法则:神经网络前向与反向传播的基石

在深度学习的浪潮中&#xff0c;神经网络以其强大的学习和预测能力&#xff0c;成为解决复杂问题的有力工具。而神经网络之所以能够不断学习和优化&#xff0c;离不开两个核心过程&#xff1a;前向传播和反向传播。其中&#xff0c;链式法则作为微积分学中的一个基本概念&#…

闲鱼电商运营高级课程,一部手机学会闲鱼开店赚钱

课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/89360471 更多资源下载&#xff1a;关注我。 课程内容&#xff1a; 10-9、怎么寻找优质的货源店铺.mp4 11-10、怎么去选择商品图片.mp4 12-11、商品图片的注意避免事项.mp4 13-12、怎么写标题.mp4 …

C++ 基于vs2019创建并使用动态链接库(dll)

库的基本认识 静态库&#xff08;Static Library&#xff09; 基本概念&#xff1a;静态库是在编译时链接到目标程序中的库文件。它包含了程序运行所需的所有函数和数据&#xff0c;这些函数和数据会被直接嵌入到最终生成的可执行文件中。静态库通常以.a&#xff08;在Unix-l…

三步走,Halo DB 安装指引

前文介绍了国产数据库新星 Halo 数据库是什么&#xff0c; 哈喽&#xff0c;国产数据库&#xff01;Halo DB! ★ HaloDB是基于原生PG打造的新一代高性能安全自主可控全场景通用型统一数据库。 业内首次创造性的提出插件式内核架构设计&#xff0c;通过配置的方式&#xff0c;适…

美光拟投巨资在日本广岛建DRAM厂,目标2027年底投产

美光科技&#xff08;Micron Technology&#xff09;据日本媒体报道&#xff0c;计划在日本广岛县新建一座DRAM芯片生产工厂&#xff0c;目标最快于2027年底投入运营。这一举措标志着美光在增强其内存芯片生产能力方面的又一重大步伐。 报道称&#xff0c;新工厂的总投资规模预…

【CALayer-CALayer的基本属性 Objective-C语言】

一、接下来,我们来说这个Layer啊, 1.首先,Layer能接触到的,就是我们之前说截图啊,就是我们self.view里面,有一个layer属性, [self.view.layer renderInContext:(CGContextRef t)]; 那个里面,有一个layer属性,然后呢,是CALayer类型的, 接下来,我们就来学习一…

union all 以及标量子查询执行计划

SELECT 1, (SELECT ID1 FROM TE WHERE IDA.ID2) FROM .TA A WHERE COLA X UNION ALL SELECT 1, (SELECT ID2 FROM TD WHERE IDA.ID1) FROM .TB A WHERE COLA X UNION ALL SELECT 1,COL2 AS PARENT_UUID FROM .TC a WHERE COLA X 三个union all 看着像是5个table joi…

做好开源快速开发平台研发创新 助力行业高效发展!

随着信息化时代的到来&#xff0c;科技的力量无处不在。为了提高办公效率&#xff0c;很多大中型企业倾向于使用更为先进的软件平台来助力企业降本增效。在众多助力神器之中&#xff0c;开源快速开发平台低代码技术平台深得广大新老客户朋友的喜爱&#xff0c;它与生俱来的优势…

Python中Web开发-Django框架

大家好&#xff0c;本文将带领大家进入 Django 的世界&#xff0c;探索其强大的功能和灵活的开发模式。我们将从基础概念开始&#xff0c;逐步深入&#xff0c;了解 Django 如何帮助开发人员快速构建现代化的 Web 应用&#xff0c;并探讨一些最佳实践和高级技术。无论是初学者还…

APM2.8内置罗盘校准

如果你有外置罗盘&#xff0c;可以不用校准内置罗盘&#xff0c;可以忽略此文。推荐使用外置罗盘&#xff0c;内置罗盘容易受干扰。 使用内置罗盘需要插入飞控GPS接口旁边的跳线帽。如图&#xff1a; 如果要使用内置罗盘&#xff0c;而又加了GPS的&#xff0c;记得一定要把GPS…

手机性能过剩?三年前的改名芯片卡顿明显,中端机太弱鸡了

业界人士都喜欢说手机的性能已经严重过剩&#xff0c;笔者近期从运营商购买了两款手机&#xff0c;搭载的芯片是联发科的改名芯片&#xff0c;以及高通的低端芯片&#xff0c;使用中明显卡顿&#xff0c;显示出这些改名芯片的性能早已落后于时代。 其中一款为OPPO A2&#xff0…

【Mybatis】映射文件中获取参数的符号#{}和${}的区别

在xml映射文件中获取参数的符号都是用的#{}的方式&#xff0c;其实Mybatis还支持另一种符号来接收传递过来的参数值&#xff0c;就是${}&#xff0c;他们是区别就在与底层使用jdbc的statement不一样 #{}对应的是PreparedStatementd对象来执行sql语句 ${}对应的是Statement对象…