一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

时空数据异常识别方法、装置和电子设备与流程

2022-12-07 19:33:11 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,具体而言,涉及一种时空数据异常识别方法、装置和电子设备。


背景技术:

2.随着计算机技术和移动互联网的高速发展,全球各个行业都加速了数字化的进程。在大量的传统业务由线下转移到线上的同时,互联网信息安全也遭遇到巨大挑战,其中又以金融行业遭受到的欺诈风险最甚。以金融行业的线上贷款业务为例,大量的黑灰产机构通过篡改gps定位信息或者他人异地代理的方式,非法或者违规办理业务,给金融机构造成严重危害。
3.为了有效识别和验证客户在办理业务时的空间信息真实性,目前行业通常有以下几种方法:一是对信息进行交叉校验,例如对用户当前gps所在地、当前ip所在地、手机归属地或身份信息所在地等进行交叉验证,对存疑的客户进行风险防范;二是通过经验学习形成相关的策略,并利用策略进行防控;三是利用无监督类机器学习方法,对空间类信息进行检测。随着黑产工具和黑产技术的不断更新,上述一、二类方法很容易被突破并逐渐失效,三类的机器学习类方法逐渐被应用,但是目前在时空数据校验的场景上仍然未形成成熟的、系统的、可靠的应用方案。


技术实现要素:

4.本发明的目的包括,例如,提供了一种时空数据异常识别方法、装置和电子设备,其能够提高模型训练效果、保障对时空数据校验的准确度。
5.本发明的实施例可以这样实现:第一方面,本发明提供一种时空数据异常识别方法,所述方法包括:获得用户时空信息相关的时空序列数据,并将所述时空序列数据按不同的窗口大小和步长大小进行提取得到多组时空序列样本;分别利用各组时空序列样本对构建的长短期记忆网络模型进行训练,基于训练得到的对应的各个第一预测模型的性能确定最优窗口大小和最优步长大小;对最优窗口大小和最优步长大小下的时空序列样本进行处理得到时空静态指标,并利用所述时空静态指标对构建的孤立森林异常检测模型进行训练,得到第二预测模型;利用所述最优窗口大小和最优步长大小下的第一预测模型和第二预测模型分别得到待识别时空数据的第一检测结果和第二检测结果,并根据所述第一检测结果和第二检测结果判断所述待识别时空数据是否存在异常。
6.在可选的实施方式中,所述获得用户时空信息相关的时空序列数据的步骤,包括:获得用户触发的多个事件中各所述事件的时空信息数据;基于所述多个事件中每相邻两个事件的时空信息数据得到事件之间的时空序列数据。
7.在可选的实施方式中,所述时空序列数据包括多个维度下的时空序列数据,所述方法还包括:针对每相邻两个事件之间的各个维度下的时空序列数据,按照设置的最小时间单位对所述时空序列数据进行线性差值处理得到新的时空序列数据,或者对所述时空序列数据进行替代差值处理得到新的时空序列数据。
8.在可选的实施方式中,所述将所述时空序列数据按不同的窗口大小和步长大小进行提取得到多组时空序列样本的步骤,包括:确定所述多个事件中的关键事件,并按不同的窗口大小截取所述关键事件之前的用户所触发的事件相关的时空序列数据;针对截取的各段时空序列数据,采用不同的步长大小对所述时空序列数据进行提取,得到多组时空序列样本。
9.在可选的实施方式中,各组时空序列样本具有样本标签;所述分别利用各组时空序列样本对构建的长短期记忆网络模型进行训练,基于训练得到的对应的各个第一预测模型的性能确定最优窗口大小和最优步长大小的步骤,包括:针对各组时空序列样本,将所述时空序列样本导入构建的长短期记忆网络模型进行训练,输出所述时空序列样本的预测结果;在基于所述时空序列样本的样本标签和预测结果构建的损失函数的指导下,调整所述长短期记忆网络模型的模型参数并继续训练,直至满足预设要求时停止训练得到对应的第一预测模型;根据各个第一预测模型的性能确定最优第一预测模型,并将所述第一预测模型对应的窗口大小和步长大小确定为最优窗口大小和最优步长大小。
10.在可选的实施方式中,所述对最优窗口大小和最优步长大小下的时空序列样本进行处理得到时空静态指标的步骤,包括:针对最优窗口大小和最优步长大小下的各个维度的时空序列样本,计算所述时空序列样本中包含的多个序列值的最大值、最小值、平均值、中值、众值、方差、累加和、首位差和末值,以作为时空静态指标。
11.在可选的实施方式中,所述利用所述时空静态指标对构建的孤立森林异常检测模型进行训练,得到第二预测模型的步骤,包括:从所述时空静态指标中随机选择预设个数构成子集;从所述子集中的时空静态指标中随机抽取一个维度的指标数据作为所述子集构成的树结构中的根节点特征,并重复随机产生切割点对当前数据空间进行划分以构建新的子节点,直至子节点只包含单个指标数据或者树结构达到目标高度为止;在构建的树结构的数量达到目标数量时,得到训练完成的第二预测模型。
12.在可选的实施方式中,所述第二检测结果包括所述待识别时空数据对应的时空静态指标中多个维度下的综合异常分值;所述根据所述第一检测结果和第二检测结果判断所述待识别时空数据是否存在异常的步骤,包括:在所述第一检测结果和所述第二检测结果中的综合异常分值均不存在异常时,判
定所述待识别时空数据不存在异常;在所述第一检测结果和所述第二检测结果中的综合异常分值均存在异常时,判定所述待识别时空数据存在异常;在所述第一检测结果和所述第二检测结果中的综合异常分值其中之一存在异常时,基于所述第二检测结果还包括的所述待识别时空数据对应的时空静态指标中各维度下的独立异常分值判断所述待识别时空数据是否存在异常。
13.第二方面,本发明提供一种时空数据异常识别装置,所述装置包括:获取模块,用于获得用户时空信息相关的时空序列数据,并将所述时空序列数据按不同的窗口大小和步长大小进行提取得到多组时空序列样本;第一训练模块,用于分别利用各组时空序列样本对构建的长短期记忆网络模型进行训练,基于训练得到的对应的各个第一预测模型的性能确定最优窗口大小和最优步长大小;第二训练模块,用于对最优窗口大小和最优步长大小下的时空序列样本进行处理得到时空静态指标,并利用所述时空静态指标对构建的孤立森林异常检测模型进行训练,得到第二预测模型;判断模块,用于利用所述最优窗口大小和最优步长大小下的第一预测模型和第二预测模型分别得到待识别时空数据的第一检测结果和第二检测结果,并根据所述第一检测结果和第二检测结果判断所述待识别时空数据是否存在异常。
14.第三方面,本发明提供一种电子设备,所述电子设备包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述电子设备执行如前述实施方式中任意一项所述的时空数据异常识别方法。
15.本发明实施例的有益效果包括,例如:本技术提供一种时空数据异常识别方法、装置和电子设备,在获得用户的时空序列数据后将时空序列数据按不同的窗口大小和步长大小进行提取得到多组时空序列样本。利用各组时空序列样本训练得到多个第一预测模型,并基于各个第一预测模型的性能确定最优窗口大小和最优步长大小。对最优窗口大小和最优步长大小下的时空序列样本进行处理得到时空静态指标,利用时空静态指标训练得到第二预测模型。最后利用最优窗口大小和最优步长大小的第一预测模型和第二预测模型对待识别时空数据进行异常检测。本方案中,利用最优窗口大小和最优步长大小下的时空数据进行模型训练,可以避免无关数据对训练的干扰,提高训练的效果,且结合两个模型进行综合判断,可以保障对时空数据校验的准确度。
附图说明
16.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
17.图1为本技术实施例提供的时空数据异常识别方法的流程图;图2为图1中步骤s101包含的子步骤的流程图;
图3为图1中步骤s101包含的子步骤的另一流程图;图4为图1中步骤s102包含的子步骤的流程图;图5为本技术实施例构建的lstm模型的结构示意图;图6为本技术实施例中lstm模型中门控处理示意图;图7为图1中步骤s103包含的子步骤的流程图;图8为本技术实施例中if模型原理示意图;图9为本技术实施例中if模型异常值分布示意图;图10为本技术实施例提供的电子设备的结构框图;图11为本技术实施例提供的时空数据异常识别装置的功能模块框图。
18.图标:110-存储介质;120-处理器;130-时空数据异常识别装置;131-获取模块;132-第一训练模块;133-第二训练模块;134-判断模块;140-通信接口。
具体实施方式
19.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
20.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
22.请参阅图1,为本技术实施例提供的时空数据异常识别方法的流程图,该时空数据异常识别方法有关的流程所定义的方法步骤可以由电子设备所实现,例如,个人计算机、笔记本电脑、智能手机、服务器等设备。下面将对图1所示的具体流程进行详细阐述。
23.s101,获得用户时空信息相关的时空序列数据,并将所述时空序列数据按不同的窗口大小和步长大小进行提取得到多组时空序列样本。
24.s102,分别利用各组时空序列样本对构建的长短期记忆网络模型进行训练,基于训练得到的对应的各个第一预测模型的性能确定最优窗口大小和最优步长大小。
25.s103,对最优窗口大小和最优步长大小下的时空序列样本进行处理得到时空静态指标,并利用所述时空静态指标对构建的孤立森林异常检测模型进行训练,得到第二预测模型。
26.s104,利用所述最优窗口大小和最优步长大小下的第一预测模型和第二预测模型分别得到待识别时空数据的第一检测结果和第二检测结果,并根据所述第一检测结果和第二检测结果判断所述待识别时空数据是否存在异常。
27.本实施例中,用户时空信息相关的时空序列数据是指用户基于用户终端所触发的
事件的时空数据所构成的序列形式。具体地,请参阅图2,本实施例中,可以通过以下方式获得用户的时空序列数据:s1011,获得用户触发的多个事件中各所述事件的时空信息数据。
28.s1012,基于所述多个事件中每相邻两个事件的时空信息数据得到事件之间的时空序列数据。
29.本实施例中,可以通过对用户的用户终端环境,例如app端、web端、移动小程序端,对用户的不同事件进行数据埋点,从而采集到用户的时空信息数据,以用作后续进行异常检测的依据。
30.用户的时空信息数据可以包括时间信息、空间信息和采集设备/接口信息等。
31.其中,时间信息一般由业务系统而非用户终端自行生成,用以记录用户触发事件的时间,因此可以保证其真实性。
32.空间信息,如果是app端或web端,一般直接调用用户终端本身自带的定位传感器以采集gps相关信息。若为移动小程序端,则可采用api接口形式获得用户gps相关信息。而获得的空间信息容易存在被篡改的可能。
33.设备/接口信息包括如设备品牌、型号、版本号、网络类型等,可以用作空间信息真实性的辅助判断。例如,在网络类型为2g或3g情况下,本身的空间信息可能会因网络较差而存在精度较低或者异常波动的情况,因此需要加入采集设备/接口信息来提升对时空信息数据异常的识别准确性。
34.请结合表1中所示,用户通过事件流(如加载

验证码

加载

资料验证)触发信息采集模块,从而采集并记录下用户的各个事件的时间信息、空间信息以及采集设备/接口信息。
35.表1 事件及时空信息数据表
事件事件类型时间信息空间信息采集设备/接口信息1加载事件2022/4/411:12:23(39.936237,116.347128){采集精度:50,采集设备:a}2验证码事件2022/4/411:12:35(39.916621,116.397128){采集精度:50,采集设备:a}3加载事件2022/4/411:13:29(39.916511,116.392113){采集精度:50,采集设备:a}4资料验证事件2022/4/411:20:45(39.923256,116.362132){采集精度:50,采集设备:b}
在此基础上,基于每相邻两个事件的时空信息数据,可以加工得到事件流的时空序列数据。例如,对用户i的时空序列数据可记为,其中,分别为用户i的时空序列数据的各项加工特征的序列,也即各个维度下的时空序列数据。如表2中所示,用户的时空序列数据为,其中各项序列分别为时间差、距离、方向、精度和是否切换设备。
36.表2 事件流及时空序列数据表事件流时间差/s距离/m方向/
°
精度是否切换设备1

215.005.6535.225002

354.000.5522.155003

4436.003.54-43.53501
由上可看出,实际应用层面采集到的时空数据存在以下几个问题,首先,时空信息数据采集时通过对事件进行埋点采集得到的,因此获取到的用户的时空信息数据的时间点是不连续、不固定的。其次,因为用户的操作行为存在差异,因此,不同用户采集到的时空信息数据在时间跨度上也是不同的。
37.为了将用户的时空信息数据转化为稳定统一的、更适用于模型训练的标准化数据,本实施例中,在获得用户的时空序列数据之后,可采用差值处理方式将原始的时空序列数据转化为相同时间步长的新的时空序列数据。具体地,本实施例提供的时空数据异常识别方法还可包括以下步骤:针对每相邻两个事件之间的各个维度下的时空序列数据,按照设置的最小时间单位对时空序列数据进行线性差值处理得到新的时空序列数据,或者对时空序列数据进行替代差值处理得到新的时空序列数据。
38.本实施例中,差值处理方式包括线性差值和替代差值两种方式。其中,线性差值处理方式即为对两个相邻事件之间的时空序列数据按照设置的最小时间单位进行处理。
39.表3 差值处理后的时空序列数据表
事件流时间差/s距离/m(线性差值)方向/
°
(替代差值)精度(替代差值)是否切换设备(线性差值)1

215.00[0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38,0.38][35.22,35.22,35.22,35.22,35.22,35.22,35.22,35.22,35.22,35.22,35.22,35.22,35.22,35.22,35.22][0,0,0,0,0,0,0,0,0,0,0,0,0,0,0][0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
例如,结合表2和表3中所示,对序列中的距离进行线性差值处理时,假设最小时间单位设置为1s,则通过如下公式可得到新的序列:其中,表示新的序列,表示原始的序列,表示设置的最小时间单位。如此,可以得到如表3中所示的包含15个元素的距离序列。
[0040]
此外,替代差值处理即为针对两个相邻事件之间的时空序列数据进行替代差值处理得到新的时空序列数据,该新的时空序列数据的数值不变,仅是将元素的个数扩充为与其他维度的序列相同的个数。
[0041]
例如,结合表2和表3中,相邻事件1

2之间的方向进行替代差值处理,得到的新的方向的数值不变,只是元素的个数扩充为15个。
[0042]
本实施例中,结合表3中所示,可以事件1

2的时空序列数据为例,距离、方向、精度和是否切换设备四个维度分别经过了不同的差值处理,其中,距离差经过线性差值处理,实际含义是每秒移动的速度,方向经过替代差值处理,实际含义是代表持续移动的方向。
[0043]
可以看出,差值处理的方式可以根据业务理解选择合适的方式,也可以同时采用两种处理方式,记为两个新的特征,并通过后续模型自动选择的方式来对关键特征进行识别。需要注意的是,时间差本身经过差值处理后不再成为特征。同时,事件流1

2的时间差为15s,因此4个特征构成的特征序列可以记为15*4的数组形式(以1s为最小时间单位进行差值),对于事件流1
→2→3→
4,时间差共计505s,因此构成的序列可以记为505*4的数组形式。
[0044]
对用户的全流程的时空序列数据,经过差值处理后,记为,其中,为经过差值处理的n维特征序列,其中每个特征序列的长度为,为用户全流程信息采集的总时长。
[0045]
本实施例中,考虑到用户的操作行为存在差异,不同用户的全流程信息采集的总时长并不相同,且经过差值处理的数据本身也存在极高的冗余度(例如4个事件流采集到的四次关键数据,经过差值处理后变成了505个序列数据)。因此,为了进一步将用户的时空序列数据进行标准化,同时提升后续模型识别效率,在本实施例中,将采用不同的窗口大小和步长大小对时空序列数据进行提取,即截取用户的不同窗口大小下的、不同时间步长下的时空序列数据作为时空序列样本,以用作后续的模型训练。
[0046]
本实施例中,考虑到在实际业务场景下,虽然用户在全流程中都可能提供虚假的定位信息,但此类欺诈行为一定是针对关键事件或关键行为所产生的。例如,在金融贷款场景中,用户篡改gps信息一定是为了能够成功实现注册或者申请,因此,请参阅图3,本实施例中,在按不同窗口大小和步长大小进行数据截取时,可通过以下方式实现:s1013,确定所述多个事件中的关键事件,并按不同的窗口大小截取所述关键事件之前的用户所触发的事件相关的时空序列数据。
[0047]
s1014,针对截取的各段时空序列数据,采用不同的步长大小对所述时空序列数据进行提取,得到多组时空序列样本。
[0048]
本实施例中,多个事件中的关键事件例如可以是上述的注册或申请事件。本实施例中仅对关键事件之间的某一段时间内的时空序列数据进行截取,是具备广泛适用性和可行性的。而采用不同时间窗口大小和步长大小进行截取是考虑到用户在关键事件之前,有可能在距离关键事件很早一段时间内实施了异常操作,也有可能在距离关键事件很临近的一段时间内实施了异常操作。因此,采用不同窗口大小和步长大小进行截取是为了确定出具体哪些序列数据才是对异常判断最为有用的数据。
[0049]
本实施例中,假设以的时空序列数据为例,当预设的窗口大小为4s,步长大小为2时,先确定出某关键事件之前的最后4s的时空序列数据,再按照2的步长进行采集,可以得到时空序列样本。其中,最后一项是补全特殊标记,即当窗口大小内具备数据时标记为1,否则标记为0。当设置的窗口大小为5s,得到时空序列样本。可以看出,因为设置的时间窗口大小内只存在4s的数据,因此进行了1s的序列补全(示例中采用的补全方式为0补全,也可以采用后一项数据填充补全的方式等),同时在最后一项补全特殊标记中标记为1。
[0050]
本实施例中,通过以上方式可以获得稳定的时空序列样本,可以用以后续的模型的训练。本实施例中,可以构建长短期记忆网络模型(long short-term memory,lstm),并
利用各组时空序列样本分别对长短期记忆网络模型进行训练,得到各自训练得到的第一预测模型。
[0051]
请参阅图4,本实施例中,上述步骤s102中利用各组时空序列样本对长短期记忆网络模型进行训练的过程,可以通过以下方式实现:s1021,针对各组时空序列样本,将所述时空序列样本导入构建的长短期记忆网络模型进行训练,输出所述时空序列样本的预测结果。
[0052]
s1022,在基于所述时空序列样本的样本标签和预测结果构建的损失函数的指导下,调整所述长短期记忆网络模型的模型参数并继续训练,直至满足预设要求时停止训练得到对应的第一预测模型。
[0053]
s1023,根据各个第一预测模型的性能确定最优第一预测模型,并将所述第一预测模型对应的窗口大小和步长大小确定为最优窗口大小和最优步长大小。
[0054]
长短期记忆网络模型是一种特殊的循环神经网络模型,在处理时间序列相关的领域有着广泛的应用。如图5中所示,对于每一个时序,都有输入特征变量、隐状态变量和输出变量,实际上每个时序的隐状态变量是由本时序的输入特征变量以及上一个时序传递下来的信息参数经过遗忘门、输入门和输出门的门控处理后得到,而隐状态变量h
t
由再经过一层神经网络处理后得到输出变量。lstm的门控处理如图6所示,其中:遗忘门部分表示如下:输入门部分表示如下:输出门部分表示如下:上式中 ,为t时刻的输入变量,为t-1时刻的隐状态变量(输出门得到),

代表点乘,为sigmoid函数,tanh为双曲正切函数,和为遗忘门过程变量,、、和为输入门过程变量,和为输出门过程变量;uf、wf为遗忘门矩阵系数,ui、wi、
ug、wg为输入门矩阵系数,uo、wo为输出门矩阵系数。所有矩阵系数都统记为u、w,不同t时刻均共享一套系数矩阵。在实际求解过程中,矩阵系数通常初始化为0,并通过损失函数的反向传播不断更新矩阵系数,最终完成模型的迭代求解。
[0055]
在时空场景下,lstm模型能够自动学习到序列数据的异常,例如相邻节点之间的距离突变,或者连续多个节点之间的距离累计变化过大等,这是由lstm这类模型自己的结构特性决定的。因此在此场景下,若能将原始不规整、不稳定的时空序列数据转换为稳定的时空序列样本并应用于lstm模型,通常能够取得较好地效果。
[0056]
本实施例中,通过以上方式获得的各组时空序列样本具有样本标签,样本标签用于表征在实际场景中时空序列样本是否为异常样本,例如篡改gps或者移动轨迹过于异常的样本,样本标签可为1。而经过合适的时空轨迹正常的样本,样本标签可为0。
[0057]
本实施例中,可以将多组时空序列样本划分为训练集、验证集和测试集,例如,可按照比例将70%的样本划分为训练集、15%的样本作为验证集、15%的样本作为测试集。
[0058]
可首先构建并初始化长短期记忆网络模型,本实施例中,构建的长短期记忆网络模型输入层可包括个序列以及n个特征,与特征序列长度为的n维特征序列相匹配。隐藏层采用tanh激活函数,输入维度为n,输出维度为64维。输出层采用softmax激活函数,输入维度为64,输出维度为1。
[0059]
其中,tanh和softmax激活函数如下:可知,tanh为非线性激活函数,能够充分发挥深度学习模型的特征学习能力。softmax能够实现数值归一化处理,从而将64维隐藏层变量处理为处在[0,1]区间的输出变量。
[0060]
在利用各组时空序列样本对长短期记忆网络模型进行训练时,长短期记忆网络模型可输出时空序列样本的预测结果。可以模型的最后一个节点的输出变量,也即时空序列样本的预测结果,以及其真实的样本标签构建损失函数,并进行模型的迭代。构建的损失函数可如下所示:其中,p表示真实的样本标签,q表示模型的预测结果,交叉熵表示两个概率分布的p和q的差异,当两者差异越大时,交叉熵越大,差异越小时,交叉熵越趋于0。
[0061]
在构建的上述损失函数的知道下,利用梯度下降法进行模型的迭代训练,在每次迭代结束后对长短期记忆网络模型的模型参数进行调整并继续训练。每次迭代训练后的模型效果可利用验证集进行验证,当验证集的损失函数不再持续下降时,或者是迭代训练的
时长达到设置的最大时长,又或者是迭代训练的次数达到设置的最大次数时,可以停止训练。
[0062]
利用不同窗口大小、不同步长大小的时空序列样本,按照以上方式对模型进行训练,可以得到分别训练完成的第一预测模型。
[0063]
在完成所有第一预测模型的训练后,可以利用不同条件下的测试集对模型性能进行比较,从而确定最优的第一预测模型以及其对应的最优窗口大小和最优步长大小。
[0064]
请结合参阅表4,本实施例中,基于的模型的性能指标可包括交叉熵、ks和auc。假设所采用的时空序列样本包括三种不同方案下的样本,也即,分别的窗口大小、步长大小为:30min、3s;1h、3s;1h、5s。各组时空序列样本下得到的性能指标可如表4中所示。
[0065]
表4 不同方案下模型的性能指标表序号参数交叉熵ksauc方案1窗口大小:30min;步长大小:3s0.0840.890.9443方案2窗口大小:1h;步长大小:3s0.0750.930.9665方案3窗口大小:1h;步长大小:5s0.1210.850.8645对于方案1、方案2和方案3的模型效果比较可知,方案2具有较低的交叉熵和较高的ks(kolmogorov-smirnov)值和auc(area under curve)值,因此选择该方案的参数作为模型参数(窗口大小:1h;步长大小:3s),该方案所建立的模型作为最终应用模型,在实际的方案评估也可以通过单一指标(如交叉熵)进行选择。以方案2的实际参数为例,在窗口大小为1h,步长大小为3s情况下的模型效果最优,表明通过用户在关键事件(如注册或申请)前1个小时内的时空数据已经能够取得较好的模型识别效果,而在3s情况下的模型能够最高效的利用和提取关键信息,避免模型精度不佳或者模型过拟合等问题。
[0066]
由此,可以得到由多组时空序列样本训练得到的多个第一预测模型中的最优第一预测模型,以及该最优第一预测模型对应的最优窗口大小和最优步长大小。
[0067]
在基于长短期记忆网络模型实现时空数据的异常判断时,可以是以模型的最后一个节点的输出结果作为预测值,该预测值越高则表明异常概率越大。此外,可以以识别准确性为如0.9对应的输出结果作为判断基准,也即某一时空数据的预测值高于该判断基准,则表明该时空数据存在异常,否则为正常。
[0068]
上述lstm模型是一种有监督学习模型,即模型建立是由标签样本训练得到,因此本质上是在学习和总结已经发现的异常模式。为了增进模型的可解释性以及全面覆盖其他未发现的异常点,本实施例中,进一步结合无监督学习模型来提升识别效果。
[0069]
通常在实际生产的复杂场景下,由于数据维度多、数据不稳定或不同用户数据结构差异大等问题,采用无监督学习方法会受到极大的数据噪声影响,从而难以取得良好效果。本实施例中,在建立有监督学习模型的过程中,已经实现了数据处理并获得了稳定的时空序列样本,并确定了最优窗口大小、最优步长大小,在此基础上建立无监督学习模型,可以较好地规避数据噪声的影响,具有更高的准确性和泛化性。
[0070]
本实施例中,首先对最优窗口大小和最优步长大小下的时空序列样本进行处理得到时空静态指标,具体地,可通过以下方式获得时空静态指标:针对最优窗口大小和最优步长大小下的各个维度的时空序列样本,计算时空序列样本中包含的多个序列值的最大值、最小值、平均值、中值、众值、方差、累加和、首位差和末
值,以作为时空静态指标。
[0071]
本实施例中,以经过差值处理后的距离维度下的数据为例,假设该维度下时空序列样本为[2,2,200,200,200,200,1,1,1,1],可以得到:最大值为200,最小值为1,平均值为80.8,中值为200,众值为200,方差为9472.56,累加和为808,首位差为-1,末值为1。时空静态指标的处理方式可以根据指标本身的含义以及业务含义进行拓展和衍生,例如:1)最大值200,实际业务含义表示速度200m/s,过大则表示速度可能有异常;2)平均值80.8,实际业务含义表示在该时间段内的平均移动快慢,过大则表示整体速度有异常;3)方差为9472.56,实际业务含义表示移动速度的变化程度,过大则表示移动模式波动较大。
[0072]
在上述基础上,可以利用得到的时空静态指标进行孤立森林异常检测模型(isolation forest,if)的训练。具体地,请参阅图7,该步骤可以通过以下方式实现:s1031,从所述时空静态指标中随机选择预设个数构成子集。
[0073]
s1032,从所述子集中的时空静态指标中随机抽取一个维度的指标数据作为所述子集构成的树结构中的根节点特征,并重复随机产生切割点对当前数据空间进行划分以构建新的子节点,直至子节点只包含单个指标数据或者树结构达到目标高度为止。
[0074]
s1033,在构建的树结构的数量达到目标数量时,得到训练完成的第二预测模型。
[0075]
孤立森林异常检测模型是一种无监督学习模型,首先可以从全量样本中,也即所有的时空静态指标中随机选取预设个数的样本构成子集,并构建一个树结构。并随机抽取某一个维度下的指标数据xd作为根节点特征,并随机产生切割点进行切分,其中。
[0076]
切割点将产生超平面,将当前数据空间划分为两个子空间。特征小于切割点的放在节点左分支,特征大于或等于切割点的放在节点右分支。重复以上的切割动作不断构建新的子节点,直至子节点只包含单个数据或者是树结构达到目标高度。
[0077]
重复以上的构建动作,可以构建多个树结构,在树结构的数量达到目标数量时,则可以得到由孤立森林异常检测模型训练得到的第二预测模型。
[0078]
可以看出,孤立森林异常检测模型是一种集成学习方法,利用多棵树进行共同决策来提升模型的识别效果。以单一棵树的切割过程为例,如图8(图8中左侧指示出正常数据点,右侧指示出异常数据点)所示,异常数据点仅需少量的切割次数便可被孤立出来,在树中则表现为树路径长度较短。基于树结构的路径长度则可以得到样本的异常分值。
[0079]
本实施例中,利用孤立森林异常检测模型实现异常判断可通过以下公式实现:其中,表示异常值分数,为该样本在孤立森林中的路径长度平均值,为个训练样本在孤立森林中的平均路径长度。
[0080]
本实施例中,通过以上方式可以训练得到第一预测模型和第二预测模型,可以结合第一预测模型和第二预测模型在实际应用中实现对时空数据的异常检测,例如,对待识别时空数据进行异常检测。可以分别利用最优窗口大小和最优步长大小下的第一预测模型得到待识别时空数据的第一检测结果,并利用第二预测模型得到待识别时空数据的第二检测结果,结合第一检测结果和第二检测结果判断待识别时空数据是否存在异常。
[0081]
其中,本实施例中,基于第二预测模型得到的第二检测结果可包括待识别时空数据对应的时空静态指标中多个维度下的综合异常分值,以及待识别时空数据对应的时空静态指标中各个维度下的独立异常分值。
[0082]
在实际操作中,判断孤立森林异常检测模型检测的结果是否存在异常可以采用以下方案:1)对综合异常分值,将时空静态指标的异常值分数由低至高记为集合(分数越高则越异常),以0.98分位(α=0.02)对应的异常值分数作为判断基准,若超过该异常值分数,则认为综合异常。
[0083]
2)对每个维度下的独立异常分值,将时空静态指标的异常值分数由低至高记为集合(分数越高则越异常),以0.98分位(α=0.02)对应的异常值分数作为判断基准,若超过该异常值分数,则认为该维度下的该静态指标异常。
[0084]
如图9所示,基于if综合异常检测的方式中,0.98分位(α=0.02)对应的异常值分数为0.91,则对某一样本的综合异常检测分值若》0.91,则认为综合检测异常;基于if独立异常检测时,同样采用分位数检测方式,并输出识别到存在异常的维度下的静态指标。例如[距离指标:最大值异常,距离指标:方差异常],表明该样本在if综合异常检测上识别到异常,而异常主要原因可能是因为速度有突变,或者速度的全程波动较大导致的。
[0085]
本实施例中,在基于第一检测结果和第二检测结果判断待识别时空数据是否异常时,可通过以下方式实现:在第一检测结果和第二检测结果中的综合异常分值均不存在异常时,判定待识别时空数据存在异常。
[0086]
本实施例中,第一检测结果和第二检测结果中的综合异常分值是否存在异常的判断,可以参见上述长短期记忆网络模型和孤立森林异常检测模型进行异常判断的方式。在这种情形下,若第一检测结果和综合异常分值均不存在异常,则无需再进行上述独立异常分值的计算和检测,以避免不必要的工作量。
[0087]
此外,在第一检测结果和第二检测结果中的综合异常分值均存在异常时,判定待识别时空数据存在异常。
[0088]
在判定待识别时空数据存在异常时,则可以对用户当前行为执行拒绝操作。在这种情形下,同样地,无需进行上述独立异常分值的计算和检测。
[0089]
而若,在第一检测结果和第二检测结果中的综合异常分值其中之一存在异常时,基于第二检测结果还包括的待识别时空数据对应的时空静态指标中各维度下的独立异常分值判断待识别时空数据是否存在异常。
[0090]
此种情形下,则除了利用if模型进行综合异常分值的预测之外,还需利用if模型细化到各个维度下,进行各个维度下的独立异常分值的预测。
[0091]
例如,对某一用户第一检测结果正常,第二检测结果中的综合异常分值存在异常
时,可以通过人工侦测的方式对用户的实际流程风险和数据异常进行判断,侦测过程中可以结合识别到的异常静态指标进行详细的分析,避免风险遗漏。
[0092]
需要注意的是,第一检测结果和第二检测结果的综合异常识别是可以灵活多变的,例如上述中,第一检测结果是采用lstm模型识别准确性precision为0.9对应的输出变量值作为判断基准,第二检测结果是采用0.98分位(α=0.02)对应的异常值分数作为判断基准。实际操作过程中,可以采用多风险段相结合的方式进行灵活检测。
[0093]
例如第一检测结果可以将lstm模型识别准确性precision为0.9对应的输出变量值作为高风险判断基准,识别准确性precision为0.8对应的输出变量值作为中风险判断基准;第二检测结果可以将0.98分位(α=0.02)对应的异常值分数作为高风险判断基准,0.95分位(α=0.05)对应的异常值分数作为中风险判断基准。第一检测结果的高中风险和第二检测结果的高中风险也可以有更多的组合方式并进行合理灵活调控。
[0094]
请参阅图10,为本技术实施例提供的电子设备的示例性组件示意图,该电子设备可以是上述的如个人计算机、笔记本电脑、智能手机、服务器等。该电子设备可包括存储介质110、处理器120、时空数据异常识别装置130及通信接口140。本实施例中,存储介质110与处理器120均位于电子设备中且二者分离设置。然而,应当理解的是,存储介质110也可以是独立于电子设备之外,且可以由处理器120通过总线接口来访问。可替换地,存储介质110也可以集成到处理器120中,例如,可以是高速缓存和/或通用寄存器。
[0095]
时空数据异常识别装置130可以理解为上述电子设备,或电子设备的处理器120,也可以理解为独立于上述电子设备或处理器120之外的在电子设备控制下实现上述时空数据异常识别方法的软件功能模块。
[0096]
如图11所示,上述时空数据异常识别装置130可以包括获取模块131、第一训练模块132、第二训练模块133和判断模块134。下面分别对该时空数据异常识别装置130的各个功能模块的功能进行详细阐述。
[0097]
获取模块131,用于获得用户时空信息相关的时空序列数据,并将所述时空序列数据按不同的窗口大小和步长大小进行提取得到多组时空序列样本;可以理解,该获取模块131可以用于执行上述步骤s101,关于该获取模块131的详细实现方式可以参照上述对步骤s101有关的内容。
[0098]
第一训练模块132,用于分别利用各组时空序列样本对构建的长短期记忆网络模型进行训练,基于训练得到的对应的各个第一预测模型的性能确定最优窗口大小和最优步长大小;可以理解,该第一训练模块132可以用于执行上述步骤s102,关于该第一训练模块132的详细实现方式可以参照上述对步骤s102有关的内容。
[0099]
第二训练模块133,用于对最优窗口大小和最优步长大小下的时空序列样本进行处理得到时空静态指标,并利用所述时空静态指标对构建的孤立森林异常检测模型进行训练,得到第二预测模型;可以理解,该第二训练模块133可以用于执行上述步骤s103,关于该第二训练模块133的详细实现方式可以参照上述对步骤s103有关的内容。
[0100]
判断模块134,用于利用所述最优窗口大小和最优步长大小下的第一预测模型和第二预测模型分别得到待识别时空数据的第一检测结果和第二检测结果,并根据所述第一
检测结果和第二检测结果判断所述待识别时空数据是否存在异常。
[0101]
可以理解,该判断模块134可以用于执行上述步骤s104,关于该判断模块134的详细实现方式可以参照上述对步骤s104有关的内容。
[0102]
在一种可能的实施方式中,上述获取模块131可以用于:获得用户触发的多个事件中各所述事件的时空信息数据;基于所述多个事件中每相邻两个事件的时空信息数据得到事件之间的时空序列数据。
[0103]
在一种可能的实施方式中,所述时空序列数据包括多个维度下的时空序列数据,所述时空数据异常识别装置130还包括处理模块,该处理模块可以用于:针对每相邻两个事件之间的各个维度下的时空序列数据,按照设置的最小时间单位对所述时空序列数据进行线性差值处理得到新的时空序列数据,或者对所述时空序列数据进行替代差值处理得到新的时空序列数据。
[0104]
在一种可能的实施方式中,上述获取模块131具体可以用于:确定所述多个事件中的关键事件,并按不同的窗口大小截取所述关键事件之前的用户所触发的事件相关的时空序列数据;针对截取的各段时空序列数据,采用不同的步长大小对所述时空序列数据进行提取,得到多组时空序列样本。
[0105]
在一种可能的实施方式中,各组时空序列样本具有样本标签,上述第一训练模块132可以用于:在基于所述时空序列样本的样本标签和预测结果构建的损失函数的指导下,调整所述长短期记忆网络模型的模型参数并继续训练,直至满足预设要求时停止训练得到对应的第一预测模型;根据各个第一预测模型的性能确定最优第一预测模型,并将所述第一预测模型对应的窗口大小和步长大小确定为最优窗口大小和最优步长大小。
[0106]
在一种可能的实施方式中,上述第二训练模块133可以用于:针对最优窗口大小和最优步长大小下的各个维度的时空序列样本,计算所述时空序列样本中包含的多个序列值的最大值、最小值、平均值、中值、众值、方差、累加和、首位差和末值,以作为时空静态指标。
[0107]
在一种可能的实施方式中,上述第二训练模块133可以用于:从所述时空静态指标中随机选择预设个数构成子集;从所述子集中的时空静态指标中随机抽取一个维度的指标数据作为所述子集构成的树结构中的根节点特征,并重复随机产生切割点对当前数据空间进行划分以构建新的子节点,直至子节点只包含单个指标数据或者树结构达到目标高度为止;在构建的树结构的数量达到目标数量时,得到训练完成的第二预测模型。
[0108]
在一种可能的实施方式中,所述第二检测结果包括所述待识别时空数据对应的时空静态指标中多个维度下的综合异常分值,上述判断模块134可以用于:在所述第一检测结果和所述第二检测结果中的综合异常分值均不存在异常时,判定所述待识别时空数据不存在异常;在所述第一检测结果和所述第二检测结果中的综合异常分值均存在异常时,判定所述待识别时空数据存在异常;在所述第一检测结果和所述第二检测结果中的综合异常分值其中之一存在异常时,基于所述第二检测结果还包括的所述待识别时空数据对应的时空静态指标中各维度下的独立异常分值判断所述待识别时空数据是否存在异常。
[0109]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0110]
进一步地,本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有机器可执行指令,机器可执行指令被执行时实现上述实施例提供的时空数据异常识别方法。
[0111]
具体地,该计算机可读存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该计算机可读存储介质上的计算机程序被运行时,能够执行上述时空数据异常识别方法。关于计算机可读存储介质中的及其可执行指令被运行时,所涉及的过程,可以参照上述方法实施例中的相关说明,这里不再详述。
[0112]
综上所述,本技术实施例提供的时空数据异常识别方法、装置和电子设备,在获得用户的时空序列数据后将时空序列数据按不同的窗口大小和步长大小进行提取得到多组时空序列样本。利用各组时空序列样本训练得到多个第一预测模型,并基于各个第一预测模型的性能确定最优窗口大小和最优步长大小。对最优窗口大小和最优步长大小下的时空序列样本进行处理得到时空静态指标,利用时空静态指标训练得到第二预测模型。最后利用最优窗口大小和最优步长大小的第一预测模型和第二预测模型对待识别时空数据进行异常检测。本方案中,利用最优窗口大小和最优步长大小下的时空数据进行模型训练,可以避免无关数据对训练的干扰,提高训练的效果,且结合两个模型进行综合判断,可以保障对时空数据校验的准确度。
[0113]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献