贾楠 霍晓燕 江朝力 齐忠 董志良
摘 要:获取人体运动过程中的能耗级别对于了解人体运动负荷、及时补充身体能量有着重要作用。由于人体运动过程中的能耗级别难以直接获取,因此,提出了一种通过分析人体运动生理体征(如心率、呼吸率等)预测运动能耗级别的方法。首先,通过电子设备收集人体运动过程中表现出的生理体征及运动能耗,建立人体运动生理体征与运动能耗数据集;其次,根据人体运动能耗级别,使用机器学习的方法,训练一个可以预测人体运动能耗级别的多标签判别模型;最后,通过人体运动能耗级别判别模型,判定人体运动过程中的能耗级别。实验结果表明,提出的模型可以有效地判定人体运动过程的能耗级别。
关键词:运动能耗 能耗级别预测 预测模型 机器学习
中图分类号:G80 文献标识码:A 文章编号:2095-2813(2020)07(c)-0238-06
Abstract: Obtaining the energy consumption level in the exercise process plays an important role in understanding human body sport load and timely replenishing body energy. Because the energy expenditure level in the exercise process is difficult to be measured directly, a method was proposed to predict the energy consumption level through analyzing the physiological signs of human movement (such as heart rate, respiration rate, etc). Firstly, the physiological signs and energy consumption during human exercise were collected by electronic devices, then the data set of physiological signs and energy consumption was established. Secondly, according to the energy consumption level of human motion, a multi-label discriminant model that can predict the energy consumption level is trained by using machine learning method. At last, the energy consumption level in the process of human movement is determined by the discriminant model. The experimental results show that the proposed model can effectively predict the energy consumption level in exercise process.
Key Words: Energy consumption; Energy consumption level prediction; Prediction model; Machine learning
当今时代,人们健康意识的提高极大地促进了人们运动的热情。而如何科学、安全、有效地进行运动已成为全民健身中关注的核心问题,同时也是当前研究人员关注的重点和热点[1-3]。众所周知,运动过度不仅不能起到健身锻炼的效果,反而增加了人体的负荷,对人体安全造成严重伤害[4]。例如,运动过度可能造成人体脱水、昏厥甚至是猝死等严重的运动风险。
人体运动过程中伴随着能量的消耗。一般情况下,运动强度越大,人体消耗越多的能量。由于能耗级别能够直接反映人体的运动强度,因此,及时获取运动过程中的人体运动能耗级别,对于了解人体运动负荷、规避运动风险有著重要的作用。
由于人体运动机理较为复杂性,运动能耗与肌肉抖动、心脏收缩、呼吸频率等多种生理因素相关[2]。因此,在日常运动锻炼中,很难直接度量人体运动过程中的运动能耗级别。在实验环境下,可以通过佩戴多种传感器监测人体运动能耗水平[5-10]。例如,在研究[10]中,Gjoreski等人在实验环境下通过使用高精度的测量仪器,获取人体运动过程中的呼吸率、心率、皮肤电反应等人体生理体征,从而计算获得人体运动过程中的能量消耗数据。
显然,这种的运动能耗获取方式并不适用于人们日常运动锻炼中。首先,某些特定的人体生理体征需要专门的仪器获取。由于专业仪器价格昂贵,一般用户难以承受。例如,测量人体皮肤电反应所需的BodyMedia传感器。其次,即使人们在日常锻炼中能够佩戴专业传感器,传感器本身对人体运动过程中造成的不适感也让人难以接受。
针对当前人体运动能耗获取过程中存在的难点,本文提出一种基于机器学习的人体运动能耗级别预测方法。首先,使用人体在实验环境下获取的生理体征及运动能耗作为数据集,并对人体运动能耗进行级别划分。其次,从获取的数据集中使用机器学习的方式建立从人体运动生理体征到运动能耗级别的映射关系。最后,通过训练好的机器学习模型,预测人体运动过程中的能耗水平。在运动能耗级别判别模型的建立过程中,只把容易获取的人体运动体征(即易测生理体征)纳入考虑,如心率、呼吸率等,摒弃需要使用专业传感器才能获取的人体运动生理体征,如皮肤电反应等。因此,我们的方法能够应用于真实场景下人体运动能耗级别预测,从而提升模型的适用性。
实验结果表明,在仅考虑有限种易测生理体征的情况下,模型预测人体运动能耗级别时可获得85%以上的准确率。
1 人体运动能耗数据集及能耗级别分类
本文使用的人体运动生理体征与运动能耗数据集由Gjoreski等人通过实验获得。通过让参与者佩戴传感器的方式,他们从10位参与者身上获取了10种类型的人体运动生理体征及人体运动能耗数据。10种运动类型包括躺、走、坐、站、跪、趴、站立学习、骑自行车、跑步以及过渡阶段。其中,过渡阶段是指从一种运动类型转化为另一种运动类型的过程。如由站立变为坐着。
表格1统计了10位參与者的基本生理属性。可以观察到,这10位参与者的以年轻人为主,他们的平均年龄为27.2岁;平均生理质量指数(即BMI)为24.1kg/m2;参与者的平均体重为78.2kg。
实验过程在,Gjoreski等人使用传感器监测10位参与者在2个星期内的运动生理体征和运动能耗数据。参与者每天大约佩戴8h的传感器。在参与者佩戴传感器期间,其所有的生理体征和能耗数据将会被传感器记录下来。被记录的人体生理体征包括加速度、呼吸率、心率、胸部皮肤温度、皮肤电反应、身体温度、手臂温度。
参与者佩戴了4种类型的传感器,其中,步行传感器用于监测人体运动加速度[11];Zephyr传感器用于检测人体心率、呼吸率以及胸部皮肤温度[12];BodyMedia传感器用于检测人体皮肤电反应、手臂温度、环境温度[13];最后,通过分析人体运动过程中的生理体征数据,并通过使用间接量热计装置Cosmed获得人体运动能耗[14]。表格2为人体生理体征和能耗数据的示例。
根据Gjoreski等人检测到的人体能耗数据,人体能耗水平大致位于0~11这个区间内。即人体运动强度越大,能耗水平越高。因此,本文中将人体能耗分为3个级别。即低级(能耗水平≤3)、中级(能耗水平位于4~7之间)、高级(能耗水平位于≥8)。
2 人体运动能耗判别模型
为实现人体运动能耗判别模型,本文采用有监督机器学习分类算法[15]。常见的分类算法有逻辑斯谛回归(LR, Logistic Regression)、支持向量机(SVM,Support Vector Machines)、随机森林(RF,Random Forest)及XGBoost(Extreme Gradient Booting)。
2.1 LR模型
LR(逻辑斯谛回归)是根据现有数据对分类边界线建立回归公式,以此进行分类的方法。
设X是连续随机变量,X服从逻辑斯谛分布是指X具有下列的分布函数和密度:
逻辑斯谛回归由条件分布P(Y|X)表示,形式就是参数化的逻辑斯谛分布,其中自变量X取值为实数,因变量Y为0或1,二项逻辑斯谛回回归的条件表达式表示为:
即为要求解的模型参数,通常采用最大似然估计。即找到一组参数,使得在这组参数达到最大。
2.2 SVM 模型
SVM(支持向量机)的基本思想是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。
2.3 RF模型
RF(随机森林)算法是通过集成多棵决策树来形成整个森林从而得出算法结果的一种机器学习方法。随机森林生成描述过程如下。
(1)在整个样本集中使用Bootstrap方法,从中重抽样出k个子训练样本集{D1,D2,...,Dk},并构建出k棵决策树;
(2)在分类树的任何一个节点上,从所有指标中随机选取几个指标,选择最优分割指标进行分割;
(3)重复以上步骤;
(4)将所有的树聚集在一起,构建整个随机森林。
其中,最为核心的几个概念如下。
(1)信息。对于决策树而言,若待分类事物集合可划分为多个类别,某个类信息定义如下:
(2)信息增益。反映了每个特征对分类的重要程度,信息增益越大,则该特征的分类效果越好,在各类别间的区分度也就越高。具体定义如下:
在公式(7)中,D为所有的样本预测数据,某个特征将D划分为v个子集{D1,D2,...,DV},,为样本集D的信息熵,且,n为存在的类别数目,为第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)}。其中,表示第i样本的特征,表示该样本对应的标签。CART树将分配给每个叶子节点一个分数。而最终的预测结果将由所有CART树上对应叶子节点的分数通过加法模型得到,如公式所示(9)所示:
在上述公式中,fk(xi)为第k棵树的预测分数,F则代表函数空间中所包含的所有树模型。相比于传统的梯度提升树模型,XGBoost 一个重要的改进是在目标函数中加入了正则项。公式(10)为XGBoost的目标函数:
其中,为损失函数,描述了预测标签与之间的误差。用于描述模型的复杂度。
3 实验设置与结果分析
3.1 实验设置
为了验证本文提出的人体运动能耗级别判别模型,在Gjoreski等人提出的数据集上做了相应的验证实验。
由于在人们日常运动中某些生理体征很难直接获取,如皮肤电反应和胸部皮肤温度。因此,在使用机器学习进行人体运动能耗级别判别时,只将容易获取的人体运动生理体征纳入考虑,包括加速度、呼吸率、心率、环境温度、手臂温度5个特征。在人们日常运动过程中,运动加速度、呼吸率、心率和手臂温度可以通过佩戴智能运动手环进行监测;而环境温度可以从任意一款天气预报APP上获得。目标是通过人体运动过程中表现出的这5个生理体征,预测人体运动能耗级别。
由于Gjoreski等人提出的数据集中既包含人体运动时的生理数据,如散步、骑车、跑步等;又包含人体静止时的生理数据,如躺、坐、跪、站立等。因为本文主要关注人体运动过程中的能耗级别预测,因此,从Gjoreski等人提出的数据集中分离出关于人体运动时的生理数据和能耗数据,然后在这样的数据上训练相应的判定模型。
Gjoreski等人提出的数据集一共包含5972条数据记录。每条数据记录包含如表2所示的内容。通过过滤掉关于人体静止的数据记录,一共收集到2256条人体运动的数据集。将在这些数据集上进行模型训练和验证。
为了验证文中提出的判别模型的效果,引入了2个度量指标[15],即精确度(PRE)和召回率(REC)。精确度用来衡量结果集的精确性;而召回率用来度量结果集的安全性。同时,为了考察模型的综合效果,还给出了F-measure值(F1)的定义。这3个度量指标定义如下:
TP和TN分别表示正确预测的正样本数量和负样本数量;FP和FN分别表示错误预测的正样本数量和负样本数量。由于目前面临的是多分类问题(即有3个能耗级别),所以可以将问题视为多个二分类问题。
3.2 实验结果分析
首先,使用提出的模型分别预测了人体不同运动能耗级别下的准确率。在整个实验中,使用10折验证法。即,将数据集划分为10份,其中9份用来训练机器学习模型,剩下1份用作测试集。
表3展示了模型的效果。可以观察到,模型在预测低级和高级运动能耗级别时能取得差不多的效果,因为它们的F1值为0.87和0.86;同时,模型在预测中级能耗级别时能取得最好的效果,其精确度为0.94,召回率为0.92,F1值达到了0.93。
总体来说,模型在预测人体运动能耗级别方面取得了较好的效果。考虑到模型只使用了部分人们日常运动过程中容易获得的生理体征作为特征,因此,模型具有更好的实用性和推广性。
与此同时,还比较了不同机器学习算法在人体运动能耗级别预测中的效果[16]。如表4所示,加入了另外3个机器学习算法预测运动能耗级别,包括逻辑斯谛回归(LR)、支持向量机(SVM)、随机森林(RF)。
从表4中可以看出,在预测低级别的人体运动能耗时,逻辑回归取得较差的效果,其F1值为0.76;支持向量机和随机森林分别能取得0.82和0.85的F1值。XGBoost表现较好,其F1值为0.87。
在预测中级别的人体运动能耗时,逻辑回归和支撑向量机取得较差的效果,其F1值分别为0.84和0.85;随机森林和XGBoost表现较好,可以获得0.9和0.93的F1值。在预测高级别的人体运动能耗时,依旧是随机森林和XGBoost表现较好,其F1值分别为0.83和0.86。
从表4中的结果可以观察到,XGBoost判定人体运动能耗级别的效果优于随机森林;而随机森林的效果又优于逻辑回归和支撑向量机。因此,本文选择XGBoost作为分类器。
4 结语
由于人体运动过程中的能耗级别难以直接获取,为此,我们提出了一种通过分析人体运动生理体征(如心率、呼吸率、皮肤温度等)预测运动能耗级别的方法。首先,分析了Gjoreski等人关于人体运动时的生理体征数据和能耗数据集,并将人体运动时的能耗水平分成3个级别。其次,将人们运动过程中的容易获取的生理体征数据作为特征,建立了人体运动能耗级别预测模型。最后,实验中使用XGBoost模型预测人体运动能耗级别。同时,还对比了不同机器学习模型在预测人体运动能耗级别的准确性。结果表明,XGBoost模型可以取得最好的效果。
参考文献
[1] 周小丹.全民健身中的安全性思考[J].体育文化导刊,2017(1):61-64.
[2] Chodzko-Zajko WJ, Proctor DN, Fiatarone Singh MA, et al.Exercise and Physical Activity for Older Adults[J].Medicine & Science in Sports & Exercise, 2009,41(7):1510-1530.
[3] 王瑞元,苏全生.运动生理学[M].北京:人民体育出版社,2012.
[4] 汪芳.过量运动当心运动性猝死[J].保健医苑,2017(1):36-37.
[5] 郭晓光.可穿戴式运动负荷监测技术的研究[D].中北大学,2016.
[6] 吴廉卿,刘丹松,屈萍.基于三轴加速度传感器的大学生体力活动能量消耗模型研究[J].武汉体育学院学报,2018,52(4):87-91.
[7] 刘鹏.基于加速度传感器的人体能耗检测系统的设计研究[J].电子设计工程,2018,6(19):26-30.
[8] 王道,刘欣,江崇民,等.ActiGraph加速度计测量走、跑运动时基本参数特征及与能耗的相关性研究[J].体育科学,2014(12):30-36.
[9] 沈程,谭海波,许金林.基于Android和GPS轨迹记录和能耗测算研究[J].计算机技术与发展,2013(11):173-176.
[10]Gjoreski H.Context-based ensemble method for human energy expenditure estimation[J].Applied Soft Computing,2015,37(C):960-970.
[11]陈庆果,袁川,范江江,等.智能手机内置加速度传感器监测走跑运动能量消耗的研究[J].首都体育学院学报,2018(5):473-480.
[12]Nazari G, Macdermid J C, Sinden R K K E, et al. Reliability of Zephyr Bioharness and Fitbit Charge Measures of Heart Rate and Activity at Rest, During the Modified Canadian Aerobic Fitness Test and Recovery[J].Journal of Strength and Conditioning Research,2017,33(2):559-571.
[13]Joschtel B, Neil M, Fragala-Pinkham M, et al. Predictive validity of the BodyMedia SenseWear Armband in children with cerebral palsy[J]. Journal of Science and Medicine in Sport, 2014,18(supplement 1):e37.
[14]Tanner E A, Montes J, Manning J W, et al.Validation of Hexoskin biometric shirt to COSMED K4 b2 metabolic unit in adults during trail running[J].Sports Technology,2015,8(3-4):118-123.
[15]姚舜才.機器学习基础教程[M].西安:西安电子科技大学出版社,2020.
[16]李宁宁,梁天一,卢朝霞.基于机器学习的个性化运动处方推荐系统的设计[J].数字通信世界,2019(3):250-251.