电子鼻毕业论文

news2024/11/18 3:25:42

面向压埋探测的人体代谢气体识别方法的研究与应用

实现对非目标气体的检测

数据预处理
(1a)标准化
在这里插入图片描述
将采集到的数据先进行变换,统一数量级。其中,xij为第j个传感器的第i个采样值;xj为第 j 个气体传感器的所有采样值,其中i ∈ [1, n],j ∈ [1, m]。m为传感器数目,n为采样总数;`xj表示 xj的平均值;σxj表示xj的标准差。Z-score 标准化法则是使得处理后的数据均值变为0,方差变为 1。这种方法使得数据更容易比较和分析,同时保持了数据原有特性。
(1b)基线特征提取
基线特征,采用相对电阻值(Relative resistance,RV),即当前 i 时刻传感器响应电阻值与传感器初始基线电阻的平均值。其中,vi是每个特定传感器在时间i时的电阻值,v0是每个特定传感器的基线电阻值。计算公式为:
在这里插入图片描述
构造最优特征集合
(2a)提取可用特征
处理后的数据,特征可以分别从原始数据曲线,曲线拟合,变换域中提取,其中原始数据曲线特征的方法即从传感器原始响应曲线中提取零碎特征信号,包括最大值,均值,积分,导数,面积值,上升时间,下降时间,上升斜率,下降斜率等稳态响应和瞬态响应。曲线拟合方法主要有指数函数拟合、正弦函数拟合,傅里叶函数拟合等,变换域主要包括傅里叶变换和小波变换等。在原始数据曲线中最大值,均值最常用,在曲线拟合中通常需要通过对变量间物理概念的学习和对专业知识的深入理解来确定函数的基本类型或者通过观察实验数据曲线的总趋势来确定函数的类型。在变换域中一般使用小波变换。从这三种特征提取方法中选择一定数量的方法进行特征提取。

(2b)使用相关系数法选择特征

训练KPCA+MRVM模型

训练GMM(高斯混合模型)
假设有N种不同的气体标签,P个传感器。则构建高斯混合库需要构建N个高斯混合模型。
使用EM算法训练参数

基于主动学习的气体传感器漂移抑制方法

利用主动学习的方式对数据集进行不断更新,使得分类器始终能使用当前传感器
主动学习是一种机器学习的方法,旨在通过有选择性地标注最有信息价值的样本,从而最小化需要标注的数据量,同时达到最大化分类准确度的目标。
数据样本—(样本选择策略)挑选样本—专家标记----训练
样本选择策略包括不确定策略+随机策略
一般应用流程为:

  1. 使用漂移前样本初始化初始分类器 C。
  2. 当漂移样本达到一定数量后,使用样本选择策略选出高价值的漂移样本,
    即对分类器性能提升最有帮助的样本,将这些样本交给人工专家进行标记,从而
    生成漂移矫正集 L。
  3. 使用漂移校正集 L 对分类器 C 进行更新,从而提升分类器 C 在持续漂移
    环境下的分类性能。
    重复以上步骤,标签获取、漂移校正和识别测试三个核心步骤能够持续循环
    地进行,这样就组成了一个通用的一般主动学习方法下的气体传感器漂移矫正流

首先使用K-means算法进行分类,只保存微簇信息𝑀𝐶 = (𝑳𝑺, 𝑺𝑺, 𝑺, ω, 𝑇)。其中 LS 和 SS 为 n 维向量, LSj代表微簇中类别为 j
的样本的特征值线性和, SSj则为微簇中类别 j 样本的平方和,其计算方法如公式
3-1 和公式 3-2 所示。 S 是由 N 个元素组成的一维向量,其记录了每个类别的样本
数量, S 的所有元素之和即为微簇内样本总数。ω为微簇权重,其主要用于模型
更新阶段评估微簇的重要性,在初始化阶段微簇形成时,设置其初始值为 1。 T
记录模型的创建时间,用来比较微簇间的新旧程度,并用于模型更新阶段的微簇
权重调整机制、微簇合并机制以及微簇删除机制。

分类过程:
将概率第一大的类别与概率第二大的类别的差值与对应的阈值比较,若大于则分类正确,小于且分类正确更改阈值,若分类错误进行重新规划标签,加入缓冲区
更新过程
当缓冲区满了之后,删除或者合并一些簇,为新簇增加空间,包含飘移样本。

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

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

相关文章

DevOps(三)

CD(二) 1. 整体流程2. 环境准备1. jenkins安装2. 编译安装git3. docker安装4. docker-compose安装5. sonarqube安装6. harbor安装7. gitlab私服8. maven安装9. Nexus部署10. K8s部署3. 安装java及编写代码3.1 安装java3.2 安装IntelliJ IDEA3.3 安装tomcat3.4 安装maven3.5 c…

C++ | 运算符重载

目录 概念 写法 约定俗成 注意事项 概念 其实早在刚开始学习C的时候我们就已经接触到运算符重载了&#xff0c;只是我们当时还没意识到。 std::cout << "Hello World" << std::endl; 对于这一句代码的解释如下&#xff1a; cout其实是一个iostrea…

虚拟机 RHEL8 安装 MySQL 8.0.34

目录 安装步骤一、清除所有残留的旧MySQL二、安装MySQL 报错问题1. 提示未找到匹配的参数&#xff1a; mysql-community-server2. 公钥问题 安装步骤 一、清除所有残留的旧MySQL 1. 关闭MySQL [rootlocalhost /]# service mysqld stop Redirecting to /bin/systemctl stop …

pyspark 笔记 pyspark.sql.function col VS select

0 原始数据 假如我们有这样的一个数据 1 功能上相似 都类似于python的DataFrame中的 df[col_id]&#xff0c;对列取切片的操作 2 区别 使用col之后&#xff0c;可以进行计算&#xff1b;而原版select 则无法进行计算

微服务模式:业务服务模式

无论是单体应用还是微服务&#xff0c;构建企业应用的业务逻辑/服务在更多方面上都有相似之处而不是差异。在两种方法中&#xff0c;都包含服务、实体、仓库等类。然而&#xff0c;也会发现一些明显的区别。在本文中&#xff0c;我将试图以概念性的方式强调这些区别&#xff0c…

Vue2基础二、常用指令

零、文章目录 Vue2基础二、常用指令 1、Vue指令是什么 概念&#xff1a;指令&#xff08;Directives&#xff09;是 Vue 提供的带有 v- 前缀 的 特殊 标签属性。Vue 会根据不同的【指令】&#xff0c;针对标签实现不同的【功能】。**为啥要学&#xff1a;**提高程序员操作 D…

SpringBoot 和 Vue 参数类型不对应,导致method parameter is not present

org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter id for method parameter type String is not present 客户端&#xff1a; requestUserInfoById()const requestUserInfoById async (id?: string) > {} 服务器端&am…

【C++】C++11——包装器

文章目录 1. function包装器1.1 遇到的问题1.2 包装器的定义1.3 解决问题1.4 包装器的其他应用 2. bind2.1 bind的定义2.2 bind包装器绑定固定参数2.3 bind包装器调整传参顺序2.4 bind包装器的意义 1. function包装器 1.1 遇到的问题 我们首先来看一行代码&#xff1a; ret …

Kafka 入门到起飞系列 - 消费者组管理、位移管理

消费者组 - Consumer Group 上文我们已经讲过消费者组了&#xff0c;我们知道消费组的存在可以保证一个主题下一个分区的消息只会被组内一个消费者消费&#xff0c;从而避免了消息的重复消费 什么是消费组 - Consumer Group&#xff1f; 消费者组是Kafka 提供的可扩展且具有容…

Vue教程(二):数据代理和事件处理

1、数据代理 数据代理 通过obj2操作obj1的对象 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport"…

【图论】三种中心性 —— 特征向量、katz 和 PageRank

维基百科&#xff1a;在图论和网络分析中&#xff0c;中心性指标为图中相应网络位置的节点分配排名或数值。中心性这一概念最初起源于社交网络分析&#xff0c;因此很多衡量中心性的术语也反映了其社会学背景。 不同中心性指标对 “重要” 的衡量方式不同&#xff0c;因此适用于…

Android调用摄像头拍照从相册中选择图片

以下内容摘自郭霖《第一行代码》第三版 activity_main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-a…

简单分享婚宴预订小程序怎么做

婚宴预订小程序需要具备一些功能&#xff0c;通过这些功能&#xff0c;新人可以更方便地选择婚宴场地、预订服务&#xff0c;并且更好地规划自己的婚礼。 1. 场地浏览与选择 婚宴预订小程序可以展示多个婚宴场地的照片和详细信息&#xff0c;包括容纳人数、场地设施、价格等。…

Flutter:flutter_local_notifications——消息推送的学习

前言 注&#xff1a; 刚开始学习&#xff0c;如果某些案例使用时遇到问题&#xff0c;可以自行百度、查看官方案例、官方github。 简介 Flutter Local Notifications是一个用于在Flutter应用程序中显示本地通知的插件。它提供了一个简单而强大的方法来在设备上发送通知&#…

PHP 3des加解密新旧方法可对接加密

一、旧3des加解密方法 <?php class Encrypt_3DES {//加密秘钥&#xff0c;private $_key;private $_iv;public function __construct($key, $iv){$this->_key $key;$this->_iv $iv;}/*** 对字符串进行3DES加密* param string 要加密的字符串* return mixed 加密成…

blender 用蒙版添加材质

一、添加材质常规方法 选择物体新建材质&#xff0c;shift a 新建图像纹理&#xff0c;此时会发现添加上的纹理会有接缝&#xff0c;shift a 新建映射 纹理坐标&#xff0c;纹理坐标选择生成&#xff0c;此时&#xff0c;之前的接缝便会消失&#xff1b; 如何快捷添加纹理坐…

【应用】Asible自动化运维工具的应用与常用命令

ansible自动化运维工具 一、ansible 的概述1. ansible 的概念2. ansible 的特性 二、ansible 的部署与命令1. ansible 的部署1.1 服务器ip地址设置1.2 ansible 服务器部署 2. ansible 命令行模块2.1 command 模块2.2 shell 模块2.3 cron 模块2.4 user 模块2.5 group 模块2.6 co…

TCP KeepAlive与HTTP Keep-Alive

TCP KeepAlive与HTTP Keep-Alive TCP KeepAliveHTTP Keep-AliveTCP服务器怎么检测客户端断开连接 TCP KeepAlive TCP连接建立之后&#xff0c;如果应用程序或者上层协议一直不发送数据&#xff0c;或者隔很长时间才发送一次数据&#xff0c;那么TCP需要判断是应用程序掉线了还…

postgresql|数据库|启动数据库时报错:FATAL: could not map anonymous shared memory的解决

前言&#xff1a; 一个很偶然的出现的问题&#xff0c;因为我需要验证备份文件是否正确&#xff0c;因此&#xff0c;我在一台已启动了一个数据库实例的服务器上&#xff0c;依据全备的数据库文件在启动一个实例&#xff0c;当然&#xff0c;在此之前&#xff0c;已经修改了备…

C语言习题练习

C语言习题练习 一、offsetof宏二、交换奇偶位三、原地移除数组总结 一、offsetof宏 首先我们要了解什么是offsetof宏&#xff1a; . 此具有函数形式的宏返回数据结构或联合类型中成员成员的偏移值&#xff08;以字节为单位&#xff09;。 . 返回的值是size_t类型的无符号整数…