APP下载

静息状态下运动能耗级别预测模型

2020-07-10霍晓燕江朝力董志良

关键词:静息级别体征

贾 楠,霍晓燕,齐 忠,江朝力,董志良

(河北地质大学,河北 石家庄 050031)

0 引言

当今时代,由于生活水平的整体提高,人们更加关注自身的健康状态。常见的人体健康状态包括运动状态下和静息状态下的人体健康水平。人体运动状态包括散步、骑车、跑步等,而人体静息状态包括躺、坐、跪、站立等。

众所周知,运动过度不仅不能起到健身锻炼的效果,反而增加了人体的负荷,对人体安全造成严重伤害[1]。人体运动过程中伴随着能量的消耗,一般情况下,运动强度越大,人体消耗的能量越多。能耗级别能直接反映人体的运动强度,因此及时获取运动过程中的人体运动能耗级别,对于了解人体运动负荷、规避运动风险有着重要的作用。人体运动能耗级别预测成为了当前研究人员关注的重点和热点[2-4]。

相对运动状态而言,人体在静息状态下通常被认为消耗较少的能量,因此很少受到人们的关注。然而,对于一些特殊人群,监控和了解他们静息状态下的能耗级别具有重大意义。例如:对于某些重症病人,需要随时关注他们身体的能耗水平。重症病人的身体能耗水平不能过高,同时也不能太低。因此,需要准确了解这些重症病人的身体能耗情况,然后提供准确的能量补充计划,从而避免因为身体能量损耗而造成病情进一步加重。

由于人体机理本身的复杂性,人体能耗与肌肉抖动、心脏收缩、呼吸频率等多种生理因素相关[3]。因此,在人体静息状态下,很难直接度量人体能耗级别。在实验环境下,可以通过佩戴多种传感器监测人体静息状态下的能耗水平[5-10]。例如,在文献[10]中,Gjoreski 等人在实验环境下通过使用高精度的测量仪器,获取人体静息状态下的呼吸率、心率、皮肤电反应等人体生理体征,从而计算获得人体静息状态下的能量消耗数据。

显然,这种能耗获取方式并不适用于人们日常生活,存在特定器材依赖与器材佩戴不适感的问题。首先,某些特定的人体生理体征需要专门的仪器获取。由于专业仪器价格昂贵,一般用户难以承受,例如,Gjoreski 等人需要使用专业的BodyMedia传感器才能获取人体皮肤电反应。其次,即使人们在日常生活中能够佩戴专业传感器,传感器本身对人体造成的不适感也让人难以接受。

针对当前人体静息状态下能耗获取过程中存在的难点,本文提出一种基于机器学习的人体能耗级别预测方法。首先,使用人体在实验环境下获取的生理体征及运动能耗作为数据集,并对人体静息状态下的能耗进行级别划分;然后,从获取的数据集中使用机器学习的方式建立从人体生理体征到能耗级别的映射关系;最后,通过训练好的机器学习模型,预测人体静息状态下的能耗水平。在能耗级别判别模型的建立过程中,我们只把容易获取的人体生理体征(即,易测生理体征)纳入考虑,如心率、呼吸率等,摈弃需要使用专业传感器才能获取的人体生理体征,如皮肤电反应等。因此,该方法能够应用于真实场景下人体静息状态下的能耗级别预测,从而提升模型的适用性。

实验结果表明,在仅考虑有限种类易测生理体征的情况下,我们的模型预测人体能耗级别时可获得80%以上的准确率。

1 人体静息状态下能耗数据集及能耗级别分类

本文使用的人体静息状态下的生理体征与运动能耗数据集由Gjoreski等人通过实验获得。通过让参与者佩戴传感器的方式,他们从10位参与者身上获取了10 种类型的人体生理体征及能耗数据。10 种运动类型包括:躺,走,坐,站,跪,趴,站立学习,骑自行车,跑步以及过渡阶段。其中,过渡阶段是指从一种类型转化为另一种类型的过程,如由站立变为坐下。

表1 参与者生理属性统计

表1 统计了10 位参与者的基本生理属性。可以观察到,这10 位参与者的以年轻人为主,他们的平均年龄为27.2 岁,平均生理质量指数(即BMI)为24.1kg/m2,参与者的平均体重为78.2kg。

Gjoreski 等人使用传感器监测10 位参与者在2个星期内的生理体征和能耗数据。参与者每天大约佩戴8个小时的传感器。在参与者佩戴传感器期间,其所有的生理体征和能耗数据将会被传感器记录下来。被记录的人体生理体征包括:加速度、呼吸率、心率、胸部皮肤温度、皮肤电反应、身体温度、手臂温度。

参与者佩戴了4种类型的传感器,其中,步行传感器用于监测人体运动加速度[11];Zephyr传感器用于检测人体心率、呼吸率以及胸部皮肤温度[12];BodyMedia 传感器用于检测人体皮肤电反应、手臂温度、环境温度[13];最后,通过分析人体运动过程中的生理体征数据,并通过使用间接量热计装置Cosmed 获得人体运动能耗[14]。表2 为人体生理体征和能耗数据的示例。

表2 人体生理体征和能耗数据示例

根据Gjoreski 等人检测到的人体能耗数据,人体静息状态下大部分的能耗水平位于0到2这个区间内。因此,本文中我们将人体能耗分为3个级别,即低级(能耗水平≤1)、中级(能耗水平位于1~2 之间)、高级(能耗水平位于≥2)。

2 能耗判别模型

为实现人体静息状态下的能耗判别模型,本文采用有监督机器学习分类算法[15]。常见的分类算法有朴素贝叶斯(NB,Naive Bayesian)[16]、支持向量机(SVM,Support Vector Machines)[17]、随机森林(RF,Random Forest)[18]以及XGBoost(Extreme Gradient Booting)[19]。

2.1 NB模型

朴素贝叶斯分类(NB)是以贝叶斯定理为基础并且假设特征条件之间相互独立的方法,先通过已给定的训练集,以特征词之间独立作为前提假设,学习从输入到输出的联合概率分布,再基于学习到的模型,输入X,求出使得后验概率最大的输出Y。

设有样本数据集D={d1,d2,…,dn},对应样本数据的特征属性集为X={x1,x2,…,xd}。类变量为D={y1,y2,…,ym},即D可以分为ym类别。其中x1,x2,…,xd相互独立且随机,则Y的先验概率Pprior=P(Y),Y的后验概率Ppost=P(Y|X),由朴素贝叶斯算法可得,后验概率可以由先验概率Pprior=P(Y)、证据P(Y)、类条件概率P(Y|X)计算出:

朴素贝叶斯基于各特征之间相互独立,在给定类别为y的情况下,上式可以进一步表示为下式:

由以上两式可以计算出后验概率为:

由于P(X)的大小是固定不变的,因此在比较后验概率时,只比较上式的分子部分即可。因此可以得到一个样本数据属于类别yi的朴素贝叶斯计算如下式:

2.2 SVM模型

SVM(支持向量机)的基本思想是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。

给定数据集{xi,yi} ,i=1,2,…,n,其中,xi表示第i样本的特征,yi表示该样本对应的标签,n为样本数,其分类函数为:

其中,αi为拉格朗日乘子,b为分类阈值,k(xi,xj)为核函数,本文核函数选用RBF。αi的最优解集计算如下:

其中,C为惩罚系数,C>0。从式(6)中得到的最优集中,选取αi>0(i=1,2,…,k且k<n)的对应样本作为输入,从而构造最优分类决策函数并做出最优决策分类。

2.3 RF模型

RF(随机森林)算法是通过集成多棵决策树来形成整个森林从而得出算法结果的一种机器学习方法。随机森林生成描述过程如下。

第一步:在整个样本集中使用Bootstrap 方法,重抽样出K 个子训练样本集{D1,D2,…,Dk},并构建出K棵决策树。

第二步:在分类树的任何一个节点上,从所有指标中随机选取几个指标,选择最优分割指标进行分割。

第三步:重复以上步骤。

第四步:将所有的树聚集在一起,构建整个随机森林。

其中,最为核心的几个概念分别为:

(a)信息。对于决策树而言,若待分类事物集合可划分为多个类别,某个类xi信息定义如下:

(b)信息增益。反映了每个特征对分类的重要程度,信息增益越大,则该特征的分类效果越好,在各类别间的区分度也就越高。具体定义如下:

其中,D为所有的样本预测数据,某个特征将D划分为v 个子集{D1,D2,…,Dv},Ent(D)为样本集D的信息熵为存在的类别数目,pi为第i类在样本集D中的比例。

2.4 XGBoost模型

XGBoost 是梯度提升树模型(Gradient Boosting Trees)的一种高效实现方式。XGBoost 集成了K根CART 树(Classification and Regression Trees){Tr1(x1,y1)},Tr2(x2,y2)},…,Trk(xk,yk)}。其中,xi表示第i样本的特征,yi表示该样本对应的标签。CART 树将分配给每个叶子节点一个分数。而最终的预测结果将由所有CART 树上对应叶子节点的分数通过加法模型得到,如公式(9)所示:

在上式中,fk(xi)为第k棵树的预测分数,F则代表函数空间中所包含的所有树模型。相比于传统的梯度提升树模型,XGBoost 一个重要的改进是在目标函数中加入了正则项。公式(10)为XGBoost的目标函数。

l为损失函数,描述了预测标签yi与y′i之间的误差。为模型复杂度函数。其中T和ωj分别表示叶子数量及对应叶子节点上的取值,γ和λ则用于控制正则化的惩罚程度。

3 实验设置与结果分析

3.1 实验设置

为了验证本文提出的人体静息状态下的能耗级别判别模型,我们在Gjoreski 等人提出的数据集上做了相应的验证实验。

由于在人们静息状态下某些生理体征很难直接获取,如皮肤电反应和胸部皮肤温度,因此我们在使用机器学习进行人体能耗级别判别时,只将容易获取的人体生理体征纳入考虑,包括呼吸率、心率、环境温度、手臂温度五个特征。在人们日常生活中,呼吸率、心率和手臂温度可以通过佩戴智能手环进行监测;而环境温度可以从任意一款天气预报APP上获得。我们的目标是通过人体表现出的这四个生理体征,预测人体静息状态下的能耗级别。

Gjoreski 等人提出的数据集中既包含人体静息状态下的生理数据,如躺、坐、跪、站立等,又包含人体运动时的生理数据,如散步、骑车、跑步等,因为本文主要关注人体静息状态下的能耗级别预测,因此我们从Gjoreski等人提出的数据集中分离出关于人体静息状态下的生理数据和能耗数据,然后在这样的数据上训练相应的判定模型。

Gjoreski等人提出的数据集一共包含5972条数据记录,每条数据记录包含如表2 所示的内容。通过过滤掉关于人体运动状态的数据记录,一共收集到3716 条人体静息状态的数据集。本文将在这些数据集上进行模型训练和验证。

为了验证我们提出的判别模型的效果,引入了2 个度量指标[20],即精确度(PRE)和召回率(REC)。精确度用来衡量结果集的精确性;而召回率用来度量结果集的安全性。同时,为了考察模型的综合效果,还给出了F-measure 值(F1)的定义。这3 个度量指标定义如下:

TP和TN分别表示正确预测的正样本数量和负样本数量;FP和FN分别表示错误预测的正样本数量和负样本数量。由于我们面临的是多分类问题(即有3 个能耗级别),所以可以将问题视为多个二分类问题。实验中我们使用XGBoost作为默认分类器。

3.2 实验结果分析

首先,使用提出的模型分别预测了人体不同静息状态下能耗级别下的准确率。在整个实验中使用10折验证法。将数据集划分为10份,其中9份用来训练机器学习模型,剩下1份用作测试集。

表3 展示了模型的效果。可以观察到,模型在预测低级能耗级别取得最好的效果,F1 值为0.90;同时,模型在预测中级能耗级别时能取得较好的召回率,为0.91;在预测高级能耗级别时,可以获得0.84的召回率。

表3 能耗级别预测准确率

总的来说,模型在预测人体静息状态下的能耗级别方面取得了较好的效果。考虑到本文只使用了部分日常生活中容易获得的生理体征作为特征,因此,我们的模型具有更好的实用性和推广性。

与此同时,还比较了不同机器学习算法在人体静息状态下能耗级别预测中的效果,如表4所示,加入了另外3 个机器学习算法预测运动能耗级别,包括朴素贝叶斯(NB)、支持向量机(SVM)、随机森林(RF)。

从表4 中可以看出,在预测低级别的人体运动能耗时,朴素贝叶斯取得的效果较差,其F1 值为0.80;支持向量机和随机森林分别能取得0.84 和0.87的F1值;XGBoost 表现较好,其F1值为0.9。

在预测中级别的人体运动能耗时,朴素贝叶斯和支撑向量机取得的效果较差,其F1值分别为0.73和0.79;随机森林和XGBoost 表现较好,可以获得0.83 和0.88 的F1 值。在预测高级别的人体运动能耗时,依旧是随机森林和XGBoost 表现较好,其F1值分别为0.81和0.84。

表4 不同机器学习算法预测结果比较

从表4中的结果可以观察到,XGBoost判定人体运动能耗级别的效果优于随机森林;而随机森林的效果又优于朴素贝叶斯和支撑向量机。因此,本文中我们选择XGBoost作为我们的默认分类器。

4 结论

由于人体静息状态下的能耗级别难以直接获取,为此本文提出了一种通过分析人体运动生理体征(如:心率、呼吸率、皮肤温度等)预测能耗级别的方法。首先,分析了Gjoreski 等人关于人体生理体征数据和能耗数据集,并将人体静息状态下的能耗水平分成3个级别。其次,将人们静息状态下容易获取的生理体征数据作为特征,建立了人体静息状态能耗级别预测模型。最后,实验中使用XGBoost 模型预测人体能耗级别。同时,对比了不同机器学习模型在预测人体静息状态下能耗级别的准确性。结果表明,XGBoost 模型可以取得最好的效果。

猜你喜欢

静息级别体征
CCTA联合静息心肌灌注对PCI术后的评估价值
Endoscopic pedicle flap grafting in the treatment of esophageal fistulas: A case report
精神分裂症和抑郁症患者静息态脑电功率谱熵的对照研究
级别分明
迈向UHD HDR的“水晶” 十万元级别的SIM2 CRYSTAL4 UHD
新年导购手册之两万元以下级别好物推荐
你是什么级别的
首发抑郁症脑局部一致性静息态MRI对比研究
以高热为主诉无明显甲状腺肿大的亚急性甲状腺炎的临床分析
骨关节炎的临床特征及其治疗进展