杨 杰 徐建峰 李 睿
数据挖掘分析一般是指从大量的数据中搜索信息、提炼知识的过程,其常用的方法包括信息检索、统计分析、机器学习等。随着公安信息化的发展,公安机关利用大数据进行挖掘分析,实现寻线追踪、打击处置、预测预警已成为趋势。公安警种部门多个业务岗位的工作都与数据挖掘分析密切相关①赵晓凡:《公安高等院校数据挖掘课程教改研究》,《计算机教育》2018第1期。,培养熟练掌握数据挖掘分析技能的警务人才、在公安院校中建设好相关学科体系,已成为新时代公安工作创新发展的迫切需要。目前,针对数据挖掘分析课程教学改革的探讨有:邱明月等通过分析培养公安创新人才的课程教学、实训及能力训练,设计了符合网络信息资源要求的公安数据挖掘能力培养方案②邱明月、唐松泽:《基于互联网资源的公安数据挖掘能力培养研究》,《信息与电脑》2018第19期。;张云春等以课堂教学和项目实践相结合的方式推进数据挖掘课程在大数据环境下的教学和实践③张云春等:《基于MOOC嵌入式教学的数据挖掘教学改革初探》,《计算机教育》2015年第13期。;张艳等针对大数据的特点,以构建课程核心知识体系为主题,采用案例教学法改革传统的教学评价方式④张艳:《大数据背景下的数据挖掘课程教学新思考》,《计算机时代》2014年第4期。;李海林等从培养数据意识、加强理论体系、创新教学方法和深入科学研究等四个方面探索设计高校数据挖掘课程,以解决大数据挖掘课程因过于抽象而产生的问题⑤李海林:《大数据环境下的数据挖掘课程教学探索》,《计算机时代》2014年第2期。。本文结合公安实战应用需求及相关技术要求,从典型的大数据挖掘分析方法出发,探讨与公安院校数据挖掘分析教学实践密切相关的一些问题。
数据挖掘分析是为了提取有用信息并形成结论而对数据进行详细研究和概括总结的过程。在警务工作中,数据挖掘分析主要包括根据线索特征找到嫌疑对象,通过数据统计总结出目标对象的行为规律、群体分布特性,以及通过机器学习方法预测警情、案事件的发生概率及趋势等,并通过预警指令、专题报告等形式,赋能民警精准打击,辅助领导决策指挥。根据应用场景和技术实现的难易程度,结合笔者多年的工作经验,我们将公安机关数据挖掘分析方法总结为查询比对、规则判别、算术统计、和预测预警等四个类别,具体如表1所示。
表1 公安机关数据挖掘分析方法主要分类
目前公安工作中进行数据挖掘分析的主要“工具”包括SQL、机器学习算法和关系型数据库、大数据组件等。上述方法中,前三个类别主要是基于关系型数据库、大数据组件等,通过SQL开发进行数据分析应用,最后一类主要是基于机器学习算法和大数据组件通过深度开发分析模型开展应用。
在数据挖掘分析中,查询检索、比对布控类应用,主要基于给定的 ID或确定的关键词等线索数据,与各类动态数据特别是轨迹类数据进行值比较,并按要求将匹配比中的数据返回给用户。
实现方法主要是基于SQL的结构化等值比较,将比对条件放在WHERE子句中,并结合布尔运算,通过内连接、外连接、交叉连接等运算机制,构成有复合搜索条件的SELECT语句,此类方法常用于一键搜索、在逃人员比对布控等业务应用场景。
相较于查询比对,规则判别类数据挖掘分析是更为复杂的数据比较,主要基于给定的业务规则进行条件符合性筛查。通常是由多个判别条件组合嵌套形成SQL语句中的复合搜索条件。其分析过程多用以下运算符:
1.等值之外的值比较运算符,如!=,>=,in,between等;
2.模糊查询like,结合通配符%,_,[]等;
3.条件组合运算符,如AND、OR、NOT等。
此类数据挖掘分析主要是根据业务规则筛选出符合条件的目标对象集合,如盗窃案件潜在嫌疑人、通讯网络诈骗易受害人群等。具体实现过程中,主要是将嫌疑人或受害人的自然属性、嫌疑特征或受害特征等属性条件逐条转换为对应业务规则,然后基于上述规则组合,对相关数据表进行关联查询和条件比较,符合规则数越多则嫌疑度或易被侵害度越高。最终输出的结果将提供给研判人员进行二次甄别筛选,并确定是否采取进一步的行动措施。
算术统计类数据挖掘分析主要是基于给定条件对数据进行规模量计数统计,或是基础性计算统计,运算过程中通常要用到SQL的分组函数和聚合函数,实现对数据表中数据的加、减、乘、除和计数、极值、均值等简单计算。常见的聚合函数有AVG、COUNT、MAX、MIN、SUM等,可以组合起来使用。分组由GROUP BY子句实现,通过归纳信息类型实现相关数据汇总。条件控制由HAVING子句实现,通过条件符合性比较筛选出相应结果。以同行人员分析为例,通常同出行一定次数以上的人员联系较为紧密,具体实现过程如下:
步骤一:从多种来源的轨迹类数据中提取相应的数据记录;
步骤二:按照给定条件,对数据记录中人员同行次数进行计数统计;
步骤三:根据步骤二的计数统计结果,按照给定的阈值筛选出高密度同行人员。
算术统计类的数据挖掘分析主要应用于对象群体的时空规律分析,如同伙轨迹伴随、类案时空分布等。
预测预警类数据挖掘分析是实践中难度最高的一类,通常是基于机器学习算法实现,主要有聚类、分类、回归、关联规则等。不同类型的算法具有不同的特性,适用于不同的业务场景。以聚类算法为例,其主要运算过程是按内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小,本质上是通过对无标记数据的学习来揭示数据的内在性质及规律。最为常见的是K均值(K-means)聚类算法,其通过“距离”衡量数据间的相似度,应用时需预设聚类结果类别的个数。算法的基本步骤为:
步骤三:将每个类别中心更新为隶属该类别的所有样本的均值
步骤四:判断是否满足终止条件。常用的终止条件有迭代次数、簇中心变化率、最小平方误差等。
步骤五:若满足终止条件,聚类结束;否则,跳转到步骤二,重复执行,直到满足终止条件。
基于机器学习算法的数据挖掘分析主要用于警情预测、轨迹预测、风险预测等应用场景。以盗窃惯犯的预测分析为例,可将最近一次无违法行为天数(即从最近一次接受处罚期满释放以来未出现新案件的时长)、年均盗窃次数、年均盗窃金额等特征属性作为输入维度,利用 K-means算法进行聚类分析,得出与已知惯犯处于同一类的盗窃嫌疑人员。具体实践过程中,在得到聚类结果的基础上,还需对聚类结果进行二次研判,以进一步确定盗窃嫌疑人员的作案可能性。
随着数据挖掘分析对公安信息化应用工作的重要性越来越大,要培养符合公安实战要求的数据挖掘分析人才,公安院校必须在数据挖掘分析的课程设置、教学方式、实践设计、教学管理等方面不断进行改进和创新。鉴于数据挖掘分析是一个多学科交叉的综合业务领域,特别是在公安机关应用的时间不长,且领域内新的技术理论发展迅猛,理解和掌握数据挖掘分析并不是一件容易的事。据初步调研,公安院校相关课程教学普遍存在以下难点和问题:
一是起点高、难度大。数据挖掘分析课程内容涉及领域广泛,包括统计学、数据库、机器学习、模式识别等内容,且所涉及的算法繁多。公安院校主要为本科层次教育,一般很少专门开设数据挖掘的课程,所以理论基础相对薄弱,学习难度较大。
二是重算法、轻实践。数据挖掘分析是数据获取、数据整理、预处理、挖掘分析、结果分析等一系列流程的综合,相关教学通常以高等数学算法为课程主体内容。在具体实践中,一方面,计数、求和、差值、极值、均值等简单算术运算覆盖了当前业务应用的大部分数据分析场景及具体分析模型;另一方面,数据预处理的时间往往占到工作量的 70%以上,且预处理的质量很大程度上影响后续挖掘分析的结果。
三是缺实景、少案例。承担数据分析教学的教师很少有机会直接参加公安机关实际应用的数据分析模型的设计和开发,实战经验不足;课堂教学中所用的案例大多数来自参考书籍,跟警务工作实际相关的少之又少。
针对上述问题,笔者结合公安机关开展数据挖掘分析应用常用的四类典型方法,尝试探讨公安院校做好数据挖掘分析教学的关键突破口。
一是有的放矢,完善课程体系。公安机关开展数据挖掘分析通常要解决的问题包括:主体身份的确定、时间和空间的确定、行为方式和习惯以及参与人员等内容的确定。就上述四类典型应用方法而言,前三类在实际应用中占据了当前公安机关数据挖掘分析需求的绝大部分。因此,具体的教学活动要强化关系代数、组合数学等课程的设置和教学,让学生熟练掌握关系代数和组合数学的基本运算操作,理解其数学含义;要强化SQL语言开发课程的教学,让学生熟练掌握SQL语法和常用的比较操作、统计函数等;要加大机器学习算法课程开设力度,强化数学基础学习和案例分析,为开展数据深度分析储备知识、积累经验。
二是注重实践,锤炼数据能力。在开展上述课程教学的同时,要注重案例分析实践,培养锻炼学生根据不同场景条件选用合适分析方法的能力。当目标对象明确时,可以基于等值比较查询检索相关信息;当给定条件模糊时,则可选用规则判别方法进行分析;当需要研判与特定对象有时空伴随现象的未知对象时,则需要应用算术统计的分析方法;当需要预判某地将来一段时间的警情发生情况时,可采用机器学习中的回归分析等方法进行分析。此外,要做好数据挖掘分析教学,还需要提高数据挖掘分析实践课程的比例,提升学生数据处理和数据准备的能力。熟悉数据内容、熟练掌握方法、选择适用方法,这些都是较好地完成数据挖掘分析工作任务的必备要素。针对机器学习算法知识难度大的问题,可以选择合适的分析工具,依托可视化建模拖拽、参数设置等功能组件,实现算法的自定义配置应用,从而降低学习门槛。
三是任务驱动,兴趣引领教学。建立由任务驱动的数据挖掘分析教学实践流程①黄剑:《任务驱动探究式教学模式在数据挖掘课程中的应用研究》,《电脑知识与技术》2014年第6期。,探索形成以学生为主体、教师为主导的交互式、嵌入式教学方式。具体实践中,可以结合公安实战任务,突出实践和讨论交流,将数据挖掘分析工作流程,分解成若干子任务,设定阶段性任务目标,由老师辅导、学生自主执行,激发学生学习兴趣,提升学习动力,培养分析和解决问题的能力,改变以往纯理论单向灌输的教学方式,将理论知识讲解和实践任务有机结合起来。考虑到数据挖掘分析的连贯性以及整体课程的工程庞大性,可以以项目化的方式加以推进,并将整个项目分解成数据收集、数据处理、探索性分析、挖掘分析、结果分析、报告撰写等一系列小任务,安排好阶段目标,有序推进,逐步建立学生完成小任务的信心并最终高效完成项目,掌握数据挖掘分析实战应用技能。老师要及时跟进了解学生阶段性任务完成情况,全流程做好任务进度控制,对学生遇到的困难及时给出意见建议,对难点给予技术支持,引导学生自主完成教学项目。
近年来,随着公安信息化建设应用的升级提速,公安机关已经建立了较为完整的大数据资源体系。不断从这些大数据中快速挖掘分析出高价值情报线索以有效、精准服务公安工作现实需要,已成为公安机关技术能力建设的迫切需求。数据挖掘分析所涉学科众多,作为公安人才队伍培养的主阵地,公安院校的相关课程建设完善迫在眉睫。我们认为,公安院校数据挖掘分析教学设计应该重点突出实践环节,合理规划数学理论和实践部分的比例,突出数据挖掘分析的大数据环境,强化数据挖掘技术在警务工作中的应用,为不断提升公安机关的情报洞察能力、分析决策能力、指挥管理能力、侦查破案能力和服务社会能力提供可持续的智力支持。