一种异常检测方法和装置与流程

文档序号:12034800阅读:260来源:国知局
一种异常检测方法和装置与流程

本发明涉及异常检测技术领域,具体涉及一种异常检测方法和装置。



背景技术:

随着大数据时代的发展,越来越多的服务应用都运行在分布式系统中,部署分布式系统的机器集群规模也越来越大。在信息安全领域,一个很重要的问题是如何在海量日志数据中发现异常的行为。而且在复杂的分布式系统下,当程序出现性能异常时,如何快速有效的进行异常检测与诊断,进而帮助开发者优化程序,已成为分布式系统领域的一个重要问题。目前,绝大多数计算机系统(包括分布式系统)都使用输出日志的方式来帮助用户检测和诊断系统异常。日志通常是非结构化的文本信息,主要记录系统运行过程中系统或任务的状态和发生的事件,然而用户需要借助自己积累的专业知识来从日志中分析出问题所在,这通常费时费力。

对于这类问题,最直接的想法是将其建模为一个二分类的数学问题,即设计和训练一个分类器以区分“正常样本”和“异常样本”。虽然这种基于标注数据的监督学习和分类技术能够发现异常样本,但却面临着标注数据量大,标注成本高等一系列问题。而传统的异常检测技术主要是通过对样本特征值估计概率统计分布或者计算相似度距离来实现的。这些方法由于缺少标注数据这类先验知识,也往往面临参数敏感和线性不可分等问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种异常检测方法和相应的一种异常检测装置。

依据本发明的一个方面,提供了一种异常检测方法,所述方法包括:

获取待检测的目标日志数据;

利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到;

判断所述第一概率是否大于预设阈值;如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。

可选地,在所述利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率的步骤之前,还包括:

利用多个已确定所属分类的访问样本数据训练所述分类模型。

可选地,所述利用多个已确定所属分类的访问样本数据训练所述分类模型的步骤,包括:

利用多个已知分类结果的访问样本数据构建训练样本集和测试样本集;其中各所访问样本数据的分类结果由预设的分类规则确定;

以所述训练样本集中的各所述训练日志数据作为所述分类模型的输入,以相应训练日志数据的分类结果作为输出,训练所述分类模型;

根据所述测试样本集中的各所述访问样本数据对训练后的分类模型进行优化处理,使所述分类模型的分类结果满足预设条件。

可选地,所述利用多个已知分类结果的访问样本数据构建训练样本集和测试样本集的步骤,包括:

根据预设的分类规则,确定多个访问样本数据的分类结果为正常样本数据还是异常样本数据;

根据各所述访问样本数据的分类结果,从各所述访问样本数据中筛选出第一个数的正常样本数据以及第二个数的异常样本数据构建训练样本集;

根据各所述访问样本数据的分类结果,从各所述访问样本数据中筛选出第三个数的正常样本数据以及第四个数的异常样本数据构建测试样本集;所述测试样本集中包含的访问样本数据与所述训练样本集中包含的访问样本数据互不相同。

可选地,所述根据所述测试样本集中的各所述访问样本数据对训练后的分类模型进行优化处理,使所述分类模型的分类结果满足预设条件的步骤,包括:

利用训练后的所述分类模型计算所述测试样本集中各所述访问样本数据的分类结果;

计算利用训练后的所述分类模型对所述测试样本集中各所述访问样本数据进行分类的准确率;

根据各所述访问样本数据的分类结果筛选出分类结果不达标的访问样本数据;

根据调整后的分类规则,确定多个访问样本数据的分类结果为正常样本数据还是异常样本数据,然后进入利用多个已知分类结果的访问样本数据构建训练样本集和测试样本集;其中各所访问样本数据的分类结果由预设的分类规则确定的步骤,直至本次计算得到的准确率与前一次计算得到的准确率的差值小于预设差值;其中所述调整后的分类规则为根据所述分类结果不达标的访问样本数据对所述分类规则调整后得到。

可选地,所述分类模型为逻辑斯特回归模型。

根据本发明的另一方面,提供了一种异常检测装置,所述装置包括:

目标日志数据获取模块,用于获取待检测的目标日志数据;

第一概率获取模块,用于利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到;

判断模块,用于判断所述第一概率是否大于预设阈值;

异常确认模块,用于如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。

可选地,还包括:

分类模型训练模块,用于利用多个已确定所属分类的访问样本数据训练所述分类模型。

可选地,所述分类模型训练模块,包括:

样本集构建子模块,用于利用多个已知分类结果的访问样本数据构建训练样本集和测试样本集;其中各所访问样本数据的分类结果由预设的分类规则确定;

分类模型训练子模块,用于以所述训练样本集中的各所述训练日志数据作为所述分类模型的输入,以相应训练日志数据的分类结果作为输出,训练所述分类模型;

分类模型优化子模块,用于根据所述测试样本集中的各所述访问样本数据对训练后的分类模型进行优化处理,使所述分类模型的分类结果满足预设条件。

可选地,所述样本集构建子模块,包括:

访问样本数据分类单元,用于根据预设的分类规则,确定多个访问样本数据的分类结果为正常样本数据还是异常样本数据;

训练样本集构建单元,用于根据各所述访问样本数据的分类结果,从各所述访问样本数据中筛选出第一个数的正常样本数据以及第二个数的异常样本数据构建训练样本集;

测试样本集构建单元,用于根据各所述访问样本数据的分类结果,从各所述访问样本数据中筛选出第三个数的正常样本数据以及第四个数的异常样本数据构建测试样本集;所述测试样本集中包含的访问样本数据与所述训练样本集中包含的访问样本数据互不相同。

可选地,所述分类模型优化子模块,包括:

测试样本集分类单元,用于利用训练后的所述分类模型计算所述测试样本集中各所述访问样本数据的分类结果;

准确率计算单元,用于计算利用训练后的所述分类模型对所述测试样本集中各所述访问样本数据进行分类的准确率;

不达标样本数据筛选单元,用于根据各所述访问样本数据的分类结果筛选出分类结果不达标的访问样本数据;

样本数据更新分类单元,用于根据调整后的分类规则,确定多个访问样本数据的分类结果为正常样本数据还是异常样本数据,然后进入样本集构建子模块,直至本次计算得到的准确率与前一次计算得到的准确率的差值小于预设差值;其中,所述调整后的分类规则为根据所述分类结果不达标的访问样本数据对所述分类规则调整后得到。

可选地,所述分类模型为逻辑斯特回归模型。

根据本发明的一种异常检测方法和装置,可以获取待检测的目标日志数据;利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到;判断所述第一概率是否大于预设阈值;如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。由此解决了现有的异常检测方法标注数据量大,标注成本高,参数敏感和线性不可分等问题。取得了降低标注数据量以及标注成本,提高检测性能的有益效果。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种异常检测方法的步骤流程图;

图2示出了根据本发明一个实施例的一种异常检测方法的步骤流程图;

图3示出了根据本发明一个实施例的一种异常检测方法的步骤流程图;

图4示出了根据本发明一个实施例的一种异常检测装置的结构示意图;以及

图5示出了根据本发明一个实施例的一种异常检测装置的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

详细介绍本发明实施例提供的一种异常检测方法。

参照图1,示出了本发明实施例中一种异常检测方法的步骤流程图。

步骤110,获取待检测的目标日志数据。

简单地说,日志数据(logdata)的核心就是日志消息或者日志。日志消息就是计算机系统、设备、软件等在某种刺激下反应生成的东西。确切的刺激在很大程度上取决于日志消息的来源。例如,unix操作系统会记录用户登录和注销的消息,防火墙将记录acl(accesscontrollist,访问控制列表)通过和拒绝的消息,磁盘存储系统在故障发生或者在某些系统认为将会发生故障的情况下生成日志信息。

日志数据就是一条日志消息的内在含义。换句话说,日志数据就是一条日志消息里用来告诉你为什么生成日志消息的信息。例如,web服务器一般会在有人访问web(万维网)页面请求资源(图片、文件等等)的时候记录日志。如果用户访问的页面需要通过认证,日志消息将会包含用户名。这就是日志数据的一个例子:可以使用用户名来判断谁访问过一个资源。

日志(log)这个术语实际上指的是用于展示某些事件全貌的日志消息的集合。

日志消息可以分成下面的几种通用类型:

信息:这种类型的消息被设计成告诉用户和管理员一些没有风险的事情发生了。例如,cisco(思科)ios(internetworkoperatingsystem,互联网操作系统)将在系统重启的时候生成消息。例如,如果重启发生在非正常维护时间或是业务时间,就有发出警报的理由。

调试:软件系统在应用程序代码运行时生成调试信息,是为了给软件开发人员提供故障检测和定位问题的帮助。

警告:警告消息是在系统需要或者丢失东西,而又不影响操作系统的情况下生成的。例如,如果一个程序没有获得正确数量的命令行参数,但是它也能在没有这些参数的情况下运行,这种情况下程序记录日志可能只是为了警告用户或者操作人员。

错误:错误日志消息是用来传达在计算机系统中出现的各种级别的错误。例如,操作系统在无法同步缓冲区到磁盘的时候会生成错误信息。不幸的是,许多错误消息只能给出为什么出错的起点,要寻找出导致错误发生的根本原因还需要进一步的调查。

警报:警报表明发生了一些有趣的事情。一般情况下,警报是属于安全设备和安全相关系统领域的,但这并不是硬性的规定。在计算机网络中可能会运行一个入侵预防系统(ips,intrusionpreventionsystem),检查所有入站的流量。它将根据数据包的内容判断是否允许其进行网络连接。如果ips检测到了一个恶意连接,可能会采取任何预先配置的行动。ips会记录下检测结果以及所采取的行动。

如前述,在信息安全领域,一个很重要的问题是如何在海量日志数据中发现异常的行为。日志数据可以表征用户或者是互联网在接收到请求时所执行的一些行为操作,那么则可以通过检测日志数据进而检测出异常行为。因此在本申请中,首先需要获取待检测的目标日志数据。在本申请中,可以利用任何可以方法或设备获取待检测的目标日志数据,对此本申请不加以限定。

步骤120,利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到。

在本申请中,分类模型可以直接输出目标日志数据属于异常分类的第一概率;另外,分类模型的输出值也可以为目标日志数据属于正常分类的第二概率,而在实际应用中,目标日志数据如果不是异常那么则为正常,因此在获取了目标日志数据属于正常分类的第二概率之后,则可以计算1与第二概率的差值即为目标日志数据属于异常分类的第一概率。对此本申请不加以限定。

其中的分类模型由多个已确定所属分类的访问样本数据训练得到。例如,如果已知某一访问样本数据a所属分类为异常,那么可以确定该访问样本数据属于异常分类的概率为1,而如果已知某一访问样本数据b所属分类为正常,那么可以确定该访问样本数据属于异常分类的概率为0。那么在利用访问样本数据a和访问样本数据b训练分类模型时,可以分别以访问样本数据a和访问样本数据b作为分类模型的输入,相应的分别以1和0作为分类模型的输出以训练分类模型。那么如果以目标日志数据作为分类模型的输入,此时利用该分类模型获取的结果为目标日志数据属于异常分类的第一概率。

而对于前述的访问样本数据a,可以确定该访问样本数据属于正常分类的概率为0,而对于前述的访问样本数据b,可以确定该访问样本数据属于正常分类的概率为1,那么在训练分类模型时,也可以分别以访问样本数据a和访问样本数据b作为分类模型的输入,相应的分别以0和1作为分类模型的输出以训练分类模型。那么如果以目标日志数据作为分类模型的输入,此时利用该分类模型获取的结果为目标日志数据属于正常分类的第二概率。

步骤130,判断所述第一概率是否大于预设阈值。

步骤140,如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。

如前述,如果根据分类模型获取到目标日志数据属于异常分类的第一概率,那么很明显第一概率越大,则说明目标日志数据属于异常分类的可能性越高。因此在本申请中,可以预先设置一预设阈值,进而判断第一概率是否大于预设阈值,如果第一概率大于预设阈值,则可以确认相应的目标日志数据异常;而如果第一概率不大于预设阈值,则可以确认相应的目标日志数据无异常。其中的预设阈值可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前进行设定,对此本申请不加以限定。例如可以设定预设阈值为0.5,那么如果第一概率大于0.5则说明相应的目标日志数据为异常数据。

另外,在本申请中,如果分类模型的输出结果为目标日志数据属于正常分类的第二概率,很明显目标日志数据属于正常分类的第二概率越小,则说明该目标日志数据异常的可能性越高,那么也可以直接判断第二概率是否小于等于第二预设阈值,如果第二概率小于等于第二预设阈值,则说明该目标日志数据为异常数据。其中的第二预设阈值可以为1与前述的预设阈值的差值。在本申请中,也可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前设定第二预设阈值的具体取值,对此本申请不加以限定。

在本申请实施例中,可以获取待检测的目标日志数据;利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到;判断所述第一概率是否大于预设阈值;如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。由此取得了降低标注数据量以及标注成本,提高检测性能的有益效果。

实施例二

详细介绍本发明实施例提供的一种异常检测方法。

参照图2,示出了本发明实施例中一种异常检测方法的步骤流程图。

步骤210,获取待检测的目标日志数据。

步骤220,利用多个已确定所属分类的访问样本数据训练所述分类模型。

在本申请中,在利用分类模型获取目标日志数据属于异常分类的第一概率之前,需要对分类模型进行训练。具体的可以利用多个已确定所属分类的访问样本数据训练分类模型。

例如,可以直接分别依次以多个已确定所属分类的访问样本数据作为分类模型的输入,以相应访问样本数据的分类结果作为分类模型的输出。其中访问样本数据的分类结果可以为相应访问样本数据属于异常数据的概率。如前述,如前述,如果访问样本数据为异常数据,那么其属于异常数据的概率为1,而如果访问样本数据为正常数据,那么其属于异常数据的概率为0。

另外,为了保证训练后的分类模型的性能稳定性,可以从多个已确定所属分类的访问样本数据中筛选出同样数量的异常样本数据和正常样本数据,然后分别依次以筛选出的异常样本数据和正常样本数据作为分类模型的输入,以相应的异常样本数据或正常样本数据的分类结果作为分类模型的输出,以训练该分类模型。

例如,从多个已确定所属分类的访问样本数据中筛选出两个异常样本数据分别为访问样本数据a和访问样本数据b,两个正常样本数据分别为访问样本数据c和访问样本数据d。

那么在训练分类模型时,可以分别以访问样本数据a作为分类模型的输入,以1作为分类模型的输出;以访问样本数据b作为分类模型的输入,以1作为分类模型的输出;以访问样本数据c作为分类模型的输入,以0作为分类模型的输出;以访问样本数据d作为分类模型的输入,以0作为分类模型的输出。

其中,在本申请中可以利用任何可用方法或设备确定用以训练分类模型的多个访问样本数据的分类结果,对此本申请不加以限定。

其中的分类模型可以为逻辑斯特回归(logisticregression,lr)模型、神经网络模型、模糊数学模型、最大熵模型、逻辑回归、线性回归、支持向量回归、提升回归树等等模型,对此本申请不加以限定。

其中,逻辑斯特回归模型是经典的适用于二分类问题的分类模型,因此可选地,在本申请实施例中,所述分类模型为逻辑斯特回归模型。

步骤230,利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到。

步骤240,判断所述第一概率是否大于预设阈值。

步骤250,如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。

在本申请实施例中,可以获取待检测的目标日志数据;利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到;判断所述第一概率是否大于预设阈值;如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。由此取得了降低标注数据量以及标注成本,提高检测性能的有益效果。

而且在本申请中,在利用分类模型之前,可以先利用多个已确定所属分类的访问样本数据训练分类模型,从而可以进一步提高异常检测的准确率。

实施例三

详细介绍本发明实施例提供的一种异常检测方法。

参照图3,示出了本发明实施例中一种异常检测方法的步骤流程图。

步骤310,获取待检测的目标日志数据。

步骤320,利用多个已知分类结果的访问样本数据构建训练样本集和测试样本集;其中各所访问样本数据的分类结果由预设的分类规则确定。

在本申请中,为了对分类模型进行训练,可以利用多个已知分类结果的访问样本数据构建训练样本集和测试样本集。其中的训练样本集可以用于对分类模型进行训练,测试样本集可以用于对训练后的分类模型进行性能测试。训练样本集与测试样本集中包含的访问样本数据可以存在部分重合的部分,但是在实际应用中,对于测试样本集与训练样本集重合的访问样本数据,对分类模型的作用是重复的,因此在本申请中优选地可以设置训练样本集与测试样本集中包含的访问样本数据互不重合。例如,对于已知分类结果的访问样本数据a、b、c和d,可以利用访问样本数据a和b构建训练样本集,利用访问样本数据c和d构建训练样本集。

其中,各所访问样本数据的分类结果由预设的分类规则确定。其中的分类规则可以在本步骤之前,或者是本步骤之前的任一步骤根据需求进行设定,对此本申请不加以限定。

在本申请中,可以预先设置一个规则引擎,相关业务专家可以在该规则引擎中制定分类规则,并且还可以在该规则引擎中增加、删除、修改、启用、关闭某些分类规则,等等。例如,相关业务专家可以通过在规则引擎的操作界面输入不同的指令控制增加、删除、修改、启用、暂停某些分类规则等等。例如,相关业务专家可以通过将操作界面中的开关控件从on切换至off,即将相应的分类规则从启用状态切换至关闭状态。当然,在本申请中也可以利用任何可用方式设置并存储分类规则,对此本申请不加以限定。

可选地,在本申请实施例中,所述步骤320进一步可以包括:

子步骤321,根据预设的分类规则,确定多个访问样本数据的分类结果为正常样本数据还是异常样本数据。

具体的在确定了分类规则之后,则可以根据分类规则确定多个访问样本数据的分类结果为正常样本数据还是异常样本数据。

例如,预设的分类规则可以如下所示:

(1)过去一个小时同一用户出现的次数大于10,则判断为“异常”;

(2)过去十分钟同一个ip登录的用户数目大于5,则判断为“异常”;

(3)同一个用户在不同设备登录的数目大于5,则判断为“异常”。

那么如果某一访问样本数据中记录的日志数据满足上述任意一条分类规则,则可以确定该访问样本数据为异常样本数据,而如果某一访问样本数据中记录的日志数据不满足上述全部的分类规则,则可以确定该访问样本数据为正常样本数据。

子步骤322,根据各所述访问样本数据的分类结果,从各所述访问样本数据中筛选出第一个数的正常样本数据以及第二个数的异常样本数据构建训练样本集。

那么,为了构建训练样本集,则可以从访问样本数据中筛选出部分构建训练样本数据。另外,为了保证训练样本集中包含的访问样本数据种类的完备性,以提高训练后的分类模型的准确性,需要保证训练样本集中既包含正常样本数据又包含异常样本数据。

因此,在本申请中在确定了各访问样本数据的分类结果之后,则可以根据各访问样本数据的分类结果,从各访问样本数据中筛选出第一个数的正常样本数据以及第二个数的异常样本数据构建训练样本集。其中第一个数以及第二个数的具体取值可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前进行设定,对此本申请不加以限定。

可选地,在本申请实施例中,所述第一个数与所述第二个数相同。

当然,为了尽可能提高训练效果,可以设置第一个数与第二个数相同,也即第一个数与第二个数的具体取值相同。

子步骤323,根据各所述访问样本数据的分类结果,从各所述访问样本数据中筛选出第三个数的正常样本数据以及第四个数的异常样本数据构建测试样本集;所述测试样本集中包含的访问样本数据与所述训练样本集中包含的访问样本数据互不相同。

同样的,可以根据各访问样本数据的分类结果,从各访问样本数据中筛选出第三个数的正常样本数据以及第四个数的异常样本数据构建测试样本集,而且为了避免重复,测试样本集中包含的访问样本数据与训练样本集中包含的访问样本数据互不相同。其中的第三个数与第四个数也都可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前进行设定,对此本申请不加以限定。

可选地,在本申请实施例中,所述第三个数与所述第四个数相同。

同样,为了尽可能提高测试效果,可以设置第三个数与第四个数相同,也即第三个数与第四个数的具体取值相同。

例如,在根据预设的分类规则,确定多个访问样本数据的分类结果为正常样本数据还是异常样本数据之后,可以按照正常样本数据与异常样本数据的比值为1:1,从多个访问样本数据中抽样正常样本数据和异常样本数据,并划分训练集和测试集。一般来说,可以利用抽样得到的正常样本数据和异常样本数据的70%构建训练样本集,利用抽样得到的正常样本数据和异常样本数据的30%构建测试样本集。

步骤330,以所述训练样本集中的各所述训练日志数据作为所述分类模型的输入,以相应训练日志数据的分类结果作为输出,训练所述分类模型。

那么在利用训练样本集训练分类模型时,则可以依次以训练样本集中的各训练日志数据作为分类模型的输入,以相应训练日志数据的分类结果作为输出,训练该分类模型。

例如,假设训练样本集中包含两个训练日志数据a和b,其中a为异常样本数据,b为正常样本数据,那么a对应的分类结果为其属于异常分类的概率为1,b对应的分类结果为其属于异常分类的概率为0。

那么在利用训练样本集训练分类模型时,则可以a作为分类模型的输入,同时以1作为分类模型的输出;以b作为分类模型的输入,同时以0作为分类模型的输出。

而如果分类模型的输出结果为训练日志数据属于正常样本数据的概率。那么a对应的分类结果为其属于正常分类的概率为0,b对应的分类结果为其属于正常分类的概率为1。那么此时在利用训练样本集训练分类模型时,则可以a作为分类模型的输入,同时以0作为分类模型的输出;以b作为分类模型的输入,同时以1作为分类模型的输出。

步骤340,根据所述测试样本集中的各所述访问样本数据对训练后的分类模型进行优化处理,使所述分类模型的分类结果满足预设条件。

在分类模型被训练完成之后,为了保证分类模型的性能达到要求,需要利用测试样本集对训练后的分类模型进行性能测试以及优化处理,使分类模型的分类结果满足预设条件。

其中的预设条件可以为训练后的分类模型的准确率达到预设阈值。那么,此时可以利用训练后的分类模型分别获取训练样本集中的各访问样本数据的分类结果,然后基于利用预设的分类规则确定的训练样本集中的各访问样本数据的分类结果,计算训练后的分类模型的准确率。进而比较计算的准确率是否满足预设条件,如果不满足则可以继续对该分类模型进行训练。例如,利用测试样本集继续对分类模型进行训练,或者是调整分类规则后,重新对各训练日志数据进行分类,然后利用重新分类后的训练日志数据继续训练分类模型;等等。对此本申请不加以限定。其中的预设条件可以根据需求在本步骤之前,或者是本步骤之前的任一步骤之前进行设定,对此本申请不加以限定。

可选地,在本申请实施例中,所述步骤340进一步可以包括:

子步骤341,利用训练后的所述分类模型计算所述测试样本集中各所述访问样本数据的分类结果。

具体的可以分别依次以测试样本集中各访问样本数据作为训练后的分类模型的输入,那么分类模型的输出即为相应访问样本数据的分类结果。

子步骤342,计算利用训练后的所述分类模型对所述测试样本集中各所述访问样本数据进行分类的准确率。

例如,如果测试样本集中包含4个访问样本数据分别为l、m、n和j,其中l、m为正常样本数据,n和j为异常样本数据,假设判定属于异常数据的预设阈值为0.5。假设训练后的分类模型的输出结果为访问样本数据属于异常样本数据的概率,也即属于异常分类的第一概率。

如果利用训练后的分类模型对测试样本集中的4个访问样本数据的分类结果分别为:l为0.6、m为0.4、n为0.8、j为0.9。可以看出其中l、n和j属于异常分类的第一概率大于预设阈值,那么则可以确定利用分类模型获取的分类结果为l、n和j为异常分类,m为正常分类。那么其中m,n和j的分类结果与利用分类规则确定的分类结果一致。也即此时分类模型的准确率为3/4,即0.75。

子步骤343,根据各所述访问样本数据的分类结果筛选出分类结果不达标的访问样本数据。

在本申请中,可以通过以公式表示的策略进行迭代选取分类结果不达标的访问样本数据。其中,m为访问样本数据的类别,这里取m=1或2,其中1可以表示异常分类,那么2则表示正常分类;而如果1表示正常分类,2则表示异常分类。du表示测试样本集,p(yi=m|xi)为分类模型给出的测试样本集中的第xi个访问样本数据属于第m类别的概率。通过该准则,可以依次选取到目前为止最难区分的访问样本数据,并反馈给相关的业务专家。在本申请中,可以通过前述的规则引擎将筛选出的分类结果不达标的访问样本数据返回至相关的业务专家,例如可以直接在前述的规则引擎页面中展示筛选出的分类结果不达标的访问样本数据,等等。

子步骤344,根据调整后的分类规则,确定多个访问样本数据的分类结果为正常样本数据还是异常样本数据,然后进入步骤320;其中各所访问样本数据的分类结果由预设的分类规则确定的步骤,直至本次计算得到的准确率与前一次计算得到的准确率的差值小于预设差值;所述调整后的分类规则为根据所述分类结果不达标的访问样本数据对所述分类规则调整后得到。

那么相关的业务专家则可以得到的分类结果不达标的访问样本数据制定新的分类规则,或者是修改调整现有的分类规则,或者是删除现有的分类规则,等等。具体的也可以在前述的规则引擎中对分类规则进行调整。

此时的预设条件可以为连续两次迭代获得的分类模型的准确率的差值小于一个预设差值。那么此时则可以继续根据调整后的分类规则,确定多个访问样本数据的分类结果为正常样本数据还是异常样本数据。其中调整后的分类规则为相关的业务专家根据当前获取到的分类结果不达标的访问样本数据对前一次使用的分类规则调整后得到。然后继续依次执行前述的步骤320至步骤340直至分类模型的分类结果满足预设条件,也即本次计算得到的准确率与前一次计算得到的准确率的差值小于预设差值。其中的预设差值可以根据需求在本步骤之前,或者是在本步骤之前的任一步骤之前进行设定,对此本申请不加以限定。

步骤350,利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到。

步骤360,判断所述第一概率是否大于预设阈值。

步骤370,如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。

在本申请实施例中,可以获取待检测的目标日志数据;利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到;判断所述第一概率是否大于预设阈值;如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。由此取得了降低标注数据量以及标注成本,提高检测性能的有益效果。

而且在本申请中,在利用分类模型之前,可以先利用多个已确定所属分类的访问样本数据训练分类模型,从而可以进一步提高异常检测的准确率。

另外,在本申请中,可以通过规则引擎提供业务专家的人工标注,这样带来的收益是业务专家可以快速对样本进行分类,便于后续的迭代调整。并且采用迭代的主动学习方式完成少量样本的监督学习,这样带来的收益是大大降低了有监督学习对标注数据量的要求,节省了大量人力物力,同时还能获得优于无监督异常检测的性能。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例四

详细介绍本发明实施例提供的一种异常检测装置。

参照图4,示出了本发明实施例中一种异常检测装置的结构示意图。

目标日志数据获取模块410,用于获取待检测的目标日志数据。

第一概率获取模块420,用于利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到。

判断模块430,用于判断所述第一概率是否大于预设阈值。

异常确认模块440,用于如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。

在本申请实施例中,可以获取待检测的目标日志数据;利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到;判断所述第一概率是否大于预设阈值;如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。由此取得了降低标注数据量以及标注成本,提高检测性能的有益效果。

实施例五

详细介绍本发明实施例提供的一种异常检测装置。

参照图5,示出了本发明实施例中一种异常检测装置的结构示意图。

目标日志数据获取模块510,用于获取待检测的目标日志数据。

分类模型训练模块520,用于利用多个已确定所属分类的访问样本数据训练所述分类模型。

可选地,在本申请实施例中,所述分类模型训练模块520进一步可以包括:

样本集构建子模块521,用于利用多个已知分类结果的访问样本数据构建训练样本集和测试样本集;其中各所访问样本数据的分类结果由预设的分类规则确定。

可选地,在本申请实施例中,所述样本集构建子模块521进一步可以包括:

访问样本数据分类单元,用于根据预设的分类规则,确定多个访问样本数据的分类结果为正常样本数据还是异常样本数据。

训练样本集构建单元,用于根据各所述访问样本数据的分类结果,从各所述访问样本数据中筛选出第一个数的正常样本数据以及第二个数的异常样本数据构建训练样本集。

测试样本集构建单元,用于根据各所述访问样本数据的分类结果,从各所述访问样本数据中筛选出第三个数的正常样本数据以及第四个数的异常样本数据构建测试样本集;所述测试样本集中包含的访问样本数据与所述训练样本集中包含的访问样本数据互不相同。

分类模型训练子模块522,用于以所述训练样本集中的各所述训练日志数据作为所述分类模型的输入,以相应训练日志数据的分类结果作为输出,训练所述分类模型。

分类模型优化子模块523,用于根据所述测试样本集中的各所述访问样本数据对训练后的分类模型进行优化处理,使所述分类模型的分类结果满足预设条件。

可选地,在本申请实施例中,所述分类模型优化子模块523,进一步可以包括:

测试样本集分类单元,用于利用训练后的所述分类模型计算所述测试样本集中各所述访问样本数据的分类结果。

准确率计算单元,用于计算利用训练后的所述分类模型对所述测试样本集中各所述访问样本数据进行分类的准确率。

不达标样本数据筛选单元,用于根据各所述访问样本数据的分类结果筛选出分类结果不达标的访问样本数据。

样本数据更新分类单元,用于根据调整后的分类规则,确定多个访问样本数据的分类结果为正常样本数据还是异常样本数据,然后进入样本集构建子模块521,直至本次计算得到的准确率与前一次计算得到的准确率的差值小于预设差值;其中,所述调整后的分类规则为根据所述分类结果不达标的访问样本数据对所述分类规则调整后得到。

第一概率获取模块530,用于利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到。

判断模块540,用于判断所述第一概率是否大于预设阈值。

异常确认模块550,用于如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。

在本申请实施例中,可以获取待检测的目标日志数据;利用预设的分类模型获取所述目标日志数据属于异常分类的第一概率;所述分类模型由多个已确定所属分类的访问样本数据训练得到;判断所述第一概率是否大于预设阈值;如果所述第一概率大于预设阈值,则确认所述目标日志数据异常。由此取得了降低标注数据量以及标注成本,提高检测性能的有益效果。

而且在本申请中,在利用分类模型之前,可以先利用多个已确定所属分类的访问样本数据训练分类模型,从而可以进一步提高异常检测的准确率。

另外,在本申请中,可以通过规则引擎提供业务专家的人工标注,这样带来的收益是业务专家可以快速对样本进行分类,便于后续的迭代调整。并且采用迭代的主动学习方式完成少量样本的监督学习,这样带来的收益是大大降低了有监督学习对标注数据量的要求,节省了大量人力物力,同时还能获得优于无监督异常检测的性能。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的异常检测设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1