一种大规模并行化有氧能力分群方法

文档序号:1910735 发布日期:2021-12-03 浏览:18次 >En<

阅读说明:本技术 一种大规模并行化有氧能力分群方法 (Large-scale parallelization aerobic capacity grouping method ) 是由 杨良怀 匡东伟 于 2021-08-11 设计创作,主要内容包括:一种大规模并行化有氧能力分群方法,包含:1)有氧能力测试序列数据集加载;2)数据分桶;3)并行化处理各个数据桶,处理步骤具体包括:3.1)对桶中的序列进行预处理;3.2)对预处理后的序列进行重表示;4)对并行处理所得到的重表示序列进行归一化处理,得到聚类样本集;5)对聚类样本集进行聚类分群。本发明实现了适用于对大规模多变量非等长的有氧测能力试序列进行聚类的算法,能够快速有效地实现大规模有氧能力分群。(A large-scale parallelization aerobic capacity clustering method comprises the following steps: 1) loading an aerobic capacity test sequence dataset; 2) dividing data into barrels; 3) and carrying out parallelization processing on each data bucket, wherein the processing steps specifically comprise: 3.1) preprocessing the sequences in the barrel; 3.2) re-representing the preprocessed sequence; 4) normalizing the re-expression sequence obtained by parallel processing to obtain a clustering sample set; 5) and clustering the cluster sample set. The invention realizes the algorithm suitable for clustering large-scale multivariable unequal-length aerobic capacity test sequences, and can quickly and effectively realize large-scale aerobic capacity clustering.)

一种大规模并行化有氧能力分群方法

技术领域

本发明涉及一种高效的、可并行化的、适用于对大规模学生人群进行有氧能 力分群的方法。

背景技术

随着可穿戴设备的成熟和广泛应用,通过可穿戴设备来大规模采集人体生理 健康数据成为一种有效可行的方法。通过佩戴运动心率手环的方式能够对人的运 动生理数据进行大规模的采集,而大规模人群的运动生理数据中蕴含了巨大的价 值。通过对大规模运动生理数据进行合理地分析和挖掘,从数据中得出个人的健 康状况,从而定制合理的运动方案,是防止运动中突发事件产生、提高个人体质 健康的一种重要手段。运动生理数据本质上属于一种时间序列数据,而对于时间 序列的常见挖掘任务有:异常检测、分类和聚类。异常检测通常用于异常报警, 如对运动数据挖掘出异常的数据点,进行报警提示;预测是根据历史的数据,预 计未来数据的走势;聚类是通过无监督的方式将相似性高的个体聚成一个簇,相 似性低的个体分在不同簇中,以此来区分个体的差异情况。通过对大规模的人群 的运动生理数据进行聚类分析,可以一定程度上对这些人的有氧能力(或心肺耐 力)进行区分,将有氧能力相近的人划分到相同的群体中,进一步可以针对不同 有氧能力水平的群体制定不同的运动锻炼方案,从而有效促进个人的体质健康, 并最大程度上防止突发事件的产生。因此,对大规模运动生理数据进行聚类分群 具有重要意义。

根据时间序列的变量个数可以将时间序列分为单变量时间序列和多变量时 间序列,而根据时间序列的长度是否相等,可以将时间序列分为等长时间序列和 非等长时间序列。对于时间序列得聚类方法大致可以分为两大类:基于原始测度 数据得时间序列聚类和基于特征得时间序列聚类。基于原始测度数据的时间序列 聚类直接根据原始数据定义相似度,如曼哈顿距离、欧氏距离或DTW距离等, 然后选择一种聚类算法进行聚类。基于特征的时间序列聚类先对原始数据进行降 维,抽取表征其内在变化机制的特征作为相似性度量的基础,然后运用各种聚类 方法对这些特征进行聚类,基于特征的时间序列聚类是较为主流的一类方法。目 前已有大量学者对单变量时间序列的聚类研究提出了非常多的有效的方法,但对 于多变量且非等长时间序列的聚类方法研究上,目前仍然甚少。本发明针对大规 模的具有多变量且非等长特性的学生运动生理数据,提出一种高效的、适用于大 规模多变量且非等长的时间序列的聚类分群算法。对于大规模多变量非等长时间 序列的聚类,其难点在于如何解决多变量非等长时间序列的表示、序列间的相似 性度量和算法的并行化。

本发明拟解决上面所提及的大规模运动生理数据(由学生进行有氧耐力测试 跑时所采集的数据,以下简称有氧测试序列)下的聚类分群所涉及的问题。由于 数据量规模很大时,对有氧测试序列的聚类分群需要的时间会较长,导致用户分 群请求响应时延过长,严重影响用户体验,本发明提出一种有效的有氧测试序列 重表示方法,对原始有氧测试序列进行有效的降维和重表示,然后采用 K-means++算法对重表示序列进行聚类,得到聚类分群结果,同时,采用并行计 算加快对大规模有氧测试序列的聚类分群过程,从而实现快速高效地对大规模有 氧测试序列进行聚类分群。

发明内容

本发明要克服现有技术上的缺点,解决如何快速高效地对大规模的多变量非 等有氧测试序列进行聚类分群的问题,提出一种高效的、可并行化的大规模有氧 能力分群方法。

由于本大规模有氧能力分群方法所需要聚类的有氧测试序列是一种多变量 (包括心率和速度两个变量)、非等长的数值型时间序列,并且数据量的规模较 大,因此,本发明需要一种合适的时间序列表示方法对原始有氧测试序列进行有 效的重表示,然后选择一种较为高效的聚类算法和相似性度量方法来对重表示序 列进行聚类,同时,为了加快大规模数据量情况下的聚类分群速度,本发明还需 要采用并行计算来充分发挥多核CPU或分布式计算的优势,从而实现快速高效 的大规模有氧能力分群。

根据上述的问题和数据特点,本发明首先提出一种有效的有氧测试序列重表 示方法,可以合理地将多变量的原始有氧测试序列表示成单个特征序列(简称重 表示序列);然后根据重表示序列特点采用一种合理且高效聚类算法,对重表示 序列进行聚类分群;基于分治和并行化的思想加速重表示序列生成过程和重表示 序列的聚类过程。基于这几项技术,本发明所提大规模有氧能力分群方法具体方 案步骤如下:

(1)将有氧能力测试序列集D=[AS1,AS2,......ASn]加载到内存。 ASi(i=1,…,n)是包含心率和速度的二维有氧能力测试序列(如附图1所示), 表示为ASi=<ssi,hsi>,其中ssi表示速度值序列,hsi表示心率值序列。有氧能力 测试序列是由学生佩戴专业的运动手环在进行22分钟有氧耐力跑测试时所采集。

(2)对有氧能力测试序列集进行数据分桶。将数据集D均匀划分为p个桶 B1,B2......BP,每个小的数据桶中的元素均为有氧能力测试序列.

(3)分别对各个桶Bi中的数据进行并行化处理,生成聚类子样本集SFi

(3.1)有氧能力测试序列预处理。遍历Bi中的每一个元素ASk=<ssk,hsk>, 对其进行空值处理(速度值序列和心率值序列中的空值均用”null”表示), 预处理后的元素记为ASk’,预处理步骤如下:

(3.1.1)遍历速度值序列ssk中的每一个值,如果所遍历到当前的 值为null,则按如下三种情形进行相应处理:1.若当前值在序列中不属 于第一个时刻或最后一个时刻,则用当前值前面一时刻的值和后面一时 刻的值的平均值替代该空值;2.如果当前空值为序列的第一个点,即使 用其后面连续两个点的平均值替代该空值;3.如果当前空值为序列的最 后一个点,则使用其前面连续两个点的平均值替代该空值;

(3.1.2)处理心率序列的空值,处理方式同步骤(3.1.1)。

(3.2)遍历Bi中的每一个预处理后的有氧能力测试序列元素ASk’,对 其进行重表示处理,得到其重表示序列,记为fk,并将fk添加到SFi中, 总聚类样本集记为重表示处理的步骤如下:

(3.2.1)计算序列的如下全局特征值:速度值序列的长度(记为 SS_LEN)、平均速度(SS_AVG)、心率值序列的平均值(HS_AVG)、 最大值(HS_MAX)和偏度(HS_SKE)。然后依次插入到fk中。

(3.2.2)以T为分段窗口阈值(实验表明T取5可以取得较好效果), 将ASk’分割为若干个长度为T的序列片段。

(3.2.3)对于上一步得到的每个序列片段,依次计算当前序列片段 的如下局部特征值:速度值序列的平均值(ss_avg),心率值序列的平 均值(hs_avg)、序列开始时刻的心率值(hs_start)和结束时刻的心率 值(hs_end)。然后将计算得到的这些值依次插入到fk中。

(4)聚类样本集F中的样本进行归一化处理;

(5)使用基于划分聚类算法KMeans++对聚类样本集F进行聚类,得到聚类 结果Cres

(6)结果集Cres中的K个簇对应K个不同的有氧能力群体。

以上便是本发明的所有内容。与基于原始测度数据的时间序列聚类方法不 同,本发明首先提出了一种合理的有氧测试序列重表示方法,用于将多变量非等 长的原始有氧测试序列有效地重表示为一条特征值序列(重表示序列)。该有氧 测试序列重表示方法将有氧测试序列从多变量的时间序列转换成单一的序列表 示。该重表示方法一方面,将有氧测试序列的全局特征与局部序列片段特征进行 了融合,既考虑了全局相似性,又有效捕获了局部的相似性;另一方面,该方法 还将运动强度和心率变化的对应关系融入到一个重表示序列中,能够较为有效地 对原始的有氧测试序列进行表示。经过该重表示方法得到的有氧测试序列长度相 比于原始的序列长度缩减了很多,极大程度地降低了聚类阶段的计算量。本发明 没有选择使用传统地KMeans聚类算法对重表示序列进行聚类,而是选择了KMeans++聚类算法,更有利于改善聚类分群结果的准确性。

本发明的优点是:能够快速有效地将大规模的有氧测试序列进行聚类,从而 实现大规模有氧能力分群。其中,本发明所提大规模有氧能力分群方法是可以并 行的,可以充分利用多核CPU或分布式并行计算的优势来加快聚类分群速度; 其次,本发明所提的有氧测试序列重表示方法能够合理的对原始有氧测试序列进 行重表示,同时还起到了有效的降维效果;再者,重表示序列的聚类过程种选择 了KMeans++聚类算法,可以显著提高聚类的准确性。

附图说明

图1是心率与有氧能力测试序列的示意图。

图2是速度值与有氧能力测试序列的示意图。

图3是本发明中大规模有氧能力分群方法总框架图。

具体实施方式

下面结合附图,对本发明所提的高效可并行大规模有氧能力分群方法作进一 步详细说明。

参照图2,一次大规模有氧能力分群任务需要在计算中执行如下步骤:

(1)将有氧能力测试序列集D=[AS1,AS2,......ASn]加载到内存。ASi(i=1,…,n)是包含心率和速度的二维有氧能力测试序列,表示为ASi=<ssi,hsi>,其中ssi表示速度值序列,hsi表示心率值序列。有氧能力测试序列是由学生佩戴专业的 运动手环在进行22分钟有氧耐力跑测试时所采集(22分钟有氧耐力跑测试的规 则如下表所示)。

(2)对有氧能力测试序列集进行数据分桶。将数据集D均匀划分为p个桶 B1,B2......BP,每个小的数据桶中的元素均为有氧能力测试序列。

(3)分别对各个桶Bi中的数据进行并行化处理,生成聚类子样本集SFi

3.1)有氧能力测试序列预处理。遍历Bi中的每一个元素ASk=<ssk,hsk>, 对其进行空值处理(速度值序列和心率值序列中的空值均用”null”表示), 预处理后的元素记为ASk’,预处理步骤如下:

3.1.1)遍历速度值序列ssk中的每一个值,如果所遍历到当前的值 为null,则按如下三种情形进行相应处理:1.若当前值在序列中不属于 第一个时刻或最后一个时刻,则用当前值前面一时刻的值和后面一时刻 的值的平均值替代该空值;2.如果当前空值为序列的第一个点,即使用 其后面连续两个点的平均值替代该空值;3.如果当前空值为序列的最后 一个点,则使用其前面连续两个点的平均值替代该空值。

3.1.2)处理心率序列的空值,处理方式同步骤3.1.1)

3.2)遍历Bi中的每一个预处理后的有氧能力测试序列元素ASk’,对其 进行重表示处理,得到其重表示序列,记为fk,并将fk添加到SFi中,总 聚类样本集记为重表示处理的步骤如下:

3.2.1)计算序列的如下全局特征值:速度值序列的长度(记为 SS_LEN)、平均速度(SS_AVG)、心率值序列的平均值(HS_AVG)、 最大值(HS_MAX)和偏度(HS_SKE)。然后依次插入到fk中。

3.2.2)以T为分段窗口阈值,将ASk’分割为若干个长度为T的序列 片段,其中T的取值为1-100的整数。

3.2.3)对于上一步得到的每个序列片段,依次计算当前序列片段的 如下局部特征值:速度值序列的平均值(ss_avg),心率值序列的平均 值(hs_avg)、序列开始时刻的心率值(hs_start)和结束时刻的心率值 (hs_end)。然后将计算得到的这些值依次插入到fk中。

(4)聚类样本集F中的样本进行归一化处理。

(5)使用基于划分聚类算法KMeans++对聚类样本集F进行聚类,得到聚 类结果Cres

(6)结果集Cres中的K个簇对应K个不同的有氧能力群体。

本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的 保护范围不应当被视为仅限于实施例所陈述的具体形式,其中各步骤可以有所变 化,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发 明的保护范围之外。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种用于数据采集的心脏内科康复装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!