BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

专访明略数据邵蓥侠:传统公安领域的机器学习实践
录制于:

| 受访者 邵蓥侠 关注 1 他的粉丝 作者 InfoQ 关注 13 他的粉丝 发布于 2017年6月27日 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。
22:31

个人简介 邵蓥侠,明略数据SCOPA技术顾问.北京大学博士后,主要研究方向包括大规模图计算优化、图挖掘应用以及复杂网络分析等,并在相关领域发表学术论文10余篇,包括SIGMOD, VLDB, TKDE等国际一流学术会议和期刊。曾获2014年Google博士奖学金、微软学者等称号。目前作为明略数据SCOPA技术顾问,主要参与图挖掘、图分析、知识工程等相关工作。

QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、杭州、旧金山召开。自2007年3月份首次举办以来,已经有包括传统制造、金融、电信、互联网、航空航天等领域的近万名架构师、项目经理、团队领导者和高级开发人员参加过QCon大会。

   

1. 大家好,这是QCon2017北京站,这次我们邀请到明略数据的邵老师,邵老师您好,先给大家介绍一下你自己吧。

邵蓥侠:大家好,我叫邵蓥侠,来自北京明略软件系统有限公司,我在这边主要负责图计算、图挖掘、知识工程相关的工作,很高兴能和大家进行这样的交流。

   

2. 您本次的演讲是机器学习应用在公安领域,这个领域其实很特别,您是怎么开始做这个领域的大数据应用的,这个领域最大的挑战是什么?

邵蓥侠:其实这个也是一个比较机缘巧合的事情。当时在读书的时候公司这边跟我们有一些项目合作,我因为博士期间做的是图计算相关的内容,对社交网络分析,网络的算法优化有比较多的研究。然后正好公安领域一个很大的问题就是对人进行管理,通过大量的数据能把人组织成一张网络,在这张网络上我们可以挖掘分析很多东西,再结合我自己博士期间的研究背景,当时就觉得这个领域很有意思。另外就是,这项技术确实能服务于社会,如果你能把那些有一定危险性的危险信号捕捉到,把相关的人找出来的话确实会对公共安全有很大的提升。基于自己技术积累的匹配性和这个工作的意义,就开始做了公安领域的大数据分析。而另外就是在刚开始接触的时候,一切都是非常美好的,然后在实际过程中确实遇到很多的问题。一些就是我刚才在演讲的时候也提到,你要用一些看起来高大上的机器学习的话,其实到后面影响模型效果的就是数据。

在公安虽然有很多的数据被电子形式记录下来,但是好多数据其实是不完整的,你需要有大量的清理工作去做,所以这就是在工作中遇到的最大的问题。第二个就是做出的模型效果不像传统广告行业直接可以放到网上,让用户去点击,或者直接在网上可以测试。这就要求我们的模型解释性一定要好(公安领域要求模型具有很强的解释性)。即使解释性好,到真正落实的话仍有很长的距离。除非预警他这个人可能有危险的时候,在预警完,这个人还在那个地方,然后在警员赶到的时候他还在那个地方,这样才会有效果。假设预警实时性不够,发现这种问题到出来预警中间有十几分钟的间隔,这个间隔时间使得某个人离开了作案地点,那么这个警力部署已经没有用了。在实际过程中,就是说这些挑战给我们模型的设计和模型效果的落地验证带来比较大的挑战。主要是这几点,一个是数据,一个是业务验证模型有效性不像在互联网行业这么容易方便。

   

3. 现在你现在做的项目具体是解决什么样的问题?

邵蓥侠:这个可以简单的讲一下,细节因为政府行业的事还是比较敏感的,不太好公开讲。总体做的事就是希望提升政府或者是有关部门的公共安全管理的能力和办事的效率。

   

4. 那么项目中采用哪些算法,比如您提到的新一代积分模型,能跟我们再简单地说一下吗?

邵蓥侠:这个相对于传统的积分模型,我们整体的理念是希望通过数据驱动的方式,去优化这个模型,或者说优化积分的准确度。结合数据我们尝试的数据挖掘机器学习的算法分两块,一块是,刚才报告中也提到就是我们规则如何从数据中提取。这里是一些无监督的算法或者数据挖掘中经典的频繁模式、相关性分析、统计分析这些常用的算法。频繁模式我们使用FP Growth的算法来有效地挖掘出犯罪类型和他的行为轨迹的模式之间的关联关系,做这样一些尝试来挖掘出数据中隐含的模式,基于这个模式我们再去总结和提取规则。其实这个过程也是模仿人的办案过程,以前所谓的经验驱动的规则总结也是人通过大量的办案然后总结出一些规律。只是人的记忆是有限的,只能通过有限的记忆总结出有限的规则,另外不可能让所有的人把规则都汇总到一个地方,至少现在没有这样一个平台。我们希望通过现有的数据去弥补这样的不足,通过挖掘的算法来产生更多有益的规则,这是一条路。另外一条就是有了规则算积分的时候,传统就是规则简单的叠加,规则的权重都是用户通过自己的经验来设定的,在实际过程中,可能发现有很多不合理性。这时候,我们提倡的还是数据驱动。一方面人的经验肯定是靠谱而且最准确的,因为他们有实际的实战经验,另一方面可能数据中确实隐含了一些信号没有捕捉到,我们希想弥补这一点,尝试把机器学习的算法引入进来,结合我们之前规则提取的那些特征,把这些特征的权重通过训练的方式学出来,这就是机器学习辅助优化积分模型的策略。

那么在实际过程中,今天这一块没讲,讲的是如何产生高质量的训练数据,这个就是相当于用了一种半监督的传播算法,来给有监督的机器学习构造更好的输入,基于质量更加高的数据优化一个更好的模型出来,主要就是这样的两个方法。其实从大类来讲,有监督无监督和半监督都用,一方面用来规则挖掘,一方面用来提升模型的精度,基本就是把能用的都用,相当于是一种尝试吧,最终会提炼出几种有效的方法,把它固化到模型里去。

   

5. 提炼总结出来之后的这个新一代积分模型跟旧的相比优势在哪里?

邵蓥侠:这个优势,其实就是我们一开始的设计和需求,一个就是我们希望数据驱动,这样能使得整个知识面更加广。另一方面传统的规则的粒度比较粗,因为传统的积分模型整体是从公安部往下推的,整体的规则粒度比较粗,你到一个地方后不一定符合当地的实情。我们通过数据学习,能有效地根据当地的数据来学习出那些不存在的或者更加具体的规则,这个就是希望积分模型具有一定的个性化或者是符合本地特色,这是我们第二点不同。

第三点就是我们模型要有很好的解释性。机器学习你如果以黑盒的方式给传统行业,不光是公安,金融行业也是,你做风险欺诈,你告诉他某个人有风险,但是你没有任何数据层面的证据支持的话,你很难让人相信,你不可能根据一个预测结果把帐号给封了,在传统行业对模型的解释性有很大的要求。

我们在这期望不仅给出积分情况,还要给出这个积分计算过程中的各种原始数据,通过对原始数据进行合理的归类,就是说一个积分其实是由多个维度的小分数汇聚而成,通过这样的方式能达到一定的程度,使得模型有比较好的解释性。当然这个也不是最完美的解释方法,就目前看的话业界和学术界都没有一种比较好的解释的策略,因为大家都在探索中。

第四点是我们前面也谈到,这个模型要具有一定的实时性,这个预警或者说预测的结果不具有实时性就没有任何实操性了,就是要求这个模型根据实时进来的数据实时更新积分,实时地推送到相关的执行单位。这个是积分模型能在工作流里完成的一些步骤,具体他们是否采取措施,最终还是得人判断。主要是这四点。

   

6. 算法都利用了哪些特征呢?

邵蓥侠:这个算法特征是指数据层面特征还是算法本身的一些特性?

   

7. 如果数据方面?

邵蓥侠:数据方面基本就是我们以规则形式去产生特征然后给算法输入。传统可能解释性不需要这么强的情况下,机器学习模型的特征,可能是任何类型的特征都有。比如我要去预测一个人是否买保险,我可能把他的职业、薪水,是否有孩子,或者是他家里有几口人,这些看上去没有任何关系的非常细粒度的属性,作为特征给算法输入。在我们一个比较有趣的case里,在另外一个储蓄的场景里,你会发现哪些人的违约概率比较高呢,我们发现这个人在某一个日子申请的违约率比较高,这个其实很难去解释,公安里如果你给出这样的特征,即使说在历史数据上跑出来的结果很好,但是对他们来说不会信服,他们没法理解为什么这样的特征会产生作用。

所以我们对这些特征,需要通过组合生成更加高层的,更容易让人理解的强特征。这个也是我们之前提到的用数据挖掘去构建一个知识库。基于这样的知识库,我们从数据中提炼出一些组合比较复杂的规则,这些规则整体目标就是希望解释性好。在解释性好的情况下我们再去把它作为一个特征,输入到模型里去训练。如果这个特征有效,用户很容易接受你模型整体的结果。整体就是尽量构造一些强相关的特征,不相关的话会导致解释性比较差。

   

8. 所以还是需要机器分析的结果和人的正常的逻辑对应上。那么你们在训练算法时是怎么样提高算法的效率的?

邵蓥侠:我们现在做的是构造更多的特征,然后简单优化一些算法模型的参数。其实现在是因为这种合作的关系,做这种工作都有一定的时间期限。尝试完一个模型之后,可能没有那么多机会再去尝试另外一个模型。而且第一个模型效果差不多了以后他们觉得OK,就项目的形式可能会提另外的需求,没有机会去尝试更多的模型。原则上你去优化比较固定业务场景的需求的话,可能就不仅是提特征,还要尝试更多的模型,把模型再混合组合在一起。思路上肯定有这些,但是目前我们尝试的可能更多的以提强规则为主。

   

10. 目前的算法和计算能力能否满足你的要求,将来会打算考虑引进哪些新的算法解决新的问题?

邵蓥侠:在我们现有的模型基础上,客户提供的计算能力能满足我们的要求,因为现在用的都是一些比较经典的机器学习算法,目前遇到的数据规模,结合经典模型它本身的复杂度,计算能力能满足。但是我们现在有计划想尝试一些新的模型,包括深度学习。这一方面的考虑,主要是一方面在实际中我们遇到的好多数据是序列数据,就是跟时间相关的这样的数据我们想尝试用序列预测的技术去做,这方面深度学习有几个比较好而且在业界经过验证效果比较不错的模型像RNN、LSTM。如果后面尝试这些模型的话,结合现有的数据规模,可能对计算能力提出一定的挑战。这时候我们得想其他的途径来满足我们的需求。这个可能只要把经典的效果做得足够好,能说服客户我们新的模型可能会带来更好的效应,那么也许客户就能投更多的资源构建更强大的计算集群。整体来说传统行业在公安的话,相比金融肯定基础设施没有金融那么完善,整体还是大家互相促进,共同探索的一个阶段,相对于人工智能这一块。

   

11. 最后一个问题,您是从学生时期就开始从事人工智能的研究,您如何看待在人工智能领域学术的发展和工业发展,未来您怎样看待人工智能的发展,会不会有更多的项目?

邵蓥侠:这里得澄清一下,之前学生时代做的偏算法性能优化相关,跟人工智能可以有那么点关系,但也不是专门做人工智能算法研究的,但是目前对这方面的领域关注比较多,自己实践的经验有一定的积累,稍微可以讲那么一两句。学术和工业界最大的问题,就是学术界你去做人工智能的时候,你可以完全关注于模型,你的那些训练数据和测试数据,都是非常干净的,整理得非常好,而且质量有一定的保证。然后你在工业界的时候,当你想尝试那些看起来效果很好的模型的时候,你会发现你面临的数据不是它要求的。而且有些时候,为了把原始数据转换成你所需要的数据的代价,比你光去用这个模型要大很多。我们自己内部也会嘲笑说我们做一个模型80%的时间都是做数据清理,20%就是调一下模型效果就OK了。这个就是现实和理想环境下你去做事的一个非常大的区别吧。但是学术界一个重要的意义就是为了给你指一条新的路,提出一些新的思路,学术界的模型能不能用到业界来就考验一个公司的工程能力,核心思想是不会变,但是如何把模型做得更加轻量,把数据整理地更符合模型是一个问题。当然学术界现在数据清理也是一个非常热点的问题,因为他们也希望把自己的技术成果转换到业界来,所以对数据去噪的研究,数据自动地清理,包括今天讲的,如何对数据进行自动地标注,都是有很多的研究,但是目前离真正产业化,达到生产级别还是有一定的距离。所以两个不同的领域,工业界和学术界在磨合,但肯定不会说学术界的东西一下子就可以用到实际环境中,实际环境更加复杂。

   

12. 那如果说大概推测时间的话大概多少年可以达到?

邵蓥侠:这个我觉得我还没有到那种级别吧,这个就真预测不了。我也是新人,我还是多看看专家的意见结合他的意见,自己揣摩一下,在这个领域先自己好好地深耕一下,确实毕竟是新人,有些问题可能拍了也毫无根据。

InfoQ:谢谢邵老师。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT