CN111523012B - 用于检测异常数据的方法、设备和计算机可读存储介质 - Google Patents

用于检测异常数据的方法、设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111523012B
CN111523012B CN201910106161.1A CN201910106161A CN111523012B CN 111523012 B CN111523012 B CN 111523012B CN 201910106161 A CN201910106161 A CN 201910106161A CN 111523012 B CN111523012 B CN 111523012B
Authority
CN
China
Prior art keywords
vertex
data
information
vertices
value
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
CN201910106161.1A
Other languages
English (en)
Other versions
CN111523012A (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.)
Huianjinke Beijing Technology Co ltd
Original Assignee
Huianjinke Beijing Technology 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 Huianjinke Beijing Technology Co ltd filed Critical Huianjinke Beijing Technology Co ltd
Priority to CN201910106161.1A priority Critical patent/CN111523012B/zh
Publication of CN111523012A publication Critical patent/CN111523012A/zh
Application granted granted Critical
Publication of CN111523012B publication Critical patent/CN111523012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开实施例提供了用于检测异常数据的方法、设备和计算机可读存储介质。该方法包括:确定与待检测数据集相对应的信息共享图,其中,所述信息共享图中的每个顶点对应于所述待检测数据集中的数据在目标维度上的一个不同值,以及所述信息共享图中的每条边的权重与以下信息相关联:与由相应边连接的两个顶点相对应的数据在除了所述目标维度之外的其它维度上共享相同值的事件的自信息;基于所述信息共享图中各条边的权重将所述信息共享图分为一个或多个分组;确定所述一个或多个分组中的每个分组所包含的最密集子图;以及将与所确定的一个或多个最密集子图中的至少一个最密集子图相对应的数据确定为异常数据。

Description

用于检测异常数据的方法、设备和计算机可读存储介质
技术领域
本公开大体上涉及数据挖掘领域,且更具体地涉及用于检测异常数据的方法、设备和计算机可读存储介质。
背景技术
随着互联网的日益普及,其已经成为了现代生活中不可或缺的一部分。然而,网络欺诈已经成为了当代互联网的严重威胁之一。欺诈的目的形形色色,从轻微的试图获取公众注意力到严重的金融诈骗(例如,信用卡盗用)都有。例如,在社交网站或媒体分享网站上,人们想要通过增加更多的关注者或追随者来增加自身的账户价值。又例如,在电子商务网站上,欺诈者注册很多新账户以滥用网站提供的新用户优惠,或者通过海量注册的伪账户对伪劣服务、商品等给予高评价来向正常用户兜售虚假服务、商品等。因此,需要一种能够检测到这种网络欺诈行为的方案。
发明内容
为了至少部分解决或减轻上述问题,提供了根据本公开的用于检测异常数据的方法、设备和计算机可读存储介质。
根据本公开的第一方面,提供了一种用于检测异常数据的方法。该方法包括:确定与待检测数据集相对应的信息共享图,其中,所述信息共享图中的每个顶点对应于所述待检测数据集中的数据在目标维度上的一个不同值,以及所述信息共享图中的每条边的权重与以下信息相关联:与由相应边连接的两个顶点相对应的数据在除了所述目标维度之外的其它维度上共享相同值的事件的自信息;基于所述信息共享图中各条边的权重将所述信息共享图分为一个或多个分组;确定所述一个或多个分组中的每个分组所包含的最密集子图;以及将与所确定的一个或多个最密集子图中的至少一个最密集子图相对应的数据确定为异常数据。
在一些实施例中,与由相应边连接的两个顶点相对应的数据在除了所述目标维度之外的其它维度上共享相同值的事件的自信息是如下计算的:
其中,是与顶点ui和顶点uj之间的边相对应的自信息,/>是与顶点ui和顶点uj相对应的数据在第k个维度上共享值a这一事实的自信息,Hk(ui,uj)是由与顶点ui和顶点uj相对应的数据在第k个维度上共享的所有值的集合,以及K是所述待检测数据集中的数据的所有维度除了目标维度之外的其它维度的数量。
在一些实施例中,是如下计算的:
其中,log()是自然对数函数,以及pk(a)是任一顶点在第k个维度上取值为a的概率。
在一些实施例中,任一顶点在第k个维度上取值为a的概率pk(a)的分布满足以下至少一项:均匀分布、长尾分布、泊松分布、卡方分布以及正态分布。
在一些实施例中,基于所述信息共享图中各条边的权重将所述信息共享图分为一个或多个分组包括:
从所述信息共享图中移除具有小于保留阈值的权重的边;以及
将所述信息共享图分为一个或多个连通分量,作为所述一个或多个分组。
在一些实施例中,所述保留阈值是如下计算的:
其中,θ是所述保留阈值,(ui,uj)是顶点ui和顶点uj之间的边,E是所述信息共享图的边的集合,以及|V|是所述信息共享图的顶点的数目。
在一些实施例中,确定所述一个或多个分组中的每个分组所包含的最密集子图包括:
迭代以下步骤一次或多次,直到相应分组中没有顶点为止,以确定相应分组中的子图在每次迭代中的一个或多个密度:
确定相应分组中的当前每个顶点的综合权重;
根据各顶点的综合权重从相应分组中移除一个或多个顶点以及相关联的边;以及
确定相应分组中由剩余顶点构成的子图的密度;
将相应分组中的与最大密度相对应的子图确定为相应分组的最密集子图。
在一些实施例中,顶点的综合权重是如下确定的:
其中,表示顶点ui在分组/>中的综合权重,/>表示ui所属的分组,/>是/>的顶点集合,ε是/>的边集合,uj是/>中的另一顶点,(ui,uj)是连接顶点ui和顶点uj的边,以及/>是所述待检测数据集中与顶点ui相对应的数据在除了所述目标维度之外的其它维度上共享相同值的事件的自信息。
在一些实施例中,顶点ui的自信息是如下计算的:
其中,是与顶点ui相对应的自信息,/>是与顶点ui相对应的数据在第k个维度上共享值a这一事实的自信息,以及Hk(ui)是与顶点ui相对应的数据在第k个维度上的所有值的集合。
在一些实施例中,是如下确定的:
其中,表示所述待检测数据集中的在所述目标维度U上与顶点ui相对应且在第k个维度Ak上取值为a的所有数据的集合,以及/>表示中的数据数目。
在一些实施例中,根据各顶点的综合权重从相应分组中移除一个或多个顶点以及相关联的边包括:
从相应分组中移除具有最小综合权重的顶点以及相关联的边。
在一些实施例中,根据各顶点的综合权重从相应分组中移除一个或多个顶点以及相关联的边包括:
从相应分组中移除具有小于等于移除阈值的综合权重的一个或多个顶点以及相关联的边。
在一些实施例中,所述移除阈值是如下计算的:
其中,是所述移除阈值,/>是在当前迭代中所述剩余顶点的集合,以及/>中的顶点的数目。
在一些实施例中,确定相应分组中由剩余顶点构成的子图的密度包括根据以下公式来确定所述密度:
其中,是相应分组中由剩余顶点构成的子图的密度,/>是在当前迭代中所述剩余顶点的集合,以及/>是/>中的顶点的数目。
根据本公开的第二方面,提供了一种用于检测异常数据的设备。该设备包括:处理器;存储器,其上存储有指令,所述指令在由所述处理器执行时使得所述处理器执行根据本公开第一方面所述的方法。
根据本公开的第三方面,提供了一种存储指令的计算机可读存储介质,所述指令在由处理器执行时使得所述处理器执行根据本公开第一方面所述的方法。
通过使用本公开的方法、设备和/或计算机可读存储介质,可以准确地自动检测到海量行为数据中的异常用户行为数据,帮助数据提供商准确地确定需要注意的异常用户,从而避免了可能出现的损失、同时节约了大量的运维成本。
附图说明
通过下面结合附图说明本公开的优选实施例,将使本公开的上述及其它目的、特征和优点更加清楚,其中:
图1A和图1B是分别示出了在应用根据本公开实施例的异常数据检测方案之前和之后的示例应用场景的示意图。
图2是示出了根据本公开实施例的用于检测异常数据的示例方案的示意说明图。
图3是示出了根据本公开实施例的用于检测异常数据的方案与对比技术的性能和运行时间对比图。
图4是示出了根据本公开实施例的方法的示例时间复杂度的示意图。
图5是示出了根据本公开实施例的用于检测异常数据的示例方法的流程示意图。
图6是示出了根据本公开实施例的用于识别异常数据的设备的硬件布置图。
具体实施方式
下面参照附图对本公开的部分实施例进行详细说明,在描述过程中省略了对于本公开来说是不必要的细节和功能,以防止对本公开的理解造成混淆。在本说明书中,下述用于描述本公开原理的各种实施例只是说明,不应该以任何方式解释为限制公开的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本公开的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不脱离本公开的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同的附图标记用于相同或相似的功能、器件和/或操作。此外,在附图中,各部分并不一定按比例来绘制。换言之,附图中的各部分的相对大小、长度等并不一定与实际比例相对应。此外,在本公开一些实施例中描述的全部或部分特征也可被应用于其他实施例中以形成依然落入本申请范围内的新的实施例。
此外,本公开并不局限于所涉及的设备的各个具体通信协议,包括(但不限于)2G、3G、4G、5G网络,WCDMA、CDMA2000、TD-SCDMA系统等,不同的设备可以采用相同的通信协议,也可以采用不同的通信协议。此外,本公开并不局限于设备的具体操作系统,可以包括(但不限于)iOS、Windows Phone、Symbian(塞班)、Android(安卓)、Linux、Unix、Windows、MacOS等,不同的设备可以采用相同的操作系统,也可以采用不同的操作系统。
尽管下文中将主要在防止网络欺诈的具体场景中说明根据本公开实施例的用于检测数据集中的异常数据的方案,然而本公开不限于此。事实上,本公开的实施例在经过恰当的调整和修改的情况下,也可以适用于其他各种需要检测具有特定模式或特征的数据的情况,例如检测高价值客户等。换言之,只要是需要确定数据组之间的差异的场景,都可以使用根据本公开实施例的方案。接下来,将结合图1A和图1B来详细描述根据本公开的一些实施例的异常数据检测方案的示例应用场景。
图1A和图1B是分别示出了在应用根据本公开实施例的异常数据检测方案之前和之后的示例应用场景10的示意图。如图1A所示,包括一个或多个正常用户110(例如,正常用户110-1、110-2和110-3,以下在不需要单独指定的时候将其统称为正常用户110)以及一个或多个恶意用户120(例如,恶意用户120-1和120-2,以下在不需要单独指定的时候将其统称为恶意用户120)在内的多个用户可与服务提供商100交互,以使用其提供的各种服务。在一些实施例中,服务提供商100可以是社交网络运营商(例如,Facebook、Twitter等),而用户110、120等可以是在其上注册、登录和/或互动的社交网络用户。在另一些实施例中,服务提供商100可以是电子商务运营商(例如,Amazon、Ebay等),而用户110、120等可以是在其上买卖商品的顾客或商家。
需要注意的是:由于恶意用户120的存在,其可能会妨碍一些正常用户对服务提供商100所提供的服务的使用。例如,正常用户110-2可以是在由服务提供商100上提供的电子商务服务的卖家,其可以通过在服务提供商100处发布其要销售的商品和/或服务来正常盈利。然而,由于恶意用户120的存在(例如,恶意用户120-1和120-2),例如这些恶意用户120是通过大量制造虚假评论来不正当地获得相应商品好评的恶意卖家,导致正常用户110-2所销售的商品和/或服务滞销,进而使得正常用户110-2不能正常使用服务提供商100的服务。类似地,在正常用户110-2是社交网站的用户的另一示例中,其也可能由于恶意用户120的海量恶意攻击(例如,恶意回帖、转发等)导致其无法正常使用服务提供商100的服务。因此,需要一种能够准确、及时检测到数据集(例如,在服务提供商100的服务器处的日志记录115)中的异常数据的方案。
例如,如图1B所示,通过由服务提供商100自身或第三方对例如日志记录115进行日志数据分析(例如,使用本文中将详细描述的方案),可以准确地检测到恶意用户120,并采取相应措施以阻止其对服务提供商100的服务的滥用或破坏,从而恢复正常用户110(例如,正常用户110-2)对服务的使用。
需要注意的是:根据本公开实施例的异常数据检测方案不限于上述应用场景,而是如前所述适用于任何需要确定特定数据模式的场景。此外,该异常数据方案的执行也不限于图1B所示的由分析服务器130来执行,而是可以在服务提供商100处、在正常用户110处或任何其它合适的一个或多个位置处执行(不管是以集中式还是分布式的方式)。
如前所述,为了发现待检测数据集中的异常数据,很多相关方案关注于检测多模态数据(multimodal data)张量(例如,具有多个维度的数据的数据条目)中的密集块,以避免欺诈者进行回帖提升、话题绑架、链接广告等。然而,在密集块仅在相应张量的所有维度的子集上具有高密度的情况下,则目前不存在能够有效找到密集块的方案。
在本文的一些实施例中,可以通过在不丢失任何密度信息的情况下将张量建模为加权图,并使用密集子图挖掘这一技术来进行密集块检测。在本文的一些实施例中,基于被称为信息共享图(Information Sharing Graph,或简称为ISG)的加权图(下文中将详细描述),提出了一种用于找到多个最密集子图的算法(在本文中,有时也将其称为D-Spot),其速度更快(是目前算法的速度的11倍)且可以并行计算。对于N维张量数据集,可以保证通过ISG和D-Spot的组合找到的密集子图在密度方面至少是最优解的1/2,这明显高于相关方法所能确保的1/N。此外,在欺诈检测方面,通过使用多个数据集进行验证,证明了ISG和D-Spot的组合已成为了目前最高效、最准确的密度块检测方法。
在短时期内人们通过引入欺诈实体(例如,伪账户、伪评论等)来获取关注度/利益的情况下,欺诈意味着针对社交或评论网络(例如,Twitter、亚马逊等)的公正性的严重威胁。例如,如前所述,在社交网络或媒体分享网站上,人们可能希望通过非法购买更多的僵尸粉来强化其账户的知名度;而在电子商务网站上,欺诈者可能注册多个账户以从“新用户”优惠中获利。
例如,考虑在社交评论网站(例如,亚马逊)上生成的典型日志数据,其可以包含四个维度的特征:用户、产品、时间戳、评分。这些数据经常被归纳为张量,其中,每个维度表示单独的特征,且张量的条目(元组)表示评论动作。基于在先研究结果,欺诈实体形成了主张量中的密集块(即,子张量),例如,当海量欺诈用户账户在短时间内针对产品集合创建了海量伪评论时。此外,密集块检测也被应用于网络入侵检测、回帖提升检测、机器人行为检测、以及遗传学应用。
已发展出了各种密集块检测方法。一种方法使用张量分解,例如CP分解和高阶奇异值分解。然而,如在相关研究中所观察到的,这种方法在准确性、速度和与支持不同密度度量相关的灵活性方面被基于搜索的技术所超越。此外,一些密集块检测方法提供了用于找到张量中的最密集/最优块的近似保证。
然而,基于搜索的方法对于密集块检测的效果是非常有限的。首先,这些方法不能检测“隐藏的最密集块”。在本文中,将“隐藏的最密集块”定义为以下块:其不具有在张量的所有维度上的高密度信号,但在所有维度的子集上明显具有高密度。此外,相关方法忽略了张量上每个维度的数据类型和/或分布。假定两个密集块A和B具有相同密度,然而A在关键特征子集(例如,IP地址和/或设备ID)上是最密集的,而B在某些平凡特征(例如年龄和/或性别)上是最密集的。则直观上可以确定A比B要可疑,但不幸的是,相关方法对此的答案是A与B一样可疑。
为了处理这些限制,本公开的一些实施例提出了一种密集块检测框架,并专注于在张量上形成密集块的实体。所提出的框架是使用新的方案来设计的。给定张量,密集块的形成是值共享的结果(使得两个或更多个不同实体共享张量中的不同值(实体)的行为)。基于该关键点,提出了一种新的信息共享图(ISG)模型,其准确地捕捉到了值共享的每一个实例。从张量中的密集块到ISG中的密集子图的转换使得本文提出了一种快速、高度准确的算法D-Spot,其可用于确定欺诈实体,且可证明地保证检测到的子图的密度。
大体上,在本文的一些实施例中提出的方案的贡献至少在于(但不限于):
(1)[图模型]。本文的一些实施例提出了新的ISG模型,其将张量中的每个“值共享”转换为图(graph)中的加权边或节点(实体)的表示。此外,该图模型基于信息论考虑了不同的数据类型及其相应的分布,以对多个特征自动区分优先级。
(2)[算法]。本文的一些实施例提出了D-Spot算法,其能够在一次运行中找到多个最密集子图。此外,在理论上证明了由D-Spot找到的多个子图必然包含与最优值的至少1/2一样密集的某些子图。此外,在实际数据集上运行时,D-Spot的速度是相关方法的至少11倍。
(3)[有效性]。除了密集块之外,ISG和D-Spot的组合还有效地区分了隐藏最密集块与正常块。在N维张量中,由ISG和D-Spot的组合找到的实体组在密度方面是最优组的至少1/2。在使用多个公开的真实世界数据集的实验中,ISG和D-Spot的组合比相关方法更准确地检测到了欺诈实体。
接下来,将简要介绍根据本公开实施例的用于确定异常数据的方案的原理。由于大多数欺诈方案被设计用来获取金融利益,因此理解欺诈背后的经济学原理是非常重要的。大体上,仅当欺诈者的收益超出其成本,他们才会进行欺诈。为了最大化利润,欺诈者不得不在多次诈骗中共享/复用各种资源(例如,伪账户、IP地址和/或设备ID)。例如,一些研究发现很多用户与Twitter上的特定关注者组相关联,此外还发现很多电话号码重用的情况,以及发现很多垃圾邮件代理和主机的IP地址落入几个小的IP地址范围内。此外,还发现伪账户经常在短时间段内进行欺诈活动。因此,由于这种资源共享,欺诈活动经常形成张量中的密集块(如下所述)。
基于搜索在张量中进行密集块检测。之前的研究表明了将诸如时间戳和/或IP地址之类的特征(其经常被归纳为多维张量)并入密集块检测方案中的好处。以最大化张量上的密度尺度为目标对密集块进行挖掘是成功的方案。例如,CrossSpot方案随机选择种子块,然后在每个维度上进行贪婪调整,直到获得局部最优值为止。该技术通常要求大量的种子块,且不提供在找到全局最优方面的任何近似保证。相对于向种子块中添加特征值,M-Zoom方案使用类似的贪婪策略从初始张量中逐一移除特征值,提供了用于找到最优值的1/N近似保证(其中,N是张量中维度数量)。M-Biz方案也从种子块开始,然后贪婪地添加或移除特征值,直到块达到局部最优为止。与M-Zoom方案不同,D-Cube方案在每一步骤上删除特征值集合,以减少迭代次数,且以分布式的基于磁盘的方式来实现。D-Cube方案提供了与M-Zoom方案相同的近似保证。
张量分解方法。张量分解经常应用于检测张量内的密集块,比如MAF。然而,这些方法在紧密块检测方面是受限的,且通常检测到具有显著低密度的块,提供了在密度度量选择方面的较低灵活度,且并不提供任何近似保证。
表1:ISG和D-Spot的组合vs.相关密集块检测方法
密集子图检测。图可以由二维张量来表示,其中,边对应于张量中的非零条目。对密集子图的挖掘已被广泛研究。检测最密集子图经常被归纳为找到具有最大平均度(maximum average degree)的子图,且可以使用精确的算法或近似算法。例如,Fraudar方法是扩展近似算法,其可以用于找到密集子图,其中,所有节点具有至少k的度。CoreScope方法倾向于寻找所有节点都具有至少k的度的密集子图。奇异值分解(SVD)方法也以隐式的方式关注矩阵中的密集区域。此外,EigenSpoke方法读取奇异向量对的散点图,以找到模式并对社区进行切除。一些方案使用谱聚类(spectral cluster framework)框架来提取密集子图,而另一方案使用来自SVD的顶部特征向量来识别异常用户。
其它异常/欺诈检测方法。对信仰传播和类HITS(Hyper-InducedTopic Search)理念的使用意在捕捉图中的稀有行为模式。信仰传播已被用于向马尔科夫随机域的网络表示中的节点分配标签。当充足的带标记数据可用时,可以基于多核学习、支持向量机和k最近邻居方案来构造分类器。
接下来,将介绍在本文的一些实施例中使用的一些标记和/或定义,分析相关方案的缺陷,并描述本文的一些实施例的动机。
表2列出了在本文中使用的标记。
表2:符号和定义
为了简洁,使用[N]来表示{1,...,N}。令R(A1,...,AN,X)={t0,...,t|X|}为以下两项的组合:具有N维特征的关系(Relation,标记为{A1,...,AN})和维度条目标识符(标记为X)。对于每个条目(或元组)t∈R,则t可表记为(a1,...,aN,x)。因此,可以使用t[An]来表示t在维度An上的值,即t[An]=an,以及使用t[X]来表示t的标识,t[X]=x,x∈X。将R的质量定义为|R|,其是这种条目的总数|R|=|X|。对于每个n∈[N],使用Rn来表示An的不同值的集合。从而,R自然地表示大小为|R1|×...×|RN|的N维张量。
R中的块定义为/>且/>此外,质量是/>中的条目的数量,且/>是/>的不同值的集合。令/>表示取An上的值a的所有条目。质量/>是这种条目的数目。如下给出简单的示例。
示例1(亚马逊评论日志)。假定关系R(用户,产品,时间戳,X),其中,t=(a1,a2,a3,x)指示由用户a1在时间戳a3时评论了产品a2,并且该动作的标识为x。由于a1可以在a3时评论a2多次(可以假定a3表示一个时段),因此X帮助区分每个这样的评论动作。由|R|表示的R的质量是在数据集中所有评论动作的数目。R中不同用户的数量是|R1|。块/>(a1,用户)是由用户a1所操作的所有评论条目的集合,以及/>(a1,用户)的整体条目的数量是/>
首先,提出对于欺诈检测来说有用的密度度量:
定义1。(算术平均质量ρ)。给定块 在维度/>上的算术平均质量是:
其中,且明显有ρ∈[1.0,+∞)。
如果块在R上密集,则/>
此外,在相关技术中使用的其它密度度量对于欺诈检测来说也是有效的。大致上可以认为所有密度度量都是和R的维度的势(cardinality)和质量(mass)的函数。在R中,之前的研究主要关注在密度度量意义下检测前k个最密集块。在本文的一些实施例中,将使用密度度量ρ来说明关键点。
在实践中,由R中的欺诈实体所形成的块可以通过“隐藏最密集块”来描述。为了说明隐藏最密集块,提出了以下定义和示例。
定义2。在R(A1,...,AN,X)中,如果是所有可能/>中的最大值,则认为是维度An上最密集的,其中,/>是R中的任何可能的块。
定义3。(隐藏最密集块)。在R(A1,...,AN,X)中,如果在{A1,...,AN}的某个子集上最密集,则认为/>是隐藏最密集块。
示例2(注册日志)。在具有19个特征的注册数据集中,伪账户仅针对IP地址特征表现出共谋资源共享(conspicuous resource sharing)。
示例3(TCP内存镜像(dump))。DARPA数据集具有43个特征,但是由恶意连接形成的块仅在两个特征上最密集。
因此,捕捉隐藏最密集块在现实世界中非常有实用意义。不幸的是,该问题对于相关方案是非常棘手的。
首先,在一些示例中,假定隐藏最密集块仅在维度AN上最密集,因此有当N充分大时:
假定非常低,则相关方案中尝试找到最大化/>的块/>的方法在检测隐藏最密集块方面具有非常有限的能力。
其次,在一些示例中,考虑由欺诈条目形成的块其中,/>仅在{A2,A3,A5}上最密集,且因此/>是最大的。然而,当将特征组合分解时,相关方案不能找到{A2,A3,A5}。
此外,在另一些示例中,在R(A1,...,AN,X)中,考虑两个块和/>其中,/>在Ai上最密集,/>在Aj上最密集,且/>然而,这并不意味着/>和/>同等可疑,这是因为Ai可以是IP地址之类的重要特征,而Aj可以是诸如用户年龄、位置或性别之类的平凡特征。
[值共享]。基于上述考虑,从不同的角度来设计本公开的一些实施例的方案。密集块形成的背后的关键原因在于值共享。给定t1∈R、维度AN且t1[An]=a,则可以在t2≠t1且t2[An]=a时识别出值共享,即t1和t2在维度An上共享值a。
显然,如果块密集,/>则值共享必然出现,即值共享导致密集块。
因此,检测密集块等价于捕捉值共享信号。本文的一些实施例提出了基于信息论的ISG,且设计了D-spot算法来利用图的特征,使捕捉密集块中的欺诈条目成为可能,并克服了上述限制。
接下来,将结合图2来详细描述根据本公开实施例的检测异常数据的方案。图2是示出了根据本公开实施例的用于检测异常数据的示例方案的示意说明图。如图2所示,该方案大体上可以包括:将待检测数据集转换为相应的信息共享图,根据一些标准将信息共享图分为多个分组,确定每个分组中的密集子图,最后确定与这些密集子图相对应的数据中的至少一些作为异常数据。
具体地,如上所述,捕捉欺诈条目等价于检测特定维度上的不同值的子集。令U表示不同值的子集形成所希望检测的欺诈条目的目标维度。在R(A1,...,AN,X)中,可选择目标维度并将其设置为U,且将剩余(N-1)个维度标记为K维度,简记为k∈[K]。可以构造针对U的ISG,即加权无向图G=(V,E),其中,V={u1,...,un}是U的不同值的集合。换言之,针对U的信息共享图G中的每个顶点ui可对应于待检测数据集R中的数据t在目标维度U上的一个不同值
例如,如图2中左侧的数据集210所示,对于上述示例1,R(用户,产品,时间戳,X),如果希望检测欺诈用户账户,则可设置目标维度U=用户。类似地,在示例2中,如果希望识别伪账户,则可设置U=账户。在示例3中,如果希望捕捉恶意连接,则可设置U=连接。
为了具体地描述值共享的过程,可以提出两个以下定义:
定义4。(逐对值共享)。给定ui,uj∈V和a∈Ak,如果使得t1[U]=ui且t2[U]=uj,以及t1[Ak]=t2[Ak]=a,则可以称ui和uj在Ak上共享值a。
由定义4给出的逐对值共享在由多个单独实体共享不同值时出现。给定由共享a的值共享过程,则将其表示为/>个逐对值共享。
定义5。(自身值共享)。给定t1∈R,其中,t1[U]=ui,ui∈V,且t1[Ak]=a,如果且t2≠t1,使得t2[U]=ui且t2[Ak]=a,则可以称ui在Ak上共享值a。
由定义5给出的另一类型的值共享出现在由某个条目ui来n次共享值a,其可以由自身值共享的n个实例来表示。
在ISG G=(V,E)中,对于某些边(ui,uj)∈E,表示根据其他K个维度导出的ui和uj之间的(自)信息,且对于某个节点ui∈V,/>表示根据其他K个维度计算出的ui的(自)信息。根据前一节中的定义和标记,问题1给出了对如何构造张量的ISG的正式定义。
问题1(构造逐对信息图)。
(1)输入:关系R,目标维度U
(2)输出:信息共享图G=(V,E)。
给定维度Ak、目标维度U、任何ui∈V、以及满足t1[U]=ui的条目t1∈R,则对于a∈Ak,假定t1[Ak]=a的概率是pk(a)。基于信息论,事件“ui和uj在维度Ak上共享a”的自信息可以是:
为了计算ui和uj跨所有K个维度的逐对值共享,提出了度量分数作为ISG的边权重:
其中,Hk(ui,uj)是由ui和uj在Ak上共享的所有值的集合。注意到:如果则有/>换言之,如果ui和uj在任何维度上都不共享任何值,则这二者之间的自信息为零。直观上看,如果ui和uj不具有任何共享值(这在正常环境中是可预期的),则可以具有零信息。否则,可以获得某些信息。因此,/>的值越高,则ui与uj越相似。实际中,/>分数具有较大的方差。例如,共享了IP子网和设备ID的欺诈用户对将具有高的/>分数,反之正常用户不太可能与任何其他人共享这些值,且因此将具有接近零的/>分数。此外,获得的ui和uj共享值a的信息与该值a自身出现的整体概率pk(a)相关。例如,与两个人在Twitter上都关注相对不知名的用户(pk(a)低,所以相应的/>高)相比,他们都关注某个名人(pk(a)高,所以相应的/>低)就远远没那么让人惊讶。
此外,对于节点ui∈V,令为集合{t∈R:(t[Ak]=a)∧(t[U]=ui)},其是待检测数据集R的子集。当/>时,形成/>的信息是:
现在定义以计算ui跨所有K个维度的自身值共享:/>
其中,Hk(ui)是集合且Rk是Ak的不同值的集合。
此外,如果采用类似于的形式来描述,则可以将公式(4)转换为以下等价的公式(4′):
其中,Hk(ui)是与顶点ui相对应的数据在第k个维度上Ak的所有值的集合,且Rk是Ak的不同值的集合。
注意到:如果则/>换言之,如果与顶点ui相对应的多个数据在任何维度上都不共享任何值,则这些数据之间的自信息为零。
实际上,在一些实施例中,自身值共享仅发生在特定欺诈情况下。例如,欺诈用户可以在亚马逊/Yelp上在若干天的时间跨度上创建针对产品/餐厅的若干伪评论。在网络攻击方面,恶意的TCP连接倾向于多次攻击服务器。从而,在一些实施例中,可以无需与自身值共享相关的分数(例如,在仅存在与顶点相对应的一个数据条目时)。在这些实施例中,可以令所有自身值共享相关的/>分数为零。
接下来将介绍如何确定概率pk(a)。从而,以不同的方式确定pk(a)可以扩展分数以适应不同的数据类型和/或数据分布。
确定pk(a)是困难的,这是因为并不总是知道维度Ak上的数据的分布。在该情况下,对于作为属性特征的那些维度(例如,第k个维度),可以假定均匀分布并简单地进行设置:
pk(a)=1/|Rk| (5)
该近似对于很多欺诈相关属性(例如,IP子网和设备ID,其通常满足泊松分布)来说表现良好。
然而,均匀假设并不适用于低熵分布(例如,长尾分布,其在诸如购买物品或关注的用户之类的维度中很常见)或在该低熵分布的情况下表现得很糟糕。低熵意味着很多用户无论如何都以相似方式产生动作,而与欺诈无关。直观上,对于这种分布,在关注名人(分布的头)时不让人吃惊,但是如果他们都关注尾部的某人,则存在大量的信息。例如,20%的用户在在线社交网络中对应于多于80%的“关注”。在名人及其关注者之间的密集子图通常不可能是欺诈的。如果特征Ak具有长尾分布,则其熵非常低。例如,均匀分布在50个值上的熵是3.91,但是以90%的概率集中在一个值上的长尾分布的熵仅是0.71。因此,当Ak中的值具有低熵时,基于经验分布来设置pk(a)为:
换言之,在一些实施例中,可以根据历史数据中在第k个维度上相应值出现次数与各种值的总数的比值来经验性地确定概率pk(a)。
此外,在另一些实施例中,还可以提供可定制的pk(a)函数,以满足各种需求。
通过上述构造,可以将图2中所示的数据集210转换为信息共享图220。该信息共享图220中的每个顶点可对应于待检测数据集210中的数据在目标维度上的一个不同值,以及该信息共享图220中的每条边的权重可与以下信息相关联:与由相应边连接的两个顶点相对应的数据在除了目标维度之外的其它维度上共享相同值的事件的自信息。
此外,可以对ISG的转换进行优化。理论上,具有|V|个节点的图可具有O(|V|2)条边。简单地,因此进行图初始化和遍历需要时间O(|V|2)。
在一些实施例中,为了减少构造ISG的复杂度,可以使用键-值方案。“键”对应于Ak上的值a,且“值”表示块令/>表示在/>中出现的条目。由于每对/>共享a,可以将/>的值增加/>此外,对于每个/>存在某个/> 因此,如果/>则可以将/>的值增加/>从而,为了构造ISG,可以通过并行遍历R来计算K个维度上的所有键-值对。因此,构造图G=(V,E)需要花费时间O(K|R|+|E|)。注意到:可以仅保留正的/>和/>在实践中,G通常是稀疏的,这在下文中详细描述。
通过如上所述的方式将待检测数据集转换为信息共享图,可以有以下发现。
给定关系R(A1,...,AN,X),其中,例如设置U=AN,则可以构造U的ISG:G=(V,E)。假定R中存在欺诈块且/>被变换到G中的子图/>其中,/>中的不同值的集合,且边/>表示根据其他K个维度来计算的ui和uj之间的信息。则,/>是由希望检测到的欺诈实体构成的欺诈组。
下面总结可以引出前述算法的对欺诈子图的三个关键发现,其中,给定/>将欺诈子图/>的边密度定义为:
(1)或/>的值异乎寻常的高。值共享可能经常发生,但是跨某些特征(或甚至某些值)的共享比其它共享更可疑。直观上,如果两个用户共享IP地址或在推特上关注某个随机的无名之辈可能更为可疑。然而,如果他们具有共同的性别、城市或关注同一个名人,则不那么可疑。换言之,由于跨某个维度(或至少某个值)的共享的概率相当低,则某些值共享有可能是可疑的。因此,由于这种可疑的值共享所对应的信息值高,其可以被/>和/>所准确捕捉到。
(2)通常很大。欺诈者执行相同动作很多次以实现规模经济效应。因此,期望找到欺诈账户之间的多个逐对共谋。大量研究表明较大的聚类大小是欺诈的关键指示符。直观上,尽管几个家庭成员共享IP地址是自然的,但是当几十个用户共享一个地址时通常是高度可疑的。
(3)越接近1.0,则/>越可疑。欺诈者通常将大量账户用于相同任务,且因此由相同欺诈者操纵的用户/账户很有可能共享相同的值集合。因此,由欺诈组形成的/>将是良好连通的(well-connected)。/>
与此相对的,在ISG上同样可以观察到合法实体的表现。在G=(V,E)中,给定假设为合法的某个ui,令h(ui)表示其邻居节点的集合。因此有以下两个发现:
(1)对于ui这是因为ui不太可能与其它节点共享值。如果存在,则共享值自身应当具有高的概率(参见上述发现(1)),例如在都关注同一个名人的情况下;以及
(2)由h(ui)引起的子图通常不是良好连通的,这是因为资源共享在现实世界中并不常见。如果/>是良好连通的,则|h(ui)|与欺诈组大小相比相当小(参见上述发现(2))。
总而言之,相关技术对于张量直接进行运算,指示了它们将每个维度(以及甚至某些值)上的值共享视为等同的。相对地,ISG可基于ISG的边和节点向每个值共享实例分配了理论权重,这对于识别(隐藏)最密集块是更有效的(参见定理3中的比较)。
接下来,基于前述发现,可以描述在信息共享图G中找到目标(密集)子图的方法(D-Spot)。接下来将首先定义用于判断图的密集度的密度度量然后说明所提出的D-Spot算法。
为了找到作为目标的密集子图可以将密度度量/>定义为:
的形式满足了前面描述的对密集子图/>的三个关键发现。
(1)保持固定,有/>
(2)保持和/>固定,有/>
(3)保持和/>固定,有/>
相对地,仅考虑图特征的一个方面的简单度量并不满足上述全部三个条件。例如,边密度本身并不是一个好的度量,因为其不满足条件2。
因此,子图检测问题可以如下定义:
问题2(检测密集子图)。
(1)输入:信息共享图G=(V,E)。
(2)输出:G中使得密度最大化的一个或多个子图。
接下来,将结合图2来详细描述密集子图检测算法D-Spot的详细流程。如图2所示,大体上,可以基于先将信息共享图220分为多个分组,例如图2中所示的三个分组。然后,可以确定相应分组中的密集子图,且最后可以将这些密集子图中的一个或多个确定为与异常数据相对应的子图。
具体地,在现实世界数据集中,通常存在形成多个密集子图的大量欺诈组。基于上述考虑因素,提出了D-Spot(下述算法1~3)。与其它已知的寻找最密集子图的算法相比,D-Spot具有至少两个优点:
(1)D-Spot可以同时检测多个最密集子图。D-Spot首先对图进行划分,然后检测每个分组中的单一最密集子图。注意到:D-Spot还提供了找到最优解的近似1/2的保证,如下文中所证明的。
(2)D-Spot是快速的。首先,其检测分组(而不是图G=(V,E))中的单一最密集子图,其中,/>且|ε|<<|E|。其次,D-Spot并不一定逐一移除节点,而是一次可以移除一组节点,从而减少了迭代次数。
如前所述,在一些实施例中,D-Spot可包含两个主要步骤:(1)给定G,将G分为多个分区(算法1);在每个/>中,找到单一密集子图/>(算法2和3)。
此外,为了方便起见,在本文中使用接在其它字母之后的字母“s”来表示由其它字母所表示的对象的多个实例,例如表示多个/>等等。
算法1:图分组。令表示G的多个分组,且/>是/>中要检测的密集子图。基于上述发现1,/>中的/>和/或/>应当大于合法节点之间所应当具有的值。在G中,通常存在要检测的多个/>其中,每个/>应当独立或者与其它子图通过小的/>值来连接。因此,可以在G中对所有边进行迭代,从而移除/>的那些边(下述算法1的第2~4行)。将θ定义为保留阈值:
容易看到:θ是所有可能对(ui,uj)的平均信息。令G′=(V′,E′)是过滤G的结果。然后,是G′中的连通分量(即,每个子图/>内部是连通的,而不同子图/>之间是不连通的),且每个/>预期包含密集子图/>
对于每个运行算法2和3(下述算法1的第6~8行)以找到/>最终,算法1返回多个密集子图/>(下述算法1的第9行)。注意到存在以下保证:/>必然包含作为G′在/>意义下最优的至少1/2的某个/>(证明见下文)。/>
算法2和3:寻找密集子图。给定子图对于某个/>定义其综合权重/>为:
首先,在每次迭代中(下述算法2的第5~14行),从/>中删除一组节点(R,下述算法2的第6行),直到/>变空为止。在算法执行期间构造的所有/>中,返回最大化(/>下述算法2的第15行)的那一个/>作为算法的输出。
下述算法2的第1~4行初始化在算法中使用的参数。Dict2记录了每个节点的综合权重w值。Dict1记录了删除节点的顺序(下述算法2的第10行),其允许确定最大化的/>的值。下述算法2的第6行确定了在每次迭代中删除哪个R。R是通过/>来确认的(第6行),其中,由于每条边/>在/>中被计数例如两次,平均/>由下式给出:
/>
在上述算法2的第7~14行中,在每次迭代中从中移除R中的节点(在删除节点之后,重新计算所有节点的综合权重w并找到具有最小w的那些节点)。由于移除R的子集可能导致更高的/>值,D-Spot记录/>的每次变化,就好像节点是被逐一移除的一样(上述算法2的第8~14行)。算法3描述了在移除节点之后如何更新边,要求总共|ε|次更新。最终,算法2可根据top和Dict1(上述算法2的第15行)来返回由实现了/>的节点集合/>所引起的子图/>
这样,可以通过D-Spot来检测每个分组中的密集子图。参见图2,可以看到针对三个分组分别确定了其中的三个密集子图(例如,异常数据230所对应的密集子图)。然而需要注意的是:确定密集子图的方法不限于上述D-Spot算法。此外,还需要注意的是:针对信息共享图的分组也不限于分为三组,而是可以根据需要(例如,根据保留阈值θ的设定)而具有任何数量的分组。
此外,由于R包含至少一个节点,因此算法2的最差情况时间复杂度是然而在实际中,这样的最差情况过于悲观。在上述算法2的第6行,R通常包含大量节点,极大地减少了/>的扫描次数。
关于上述个算法的计算复杂度,在图初始化节点时,基于前述优化来构造信息共享图G花费时间O(K|R|+|E|)。在D-Spot中,对G进行分组的成本可以是O(|E|),且检测分组中的密集块要求/> 次运算,其中,|ε|<<|E|,/>因此,ISG和D-Spot的组合的计算复杂度相对于|E|是线性的。
在最差情况下,必须承认当存在使得|Rk|=1的某个维度Ak时,然而,这过于悲观了。在目标欺诈攻击中,欺诈组通常呈现出很强的值共享,同时合法实体不应当呈现出很强的值共享。因此,期望G是稀疏的,因为某个顶点ui仅与V的很小子集具有正的边。使用若干真实世界数据集(参见图4)来构造一个版本的信息共享图G,且边密度都小于0.06。
此外,在一些实施例中,在R(A1,...,AN,X)中,如果|Rn|过低,则可以滤掉维度An。由于当|Rn|较小时,假设维度An满足均匀分布,则存在与An上的值共享较少的信息,且因此在An上形成的密集块较不可疑(例如根据公式1~4)。
以下将详细论述上述算法的有效性。
定理6。(发现隐藏最密集块)。给定目标维度U为维度AN的密集块且/>表示/>的不同值的集合,则在/>中存在共享值,使得/>满足(t[U]=u)∧(t[Ak]=a)。则/>必然形成G中的密集子图/>
证明:使用前述优化算法,可以通过扫描R中的所有值一次来构造G。因此,必然找到块令/>为G中由/>引起的子图。则/>边/>因此/>且/>证毕。
因此,对于ISG和D-Spot的组合的有效性,可以考虑具有大小的隐藏最密集块/>以及/>即/>通过对值a加以共享在AN上最密集。然后,假定目标维度U=A1且欺诈实体/>是/>的不同值,则ISG和D-Spot的组合比基于张量的其它算法(标记为张量+其它算法)更准确地捕捉/>
证明:考虑具有大小的非密集块/> 且令/>表示/>的不同值。将合法实体表示为/>且将欺诈实体表示为/>现在讨论ISG+D-Spot和张量+其它算法之间的差异。/>
[基于张量的工作]。在R上,对于明显可得/>对于/>由于因此对于充分大的N,可以有
[基于ISG的工作]。令表示由/>引起的子图,且/>表示在G上由/>形成的子图。可以知道:由于/>不具有任何共享值,对于/> 对于/>根据定理1,/>
[其它算法]。已知M-Zoom算法和D-Cube算法可以找到R上作为最优(在ρ的意义下)的至少1/N的块。(近似保证)。
[D-Spot]。在下文中,将说明由D-Spot检测到的子图可以找到ISG上作为最优(在的意义下)的至少1/2的块。(/>近似保证)。
总而言之,张量+其它算法vs.ISG+D-Spot对应于:
因此,与张量+其它算法相比,ISG+D-Spot可以更准确地捕捉到隐藏最密集块中的欺诈实体。
根据观察,ISG+D-Spot可以有效地检测隐藏最密集块。类似地,当变的更密集时,由/>形成的/>也将密集得多,且因此ISG+D-Spot在检测最密集块时也将更准确。
此外,D-Spot可以保证更高的准确率。令G′=(V′,E′)为根据保留阈值θ从G中删除边的结果。为了简明,可以使用来表示由节点/>的集合所引起的子图。
定理7。(算法1保证)。给定G′=(V′,E′),令表示G′的连通分量。令表示/>上的最优/>即/>满足/>则如果/>是/>的最大值,/>必然是在G′上在/>的意义下的最优。
证明:给定任何两个节点集合和/>并假定不存在连接/>和/>的边,且假定则:/>
因此,对于不被任何边所连接的任何和/>其满足/> (推论1)。
中,使用/>来表示满足/>和/>的节点集合。令为满足/>且/>的节点集合。现在,考虑两个条件。
首先,如果则因为/>是/>上的最优,/>且/>
其次,如果则根据推论1以及由于/>是/>的最大值,/>且/>
如果则/>可以被分为符合上述两个条件的两个部分。因此,/>满足/>或/>可以推断出在G′上在/>的意义下/>必然是最优的。证毕。
定理8(算法2保证)。给定图令/>是/>中最大化/>的节点子集。令/>为由算法2返回的具有/>的子图。则/>
证明:考虑最优集合因此有/>(公式7)。否则,如果移除满足/>的节点u,
这与的定义矛盾。
将算法2从中移除的第一个节点标记为ui,ui∈R,且将在算法2开始移除R之前的节点集合标记为/>由于/>因此有/>根据算法2(其第6行),/>(公式10)。此外,当逐一删除节点时,算法2返回最佳解,且因此/>可以推断出:
证毕。
总而言之,令是D-Spot返回的子图,且/>是相应分数。则,基于定理7和8,/>是G′上在/>意义下的最优的至少1/2(1/2近似保证)。
图3是示出了根据本公开实施例的用于检测异常数据的方案与对比技术的性能和运行时间对比图。如图3所示,针对三种不同的测试数据集“亚马逊办公类”、“亚马逊婴儿类”以及“亚马逊工具类”,将根据本公开实施例的ISG+D-Spot算法与相关算法Fraudar进行了性能和运行时间方面的比较。如图3所示,ISG+D-Spot算法在准确率和运行时间之间达成了最好的平衡。例如,对于“亚马逊办公类”和“亚马逊婴儿类”数据集,ISG+D-Spot算法以更短的时间实现了更高的准确率。而在“亚马逊工具类”中,用极快的时间实现了可以与Fraudar近似的准确率。
此外,在以下条件下进行了一系列评估实验。在一些实施例中,用Python实现了ISG+D-Spot,且在具有两个2.20GHz Intel CPU和64GB内存的服务器上进行了所有实验。此外,为了进行对比,选择了若干相关的密集块检测方法,例如M-Zoom、M-Biz和D-Cube,且采用三种不同的密度度量:ρ(ari)、集合平均质量(geo)和可疑度(SuS)以实现各自最优的性能。最后,采用常用的受试者工作特征曲线(ROC)下的标准面积(AUC)作为度量来评估可疑度分数。
此外,参见以下各个性能表格,其说明了各个算法在各个测试数据集上的表现。
表3:针对合成数据集的性能(AUC)
表4:针对亚马逊数据集的性能(AUC)
表5:针对Yelp数据集的性能(AUC)
表6:针对DARPA数据集的性能(AUC)
表7:针对AirForce数据集的性能(AUC)
表8:针对注册数据集的性能(AUC)。“C”表示“关键特征”且“N”表示“有噪特征”。
通过上述性能表,可以明确看到ISG+D-Spot的组合针对各种数据集以及各种测试参数配置下的性能都远高于其它算法。
图4是示出了根据本公开实施例的方法的示例时间复杂度的示意图。如图4所示,其表明了根据本公开实施例的ISG+D-Spot算法对于大规模数据的可扩展性。如前所述,使用真实世界张量来构造的信息共享图G通常是稀疏的,因为值共享应当仅出现在相对少的欺诈实体中。可以看到,对于实际数据来说,G的边密度相当低(低于0.06),这表明前面讨论的最差情况时间复杂度很少出现。从图3中可以看到,边的数量大体上随数据集的数据数量呈线性增长。此外,由于ISG+D-Spot的时间复杂度相对于边的数量是线性的,且因此其相对于数据集的数据数量也大体上表现出接近线性的时间复杂度,如图3所示。
可见,通过使用根据本公开的方法、设备和/或计算机可读存储介质,可以准确地自动检测到海量行为数据中的异常用户行为数据,帮助数据提供商准确地确定需要注意的异常用户,从而避免了可能出现的损失、同时节约了大量的运维成本。
图5是示出了根据本公开实施例的在电子设备(例如,图6中的设备600)中执行的用于检测异常数据的方法500的流程图。如图5所示,方法500可以包括步骤S510、S520、S530和S540。根据本公开,方法500的一些步骤可以单独执行或组合执行,以及可以并行执行或顺序执行,并不局限于图5所示的具体操作顺序。
方法500可以开始于步骤S510,在步骤S510中,可以确定与待检测数据集相对应的信息共享图。该信息共享图中的每个顶点可对应于待检测数据集中的数据在目标维度上的一个不同值,以及该信息共享图中的每条边的权重可以与以下信息相关联:与由相应边连接的两个顶点相对应的数据在除了目标维度之外的其它维度上共享相同值的事件的自信息。
在步骤S520中,可以基于信息共享图中各条边的权重将信息共享图分为一个或多个分组。
在步骤S530中,可以确定一个或多个分组中的每个分组所包含的最密集子图。
在步骤S540中,可以将与所确定的一个或多个最密集子图中的至少一个最密集子图相对应的数据确定为异常数据。
在一些实施例中,与由相应边连接的两个顶点相对应的数据在除了目标维度之外的其它维度上共享相同值的事件的自信息可以是如下计算的:
其中,可以是与顶点ui和顶点uj之间的边相对应的自信息,/>可以是与顶点ui和顶点uj相对应的数据在第k个维度上共享值a这一事实的自信息,Hk(ui,uj)可以是由与顶点ui和顶点uj相对应的数据在第k个维度上共享的所有值的集合,以及K可以是待检测数据集中的数据的所有维度除了目标维度之外的其它维度的数量。
在一些实施例中,可以是如下计算的:
其中,log()可以是自然对数函数,以及pk(a)可以是任一顶点在第k个维度上取值为a的概率。
在一些实施例中,任一顶点在第k个维度上取值为a的概率pk(a)的分布可以满足以下至少一项:均匀分布、长尾分布、泊松分布、卡方分布以及正态分布。
在一些实施例中,基于信息共享图中各条边的权重将信息共享图分为一个或多个分组可以包括:从信息共享图中移除具有小于保留阈值的权重的边;以及将信息共享图分为一个或多个连通分量,作为一个或多个分组。
在一些实施例中,保留阈值可以是如下计算的:
其中,θ可以是保留阈值,(ui,uj)可以是顶点ui和顶点uj之间的边,E可以是信息共享图的边的集合,以及|V|可以是信息共享图的顶点的数目。
在一些实施例中,确定一个或多个分组中的每个分组所包含的最密集子图可以包括:迭代以下步骤一次或多次,直到相应分组中没有顶点为止,以确定相应分组中的子图在每次迭代中的一个或多个密度:确定相应分组中的当前每个顶点的综合权重;根据各顶点的综合权重从相应分组中移除一个或多个顶点以及相关联的边;以及确定相应分组中由剩余顶点构成的子图的密度;将相应分组中的与最大密度相对应的子图确定为相应分组的最密集子图。
在一些实施例中,顶点的综合权重可以是如下确定的:
/>
其中,可以表示顶点ui在分组/>中的综合权重,/>可以表示ui所属的分组,/>可以是/>的顶点集合,ε可以是/>的边集合,uj可以是/>中的另一顶点,(ui,uj)可以是连接顶点ui和顶点uj的边,以及/>可以是待检测数据集中与顶点ui相对应的数据在除了目标维度之外的其它维度上共享相同值的事件的自信息。
在一些实施例中,顶点ui的自信息可以是如下计算的:
其中,可以是与顶点ui相对应的自信息,/>可以是与顶点ui相对应的数据在第k个维度上共享值a这一事实的自信息,以及Hk(ui)可以是与顶点ui相对应的数据在第k个维度上的所有值的集合。
在一些实施例中,可以是如下确定的:
其中,可以表示待检测数据集中的在目标维度U上与顶点ui相对应且在第k个维度Ak上取值为a的所有数据的集合,以及/>可以表示/>中的数据数目。
在一些实施例中,根据各顶点的综合权重从相应分组中移除一个或多个顶点以及相关联的边可以包括:从相应分组中移除具有最小综合权重的顶点以及相关联的边。
在一些实施例中,根据各顶点的综合权重从相应分组中移除一个或多个顶点以及相关联的边可以包括:从相应分组中移除具有小于等于移除阈值的综合权重的一个或多个顶点以及相关联的边。
在一些实施例中,移除阈值可以是如下计算的:
其中,可以是移除阈值,/>可以是在当前迭代中剩余顶点的集合,以及/>可以是/>中的顶点的数目。
在一些实施例中,确定相应分组中由剩余顶点构成的子图的密度可以包括根据以下公式来确定密度:
其中,可以是相应分组中由剩余顶点构成的子图的密度,/>可以是在当前迭代中剩余顶点的集合,以及/>可以是/>中的顶点的数目。
图6是示出了根据本公开实施例的用于确定异常数据的设备600的示例硬件布置图。如图6所示,电子设备600可以包括:处理器610、存储器620、输入/输出模块630、通信模块640和其它模块650。需要注意的是:图6所示实施例仅为说明根据本公开之用,且因此不对本公开加以任何限制。事实上,该电子设备600可以包括更多、更少或不同的模块,且可以是单独的设备或分布在多处的分布式设备。例如,该电子设备600可以包括(但不限于):个人计算机(PC)、服务器、服务器集群、计算云、工作站、终端、平板电脑、膝上型计算机、智能电话、媒体播放器、可穿戴设备、和/或家用电器(例如、电视、机顶盒、DVD播放器)等。
处理器610可以是负责电子设备600的整体操作的组件,其可以与其他各个模块/组件通信连接,以从其它模块/组件接收待处理数据和/或指令并向其他模块/组件发送经处理数据和/或指令。处理器610可以是例如通用处理器,例如中央处理单元(CPU)、信号处理器(DSP)、应用处理器(AP)等。在该情况下,其可以在存储器620中存储的指令/程序/代码的指示下执行上面根据本公开实施例的用于检测异常数据的方法的各个步骤中的一个或多个步骤。此外,处理器610也可以是例如专用处理器,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。在该情况下,其可以根据其电路设计专门执行上面根据本公开实施例的用于检测异常数据的方法的各个步骤中的一个或多个步骤。此外,处理器610也可以是硬件、软件和/或固件的任意组合。此外,尽管图6中仅示出了一个处理器610,但实际上处理器610也可以包括分布在多个地点的多个处理单元。
存储器620可以被配置为临时或持久性地存储计算机可执行指令,该计算机可执行指令在由处理器610执行时可以使得处理器610执行本公开中描述的各个方法的各个步骤中的一个或多个步骤。此外,存储器620还可以被配置为临时或持久性地存储与这些步骤相关的数据,例如原始待检测数据集、信息共享图数据、各种度量、分数数据、以及其它各种中间数据和/或结果数据等。存储器620可以包括易失性存储器和/或非易失性存储器。易失性存储器可以包括例如(但不限于):动态随机存取存储器(DRAM)、静态RAM(SRAM)、同步DRAM(SDRAM)、高速缓存等。非易失性存储器可以包括例如(但不限于):一次性可编程只读存储器(OTPROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、掩膜型ROM、闪存ROM、闪存(例如,NAND闪存、NOR闪存等)、硬盘驱动器或固态驱动器(SSD)、高密度闪存(CF)、安全数字(SD)、微型SD、迷你型SD、极限数字(xD)、多媒体卡(MMC)、记忆棒等。此外,存储器620也可以是远程存储设备,例如网络连接存储设备(NAS)等。存储器620也可以包括分布在多个地点的分布式存储设备,例如云存储器。
输入/输出模块630可以被配置为从外部接收输入和/或向外部提供输出。尽管在图6所示实施例中将输入/输出模块630示出为单一模块,但实际上其可以是专门用于输入的模块、专门用于输出的模块或其组合。例如,输入/输出模块630可以包括(但不限于):键盘、鼠标、麦克风、摄像头、显示器、触摸屏显示器、打印机、扬声器、耳机或任何其他可以用于输入/输出的设备等。此外,输入/输出模块630也可以是被配置为与上述设备连接的接口,例如耳机接口、麦克风接口、键盘接口、鼠标接口等。在该情况下,电子设备600可以通过该接口与外部输入/输出设备连接并实现输入/输出功能。
通信模块640可以被配置为使得电子设备600能够与其它电子设备进行通信并交换各种数据。通信模块640可以是例如:以太网接口卡、USB模块、串行线路接口卡、光纤接口卡、电话线路调制解调器、xDSL调制解调器、Wi-Fi模块、蓝牙模块、2G/3G/4G/5G通信模块等。从数据输入/输出的意义上,通信模块640也可以被视为输入/输出模块630的一部分。
此外,电子设备600还可以包括其它模块650,包括(但不限于):电源模块、GPS模块、传感器模块(例如,接近传感器、照度传感器、加速度传感器、指纹传感器等)等。
然而,需要注意的是:上述模块仅是电子设备600所可能包括的模块的部分示例,根据本公开实施例的电子设备不限于此。换言之,根据本公开其它实施例的电子设备可以包括更多的模块、更少的模块或不同模块。
在一些实施例中,图6所示的电子设备600可以执行结合图2或图5所述的各个方法的各个步骤。在一些实施例中,存储器620中存储有指令,该指令在由处理器610执行时,可使得处理器610执行根据结合图2或图5所述的各个方法的各个步骤。
至此已经结合优选实施例对本公开进行了描述。应该理解,本领域技术人员在不脱离本公开的精神和范围的情况下,可以进行各种其它的改变、替换和添加。因此,本公开的范围不局限于上述特定实施例,而应由所附权利要求所限定。
此外,在本文中被描述为通过纯硬件、纯软件和/或固件来实现的功能,也可以通过专用硬件、通用硬件与软件的结合等方式来实现。例如,被描述为通过专用硬件(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)来实现的功能,可以由通用硬件(例如,中央处理单元(CPU)、数字信号处理器(DSP))与软件的结合的方式来实现,反之亦然。

Claims (16)

1.一种用于检测异常数据的方法,包括:
确定与待检测数据集相对应的信息共享图,其中,所述信息共享图中的每个顶点对应于所述待检测数据集中的数据在目标维度上的一个不同值,以及所述信息共享图中的每条边的权重与以下信息相关联:与由相应边连接的两个顶点相对应的数据在除了所述目标维度之外的其它维度上共享相同值的事件的自信息;
基于所述信息共享图中各条边的权重将所述信息共享图分为一个或多个分组;
确定所述一个或多个分组中的每个分组所包含的最密集子图;以及
将与所确定的一个或多个最密集子图中的至少一个最密集子图相对应的数据确定为异常数据。
2.根据权利要求1所述的方法,其中,与由相应边连接的两个顶点相对应的数据在除了所述目标维度之外的其它维度上共享相同值的事件的自信息是如下计算的:
其中,是与顶点ui和顶点uj之间的边相对应的自信息,/>是与顶点ui和顶点uj相对应的数据在第k个维度上共享值a这一事实的自信息,Hk(ui,uj)是由与顶点ui和顶点uj相对应的数据在第k个维度上共享的所有值的集合,以及K是所述待检测数据集中的数据的所有维度除了目标维度之外的其它维度的数量。
3.根据权利要求2所述的方法,其中,是如下计算的:
其中,log()是自然对数函数,以及pk(a)是任一顶点在第k个维度上取值为a的概率。
4.根据权利要求3所述的方法,其中,任一顶点在第k个维度上取值为a的概率pk(a)的分布满足以下至少一项:均匀分布、长尾分布、正态分布、泊松分布、以及卡方分布。
5.根据权利要求2所述的方法,其中,基于所述信息共享图中各条边的权重将所述信息共享图分为一个或多个分组包括:
从所述信息共享图中移除具有小于保留阈值的权重的边;以及
将所述信息共享图分为一个或多个连通分量,作为所述一个或多个分组。
6.根据权利要求5所述的方法,其中,所述保留阈值是如下计算的:
其中,θ是所述保留阈值,(ui,uj)是顶点ui和顶点uj之间的边,E是所述信息共享图的边的集合,以及|V|是所述信息共享图的顶点的数目。
7.根据权利要求5所述的方法,其中,确定所述一个或多个分组中的每个分组所包含的最密集子图包括:
迭代以下步骤一次或多次,直到相应分组中没有顶点为止,以确定相应分组中的子图在每次迭代中的一个或多个密度:
确定相应分组中的当前每个顶点的综合权重;
根据各顶点的综合权重从相应分组中移除一个或多个顶点以及相关联的边;以及
确定相应分组中由剩余顶点构成的子图的密度;
将相应分组中的与最大密度相对应的子图确定为相应分组的最密集子图。
8.根据权利要求7所述的方法,其中,顶点的综合权重是如下确定的:
其中,表示顶点ui在分组/>中的综合权重,/>表示ui所属的分组,/>是/>的顶点集合,ε是/>的边集合,uj是/>中的另一顶点,(ui,uj)是连接顶点ui和顶点uj的边,以及/>是所述待检测数据集中与顶点ui相对应的数据在除了所述目标维度之外的其它维度上共享相同值的事件的自信息。
9.根据权利要求8所述的方法,其中,顶点ui的自信息是如下计算的:
其中,是与顶点ui相对应的自信息,/>是与顶点ui相对应的数据在第k个维度上共享值a这一事实的自信息,以及Hk(ui)是与顶点ui相对应的数据在第k个维度上的所有值的集合。
10.根据权利要求9所述的方法,其中,是如下确定的:
其中,表示所述待检测数据集中的在所述目标维度U上与顶点ui相对应且在第k个维度Ak上取值为a的所有数据的集合,以及/>表示/>中的数据数目。
11.根据权利要求9所述的方法,其中,根据各顶点的综合权重从相应分组中移除一个或多个顶点以及相关联的边包括:
从相应分组中移除具有最小综合权重的顶点以及相关联的边。
12.根据权利要求9所述的方法,其中,根据各顶点的综合权重从相应分组中移除一个或多个顶点以及相关联的边包括:
从相应分组中移除具有小于等于移除阈值的综合权重的一个或多个顶点以及相关联的边。
13.根据权利要求12所述的方法,其中,所述移除阈值是如下计算的:
其中,是所述移除阈值,/>是在当前迭代中所述剩余顶点的集合,以及/>是/>中的顶点的数目。
14.根据权利要求11或12所述的方法,其中,确定相应分组中由剩余顶点构成的子图的密度包括根据以下公式来确定所述密度:
其中,是相应分组中由剩余顶点构成的子图的密度,/>是在当前迭代中所述剩余顶点的集合,以及/>是/>中的顶点的数目。
15.一种用于检测异常数据的设备,包括:
处理器;
存储器,其上存储有指令,所述指令在由所述处理器执行时使得所述处理器执行根据权利要求1~14中任一项所述的方法。
16.一种存储指令的计算机可读存储介质,所述指令在由处理器执行时使得所述处理器执行根据权利要求1~14中任一项所述的方法。
CN201910106161.1A 2019-02-01 2019-02-01 用于检测异常数据的方法、设备和计算机可读存储介质 Active CN111523012B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910106161.1A CN111523012B (zh) 2019-02-01 2019-02-01 用于检测异常数据的方法、设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910106161.1A CN111523012B (zh) 2019-02-01 2019-02-01 用于检测异常数据的方法、设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111523012A CN111523012A (zh) 2020-08-11
CN111523012B true CN111523012B (zh) 2024-01-09

Family

ID=71900732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910106161.1A Active CN111523012B (zh) 2019-02-01 2019-02-01 用于检测异常数据的方法、设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111523012B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI755278B (zh) * 2021-02-09 2022-02-11 國立中央大學 偵測無檔案惡意軟體的系統及方法
CN113591088B (zh) * 2021-07-30 2023-08-29 百度在线网络技术(北京)有限公司 一种标识识别方法、装置及电子设备
CN114218610B (zh) * 2021-11-24 2023-02-14 南京信息职业技术学院 一种基于Possion分布的多密集块检测与提取方法
CN114285601B (zh) * 2021-11-24 2023-02-14 南京信息职业技术学院 一种大数据的多密集块检测与提取方法
CN117851959B (zh) * 2024-03-07 2024-05-28 中国人民解放军国防科技大学 基于fhgs的动态网络子图异常检测方法、装置和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011151500A1 (en) * 2010-05-31 2011-12-08 Helsingin Yliopisto Arrangement and method for finding relationships among data
CN108804914A (zh) * 2017-05-03 2018-11-13 腾讯科技(深圳)有限公司 一种异常数据检测的方法及装置
CN108829715A (zh) * 2018-05-04 2018-11-16 慧安金科(北京)科技有限公司 用于检测异常数据的方法、设备和计算机可读存储介质
CN109145162A (zh) * 2018-08-21 2019-01-04 慧安金科(北京)科技有限公司 用于确定数据相似度的方法、设备和计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011151500A1 (en) * 2010-05-31 2011-12-08 Helsingin Yliopisto Arrangement and method for finding relationships among data
CN108804914A (zh) * 2017-05-03 2018-11-13 腾讯科技(深圳)有限公司 一种异常数据检测的方法及装置
CN108829715A (zh) * 2018-05-04 2018-11-16 慧安金科(北京)科技有限公司 用于检测异常数据的方法、设备和计算机可读存储介质
CN109145162A (zh) * 2018-08-21 2019-01-04 慧安金科(北京)科技有限公司 用于确定数据相似度的方法、设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN111523012A (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN111523012B (zh) 用于检测异常数据的方法、设备和计算机可读存储介质
US20220124108A1 (en) System and method for monitoring security attack chains
Yi et al. Web phishing detection using a deep learning framework
Ramalingam et al. Fake profile detection techniques in large-scale online social networks: A comprehensive review
Ritter et al. Weakly supervised extraction of computer security events from twitter
Aljawarneh et al. Anomaly-based intrusion detection system through feature selection analysis and building hybrid efficient model
Jiang et al. Catching synchronized behaviors in large networks: A graph mining approach
US11030311B1 (en) Detecting and protecting against computing breaches based on lateral movement of a computer file within an enterprise
Tamersoy et al. Guilt by association: large scale malware detection by mining file-relation graphs
Aggarwal et al. Event detection in social streams
Wang et al. Graph-based security and privacy analytics via collective classification with joint weight learning and propagation
Zawoad et al. Digital forensics in the age of big data: Challenges, approaches, and opportunities
CN109947814B (zh) 用于检测数据集合中的异常数据组的方法和设备
Yikun et al. No place to hide: Catching fraudulent entities in tensors
Hao et al. Detecting shilling attacks with automatic features from multiple views
Zamini et al. A comprehensive survey of anomaly detection in banking, wireless sensor networks, social networks, and healthcare
CN112016927B (zh) 用于检测异常数据的方法、设备和计算机可读存储介质
Gomes et al. Cryingjackpot: Network flows and performance counters against cryptojacking
CN109313541A (zh) 用于显示和比较攻击遥测资源的用户界面
Las-Casas et al. A big data architecture for security data and its application to phishing characterization
Amala Dhaya et al. Multi feature behavior approximation model based efficient botnet detection to mitigate financial frauds
CN112016934B (zh) 用于检测异常数据的方法、设备和计算机可读存储介质
Zhu et al. An integrated intrusion detection framework based on subspace clustering and ensemble learning
Hu et al. Online city-scale hyper-local event detection via analysis of social media and human mobility
Anil A zero-trust security framework for granular insight on blind spot and comprehensive device protection in the enterprise of internet of things (e-iot)

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