CN111860872B - 用于异常检测的***和方法 - Google Patents

用于异常检测的***和方法 Download PDF

Info

Publication number
CN111860872B
CN111860872B CN201910501710.5A CN201910501710A CN111860872B CN 111860872 B CN111860872 B CN 111860872B CN 201910501710 A CN201910501710 A CN 201910501710A CN 111860872 B CN111860872 B CN 111860872B
Authority
CN
China
Prior art keywords
machine learning
learning model
anomaly detection
samples
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910501710.5A
Other languages
English (en)
Other versions
CN111860872A (zh
Inventor
朱宝
陈姝君
崔冬冬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201910501710.5A priority Critical patent/CN111860872B/zh
Priority to PCT/CN2019/091433 priority patent/WO2020248291A1/en
Publication of CN111860872A publication Critical patent/CN111860872A/zh
Application granted granted Critical
Publication of CN111860872B publication Critical patent/CN111860872B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

本申请涉及异常检测***和方法。所述方法包括获得至少两个样本。所述至少两个样本中的每个样本与事件相关联。所述方法还包括对于所述至少两个样本中的每个样本,基于异常检测机器学习模型,确定与所述至少两个样本中的每个样本相对应的事件是异常的预估概率;以及基于与所述至少两个样本的至少部分样本相对应的预估概率确定与所述异常检测机器学习模型相关联的至少两个候选阈值。所述方法进一步包括针对所述至少两个候选阈值中的每个候选阈值,通过评估所述异常检测机器学习模型,确定评估结果;以及基于所述评估结果,从所述至少两个候选阈值中确定与用于所述异常检测机器学习模型相关联的目标阈值。

Description

用于异常检测的***和方法
技术领域
本申请涉及异常检测领域,尤其涉及确定异常检测机器学习模型的阈值的***和方法。
背景技术
机器学习极大地促进了异常检测技术的发展,从而扩大了异常检测技术的应用。例如,异常检测技术适用于入侵检测、故障检测、网络异常流量检测等。目前,无监督机器学习技术被广泛用于异常检测。使用无监督异常检测机器学习模型,可以预先确定阈值用以确定事件是否是异常。目前,用无监督异常检测机器学习模型的阈值通常是用户根据经验设定,其可能缺乏足够准确性和有效性,这反过来可能降低无监督异常检测机器学习模型的预测结果的准确性和/或有效性模型。因此,期望开发用于确定用于异常检测的无监督机器学习模型的阈值的***和方法,其具有改进的准确性和/或有效性。
发明内容
根据本申请的一个方面,提供了一种用于异常检测的***。该***可以包括至少一个存储指令集的存储介质和至少一个被配置的处理器,用于与该至少一个存储介质通信。当执行指令集时,可指示至少一个处理器使***获得至少两个样本。至少两个样本中的每个样本可以与事件相关联。至少一个处理器可以进一步被引导以使***基于异常检测机器学习模型,确定对于至少两个样本中的每个样本相对应的事件是异常的预估概率。该至少一个处理器还可以被引导以使***基于与至少部分的至少两个样本相对应的预估概率来确定与异常检测机器学习模型相关联的至少两个候选阈值。所述至少一个处理器可以进一步被引导以使得***通过针对至少两个候选阈值中的每个候选阈值评估异常检测机器学习模型来确定评估结果。该至少一个处理器可以进一步被引导以使***基于评估结果确定与来自至少两个候选阈值的异常检测的机器学习模型相关联的目标阈值。
在一些实施例中,机器学习模型可以包括一类支持向量机(SVM)模型或隔离森林算法中的至少一个。
在一些实施例中,基于对应于至少部分的至少两个样本的预估概率,确定与机器学习模型相关联的至少两个候选阈值,所述至少一个处理器可以被引导以使得***将与至少部分的至少两个样本中的每一个相对应的预估概率指定为至少两个候选阈值之一。
在一些实施例中,针对至少两个候选阈值中的每个候选阈值,评估异常检测机器学习模型,可以指示至少一个处理器使***确定,对于至少两个样本中的每个样本,基于概率估计模型对应于至少两个样本中的每个样本的参考概率。可以引导至少一个处理器使***基于预估概率和参考概率来评估关于至少两个候选阈值中的每个候选阈值的机器学习模型。
在一些实施例中,为了评估基于预估概率和参考概率的机器学习模型,可以指示至少一个处理器使***基于参考概率和预估概率,确定相对于至少两个候选阈值中的每个候选阈值的异常检测机器学习模型的评估指标。所述至少一个处理器可以进一步被引导以使得***基于机器学习模型的评估指标来评估关于至少两个候选阈值中的每个候选阈值的异常检测机器学习模型。
在一些实施例中,基于参考概率和预估概率,确定其相对于至少两个候选阈值中的每个候选阈值的异常检测机器学习模型的评估指标,可指示至少一个处理器使***基于至少两个候选阈值的每个候选阈值和预估概率,确定包括至少两个样本的预测标签,预测标签包括负样本或正样本。该至少一个处理器可以进一步被引导以使***基于参考概率和预测标签,确定异常检测机器学习模型相对于至少两个候选阈值中的每个候选阈值的评估指标。
在一些实施例中,可以进一步指导至少一个处理器以使***对至少两个样本中的每个样本的参考概率进行排序。为了确定异常检测机器学习模型关于至少两个候选阈值中的每个候选阈值的评估指标,可以进一步指示所述至少一个处理器以使***基于排序的参考概率和对应于至少两个样本中的每个样本的预测标签,确定评估指标。
在一些实施例中,机器学习模型的评估指标可以包括曲线下面积(AUC)或基尼系数中的至少一个。
在一些实施例中,基于评估结果,从其中至少两个候选阈值中确定与异常检测机器学习模型相关联的目标阈值,可以引导所述至少一个处理器使所述***从所述至少两个候选阈值中识别出对应于所述评估指标的最大值的候选阈值。该至少一个处理器还可以被引导以使***将所识别的候选阈值指定为与异常检测机器学习模型相关联的目标阈值。
在一些实施例中,可以进一步指示至少一个处理器使***获得与特定事件相关联的数据。所述至少一个处理器还可以被引导使得***基于与特定事件相关联的数据和具有目标阈值的异常检测机器学习模型来确定特定事件是否是异常的。
根据本申请的另一方面,提供了一种用于异常检测的方法。该方法可以包括获得至少两个样本。至少两个样本中的每个样本可以与事件相关联。该方法还可以包括:对于所述至少两个样本中的每个样本,基于所述异常检测机器学习模型,确定与所述至少两个样本中的每个样本相对应的事件是异常的预估概率。该方法还可以包括:基于与至少部分的至少两个样本相对应的预估概率,确定与机器学习模型相关联的至少两个候选阈值。该方法可以进一步包括通过评估针对至少两个候选阈值中的每个候选阈值的异常检测的机器学习模型来确定评估结果。该方法可以进一步包括基于评估结果,从至少两个候选阈值确定与异常检测机器学习模型相关联的目标阈值。
根据本申请的又一方面,提供了一种非暂时性计算机可读介质。存储指令的非暂时性计算机可读介质,当由计算机执行时,可以使计算机实现方法。所述方法可以包括一个或以上下述操作。该方法可以包括获得至少两个样本。至少两个样本中的每个样本可以与事件相关联。该方法还可以包括:对于所述至少两个样本中的每个样本,基于用于所述异常检测的机器学习模型,确定与所述至少两个样本中的每个样本相对应的事件是异常的预估概率。该方法还可以包括:基于与至少部分的至少两个样本相对应的预估概率,确定与机器学习模型相关联的至少两个候选阈值。该方法可以进一步包括通过针对至少两个候选阈值中的每个候选阈值评估异常检测机器学习模型来确定评估结果。该方法可以进一步包括基于评估结果,从至少两个候选阈值确定与异常检测机器学习模型相关联的目标阈值。
根据本申请的另一方面,提供了一种用于异常检测的***。该***可以包括采集模块,确定模块和评估模块。采集模块可以被配置以获得至少两个样本。至少两个样本中的每个样本可以与事件相关联。确定模块可以被配置为用于至少两个样本中的每个样本,基于异常检测机器学习模型来确定对应于至少两个样本中的每个样本的事件是异常的预估概率。确定模块也可以是配置用于基于与至少部分的至少两个样本相对应的预估概率来确定与机器学习模型相关联的至少两个候选阈值。评估模块可以是配置用于通过针对至少两个候选阈值中的每个候选阈值评估异常检测机器学习模型来确定评估结果。确定模块可以进一步被配置用于基于评估结果确定与来自至少两个候选阈值的异常检测的机器学习模型相关联的目标阈值。
本发明相对于现有技术的有益效果:
本发明通过评估机器学习模型确定异常检测模型的阈值,不需要通过人工标定的方式确定阈值,提高了阈值的准确性以及有效性,进一步提高了异常检测模型的预测结果的准确定。
本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:
图1是说明根据本申请的一些实施例的示例性异常检测***的示意图;
图2是说明根据本申请的一些实施例的计算设备的示例性硬件和软件组件的示意图;
图3是说明根据本申请的一些实施例可在其上实现终端的移动设备的示例性硬件和/或软件组件的示意图;
图4是说明根据本申请的一些实施例的示例性处理设备的框图;
图5是说明根据本申请的一些实施例的用于确定异常检测机器学习模型的阈值的示例性过程的流程图;
图6是说明根据本申请的某些实施例评估机器学习模型的示例性过程的流程图;
图7是说明根据本申请的一些实施例的用于异常检测的示例性过程的流程图;以及
图8A-8D是根据本申请的一些实施例的示例性异常检测结果的示意图。
具体实施方式
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。然而,本领域技术人员应该明白,可以在没有这些细节的情况下实施本申请。在其他情况下,为了避免不必要地模糊本申请的一些方面,本申请已经以相对高级别概略地描述了公知的方法、程序、***、组件和/或电路。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请不限于所示的实施例,而是符合与申请专利范围一致的最广泛范围。
本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。
应当理解的是,本文使用的“***”、“引擎”、“单元”、“模块”和/或“区块”是用于按升序区分不同级别的不同构件、元素、部件、部分或组件的方法。但是,如果这些术语达到同样的目的,则可能会被另一个术语所取代。
通常,这里使用的词语“模块”、“单元”或“块”是指体现在硬件或固件中的逻辑,或者是软件指令的集合。这里描述的模块,单元或块可以实现为软件和/或硬件,并且可以存储在任何类型的非暂时性计算机可读介质或另一个存储设备中。在一些实施例中,可以编译软件模块/单元/块并将其链接到可执行程序中。应当理解,软件模块可以从其他模块/单元/块或从它们自身调用,和/或可以在检测到的事件或中断时调用。配置用于在计算设备上执行的软件模块/单元/块可以在计算机可读介质上提供,例如光盘、数字视频盘、闪存驱动器、磁盘或任何其他有形介质,或者作为数字下载(并且最初可以以压缩或可安装的格式存储,在执行之前需要安装,解压缩或解密)。这里的软件代码可以被部分的或全部的储存在执行操作的计算设备的存储设备中,并应用在计算设备的操作之中。软件指令可以嵌入固件中,例如可擦除可编程只读存储器(EPROM)。还应当理解,硬件模块/单元/块可以包括在连接的逻辑组件中,例如门和触发器,和/或可以包括可编程单元,例如可编程门阵列或处理器。这里描述的模块/单元/块或计算设备功能可以实现为软件模块/单元/块,但是可以用硬件或固件表示。通常,这里描述的模块/单元/块指的是逻辑模块/单元/块,其可以与其他模块/单元/块组合或者分成子模块/子单元/子块,尽管它们的物理组织或存储。该描述可适用于***,引擎或其一部分。
应当理解,当单元、发动机、模块或块被称为“接通”、“连接到”或“耦合到”另一个单元、发动机、模块或块时,它可以直接接通,连接或耦合或与其他单元、引擎、模块通信,除非上下文另有明确说明,否则可以存在或阻挡,或者介入单元、引擎、模块或块。在本申请中,术语“和/或”可包括任何一个或以上相关所列条目或其组合。
根据以下对附图的描述,本申请的这些和其他的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
本申请中使用了流程图用来说明根据本申请的实施例的***所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。
这是只为了描述方便,不能把本申请限制在所举实施例范围之内。交通服务***可以包括陆地、海洋、航空、航天等中的一种或几种的组合。以下描述以交通服务***为例。这是只为了描述方便,不能把本申请限制在所举实施例范围之内。交通服务***可以包括陆地、海洋、航空、航天等中的一种或几种的组合。所述运输***也可以包括应用管理和/或分配的任一运输***,例如,接收和/或送快递的***。
本申请的不同实施例应用场景可以包括但不限于网页、浏览器插件、客户端、定制***、企业内部分析***、人工智能机器人等中的一种或几种的组合。应当理解,本文披露的***和方法的应用场景仅是一些示例或实施例。具有普通技能的本领域的人可以在没有进一步创造性努力的情况下将这些图应用于其他应用场景,例如,另一个类似的服务器。
本申请中的术语“乘客”、“请求者”、“服务请求者”和“客户”可用于表示请求或订购一服务的个人、实体或工具,并且可互换使用。同样地,本申请描述的“司机”、“提供者”、“服务提供者”与“供应者”是可以互换的,是指提供服务或者协助提供服务的个人、实体或工具。本申请中的词语“用户”可以指代可以请求服务、订购服务、提供服务或促进提供服务的个体、实体或工具。例如,用户可以是请求者、乘客、司机、操作员等,或其任何组合。在本申请中,“请求者”和“请求者终端”可以互换使用,“提供者”和“提供者终端”可以互换使用。
本申请中的术语“请求”、“服务”、“服务请求”和“订单”可用于表示由乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者、供应者等或其任意组合发起的请求,并且可互换使用。该服务请求可以被乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者或供应者中的任一者接受。服务请求可以是计费的也可是免费的。
本申请的一些实施例提供了使用模型来确定或预测事件是否是异常的***和方法。模型可以是机器学习模型。模型可以与可以用作分类器的目标阈值一起使用。模型可用于预测或确定事件是否是异常的。例如,模型可以预测或确定事件是异常的概率,然后通过将概率与目标阈值进行比较来确定/指定事件为异常。
本申请的一些实施例提供了用于确定或预测事件是否是异常的模型和目标阈值的***和方法。目标阈值可以使用与不同事件相关联的至少两个样本来确定,每个样本的异常状态(事件是否是异常的)是未知的或已知的。可以确定对应于至少两个样本的预估概率。此外,可以确定与异常检测机器学习模型相关联的至少两个候选阈值。然后,可以通过针对至少两个候选阈值中的每个候选阈值评估机器学习模型来确定评估结果,以检测样本的异常。可以基于评估结果从所述至少两个候选阈值中确定与机器学习模型相关联的目标阈值。因此,至少两个候选阈值可以应用于异常检测机器学习模型,以评估异常检测中的机器学习模型的候选阈值的准确性和/或有效性。然后,可以通过针对至少两个候选阈值中的每个候选阈值评估机器学习模型,从至少两个候选阈值确定目标阈值,这可以进一步提高机器学习模型的准确性和/或有效性。根据本申请的一些实施例的用于异常检测的***和方法可以减少或避免需要依赖于个体的经验来为机器学习选择阈值用于异常检测。
图1是根据本申请的一些实施例所示的示例性异常检测***100的示意图。异常检测***100可以是用于数据和/或信息处理的平台,例如,训练机器学***常或不正常的动作或事件。例如,对于网络订阅平台(例如,视频广播平台、社交网络平台等),异常可以包括网络质量异常、用户访问异常、服务器异常等。又例如,对于在线运输服务平台(例如,在线打车服务平台),该异常可包括订单异常、司机行为异常、乘客行为异常、路线异常等。
异常检测***100可以包括数据交换端口101、数据发送端口102、服务器110和存储器120。在一些实施例中,异常检测***100可以分别经由数据交换端口101和数据发送端口102与数据提供***130和服务提供***140交互。例如,异常检测***100可以通过数据交换端口101访问存储在数据提供***130中的信息和/或数据。又例如,服务器110可以经由数据发送端口102向服务提供***140发送信息和/或数据。
服务器110可以处理与异常检测有关的信息和/或数据。在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的***)。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在本申请中的图2描述的包含了一个或以上组件的计算设备上执行。
在一些实施例中,服务器110可包括处理设备112。处理设备112可以处理与异常检测有关的信息和/或数据,以执行本申请中描述的一个或以上的功能。例如,处理设备112可以从数据提供***130接收异常检测机器学习模型和从服务提供***140接收样本集。处理设备112可以基于样本集确定异常检测机器学习模型的目标阈值。又例如,处理设备112可以使用异常检测机器学习模型基于目标阈值来估计从服务提供***140接收的特定样本是否异常。可以基于与确定原始目标阈值的原始样本集至少部分不同的样本集不时地(例如,周期性地或非周期地)更新目标阈值。例如,可以基于包括新样本的样本集来更新目标阈值,所述新样本不属于原始样本集,原始样本集中的样本已经通过使用机器学习模型基于原始目标阈值或先前版本的目标阈值等或其组合被评估其异常。作为又一示例,处理设备112可以将包括预测结果的信号发送到服务提供***140。在一些实施例中,可以在处理设备上执行目标阈值的确定和/或更新,而可以在不同的处理设备上执行与目标阈值相关联的机器学习模型的应用。在一些实施例中,目标阈值和/或相应的机器学习模型的确定和/或更新可以由***的处理设备执行,该***或处理设备可以不同于可以关于执行机器学习模型以及阈值的应用的异常检测***100或服务器110。例如,目标阈值和/或相应的机器学习模型的确定和/或更新可以由供应商的第一***执行。该供应商可以提供和/或维护该机器学习模型和/或能够获取用于确定和/或更新目标阈值和/或机器学习模型的训练样本。但基于具有该目标阈值的机器学习模型进行事件的异常检测可以由该供应商的客户的第二***执行。在一些实施例中,目标阈值和/或相应的机器学习模型的确定和/或更新可以通过响应接收到事件的异常检测请求后在线执行。在一些实施例中,目标阈值和/或相应的机器学习模型的确定和/或更新可以离线进行。在一些实施例中,所述处理设备112可包括一个或以上处理器(例如,单芯片处理引擎或多芯片处理引擎)。仅作为范例,处理设备112可包括一中央处理器(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图像处理器(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任意组合。
存储器120可以存储与内容标识和/或数据分类有关的数据和/或指令。在一些实施例中,存储器120可以存储从数据提供***130和/或服务提供***140获得的数据。在一些实施例中,存储器120可以储存服务器110用来执行或使用来完成本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储器120可包括质量存储设备、可移除存储设备、易失性读写存储器、只读存储器(ROM)等,或其任何组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储设备可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(RAM)。示例性RAM可包括动态随机存取内存(DRAM)、双倍数据速率同步动态随机存取内存(DDR SDRAM)、静态随机存取内存(SRAM)、晶闸管随机存取内存(T-RAM)和零电容随机存取内存(Z-RAM)等。示例性只读内存可以包括掩模型只读内存(MROM)、可编程只读内存(PROM)、可擦除可编程只读内存(PEROM)、电可擦除可编程只读内存(EEPROM)、光盘只读内存(CD-ROM)和数字多功能磁盘只读内存等。在一些实施例中,所述存储器120可在云平台上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,存储器120可以连接到服务器110或与服务器110通信。服务器110可以直接或经由网络访问存储在存储器120中的数据或指令。在一些实施例中,存储器120可以是服务器110的一部分。
数据提供***130可以提供与异常检测和/或数据分类有关的数据和/或信息。数据和/或信息可包括图像、文本文件、语音段、网页、视频记录、用户请求、程序、应用程序、算法、指令、计算机代码等,或其组合。在一些实施例中,数据提供***130可以将数据和/或信息提供给异常检测***100的服务器110和/或存储器120以进行处理(例如,训练异常检测机器学习模型)。在一些实施例中,数据提供***130可以向服务提供***140提供数据和/或信息,以生成与异常检测和/或数据分类有关的服务响应。
在一些实施例中,服务提供***140可以被配置为提供在线服务,例如异常检测服务、线上到线下服务(例如,出租车服务、拼车服务、食品配送服务、聚会组织服务、快递服务等)、无人驾驶服务、医疗服务、基于地图的服务(例如,路线规划服务)、实时聊天服务、查询服务、Q&A服务等。服务提供***140可以通过例如,将从用户和/或数据提供***130接收的数据和/或信息输入到异常检测机器学习模型中生成服务响应。
在一些实施例中,数据提供***130和/或服务提供***140可以是与异常检测***交互的设备、平台或其他实体。在一些实施例中,数据提供***130可以在具有数据获得和/或数据存储的设备中实现,例如移动设备130-1、平板电脑130-2、膝上型计算机130-3、服务器130-4、存储设备(未示出)等,或其任何组合。在一些实施例中,服务提供***140还可以在具有数据处理的设备中实现,例如移动设备140-1、平板电脑140-2、膝上型计算机140-3、服务器140-4等,或其任何组合。在一些实施例中,移动设备130-1和140-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任何组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器控制装置、智能监控设备、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,该可穿戴设备可包括智能手镯、智能鞋袜、智能眼镜、智能头盔、智能手表、智能衣服、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实设备和/或增强实境设备可以包括Google Glass、Oculus Rift、HoloLens或Gear VR等。在一些实施例中,服务器130-4和140-4可以包括数据库服务器、文件服务器、邮件服务器、网络服务器、应用服务器、计算服务器、媒体服务器、通信服务器等。
在一些实施例中,数据提供***130可以是具有数据处理技术的设备,用于预处理所获得的或存储信息(例如,识别来自存储信息的图像)。在一些实施例中,服务提供***140可以是用于数据处理的设备,例如,使用从服务器110接收的清洁数据集训练标识模型。在一些实施例中,服务提供***140可以经由网络150-3直接与数据提供***130通信。例如,服务提供***140可以从数据提供***130接收数据集,并使用异常检测机器学习模型对所述数据集进行异常检测。
在一些实施例中,异常检测***100、数据提供***130和服务提供***140的任何两个***可以集成到设备或平台中。例如,数据提供***130和服务提供***140都可以在用户的移动设备中实现。在一些实施例中,异常检测***100、数据提供***130和服务提供***140可以集成到设备或平台中。例如,异常检测***100、数据提供***130和服务提供***140可以在包括服务器和用户界面的计算设备中实现。
网络150-1到150-3可以促进信息和/或数据的交换。在一些实施例中,异常检测***中的一个或以上组件(例如,服务器110和/或存储器120)可以向/从数据提供***130发送和/或接收信息和/或数据和/或服务提供***140通过网络150-1到150-3。例如,服务器110可以经由网络150-1从数据提供***130获得用于异常检测的数据集。又例如,服务器110可以经由网络150-2将异常检测的预测结果发送/输出到服务提供***140。在一些实施例中,网络150-1到150-3可以是任何类型的有线或无线网络,或其组合。仅为网络150,网络150可以包无线局部区域网络(WLAN)、城域网(MAN)、广域网(WAN)、公共电话交换网(PSTN)、蓝牙TM网络、ZigBeeTM网络、近场通信(NFC)网络、全球移动通信***(GSM)网络、码分多址(CDMA)网络、时分多址(TDMA)网络、通用分组无线电服务(GPRS)网络、增强的数据速率GSM演进(EDGE)网络、宽带码分多址(WCDMA)网络、高速下行链路分组接入(HSDPA)网络、长期演进(LTE)网络、用户数据报协议(UDP)网络、传输控制协议/互联网协议(TCP/IP)网络、短消息服务(SMS)网络、无线应用协议(WAP)网络、超宽b和(UWB)网络、红外线等,或其任何组合。
图2示出了根据本申请的一些实施例的示例性计算设备200的示意图。计算设备200可以是计算机,例如图1中的服务器110和/或具有特定功能的计算机,被配置用于实现根据本申请的一些实施例的任何特定***。计算设备200可以被配置用于实现执行本申请中披露的一个或以上功能的任何组件。例如,服务器110(例如,处理设备112)可以以诸如计算设备200之类的计算机的硬件设备,软件程序,固件或其任何组合来实现。为简洁起见,图2仅描绘了一个计算设备。在一些实施例中,计算设备的功能可以由分布式模式中的一组类似平台来实现,以分散***的处理负荷。
计算设备200可以包括通信终端250,其可以与可以实现数据通信的网络连接。计算设备200还可以包括处理器220,其被配置为执行指令并且包括一个或以上处理器。示意性计算机平台可以包括内部通信总线210,不同类型的程序存储单元和数据存储单元(例如,硬盘270、只读存储器(ROM)230、随机存取存储器(RAM)240)、适用于计算机处理和/或通信的各种数据文件,以及可能由处理器220执行的一些程序指令。计算设备200还可以包括I/O设备260,其可以支持计算设备200与其他组件之间的数据流的输入和输出。此外,计算设备200可以通过通信网络接收程序和数据。
图3是说明根据服务***上的示例性移动设备的示例性硬件和/或软件组件的示意图(例如,异常检测***122、数据提供***130和/或服务提供***140)可以根据本申请的一些实施例来实现。如图3所示,移动设备300可以包括通信平台310、显示器320、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O 350、内存360、移动操作***(OS)370、应用程序380和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于***总线或控制器(未示出),也可包括在移动设备300内。
在一些实施例中,操作***370(例如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或以上应用程序380可从存储器390下载至内存360以及由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于接收和呈现与来自异常检测***100的图像处理或其他信息有关的信息。用户与信息流的交互可以通过I/O 350实现,并提供给存储器120、服务器110和/或异常检测***100的其他组件。在一些实施例中,移动设备300可以是对应于与异常检测***100,数据提供***130和/或服务提供***140相关联的终端的示例性实施例。
为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述的一个或以上组件的硬件平台。具有用户接口组件的计算机可用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。如果适当编程,计算机也可以充当***。
图4是说明根据本申请的一些实施例的示例性处理设备112的框图。处理设备112可包括获取模块410、确定模块420、评估模块430和存储模块440。
获取模块410可以被配置以获得用于异常检测的数据。例如,获取模块410可以获取至少两个样本。至少两个样本中的每个样本可以与事件相关联。如这里所使用的,事件可以由指示在特定时间或时间段发生了某事的信息和/或数据来定义。又例如,获取模块410还可以获得与特定事件相关联的数据。在某些实施例中,特定事件可以是与至少两个样本中的一个相关联的事件。与特定事件相关联的数据可以是至少两个样本中的一个。与特定事件相关联的数据可包括表征特定事件的一个或以上特征,如本申请中其他地方所述。还例如,获取模块410可以获取模型,包括异常检测机器学习模型、概率估计模型等。
确定模块420可以被配置用于基于异常检机器学习模型来确定至少两个样本中的每个样本的预估概率。至少两个样本中的每个样本可以对应于预估概率。确定模块420还可以基于至少两个样本的预估概率确定与机器学习模型相关联的至少两个候选阈值。确定模块420还可以基于与至少两个候选阈值中的每个候选阈值相对应的评估结果来确定与至少两个候选阈值的机器学习模型相关联的目标阈值。确定模块420可以基于与特定事件相关联的数据和具有目标阈值的机器学习模型来确定特定事件是否异常。
评估模块430可以被配置用于通过针对至少两个候选阈值中的每个候选阈值评估异常检测机器学习模型来确定评估结果。评估模块430可以根据一个或以上评估指标针对至少两个候选阈值中的每个候选阈值评估机器学习模型。评估结果可以由评估指标的值表示。
存储模块440可以被配置为存储信息。该信息可以包括程序、软件、算法、数据、文本、数字、图像和一些其他信息。例如,该信息可以包括可以定义事件的数据,指示在特定时间或时间段发生了某事等。又例如,该信息可包括异常检测机器学习模型。
应当注意上面提供的处理设备112的描述是为了说明的目的,而不是为了限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,上述任何模块可以以两个或以上单独的单元实现。例如,确定模块420的功能可以在两个单独的单元中实现,其中一个单元被配置用于确定对应于至少两个样本中的每个样本的预估概率,另一个是被配置为确定与机器学习模型相关联的候选阈值。在一些实施例中,处理设备112还可包括一个或以上附加模块(例如,存储模块)。附加地或替代地,可以省略上面提到的一个或以上模块。
图5是说明根据本申请的一些实施例的用于确定异常检测机器学习模型的阈值的示例性过程500的流程图。过程500的至少一部分可以在如图2所示的计算设备200或如图3所示的移动设备300上实现。在一些实施例中,过程500的一个或以上操作可以在如图1所示的异常检测***100中实现。在一些实施例中,过程500中的一个或以上操作可以作为指令的形式存储在存储设备(例如,存储器120、ROM 230、RAM 240、存储器390)中,并且由服务器110(例如,服务器110中的处理设备112,或计算设备200的处理器220)或移动设备300的CPU340调用和/或执行。在一些实施例中,指令可以以电子电流或电信号的形式传输。
在502中,处理设备112(例如,获取模块410)可以获得至少两个样本。至少两个样本中的每个样本可以与事件相关联。获取模块410可以从如本申请中其他地方所述的存储设备(例如,存储器120、ROM 230、RAM 240、存储器390)获得至少两个样本。如这里所使用的,事件可以由指示在特定时间或特定时间段内发生了某事的信息和/或数据来定义。例如,对于在线打车平台,该事件可以包括登录在线打车平台、发起服务请求、分配服务请求、接载乘客、沿预定路线将乘客运送到目的地、司机和乘客在路线上的通信、客户终端与出租车平台相关联的服务器之间的通信等,或其组合。
如这里所使用的,与事件相关联的样本也可以被称为样本数据。样本可以是图像、视频、文本等形式。与特定事件相关联的样本可以包括和/或代表能够描述特定事件的一个或以上特征。在一些实施例中,与特定事件相关联的一个或以上特征可以表示为特征向量(例如,多维向量)。特征向量的每个维度可以表示特定事件的特征。例如,在在线打车平台中,事件可包括沿预定路线将乘客运送到目的地。与事件相关联的样本数据(例如,一个或以上特征)可以包括起始位置、开始时间、目的地、估计的到达时间、实时位置、行驶轨迹(例如,行驶轨迹的整个长度、行驶轨迹的整个行驶时间、行驶轨迹中的路段的长度、行驶轨迹中的路段的行驶时间等)等。或其任何组合。在一些实施例中,至少两个样本可以形成样本集。样本集可以表示为样本集中的元素/>可以表示样本。样本可以对应于表示为[f1,f2,f3,…]的多维特征向量,其表示事件的一个或以上特征。例如,在在线打车平台中,如果事件包括沿着预定路线将乘客运送到目的地,则f1可以表示起始位置,f2可以表示目的地,并且f3可以表示行驶轨迹。
在504中,处理设备112(例如,确定模块420)可以基于异常检测机器学习模型来确定至少两个样本中的每个样本的预估概率。至少两个样本中的每个样本可以对应于预估概率。如这里所使用的,基于异常检测机器学习模型确定的特定样本的预估概率可以指对应于特定样本的事件是异常的可能性。预估概率的值越小,事件异常的可能性越高。在一些实施例中,异常检测机器学习模型可以被配置为使用对应于事件的样本生成和/或输出事件的预估概率。例如,处理设备112可以将特定样本输入到机器学习模型中以用于异常检测。异常检测机器学习模型可以使用输入的特定样本生成并输出与特定样本相关联的事件的预估概率。
异常检测机器学习模型可以通过获取模块410从数据提供***130、存储器120、服务提供***140或本申请中其他地方描述的任何其他存储设备获得。异常检机器学习模型可包括无监督机器学习模型、半无监督机器学习模型等。示例性无监督机器学习模型可以包括使用基于分类的算法、基于统计分布的算法、基于距离的算法、基于密度的算法、基于聚类的算法、基于树的算法等。例如,基于分类的算法可以包括使用神经网络模型、贝叶斯网络模型、一类支持向量机(SVM)模型、鲁棒SVM、基于一类核Fisher判别模型等。基于统计分布的算法可以包括使用高斯模型、强回归模型等。基于距离的算法可以包括K近邻(KNN)算法、使用入度数量(ODIN)算法的异常值检测等。基于密度的算法可以包括局部异常因子(LOF)算法、基于连通性的异常因子(COF)算法等。基于树的算法可以包括隔离林(iForest)算法、可解释的分层聚类无监督决策树(IHCUDT)算法等。基于聚类的算法可以包括共享最近邻居(SNN)聚类算法、小波聚类算法、K均值聚类算法、自组织映射算法、期望最大化(EM)算法等。示例性的半无监督机器学习模型可以包括使用马尔可夫模型、有限状态自动机(FSA)模型、隐马尔可夫模型(HMM)、概率后缀树(SMT)模型等。
在506中,处理设备112(例如,确定模块420)可以确定与机器学习模型相关联的至少两个候选阈值。与异常检测机器学习模型相关联的A候选阈值可以被配置用于确定事件是否异常。例如,如果使用异常检测机器学习模型确定事件的预估概率大于候选阈值,则在使用该候选阈值时,处理设备112可以确定该事件是异常的。
在一些实施例中,处理设备112(例如,确定模块420)可以基于在操作504中确定的预估概率来确定至少两个候选阈值的至少一部分。例如,处理设备112可以基于与至少部分的至少两个样本相对应的预估概率来确定至少两个候选阈值的一部分或全部。此外,处理设备112可以将与至少部分的至少两个样本相对应的预估概率中的每个预估概率指定为至少两个候选阈值之一。作为另一示例,处理设备112可以对与至少两个样本中的每个样本相对应的预估概率进行排序(例如,以升序或降序)。处理设备112可以基于多个样本的排序后的预估概率来确定至少两个候选阈值的一部分或全部。排在,例如,前几、后几或中间预估概率可被指定为候选阈值。作为又一示例,处理设备112可以将多个样本的至少一部分的一个或以上在特定范围内的预估概率指定为一个或以上候选阈值。在一些实施例中,处理设备112可以将与至少两个样本中的每个样本相对应的预估概率指定为至少两个候选阈值之一。
在一些实施例中,处理设备112可以使用概率估计模型确定至少两个候选阈值的至少一部分。此外,处理设备112可以使用概率估计模型确定与至少两个样本中的每个样本相对应的参考概率。对应于至少两个样本的某个特定样本的参考概率可用于衡量和/或评估特定样本与至少两个样本中的其他样本之间的相似性。对应于特定样本的参考概率越大,特定样本与至少两个样本中的其他样本之间的相似性越高。处理设备112可以基于与至少部分的至少两个样本相对应的参考概率来确定至少两个候选阈值的一部分或全部。例如,处理设备112可以将与至少两个样本的一部分相对应的参考概率中的每个参考概率指定为至少两个候选阈值之一。又例如,处理设备112可以将对应于所有的至少两个样本的参考概率中的每个参考概率指定为至少两个候选阈值之一。示例性概率估计模型可包括使用参数估计算法、贝叶斯算法、非参数估计算法等。例如,参数估计算法可以包括最大似然算法。非参数估计算法可以包括直方图概率估计算法、核密度估计算法等。
在一些实施例中,可以由用户或根据异常检测***100的默认设置来设置至少两个候选阈值中的至少部分候选阈值。
在508中,处理设备112(例如,评估模块430)可以通过针对至少两个候选阈值中的每个候选阈值评估异常检测机器学习模型来确定评估结果。在一些实施例中,处理设备112可以根据一个或以上评估指标基于至少两个候选阈值中的每个候选阈值评估机器学习模型。评估结果可以由一个或以上评估指标的一个或以上值表示。异常检测机器学习模型的示例性评估指标可包括曲线下面积(AUC)、基尼系数等,或其任何组合。可以使用评估指标来衡量和/或指示异常检测机器学习模型的估计结果的准确性。例如,具有某个候选阈值的异常检测机器学习模型的AUC值越大,异常检测机器学习模型的估计结果的准确度越大。
处理设备112可以使用至少两个样本确定具有特定候选阈值的机器学习模型的评估指标的值。例如,处理设备112可以使用本申请中其他地方描述的概率估计模型来确定与至少两个样本中的每个样本相对应的参考概率。处理设备112可以使用预估概率和对应于至少两个样本中的每个样本的参考概率来确定评估指标的值。对于特定的候选阈值,处理设备112可以基于特定候选阈值和对应于至少两个样本中的每个样本的预估概率,为至少两个样本中的每个样本指定标签。标签可包括正样本或负样本。例如,如果对应于样本的预估概率超过特定候选阈值,则处理设备112可以指定样本的正样本。如果对应于样本的预估概率小于特定候选阈值,则处理设备112可以指定样本的负样本。处理设备112可以基于与至少两个样本中的每个样本对应的标签和参考概率来确定对应于特定候选阈值的评估指标。关于确定评估结果的更多描述可以在本申请的其他地方找到(例如,图6及其描述)。
在510中,处理设备112(例如,确定模块420)可以基于与至少两个候选阈值中的每个候选阈值对应的评估结果,从至少两个候选阈值确定与机器学***均值指定为目标阈值。
关于过程500的以上描述的应当注意仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。在一些实施例中,可以省略一个或以上操作和/或可以添加一个或以上附加操作。例如,操作510可以组合到操作502中。可以省略操作512和操作514。可以将过程600中的操作添加到过程500中,以确定机器学习模型的评估结果。在一些实施例中,在操作514中,如果对应于特定事件的预估概率等于目标阈值,则确定模块420可以确定特定事件是异常的或正常的。在一些实施例中,过程500可以包括基于具有特征阈值的异常检测机器学习模型对至少两个样本执行异常检测。例如,处理设备112可以利用具有特征阈值的异常检测机器学习模型从至少两个样本检测出一个或多个异常。在一些实施例中,异常检测机器学习模型的目标阈值可以通过一些异常状态已知的样本执行,图5中的一个或多个步骤可以省略。例如,步骤504可以删除。
图6是说明根据本申请的一些实施例的用于评估机器学习模型的示例性过程的流程图。过程600的至少一部分可以在如图2所示的计算设备200或如图3所示的移动设备300上实现。在一些实施例中,过程600的一个或以上操作可以在如图1所示的异常检测***100中实现。在一些实施例中,过程600中的一个或以上操作可以存储在存储设备中(例如,存储器120、ROM 230、RAM 240、存储器390)作为指令的形式,并且由服务器110调用和/或执行(例如,服务器110中的处理设备112,或计算设备200的处理器220)或移动设备300的CPU340。在一些实施例中,指令可以以电子电流或电信号的形式传输。可以根据如图6中描述的过程600来执行操作508。
在602中,处理设备112(例如,评估模块430)可以基于概率估计模型确定至少两个样本中的每个样本的参考概率。可以结合502所述获得至少两个样本。例如,样本可以与事件相关联。样本可包括表征事件的一个或以上特征(例如,特征向量)。至少两个样本中的特定样本的参考概率可用于测量和/或指示特定样本与至少两个样本中的其他样本之间的相似性。特定样本的参考概率越大,特定样本与至少两个样本中的其他样本之间的相似性可能越大。
处理设备112可以使用概率估计模型基于特定样本和至少两个样本中的其他样本来确定特定样本的参考概率。示例性概率估计模型可包括使用参数估计算法、贝叶斯算法、非参数估计算法等。例如,参数估计算法可以包括最大似然算法。非参数估计算法可以包括直方图概率估计算法、核密度估计算法等。
在604中,处理设备112(例如,评估模块430)可以基于候选阈值和与至少两个样本中的每个样本相对应的预估概率来确定至少两个样本中的每个样本的预测标签。可以结合操作504所描述的确定预估概率。可以结合操作506所描述的确定候选阈值。
特定样本的预估概率可用于衡量和/或指示与特定样本相关联的事件是异常的可能性。处理设备112可以通过将特定样本的预估概率与候选阈值进行比较来确定特定样本的预测标签。预测标签可包括负样本和正样本。负样本可以表示与负样本相关联的事件是异常的。正样本可以表示与正样本相关联的事件是正常的。在一些实施例中,如果特定样本的预估概率超过候选阈值,则处理设备112可将特定样本标记为正样本。如果特定样本的预估概率小于候选阈值,则处理设备112可将特定样本标记为负样本。
在606中,处理设备112(例如,评估模块430)可以基于与至少两个样本中的每个样本的参考概率和预测标签来确定机器学习模型关于候选阈值的评估指标。异常检测机器学习模型的示例性评估指标可包括曲线下面积(AUC)、基尼系数等。异常检测机器学习模型的AUC可以定义为当机器学习模型进行异常检测时,随机正样本被排列在随机负样本之上的概率。异常检测机器学习模型的AUC越大,异常检测机器学习模型的准确度越高。
在一些实施例中,处理设备112可以将至少两个样本根据参考概率从小到大进行排序。处理设备112可以统计地确定正样本被排列在负样本之上的概率。例如,处理设备112可以根据等式(1)确定AUC的值,如下所示:
I(PpositivM*N (1),
其中,M指的是至少两个样本中的正样本计数,N指的是至少两个样本中的负样本计数,Ppositive指的是正样本的参考概率(即真实分数),Ppositive指的是负样本的参考概率(即真实分数),I(Ppositive,Pnegative)可以根据下面的等式(2)确定:
根据等式(1),至少两个样本可包括M个正样本和N个负样本。处理设备112可以确定M*N个样本对。每个样本对可以包括负样本和正样本。处理设备112可以比较每个样本对中负样本和正样本的参考概率,以确定异常检测机器学习模型针对候选阈值的AUC。
例如,假设至少两个样本包括A、B、C和D,至少两个样本中的每个样本的预估概率分别为0.9、0.8、0.75和0.85,并且每个样本的参考概率为分别为0.7、0.6、0.8和0.9。候选阈值等于样本D的预估概率0.85。处理设备112可以通过比较样本A,B,C和D的预估概率和候选阈值0.85,将样本A标记为正样本,样本B标记为负样本,样本C作为负样本将样本D作为正样本。处理设备112可以确定4个样本对,包括(A,B)、(A,C)、(D,B)和(D,C)。根据等式(2),处理设备112可以将I(A,B)、、I(A,C)、I(D,B)和I(D,C)分别确定为1、0、1和1。根据等式(1),在将样本D的预估概率0.85指定为候选阈值时,可以将异常检测机器学习模型的AUC确定为类似地,,处理设备112可以分别确定当将样本A、B和C的预估概率指定为候选阈值时,异常检测机器学习模型的AUC。
异常检测机器学习模型相对于候选阈值的基尼系数可以基于根据等式(3)的AUC确定,如下:
Gini=2*AUC-1。 (3)
关于过程600的以上描述的应当注意仅仅是出于说明的目的而提供的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。
图7是说明根据本申请的一些实施例的用于异常检测的示例性过程700的流程图。过程700的至少一部分可以在如图2所示的计算设备200或如图3所示的移动设备300上实现。在一些实施例中,过程700的一个或以上操作可以在如图1所示的异常检测***100中实现。在一些实施例中,过程500中的一个或以上操作可以存储在存储设备中(例如,存储器120、ROM 230、RAM 240、存储器390)作为指令的形式,并由服务器110(例如,服务器110中的处理设备112,或计算设备200的处理器220)或移动设备300的CPU 340调用和/或执行。在一些实施例中,指令可以以电子电流或电信号的形式传输。
在702中,处理设备112(例如,获取模块410)可以获得与特定事件相关联的数据。在某些实施例中,特定事件可以是与至少两个样本中的一个相关联的事件。与特定事件相关联的数据可以是至少两个样本中的一个。在一些实施例中,可以通过获取模块410从数据提供***130、服务提供***140、存储器120等获得与特定事件相关联的数据。与特定事件相关联的数据可以包括表征特定事件的一个或以上特征,如本申请中其他地方所述。
在704中,处理设备112(例如,获取模块410)可以获得具有目标阈值的异常检测机器学习模型。获取模块410可以从存储器120、数据提供***130、服务提供***140和本申请中其他地方描述的任何其他存储设备获得具有目标阈值的机器学习模型。
异常检测机器学习模型可包括无监督机器学习模型、半无监督机器学习模型等,如本申请中其他地方所述(例如,图5及其描述)。在一些实施例中,目标阈值可以由异常检测机器学习模型用以确定事件是否异常。可以根据如图5中描述的过程500来确定目标阈值。例如,目标阈值可以使用与不同事件相关联的至少两个样本来确定,每个样本的异常状态(事件是否是异常的)是未知的。在一些实施例中,至少两个样本可以包括与在操作702中获得的事件相关联的数据。可以确定至少两个样本的预估概率。此外,可以确定与异常检测机器学习模型相关联的至少两个候选阈值。然后,可以通过针对至少两个候选阈值中的每个候选阈值以检测样本的异常评估机器学习模型来确定评估结果。可以基于评估结果从至少两个候选阈值中确定与机器学习模型相关联的目标阈值。
在706中,处理设备112(例如,确定模块420)可以基于与特定事件相关联的数据和具有目标阈值的机器学习模型来确定特定事件是否异常。处理设备112可以通过将与特定事件相关联的数据输入到机器学习模型中来确定特定事件是否异常。在一些实施例中,异常检测机器学习模型可以被配置用于基于与特定事件相关联的输入数据来确定并输出特定事件的预估概率。此外,确定模块420可以将预估概率与目标阈值进行比较。如果对应于特定事件的预估概率小于目标阈值,则确定模块420可以确定特定事件是异常的。如果对应于特定事件的预估概率超过目标阈值,则确定模块420可以确定该事件是正常的。在一些实施例中,异常检测机器学习模型可以被配置用于确定特定事件的预估概率,并且基于目标阈值确定特定事件是否是异常的。异常检测机器学习模型可以被配置用于输出特定事件的估计结果。例如,如果特定事件是异常,则异常检测机器学习模型可以输出“0”。如果特定事件是正常的,则异常检测机器学习模型可以输出“1”。
图8A-8D示出了根据本申请的一些实施例的示例性异常检测结果的示意图。如图8A所示,横轴表示时间轴。纵轴表示随时间获得的样本信号。曲线“a”和曲线“b”代表与样本信号相关的业务指标。曲线“c”表示表示出现异常的警报信号。曲线“a”或曲线“b”的峰值越大,异常存在的可能性就越大。如图8A所示,使用目标阈值约为0.1387的机器学习模型进行异常检测。异常检测机器学习模型的AUC约为0.9376。图8A显示在异常检测期间出现多个异常。如图8B所示,使用目标阈值约为0.1728的机器学习模型进行异常检测。异常检测机器学习模型的AUC约为0.9671。图8B显示在异常检测期间出现多个异常。如图8C所示,使用目标阈值约为0.5838的机器学习模型进行异常检测。异常检测机器学习模型的AUC约为0.9998。图8C示出了在对应于最大峰值“P”的时间出现异常。如图8D所示,使用目标阈值约为0.8272的机器学习模型进行异常检测。异常检测机器学习模型的AUC约为0.9980。图8D示出了在对应于最大峰值“P”的时间出现至少两个异常。通常,在对应于最大峰值,例如峰值“P”的时间出现一个单一的异常。因此,异常检测机器学习模型的AUC越大,用于异常检测的机器学习的准确度越高。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关联的某一特征、结构或特性。因此,应强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“块”、“模块”、“设备”、“单元”、“组件”或“***”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行***、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
本申请各部分操作所需的计算机程序代码可以用任意一种或以上程序设计语言编写,包括面向对象程序设计语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB。NET、Python等,常规程序化程序设计语言如C程序设计语言、Visual Basic、Fortran1703、Perl、COBOL 1702、PHP、ABAP,动态程序设计语言如Python、Ruby和Groovy,或其他程序设计语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网络(LAN)或广域网路(WAN)、或连接至外部计算机(例如通过因特网服务提供者)、或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的***组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的***。同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

Claims (22)

1.一种用于异常检测的***,包括:
至少一种存储介质,包括指令集;
至少一个处理器与所述至少一个存储介质通信,其中当执行所述指令集时,所述指令集指示所述至少一个处理器使所述***执行操作,包括:
获取至少两个样本,所述至少两个样本中的每个样本与事件相关联;
对于所述至少两个样本中的每个样本,基于异常检测机器学习模型,确定与所述至少两个样本中的每个样本相对应的事件是异常的预估概率;
基于与所述至少两个样本的至少部分样本相对应的预估概率确定与所述异常检测机器学习模型相关联的至少两个候选阈值;
针对所述至少两个候选阈值中的每个候选阈值,通过评估所述异常检测机器学习模型,确定评估结果;以及
基于所述评估结果,从所述至少两个候选阈值中确定与所述异常检测机器学习模型相关联的目标阈值,所述目标阈值用于与所述异常检测机器学习模型的输出结果进行比较以确定事件是否异常。
2.根据权利要求1所述的***,其特征在于,所述机器学习模型包括一类支持向量机(SVM)模型或隔离森林算法中的至少一种。
3.根据权利要求1或2所述的***,其特征在于,为了基于与所述至少两个样本的至少部分样本相对应的预估概率确定与所述异常检测机器学习模型相关联的至少两个候选阈值,所述至少一个处理器使所述***执行附加操作,包括:
指定与所述至少两个样本的至少部分样本中的每个样本相对应的所述预估概率作为所述至少两个候选阈值之一。
4.根据权利要求1所述的***,其特征在于,针对所述至少两个候选阈值中的每个候选阈值,评估所述异常检测机器学习模型,所述至少一个处理器使所述***执行附加操作,包括:
对于所述至少两个样本中的每个样本,
基于概率估计模型确定对应于所述至少两个样本的每个样本的参考概率;以及
基于所述预估概率和所述参考概率,针对所述至少两个候选阈值的每个候选阈值,评估所述异常检测机器学习模型。
5.根据权利要求4所述的***,其特征在于,基于所述预估概率和所述参考概率,评估所述机器学习模型,所述至少一个处理器用于使所述***执行附加操作,包括:
基于所述参考概率和所述预估概率,确定所述异常检测机器学习模型相对所述至少两个候选阈值中每个候选阈值的评估指标。
6.根据权利要求5所述的***,其特征在于,基于所述参考概率和所述预估概率,确定所述异常检测机器学习模型相对于所述至少两个候选阈值中的每个候选阈值的评估指标,所述至少一个处理器使所述***执行附加操作,包括:
基于所述至少两个候选阈值中的每个候选阈值和所述预估概率,确定所述至少两个样本中的每个样本的预测标签,所述预测标签包括负样本或正样本;以及
基于所述参考概率和所述预测标签,确定所述机器学习模型相对于所述至少两个候选阈值的每个候选阈值的所述评估指标。
7.根据权利要求6所述的***,其特征在于,所述至少一个处理器还用于使所述***执行附加操作,包括:
对所述至少两个样本中的每个样本的所述参考概率进行排序,其中,确定所述异常检测机器学习模型相对于所述至少两个候选阈值的每个候选阈值的所述评估指标,包括:
基于所述排序后的参考概率和与所述至少两个所述样本的每个样本相对应的所述预测标签,确定所述评估指标。
8.根据权利要求5所述的***,其特征在于,所述异常检测机器学习模型的所述评估指标包括曲线下面积或基尼系数中的至少一个。
9.根据权利要求5所述的***,其特征在于,基于所述评估结果,从所述至少两个候选阈值中确定与所述异常检测机器学习模型相关联的目标阈值,所述至少一个处理器使所述***执行附加操作,包括:
从所述至少两个候选阈值中识别出与所述评估指标的最大值相对应的候选阈值;以及
将所述识别出的候选阈值指定为与所述异常检测机器学习模型相关联的所述目标阈值。
10.根据权利要求1所述的***,其特征在于,所述至少一个处理器用于使所述***执行附加操作,包括:
获得与特定事件相关联的数据;以及
基于与所述特定事件相关联的所述数据和与所述目标阈值相关联的所述异常检测机器学习模型,确定所述特定事件是否异常。
11.一种异常检测方法,包括:
获得至少两个样本,所述至少两个样本中的每个样本与事件相关联;
对于所述至少两个样本中的每个样本,基于异常检测机器学习模型,确定与所述至少两个样本中的每个样本相对应的事件是异常的预估概率;
基于与所述至少两个样本的至少部分样本相对应的预估概率确定与所述异常检测机器学习模型相关联的至少两个候选阈值;
针对所述至少两个候选阈值中的每个候选阈值,通过评估所述异常检测机器学习模型,确定评估结果;以及
基于所述评估结果,从所述至少两个候选阈值中确定与用于所述异常检测机器学习模型相关联的目标阈值,所述目标阈值用于与所述异常检测机器学习模型的输出结果进行比较以确定事件是否异常。
12.根据权利要求11所述的方法,其特征在于,所述机器学习模型包括一类支持向量机(SVM)模型或隔离森林算法中的至少一种。
13.根据权利要求11或12所述的方法,其特征在于,所述基于与所述至少两个样本的至少部分样本相对应的预估概率确定与所述异常检测机器学习模型相关联的至少两个候选阈值,包括:
指定与所述至少两个样本的至少部分样本中的每个样本相对应的所述预估概率作为所述至少两个候选阈值之一。
14.根据权利要求11所述的方法,其特征在于,所述针对所述至少两个候选阈值中的每个候选阈值,评估所述异常检测机器学习模型,包括:
对于所述至少两个样本中的每个样本,
基于概率估计模型确定对应于所述至少两个样本的每个样本的参考概率;以及
基于所述预估概率和所述参考概率,针对所述至少两个候选阈值的每个候选阈值,评估所述异常检测机器学习模型。
15.根据权利要求14所述的方法,其特征在于,所述基于所述预估概率和所述参考概率,评估所述机器学习模型,包括:
基于所述参考概率和所述预估概率,确定所述异常检测机机器学习模型相对所述至少两个候选阈值中每个候选阈值的评估指标。
16.根据权利要求15所述的方法,其特征在于,所述基于所述参考概率和所述预估概率,确定所述机器学习模型相对于所述至少两个候选阈值中的每个候选阈值的评估指标,包括:
基于所述至少两个候选阈值中的每个候选阈值和所述预估概率,确定所述至少两个样本中的每个样本的预测标签,所述预测标签包括负样本或正样本;以及
基于所述参考概率和所述预测标签,确定所述异常检测机器学习模型相对于所述至少两个候选阈值的每个候选阈值的所述评估指标。
17.根据权利要求16所述的方法,其特征在于,所述方法还包括:
对所述至少两个样本中的每个样本的所述参考概率进行排序,其中,确定所述异常检测机器学习模型相对于所述至少两个候选阈值的每个候选阈值的所述评估指标包括:
基于所述排序后的参考概率和与所述至少两个所述样本的每个样本相对应的所述预测标签,确定所述评估指标。
18.根据权利要求15所述的方法,其特征在于,所述异常检测机器学习模型的所述评估指标包括曲线下面积(AUC)或基尼系数中的至少一个。
19.根据权利要求15所述的方法,其特征在于,所述基于所述评估结果,从所述至少两个候选阈值中确定与所述异常检测机器学习模型相关联的目标阈值,包括:
从所述至少两个候选阈值中识别出与所述评估指标的最大值相对应的候选阈值;以及
将所述识别出的候选阈值指定为与所述异常检测机器学习模型相关联的所述目标阈值。
20.根据权利要求11所述的方法,其特征在于,所述方法还包括:
获得与特定事件相关联的数据;以及
基于与所述特定事件相关联的所述数据和与所述目标阈值相关联的所述异常检测机器学习模型,确定所述特定事件是否是异常。
21.一种非暂时性计算机可读介质,用于存储指令,当由至少一个处理器执行所述指令时,使所述至少一个处理器实现包括以下的方法,包括:
获得至少两个样本,所述至少两个样本中的每个样本与事件相关联;
对于所述至少两个样本中的每个样本,基于异常检测机器学习模型,确定与所述至少两个样本中的每个样本相对应的事件是异常的预估概率;
基于与所述至少两个样本的至少部分样本相对应的预估概率确定与所述异常检测机器学习模型相关联的至少两个候选阈值;
针对所述至少两个候选阈值中的每个候选阈值,通过评估所述异常检测机器学习模型,确定评估结果;以及
基于所述评估结果,从所述至少两个候选阈值中确定与用于所述异常检测机器学习模型相关联的目标阈值,所述目标阈值用于与所述异常检测机器学习模型的输出结果进行比较以确定事件是否异常。
22.一种用于异常检测的***,包括:
获取模块用于获得至少两个样本,所述至少两个样本中的每个样本与事件相关联;
确定模块用于:
对于所述至少两个样本中的每个样本,基于异常检测机器学习模型,确定与所述至少两个样本中的每个样本相对应的事件是异常的预估概率;
基于与所述至少两个样本的至少部分样本相对应的预估概率确定与所述异常检测机器学习模型相关联的至少两个候选阈值;以及
评估模块用于针对所述至少两个候选阈值中的每个候选阈值,通过评估所述异常检测机器学习模型,确定评估结果,其中,所述确定模块是进一步用于:
基于所述评估结果,从所述至少两个候选阈值中确定与用于所述异常检测机器学习模型相关联的目标阈值,所述目标阈值用于与所述异常检测机器学习模型的输出结果进行比较以确定事件是否异常。
CN201910501710.5A 2019-06-11 2019-06-11 用于异常检测的***和方法 Active CN111860872B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910501710.5A CN111860872B (zh) 2019-06-11 2019-06-11 用于异常检测的***和方法
PCT/CN2019/091433 WO2020248291A1 (en) 2019-06-11 2019-06-15 Systems and methods for anomaly detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910501710.5A CN111860872B (zh) 2019-06-11 2019-06-11 用于异常检测的***和方法

Publications (2)

Publication Number Publication Date
CN111860872A CN111860872A (zh) 2020-10-30
CN111860872B true CN111860872B (zh) 2024-03-26

Family

ID=72966069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910501710.5A Active CN111860872B (zh) 2019-06-11 2019-06-11 用于异常检测的***和方法

Country Status (2)

Country Link
CN (1) CN111860872B (zh)
WO (1) WO2020248291A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112541981B (zh) * 2020-11-03 2022-07-22 山东中创软件商用中间件股份有限公司 一种etc门架***预警方法、装置、设备及介质
CN112738088B (zh) * 2020-12-28 2023-03-21 上海观安信息技术股份有限公司 一种基于无监督算法的行为序列异常检测方法及***
CN113536050B (zh) * 2021-07-06 2023-12-01 贵州电网有限责任公司 一种配网监控***曲线数据查询处理方法
CN114125916B (zh) * 2022-01-27 2022-06-10 荣耀终端有限公司 一种通信***、方法以及相关设备
CN114500326B (zh) * 2022-02-25 2023-08-11 北京百度网讯科技有限公司 异常检测方法、装置、电子设备以及存储介质
CN114726749B (zh) * 2022-03-02 2023-10-31 阿里巴巴(中国)有限公司 数据异常检测模型获取方法、装置、设备及介质
CN115001997B (zh) * 2022-04-11 2024-02-09 北京邮电大学 基于极值理论的智慧城市网络设备性能异常阈值评估方法
CN115567371B (zh) * 2022-11-16 2023-03-10 支付宝(杭州)信息技术有限公司 一种异常检测方法、装置、设备及可读存储介质
CN116127326B (zh) * 2023-04-04 2023-06-23 广东电网有限责任公司揭阳供电局 一种复合绝缘子检测方法、装置、电子设备及存储介质
CN116430831B (zh) * 2023-04-26 2023-10-31 宁夏五谷丰生物科技发展有限公司 应用于食用油生产控制***的数据异常监控方法及***
CN117076991B (zh) * 2023-10-16 2024-01-02 云境商务智能研究院南京有限公司 治污设备用电异常监测方法、装置及计算机设备
CN118133321A (zh) * 2024-04-30 2024-06-04 安徽韬珀信息技术有限公司 一种基于数据库内数据资产数据安全维护***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107798390A (zh) * 2017-11-22 2018-03-13 阿里巴巴集团控股有限公司 一种机器学习模型的训练方法、装置以及电子设备
CN109522304A (zh) * 2018-11-23 2019-03-26 中国联合网络通信集团有限公司 异常对象识别方法及装置、存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180096261A1 (en) * 2016-10-01 2018-04-05 Intel Corporation Unsupervised machine learning ensemble for anomaly detection
US11062230B2 (en) * 2017-02-28 2021-07-13 International Business Machines Corporation Detecting data anomalies

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107798390A (zh) * 2017-11-22 2018-03-13 阿里巴巴集团控股有限公司 一种机器学习模型的训练方法、装置以及电子设备
CN109522304A (zh) * 2018-11-23 2019-03-26 中国联合网络通信集团有限公司 异常对象识别方法及装置、存储介质

Also Published As

Publication number Publication date
CN111860872A (zh) 2020-10-30
WO2020248291A1 (en) 2020-12-17

Similar Documents

Publication Publication Date Title
CN111860872B (zh) 用于异常检测的***和方法
WO2018121690A1 (zh) 对象属性检测、神经网络训练、区域检测方法和装置
CN108280477B (zh) 用于聚类图像的方法和装置
US11501162B2 (en) Device for classifying data
US11403643B2 (en) Utilizing a time-dependent graph convolutional neural network for fraudulent transaction identification
Wang et al. The spatio-temporal modeling for criminal incidents
Wang et al. Efficient learning by directed acyclic graph for resource constrained prediction
US20170344838A1 (en) Hierarchical Context-Aware Extremity Detection
US10778707B1 (en) Outlier detection for streaming data using locality sensitive hashing
JP2019521422A (ja) 異常なユーザ行動関連アプリケーションデータを検出するための方法、装置、およびコンピュータ読み取り可能な媒体
KR20190064594A (ko) 장소 검출
CN104077723B (zh) 一种社交网络推荐***及方法
US11580420B2 (en) Determining feature impact within machine learning models using prototypes across analytical spaces
US20210056778A1 (en) Techniques to detect vehicle anomalies based on real-time vehicle data collection and processing
WO2018171531A1 (en) System and method for predicting classification for object
WO2019232723A1 (en) Systems and methods for cleaning data
US9177215B2 (en) Sparse representation for dynamic sensor networks
CN116257663A (zh) 面向无人地面车辆的异常检测与关联分析方法及相关设备
CN114077912A (zh) 数据预测方法以及数据预测装置
CN110490058B (zh) 行人检测模型的训练方法、装置、***和计算机可读介质
US20210365831A1 (en) Identifying claim complexity by integrating supervised and unsupervised learning
US20230350019A1 (en) Advanced adaptive clustering technique for portable radars
WO2023051085A1 (zh) 对象识别方法、装置、设备、存储介质和程序产品
KR20210080762A (ko) 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법
US11715204B2 (en) Adaptive machine learning system for image-based biological sample constituent analysis

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant