正在加载图片...
于露等:基于深度学习的人体低氧状态识别 ·819· 将降噪处理之后的信号利用reshape函数进行 围有限,优化稳定.本文所进行的分析是二分类问 分段处理,每2000个离散点为一组数据,一段数据 题,因而输出函数使用logsig函数,使得输出在0和 内存在5个以上完整的波形,包含足够的用于分析 1之间进行相关判断 处理的信息,经处理后随机抽取共获得1530组数 2.1.2训练函数 据.处理后数据如图2所示. 不同的训练函数具有不同的特点,Trainlm函数 04 对于中等的神经网络有较快的收敛速度,其训练过 程中所需的计算量较小但所占内存较大;Traingd函 数收敛速度较慢;traincgb所需存储量较大,但收敛 速度较快:trainrp函数具有收敛速度快和占用内存 小的优点但训练效果较差.为保证本文所提供方法 的实用性,所需的训练函数需使得大部分计算机能 够训练且效果良好,综合考虑后选择trainscg函数. 所使用trainscg(scaled conjugate gradient back- 0.51.01.52.0253.03.54.0 propagation)函数根据比例共轭梯度法更新权重和 时间s 偏置值四.共轭梯度法是介于最速下降法和牛顿 图2预处理后PPCG信号 Fig.2 PPG signal after pretreatment 法之间的方法,它克服了最速下降法收敛慢的缺点, 又避免了牛顿法需要存储和计算Hsse矩阵并求逆 将分段后的数据利用mapminmax函数归一化 的缺点,对计算机性能要求较低 到[-1,1],分别将每段数据根据已知情况进行标 2.1.3损失函数 记,氧气体积分数为16%~21%所测得的PPG信号 所使用的损失函数为Cross--Entropy(交叉熵) 标记为1,氧气体积分数为15.5%~16%所测得的 函数,表达式为 PPG信号标记为0. pg)=∑ph(ga) (3) 2深度学习网络构建及训练 式中,p表示真实标签的分布,g为训练后的模型预 2.1函数设置 测标签分布. 2.1.1激活函数 Cross-Entropy(交叉熵)函数用于度量两个概率 激活函数是将神经元输入映射到输出的函数, 分布间的差异性信息,可以衡量p和q的相似性,能 激活函数的使用能够保证神经网络模型的非线性, 够解决在梯度下降时学习速率降低的问题. 从而使得模型能够学习、理解和处理复杂的非线性 2.2深度神经网络设置 问题 利用MATLAB搭建模式识别网络,包含一个输 本文设计神经网络所使用的激活函数为sg- 入层,多个隐藏层,一个输出层.通过试验法设置不 moid函数,在输入层与隐藏层之间使用logsig函数, 同隐藏层数和神经元个数,考察神经网络的复杂程 该函数的表达式为 度及准确率.不同的隐藏层数及神经元数目下神经 F(x)=1 Ite (1) 网络的正确率如表1所示.由表1可以看出,隐藏 层数为3,每个隐藏层神经元数目为9时神经网络 函数的输入范围是实数范围,映射范围为(0, 的正确率与隐藏层数为5,每个隐藏层神经元数目 1),单调连续. 表1神经网络正确率 隐藏层与隐藏层之间使用tansig函数,该函数 Table 1 Neural network correct rates % 的表达式为 2 神经元 网络层数 F(a)-1te-1 (2) 数目 2 3 5 6 函数的输入范围是实数范围,映射范围为 1 92.20 90.50 86.60 91.8088.60 (-1,1),单调连续. 8 83.35 87.30 90.80 92.80 87.30 Sigmoid激活函数在物理意义上最为接近生物 9 91.50 92.80 91.80 88.90 83.70 神经元模拟人脑进行分析,且函数单调连续,输出范 10 88.90 91.20 90.5091.20 92.20于 露等: 基于深度学习的人体低氧状态识别 将降噪处理之后的信号利用 reshape 函数进行 分段处理,每 2000 个离散点为一组数据,一段数据 内存在 5 个以上完整的波形,包含足够的用于分析 处理的信息,经处理后随机抽取共获得 1530 组数 据. 处理后数据如图 2 所示. 图 2 预处理后 PPG 信号 Fig. 2 PPG signal after pretreatment 将分段后的数据利用 mapminmax 函数归一化 到[- 1,1],分别将每段数据根据已知情况进行标 记,氧气体积分数为 16% ~ 21% 所测得的 PPG 信号 标记为 1,氧气体积分数为 15. 5% ~ 16% 所测得的 PPG 信号标记为 0. 2 深度学习网络构建及训练 2. 1 函数设置 2. 1. 1 激活函数 激活函数是将神经元输入映射到输出的函数, 激活函数的使用能够保证神经网络模型的非线性, 从而使得模型能够学习、理解和处理复杂的非线性 问题. 本文设计神经网络所使用的激活函数为 sig￾moid 函数,在输入层与隐藏层之间使用 logsig 函数, 该函数的表达式为 F( x) = 1 1 + e - x ( 1) 函数的输入范围是实数范围,映射范围为( 0, 1) ,单调连续. 隐藏层与隐藏层之间使用 tansig 函数,该函数 的表达式为 F( x) = 2 1 + e - 2x - 1 ( 2) 函数的输入范围是实数范围,映 射 范 围 为 ( - 1,1) ,单调连续. Sigmoid 激活函数在物理意义上最为接近生物 神经元模拟人脑进行分析,且函数单调连续,输出范 围有限,优化稳定. 本文所进行的分析是二分类问 题,因而输出函数使用 logsig 函数,使得输出在 0 和 1 之间进行相关判断. 2. 1. 2 训练函数 不同的训练函数具有不同的特点,Trainlm 函数 对于中等的神经网络有较快的收敛速度,其训练过 程中所需的计算量较小但所占内存较大; Traingd 函 数收敛速度较慢; traincgb 所需存储量较大,但收敛 速度较快; trainrp 函数具有收敛速度快和占用内存 小的优点但训练效果较差. 为保证本文所提供方法 的实用性,所需的训练函数需使得大部分计算机能 够训练且效果良好,综合考虑后选择 trainscg 函数. 所使用 trainscg ( scaled conjugate gradient back￾propagation) 函数根据比例共轭梯度法更新权重和 偏置值[22]. 共轭梯度法是介于最速下降法和牛顿 法之间的方法,它克服了最速下降法收敛慢的缺点, 又避免了牛顿法需要存储和计算 Hesse 矩阵并求逆 的缺点,对计算机性能要求较低. 2. 1. 3 损失函数 所使用的损失函数为 Cross--Entropy( 交叉熵) 函数,表达式为 H( p,q) = ∑x p( x) ( ln 1 q( x ) ) ( 3) 式中,p 表示真实标签的分布,q 为训练后的模型预 测标签分布. Cross--Entropy( 交叉熵) 函数用于度量两个概率 分布间的差异性信息,可以衡量 p 和 q 的相似性,能 够解决在梯度下降时学习速率降低的问题. 2. 2 深度神经网络设置 利用 MATLAB 搭建模式识别网络,包含一个输 入层,多个隐藏层,一个输出层. 通过试验法设置不 同隐藏层数和神经元个数,考察神经网络的复杂程 度及准确率. 不同的隐藏层数及神经元数目下神经 网络的正确率如表 1 所示. 由表 1 可以看出,隐藏 层数为 3,每个隐藏层神经元数目为 9 时神经网络 的正确率与隐藏层数为 5,每个隐藏层神经元数目 表 1 神经网络正确率 Table 1 Neural network correct rates % 神经元 数目 网络层数 2 3 4 5 6 7 92. 20 90. 50 86. 60 91. 80 88. 60 8 83. 35 87. 30 90. 80 92. 80 87. 30 9 91. 50 92. 80 91. 80 88. 90 83. 70 10 88. 90 91. 20 90. 50 91. 20 92. 20 · 918 ·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有