一种预测模型的自学习方法、装置和计算机可读存储介质与流程

文档序号:33556677发布日期:2023-03-22 12:12阅读:37来源:国知局
一种预测模型的自学习方法、装置和计算机可读存储介质与流程

1.本公开涉及但不限于信息安全技术,更具体地,涉及一种预测模型的自学习方法、装置和计算机可读存储介质。


背景技术:

2.在信息安全领域中,网络安全态势感知是通过将例如入侵检测系统、日志审计系统、终端防护系统等安全系统的数据进行收集后,针对当前网络的安全情况进行评估并预测未来变化趋势。预测是态势感知的重要任务之一,其中时间序列等基于历史数据构建预测趋势基线的算法是趋势预测的主要方法之一。在时间序列的预测过程中,通过观测值来持续对时间序列模型所预测的趋势值进行修正是很有必要的,很多时间序列的周期性都比较容易被准确预测,但趋势性会容易受到近期一些实时的随机事件影响,如果使用时间间隔较久的历史数据训练出的模型来预测,会让时间序列预测的趋势性判断出现较大偏差,尤其在将时间序列方法使用在网络安全态势感知预测中时,如对网络安全事件数量的趋势预测、对网络流量值的趋势预测等,其采样点的时间数量级往往都在小时甚至分钟级。
3.相关技术中,一些态势感知系统采用周期性重新采集数据训练模型,但往往都是与现在数据完全不相关,一方面会出现大量预测异常,另一方面也具有较大的滞后性。定期的自动训练模型不仅浪费计算资源,也无法对周期内或跨周期的趋势变化建模。此外,自动训练更新模型的还会存在由于采集到脏数据而影响模型准确率的情况,如果系统没有自动修正措施会使得自动更新的模型不可用。


技术实现要素:

4.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
5.本公开实施例提出了一种预测模型的自学习方法,包括:
6.获取预测模型的预测边界阈值,所述预测模型是网络安全态势感知的预测模型;
7.连续采集n个窗口的数据样本,n≥2;
8.根据所述预测边界阈值和所述采集的数据样本计算偏离阈值区间,其中所述偏离阈值区间用于表示所述数据样本相对于所述预测边界阈值发生偏离的阈值;
9.判断每个窗口内实时数据的偏离值是否超过所述偏离阈值区间,在实时数据的偏离值大于所述偏离阈值区间的情况下,重新训练预测模型并更新预测模型。
10.在本公开一示例性实施例中,所述连续采集n个窗口的数据样本,n≥2,包括:
11.设置滑动窗口大小和滑动距离;
12.按照预先设置的滑动距离向前滑动所述滑动窗口以连续采集n个窗口的数据样本。
13.在本公开一示例性实施例中,所述根据所述预测边界阈值和所述采集的数据样本计算偏离阈值区间,包括:
14.根据所述预测边界阈值和所述采集的数据样本计算第一偏离阈值区间;和/或,
15.根据所述预测边界阈值和所述采集的数据样本计算第三偏离阈值区间;
16.其中,所述第一偏离阈值区间用于表示发生偏离的数据样本的数量;所述第三偏离阈值区间用于表示发生偏离的数据样本的偏离总量。
17.在本公开一示例性实施例中,所述根据所述预测边界阈值和所述采集的数据样本计算第一偏离阈值区间,包括:
18.计算所述n个窗口的每个窗口内数据样本超过所述预测边界阈值的样本个数n1;
19.将n1除以每个窗口总样本数n2,得到每个窗口内的偏离率;
20.计算所述n个窗口的窗口内偏离率的高斯分布,得到第一偏离阈值区间。
21.在本公开一示例性实施例中,所述根据所述预测边界阈值和所述采集的数据样本计算第三偏离阈值区间,包括:
22.计算所述n个窗口内所有非重复数据样本的偏离值的高斯分布,得到第二偏离阈值区间;其中,数据样本的偏离值为数据样本的真实值超过所述预测边界阈值的差值;
23.找出每个窗口内偏离值超过所述第二偏离阈值区间的数据样本,计算找出的数据样本的偏离值的和;计算所述n个窗口偏离值的和的高斯分布,得到第三偏离阈值区间。
24.在本公开一示例性实施例中,所述判断每个窗口内实时数据的偏离值是否超过所述偏离阈值区间,在实时数据的偏离值大于所述偏离阈值区间的情况下,重新训练预测模型并更新预测模型,包括:
25.计算每个窗口内实时数据的偏离率,在实时数据的偏离率大于所述第一偏离阈值区间的情况下,重新训练预测模型并更新预测模型;或者
26.计算每个窗口内实时数据的偏离值的和,在实时数据的偏离值的和大于所述第三偏离阈值区间的情况下,重新训练预测模型并更新预测模型;或者
27.计算每个窗口内实时数据的偏离率和每个窗口内实时数据的偏离值的和,在实时数据的偏离率大于所述第一偏离阈值区间并且实时数据的偏离值的和大于所述第三偏离阈值区间的情况下,重新训练预测模型并更新预测模型。
28.在本公开一示例性实施例中,在所述连续采集n个窗口的数据样本之前,该方法还包括:
29.按照数据样本的采样时刻保存数据样本,根据所述数据样本的时间戳判断是否有数据样本记录;
30.在没有数据样本记录的情况下,将缺失的记录标记为na。
31.在本公开一示例性实施例中,该方法还包括:
32.在数据样本中存在脏数据污染的情况下,计算所有趋势周期中所述脏数据对应时刻的数据样本值的高斯分布,得到第四偏离阈值区间;
33.在数据样本值超过第四偏离阈值区间的情况下,用所述第四偏离阈值区间中的正态分布均值替代所述数据样本值;或者
34.在存在na记录的情况下,用所述第四偏离阈值区间中的正态分布均值替代所述na记录。
35.本公开一实施例还提供了一种,包括存储器和处理器,所述存储器中保存有计算机程序,所述处理器执行所述计算机程序时能够实现如本公开任一实施例所述的预测模型
的自学习方法。
36.本公开实施例的预测模型的自学习方法及装置,能够自动判断真实数据与基线发生大量明显偏离,不基于固定的时间周期进行模型自学习,从而避免固定模型自学习周期设置太短带来的计算资源浪费,设置太长带来的模型更新滞后性的问题;2)通过同时对发生偏离的数据的数量和偏离阈值的总和来判断自学习时间,能够避免少量异常数据产生告警或大量边界值附近异常数据产生告警引起的趋势误判,尤其适用于安全态势感知中以分钟为采样统计周期的短周期且存在非规律性突发业务的趋势预测;3)通过自动处理脏数据,避免了自学习过程中,缺失值和异常值对模型训练结果的影响,提高了模型的准确性。
37.在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
38.附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
39.图1是本公开一实施例预测模型的自学习方法的流程图;
40.图2是本公开又一实施例预测模型的自学习方法的流程图;
41.图3是本公开一实施例预测模型的自学习装置的示意图。
具体实施方式
42.本公开描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本邻域的普通技术人员来说显而易见的是,在本公开所描述的实施例包含的范围内可以有更多的实施例和实现方案。
43.本公开的描述中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本公开中被描述为“示例性的”或者“例如”的任何实施例不应被解释为比其他实施例更优选或更具优势。本文中的“和/或”是对关联对象的关联关系的一种描述,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。“多个”是指两个或多于两个。另外,为了便于清楚描述本公开实施例的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本邻域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
44.在描述具有代表性的示例性实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本邻域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本邻域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本公开实施例的精神和范围内。
45.相关技术中,网络安全态势感知的预测模型被部署到推理引擎后不能自动更新,导致预测模型不准确产生大量误报警;而且,短采样周期下,趋势变化快,定期或人工重新训练和部署模型不能适应快速变化的趋势;再者,自动采集、训练和更新模型可能存在脏数
据对模型准确性的影响。
46.针对传统的预测模型存在的问题,本公开实施例提出了一种预测模型的自学习方法,如图1所示,包括:
47.步骤110,获取预测模型的预测边界阈值,所述预测模型是网络安全态势感知的预测模型;
48.步骤120,连续采集n个窗口的数据样本,n≥2;
49.步骤130,根据所述预测边界阈值和所述采集的数据样本计算偏离阈值区间,其中所述偏离阈值区间用于表示所述数据样本相对于所述预测边界阈值发生偏离的阈值;
50.步骤140,判断每个窗口内实时数据的偏离值是否超过所述偏离阈值区间,在实时数据的偏离值大于所述偏离阈值区间的情况下,重新训练预测模型并更新预测模型。
51.本公开实施例的预测模型的自学习方法,能够持续采集实时数据、分析数据偏差的趋势,判断真实数据与基线发生明显偏离后,自动训练更新预测模型,从而避免固定模型自学习周期设置太短带来的计算资源浪费,设置太长带来的模型更新滞后性的问题。
52.在本公开一示例性实施例中,步骤120所述的连续采集n个窗口的数据样本,n≥2,包括:
53.设置滑动窗口大小和滑动距离;
54.按照预先设置的滑动距离向前滑动所述滑动窗口以连续采集n个窗口的数据样本。
55.在本公开一示例性实施例中,步骤130所述的根据所述预测边界阈值和所述采集的数据样本计算偏离阈值区间,包括:
56.根据所述预测边界阈值和所述采集的数据样本计算第一偏离阈值区间;和/或,
57.根据所述预测边界阈值和所述采集的数据样本计算第三偏离阈值区间;
58.其中,所述第一偏离阈值区间用于表示发生偏离的数据样本的数量;所述第三偏离阈值区间用于表示发生偏离的数据样本的偏离总量。
59.在本公开一示例性实施例中,所述根据所述预测边界阈值和所述采集的数据样本计算第一偏离阈值区间,包括:
60.计算所述n个窗口的每个窗口内数据样本超过所述预测边界阈值的样本个数n1;
61.将n1除以每个窗口总样本数n2,得到每个窗口内的偏离率;
62.计算所述n个窗口的窗口内偏离率的高斯分布,得到第一偏离阈值区间。
63.在本公开一示例性实施例中,所述根据所述预测边界阈值和所述采集的数据样本计算第三偏离阈值区间,包括:
64.计算所述n个窗口内所有非重复数据样本的偏离值的高斯分布,得到第二偏离阈值区间;其中,数据样本的偏离值为数据样本的真实值超过所述预测边界阈值的差值;
65.找出每个窗口内偏离值超过所述第二偏离阈值区间的数据样本,计算找出的数据样本的偏离值的和;计算所述n个窗口偏离值的和的高斯分布,得到第三偏离阈值区间。
66.在本公开一示例性实施例中,步骤140所述的判断每个窗口内实时数据的偏离值是否超过所述偏离阈值区间,在实时数据的偏离值大于所述偏离阈值区间的情况下,重新训练预测模型并更新预测模型,包括:
67.计算每个窗口内实时数据的偏离率,在实时数据的偏离率大于所述第一偏离阈值
区间的情况下,重新训练预测模型并更新预测模型;或者
68.计算每个窗口内实时数据的偏离值的和,在实时数据的偏离值的和大于所述第三偏离阈值区间的情况下,重新训练预测模型并更新预测模型;或者
69.计算每个窗口内实时数据的偏离率和每个窗口内实时数据的偏离值的和,在实时数据的偏离率大于所述第一偏离阈值区间并且实时数据的偏离值的和大于所述第三偏离阈值区间的情况下,重新训练预测模型并更新预测模型。
70.本公开实施例的预测模型的自学习方法,通过同时对发生偏离的数据的数量和偏离阈值区间的总和来判断自学习时间,能够避免少量异常数据产生告警或大量边界值附近异常数据产生告警引起的趋势误判,尤其适用于安全态势感知中以分钟为采样统计周期的短周期且存在非规律性突发业务的趋势预测。
71.在本公开一示例性实施例中,在步骤120所述的连续采集n个窗口的数据样本之前,该方法还包括:
72.按照数据样本的采样时刻保存数据样本,根据所述数据样本的时间戳判断是否有数据样本记录;
73.在没有数据样本记录的情况下,将缺失的记录标记为na。
74.在本公开一示例性实施例中,该方法还包括:
75.在数据样本中存在脏数据污染的情况下,计算所有趋势周期中所述脏数据对应时刻的数据样本值的高斯分布,得到第四偏离阈值区间;
76.在数据样本值超过第四偏离阈值区间的情况下,用所述第四偏离阈值区间中的正态分布均值替代所述数据样本值;或者
77.在存在na记录的情况下,用所述第四偏离阈值区间中的正态分布均值替代所述na记录。
78.本公开实施例的预测模型的自学习方法,通过自动处理脏数据,避免了自学习过程中,缺失值和异常值对模型训练结果的影响,提高了模型的准确性。
79.在本公开一示例性实施例中,如图2所示,以一台服务器的网络请求数的基线预测模型为例说明网络安全态势感知中预测模型自学习的方法,预测模型基于历史数据被训练出来之后,被部署在自学习工作流引擎上运行,具体流程如下:
80.1)持续接收采样到的数据样本,设采样时间为每分钟,每次接收到数据样本后,将根据数据样本的时间戳判断是否有确实的数据样本记录,对缺失的记录记为na(not available);
81.2)对预测模型进行建模,设置滑动窗口大小,本实施例中设置为60分钟,滑动方式为一次向前滑动30分钟;
82.3)连续采集n=96个窗口的数据;
83.4)计算这96个窗口的每个窗口内真实数据超过步骤1的模型给出的预测边界阈值的样本个数n1,再用样本个数n1除以总样本数n2得到每个窗口内的偏离率,共96个偏离率数据,计算其高斯分布,得到窗口内偏离率的阈值区间mu1
±
3sigma1,记为第一偏离阈值区间;
84.5)计算96个窗口内所包含的所有非重复数据的偏离值,共2880个数据样本,计算这些数据样本中超过步骤1的模型给出的预测边界阈值的差值,再计算这些差值的高斯分
布,得到样本偏离值的阈值区间mu2
±
3sigma2,记为第二偏离阈值区间;
85.6)选出每个窗口内偏离值超过mu2
±
3sigma2的数据样本,并计算这些数据样本的偏离值的和,共得到96个窗口内超过偏离值阈值的数据样本偏离值的和的数据,计算其高斯分布,获得阈值区间mu3
±
3sigma3,记为第三偏离阈值区间;至此完成预测模型的计算;
86.7)使用预测模型对实时数据趋势进行判断,每当接收到的数据样本填满窗口后,计算该窗口内的偏离率a和超过第二偏离阈值区间mu2
±
3sigma2的数据样本偏离值之和b,如果a超出了第一偏离阈值区间mu1
±
3sigma1并且b也超出了第三偏离阈值区间mu3
±
3sigma3,则返回需要进行重新模型训练的信号给流程控制引擎并重新开始对预测模型进行建模,否则继续接收数据判断下一个窗口;
87.8)进行模型重新训练,判断已经接收到的数据中是否存在脏数据污染的趋势周期。计算所有趋势周期中对应时刻的数据样本值的高斯分布,并设置高斯模型下的阈值,记为第四偏离阈值区间(如以mu4
±
3sigma4作为阈值区间),如果存在na记录或超过阈值区间mu4
±
3sigma4的数据样本,使用该采样值的正态分布均值mu4替代;
88.9)累积达到满足模型训练所需的趋势周期个数,则进行模型训练并更新模型,否则继续采集数据直到积累到足够的训练数据。
89.本公开实施例的预测模型自学习的方法,能够自动判断真实数据与基线发生大量明显偏离,不基于固定的时间周期进行模型自学习,从而避免固定模型自学习周期设置太短带来的计算资源浪费,设置太长带来的模型更新滞后性的问题;2)通过同时对发生偏离的数据的数量和偏离阈值的总和来判断自学习时间,能够避免少量异常数据产生告警或大量边界值附近异常数据产生告警引起的趋势误判,尤其适用于安全态势感知中以分钟为采样统计周期的短周期且存在非规律性突发业务的趋势预测;3)通过自动处理脏数据,避免了自学习过程中,缺失值和异常值对模型训练结果的影响,提高了模型的准确性。
90.本公开一实施例还提供了一种预测模型的自学习装置,如图3所示,包括存储器6和处理器5,所述存储器6中保存有计算机程序,所述处理器5执行所述计算机程序时能够实现如本公开任一实施例所述的预测模型的自学习方法。
91.本公开一实施例还提供了一种非瞬态计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序时被处理器执行时实现如本公开任一实施例所述的预测模型的自学习方法。
92.在本公开上述任意一个或多个示例性实施例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么功能可作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质传输,且由基于硬件的处理单元执行。计算机可读介质可包含对应于例如数据存储介质等有形介质的计算机可读存储介质,或包含促进计算机程序例如根据通信协议从一处传送到另一处的任何介质的通信介质。以此方式,计算机可读介质通常可对应于非暂时性的有形计算机可读存储介质或例如信号或载波等通信介质。数据存储介质可为可由一个或多个计算机或者一个或多个处理器存取以检索用于实施本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可包含计算机可读介质。
93.举例来说且并非限制,此类计算机可读存储介质可包括ram、rom、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来以指令或
数据结构的形式存储所要程序代码且可由计算机存取的任何其它介质。而且,还可以将任何连接称作计算机可读介质举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双纹线、dsl或例如红外线、无线电及微波等无线技术包含于介质的定义中。然而应了解,计算机可读存储介质和数据存储介质不包含连接、载波、信号或其它瞬时(瞬态)介质,而是针对非瞬时有形存储介质。如本文中所使用,磁盘及光盘包含压缩光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)、软磁盘或蓝光光盘等,其中磁盘通常以磁性方式再生数据,而光盘使用激光以光学方式再生数据。上文的组合也应包含在计算机可读介质的范围内。
94.可由例如一个或多个数字信号理器(dsp)、通用微处理器、专用集成电路(asic)现场可编程逻辑阵列(fpga)或其它等效集成或离散逻辑电路等一个或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或多个电路或逻辑元件中。
95.本公开实施例的技术方案可在广泛至少两种装置或设备中实施,包含无线手机、集成电路(ic)或一组ic(例如,芯片组)。本公开实施例中描各种组件、模块或单元以强调经配置以执行所描述的技术的装置的功能方面,但不一定需要通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或多个处理器)的集合结合合适软件和/或固件来提供。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1