机器学习为更好的火灾现场安全

当勇敢的消防员身处险境试图抢救其他人和他们的财产的时候,他们的生命同样受到了威胁。在这篇文章中,我想分享我在AAIA第15届数据挖掘竞赛中的经验和获奖策略:给火灾现场的消防员活动做标记,在这个竞赛中让我拿了第一名!

比赛由华沙大学和波兰华沙主要的消防学校联合举办。竞赛持续了3个多月,79名参赛者在赛方的主机平台“知识坑”上共递交了1840个解决方案。

我特别喜欢参加有可能产生巨大影响的比赛 - 不仅仅是高精度的比赛受到威胁。这场比赛肯定有这样的风味 - 参赛者被要求在紧急任务期间为现场消防员的安全做出贡献。

挑战

如果您知道救援队成员正在进行的具体活动,这对确定紧急情况下的决策非常有用。这是竞赛的目标 - 开发一种模型,通过采集消防员身体动作的感知数据和统计监测他们的生命机能来识别他们正在进行的活动。。实际上,我们正面临两个相关的多类分类问题。第一类是消防员的主要姿势,第二类是他的特殊行动。以下是参赛者获得的数据样本:

姿势

行动

平均-ECG1

LL-ACC-X

LL-ACC-Y

躯干的陀螺

弯腰

操纵

-0.03

-6.98

10.41

28.49

站立

先用水的信号

-0.04

-9.41

0.11

63.84

移动

-0.04

-8.75

3.81

-52.92

爬行

搜索

-0.03

-36.61

2.74

-134.26

弯腰

操纵

-0.04

-3.00

2.23

-7.21

前两列呈现了两类属性:消防员的姿势和主要动作。每个活动都用大约2秒的传感数据时间序列来描述的,这些传感数据来自于加速计、陀螺仪和对消防员生命机能的某些统计。总计有42个类似的统计,对应着42个时间序列。同时,像往常一样,参赛者被给予2个数据集:“训练”和“测试”。在训练数据中,参赛者被给予打上活动标签的实例,就像上表示例一样。在测试数据中,是没有标签的,参赛者被要求设计一个能够给活动自动打标签的模型。为了从参赛者方案中选出一个最好的,一个给定模型在测试集的表现也被纳入考核(依据下面讨论的评估指标)。在主办方平台,你可以找到更多关于竞赛的信息。

可能活动的数量仅限于赛事举办方提供的标签集。第一类共有5个标签,第二类有16个标签。同时,这些标签是相互关联的。让我们看看他们的联合分布:

爬行

蹲伏

移动

站立

弯腰

下梯子

0

0

465

0

0

上梯子

0

0

476

0

0

操纵

0

1764

331

2356

1898

没有行动

0

87

0

490

0

使用喷嘴

0

492

0

443

0

0

0

4324

0

0

搜索

459

0

0

0

0

发信号-软管回拉

0

0

0

98

0

发信号-先使用水

0

0

41

496

0

发信号-主要使用水

0

46

0

405

0

发信号-停止使用水

0

0

0

277

0

下楼梯

0

0

644

0

0

上楼梯

0

0

1157

0

0

敲击

0

0

0

1022

0

扔掉软管

0

0

0

234

930

步行

0

0

1064

0

0

例如:数据中有4324个实例,是关于一名消防员正在哪里移动和奔跑;234个实例,是关于一名消防员正在站立哪里并投掷软管。当然,还有救援队能参与的许多其它活动,但是,数据集仅限于这个特定的子集。这可能十分令人失望,但是数据集里并没有“救猫”的标签。这个竞赛是作为一个标准的被监督的学习任务而设立的:参赛人员被提供一套训练活动和活动标签,仅此而已。在测试集中,参赛人员要根据在训练集中所学到的知识给活动打标签。

另外一个需要特别注意的事情是,标签的分布相当不平衡。例如,一个消防员奔跑的机率是投掷软管机率的四倍。这个需要慎重考虑,尤其是在竞赛中评估使用指哪个标的时候。

所选用的指标是“平衡精度”。它是用下面这个方法定义的:首先,给一个既定标签规定预测精度。

然后,类别C中标签为L的指标的平衡精度得分等于C类里所有标签指标的平均精度。

最后,由于我们有两个从属的类属性,我们给“姿势”和“动作”的平衡精度得分计算出一个加权平均值:

一个更高的权重给予了更加颗粒状分类“动作”的分类精度。

解决方案概述

任务的方法可以归结为:在习得一个新分类集之前,为时间序列数据提供一个广泛特征的加工步骤。在这个过程中,有几个有趣的细节可以探讨。既然最终的方案由三个略有不同的“随机森林模型”组成,因此,我只描述其中之一:

两类依赖类属性的分类

这个挑战非常有趣的一方面是,我们需要预测两个相关分类。在我的方案中,我做了一个逐步分类。在第一步中,我预测了一个消防员的主要姿势。在第二步中,是基于第一步中的训练集和预计的标签对于特定活动进行了预测。多亏了这个方法,我们可以获得标签之间的层次关系。当然,还有许多其他的方法来处理两个分类的标签问题。例如,可以制定两个独立的分类,或把两个标签连成一个标签。然而,在我的案例中,将两个标签连在一起的办法取得了更好的结果。

培训和测试数据分布之间的漂移

数据带来的另外一个问题是,在训练和测试中的活动是由不同的消防员产生的。这引起了一个正真的挑战。在任何一个数据挖掘竞赛中,参赛成功的一个重要部分是你能够建立一个与竞赛中所用一致的局部评估框架。很自然的解决方案就是对不同的消防员进行分层交叉验证。但是,没有提供针对消防员某一特定活动的识别符。因此,无论我喜欢与否,我不得不主要依赖于初步评价得分,这个得分是基于整个竞赛数据的10%得出的(最终的评价是基于其他90%的测试数据)。当然,这个问题不仅是针对我的,所有其他的参赛者也面临同样的问题。当我和他们在竞赛后的一个研讨会交流时得知,他们也同样主要依据初步的评估结果,因此基于训练数据产生的评估产生了过于乐观的分数。

特征加工

比赛期间的主要精力都投入到提取有趣的特征来描述的基本时间序列(称为信号)。这里有一些可以从信号中提取到的基本统计信息:平均值,标准差,偏斜度,峰度,分位数。我得到相对丰富的网格分位数,范围从0.01,0.05,0.1,0.95,0.99,…。因为有些活动是周期性的,我认为这对利用一些工具解决任务有用。我通过傅里叶变换以及计算周期图来处理每个信号。从这些转化的信号中,我再次提取基本概要统计。另外一个既简单,又被证明在分类中十分有用的特征就是不同信号之间的相关关系。直观来讲,当你跑步时,附着在你腿上的相关设备的记录应该是负相关的。最后,我做了一些努力来识别数据中的峰值。目的在于,在进行不同的活动时,例如,跑步或是敲击,我们可以在信号中观察到不同数量的“峰”。“峰”的识别是一个问题,因为很容易描述,但却很难进行数学定义。最后,我以基于计数的时间序列——在哪儿超过均值一个或两个标准差这种简单方法结束。

为了与训练和测试数据之间的漂移做斗争,应尽量设计通用(非特定主题的)的特征。例如,“加速”分布的分位数严重的取决于一个特定人的跑步速度和他/她的运动能力。据推测,这些数据在不同人之间有很大差别。另一方面,如果你得出一个左右腿之间加速度相关系数,这个相关系数可能在不同消防员间变化非常小。这是一个理想的特征属性,因为在测试数据进行的活动是由另外一组人员进行的,不是原来训练组的那些人。

特征的提取是解决方案中最乏味的部分,但我认为那是值得的。我提取了一套近5000个描述单个活动的特征。现在,下一步就是根据这些区别不同活动的特征开发一个模型。

让我们投票吧

如果由一个专家组来集体决定一件重要的事,这是经常发生的情况,他们可以做出更好的决策。每个人看问题的角度略有不同,他们可以共同得到一个更精确的判断。这个思路在随机森林算法中被得以充分的探索,这是一次决策树合奏。所以他们共同的预测——通过多数表决法,通常产生比单个模型更为精确的结果。我用这个模型来解决活动识别问题。

随机森林另外一个吸引人的属性是它有一个选择相关属性的固有方法。已经提取了相当丰富的特征集,显然其中一些特征只是有点儿用。我将选择最相关属性这个任务交给模型本来来完成。

就像介绍中已经提到的,数据中标签的分布相当不均衡。回想一下,我们的解决方案是基于“平衡精度”这个评估指标来进行评估的。标签预测工作做不好,无论数据的分布好还是坏,都会产生不利后果。考虑到这一点,森林中的每棵树都被用于数据的分层抽样,这样每个标签以平等的比例出现。这样能保护森林不会过多聚焦于一些流行的标签,并且在得分上给予了重要的改进。

概要

总而言之,竞赛是一个非常令人兴奋的体验。我要感谢所有的参与者,因为他们的参与,竞赛成为一个伟大的事件。同时,我要感谢来自于华沙大学和主要的消防服务学校的组织委员会,他们提供了这样一个有趣的数据集,并且组织了这样的比赛。获胜方案的平衡精度达84%,轻松打败了竞争对手。当然,仍有改进的空间,但我们在提高消防员火场安全方面迈出了一小步。

本文的版权归 浮生长恨欢娱少 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

Science重磅!用光速实现深度学习,跟GPU说再见

深度学习对算力的需求没有止境,但受制于能耗和物理极限,基于硅基的电子元件虽然现在还能支撑,但远处那堵几乎不可逾越的高墙已然显现。

2393
来自专栏CDA数据分析师

干货 | 机器学习没有你想的那么复杂

人脑是最神奇的。你知道我更感兴趣的是什么吗?是我们的学习能力。我们如何能够适应并学习全新的技能,然后应用到日常生活之中呢?

814
来自专栏机器之心

学界 | 深度神经网络比拼人类视觉:信号弱时的物体识别差异

选自arXiv 机器之心编译 参与:Smith 近日,来自德国 Tubingen大学和Potsdam大学的研究人员们共同发布了一项研究成果——深度神经网络和人类...

2875
来自专栏PPV课数据科学社区

【译文】统计建模的24种应用(上)

在这里,我们讨论统计模型的一般应用情况。不管他们是否源自数据科学,运筹学,工程学,机器学习或统计学,如决策树,logistic回归,贝叶斯模型,马尔可夫模型,数...

3404
来自专栏新智元

谷歌大脑与Open AI合著论文:机器视觉的一个致命缺陷

【新智元导读】计算机视觉很厉害,但是,只要稍加修改,比如使用美图软件加一个滤镜,计算机视觉就错误频出。MIT报道把这一缺陷称为计算机视觉的“阿喀琉斯之踵”,认为...

3578
来自专栏新智元

9月机器学习文章Top10:星际2、Dota2皆入选,ML教程居榜首

【新智元导读】Mybridge AI(www.mybridge.co)基于文章的内容质量和热议程度对 9 月份和机器学习相关的论文进行了排名,从近 1400 篇...

3778
来自专栏云社区全球资讯抢先看

新的算法将一键修复损坏的数字图像

技术可以使用人工神经网络的力量来一次处理单个图像中的多种类型的图像噪点和图像模糊。

1922
来自专栏人工智能头条

高铁新建人脸识别系统,如何做到整容也可以识别逃犯?

9726
来自专栏量化投资与机器学习

【必看】机器学习应用量化投资必须要踩的那些坑(系列55)

2765
来自专栏人工智能头条

云从科技资深算法研究员:详解跨镜追踪(ReID)技术实现及难点 | 公开课笔记

3743

扫码关注云+社区

领取腾讯云代金券