基于用户行为数据的异常用户群体检测方法、装置、设备与流程

文档序号:22685217发布日期:2020-10-28 12:51阅读:138来源:国知局
基于用户行为数据的异常用户群体检测方法、装置、设备与流程

本申请涉及数据分析领域,特别是涉及一种基于用户行为数据的异常用户群体检测方法、装置、计算机设备和存储介质。



背景技术:

现在“羊毛党”活跃于各类互联网平台,针对平台优惠活动,以相对较低成本甚至零成本换取物质上的实惠。“羊毛党”利用大量的手机卡,通过设备批量进行虚假注册、领取活动礼品,给平台带来巨额损失。“羊毛党”用户相对于平台所有用户而言,可以认为是异常用户。

对于异常用户行为检测,目前有以下方式:基于箱线图计算下四分位数与上四分位数的位差,认定一定范围外的点即为异常点,但是这种方式的精度欠缺,识别出的异常点比较少;另一种方式是基于距离位置的异常检测,先假设正常用户数据都比较集中,具有比较多的邻居,而异常数据都是孤立的,但是这种方式不适用于“羊毛党”,因为“羊毛党”一般是批量注册、批量领取礼品,表现为群聚特征。

由此可见,现有技术对异常用户预测的准确率较低。



技术实现要素:

基于此,有必要针对上述技术问题,本申请提供一种基于用户行为数据的异常用户群体检测方法、装置、计算机设备及存储介质,以解决现有技术中对异常用户预测的准确率低的技术问题。

一种基于用户行为数据的异常用户群体检测方法,所述方法包括:

根据获取的用户行为数据统计每个用户的行为特征,其中,所述行为特征包括用户的ua设备数量、在app上的活跃天数和模块操作次数;

通过概率密度函数计算所述行为特征的高斯分布,得到每一所述行为特征的分布概率;

根据预设权重表为不同所述分布概率赋予权重,其中,将所述活跃天数、所述模块操作次数的权重设为第一权重,将所述ua设备数量的权重设为第二权重;

基于所述分布概率、所述权重计算每一用户为正常用户的概率值;并

将所述概率值与预训练阈值进行对比,将小于所述预训练阈值的概率值对应的用户归入异常用户群体。

一种基于用户行为数据的异常用户群体检测装置,所述装置包括:

特征获取模块,用于根据获取的用户行为数据统计每个用户的行为特征,其中,所述行为特征包括用户的ua设备数量、在app上的活跃天数和模块操作次数;

高斯计算模块,用于通过概率密度函数计算所述行为特征的高斯分布,得到每一所述行为特征的分布概率;

权重赋予模块,用于根据预设权重表为不同所述分布概率赋予权重,其中,将所述活跃天数、所述模块操作次数的权重设为第一权重,将所述ua设备数量的权重设为第二权重;

概率计算模块,用于基于所述分布概率、所述权重计算每一用户为正常用户的概率值;以及

阈值对比模块,用于将所述概率值与预训练阈值进行对比,将小于所述预训练阈值的概率值对应的用户归入异常用户群体。

一种计算机设备,包括存储器和处理器,以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于用户行为数据的异常用户群体检测方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于用户行为数据的异常用户群体检测方法的步骤。

上述基于用户行为数据的异常用户群体检测方法、装置、计算机设备和存储介质,通过埋点的方式获取用户的行为数据,并统计得到若干个用户行为特征,并基于高斯分布计算每一个用户的行为特征的分布概率,依靠预设定的权重计算每一个用户为正常用户的概率值。不仅计算概率值还对比概率值与预训练阈值进行对比,以预训练阈值为分界点将用户划分为异常用户群体和正常用户,使用高斯分布对用户的完整行为特征进行预测,保证预测的准确性;而且本提案还通过已标注的用户行为数据进行预训练阈值的确认,这种与训练方式随着训练样本的增多,使得预训练阈值愈加趋近于真实值,最终使得对异常用户预测更加准确。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为基于用户行为数据的异常用户群体检测方法的应用环境示意图;

图2为基于用户行为数据的异常用户群体检测方法的流程示意图;

图3为图2中步骤202的流程示意图;

图4为图2中预训练阈值的训练流程示意图;

图5为基于用户行为数据的异常用户群体检测装置的示意图;

图6为一个实施例中计算机设备的示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的基于用户行为数据的异常用户群体检测方法,可以应用于如图1所示的应用环境中。其中,该应用环境可以包括终端102、网络以及服务端104,网络用于在终端102和服务端104之间提供通信链路介质,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端102通过网络与服务端104交互,以接收或发送消息等。终端102上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务端104可以是提供各种服务的服务器,例如对终端102上显示的页面提供支持的后台服务器。

需要说明的是,本申请实施例所提供的基于用户行为数据的异常用户群体检测方法一般由服务端/终端执行,相应地,基于用户行为数据的异常用户群体检测装置一般设置于服务端/终端设备中。

应该理解,图1中的终端、网络和服务端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

其中,终端102通过网络与服务端104进行通信。服务端104从终端102获取用户行为数据进行用户的行为特征的统计,然后根据行为特征计算行为特征的分布概率,再根据预设权重表为不同行为特征的分布概率设定权重,最后根据分布概率、权重计算用户是否正常后与预训练阈值进行对比后,将小于预训练阈值的概率值对应的用户归入为异常用户群体。其中,终端102和服务端104之间通过网络进行连接,该网络可以是有线网络或者无线网络,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务端104可以用独立的服务器或者是多个组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种基于用户行为数据的异常用户群体检测方法,以该方法应用于图1中的服务端为例进行说明,包括以下步骤:

步骤202,根据获取的用户行为数据统计每个用户的行为特征,其中,行为特征包括用户的ua设备数量、在app上的活跃天数和模块操作次数。

用户行为数据是指30天内用户使用了多少个设备、多少个ip参加了某app的哪些活动。通常可以根据这些用户行为数据评判一个用户的用户属性,比如是该app的活跃用户/非活跃用户,或者正常用户/异常用户群体(羊毛党)。

“羊毛党”是活跃于各类互联网平台,针对某app的优惠活动,以相对较低成本来换取物质上的实惠的一群用户,可以称这些用户为异常用户。

这些用户行为数据一般通过app埋点的方式得到的,在获取到用户行为数据后需要对其进行一些预处理,比如通过归一化公式进行归一化处理、提取特征空值等。

30天内的n个用户为x=(x1,x2,…,xi,..,xn-1,xn),用户xi=(xi1,xi2,…,xij,…,xi28,xi29),其中xij表示用户i的第j个特征值,这里一共获取29个维度的行为特征,以某车险app为例分别是:

设备号数量、ip数量、ip20数量、ip归属地数量、ua设备数量、ua版本数量、app版本数量,签到的天数,参与活动的次数、参与活动的种类数、活跃的天数、17类活动分别参与的次数、注册与绑定车辆的时间间隔,其中,ip20是将ip转换为二进制后,从左往右取前20位的二进制数字,剩下的位数置为0,再转换为十进制。

需要强调的是,为进一步保证上述用户行为数据的私密和安全性,上述用户行为数据还可以存储于一区块链的节点中。步骤204,通过概率密度函数计算行为特征的高斯分布,得到每一项行为特征的分布概率。

高斯分布是若随机变量x服从一个数学期望μ、方差为σ2的正态分布,记为n(μ,σ2)。正态分布的期望值μ决定了随机变量x的位置,其标准差σ决定了其分布的幅度。

其概率密度函数f(x)为公式(1):

其中:

本实施例中,高斯分布是基于密度构建一个概率模型,一般认为正常用户的行为特征相似,正常用户的行为为特征都趋于一个集中的区域,且正常用户的位置也可以表示它是正常用户的概率值,而异常用户的行为特征的分布位置偏离正常用户,其位置表示为异常用户的概率值,使用阈值来划分用户是属于正常用户和异常用户群体中的哪一类。

步骤206,根据预设权重表为不同行为特征的分布概率赋予权重,其中,将活跃天数、模块操作次数的权重设为第一权重,将ua设备数量的权重设为第二权重。

预设权重表是针对不同app的羊毛党设定的特征权重设定数据表,因为不同app所对应的活动的类型不同,若在权重计算时将所有的活动都设定相同的权重,就会影响对异常用户的判断结果。

第一权重为3、第二权重为1。

本实施例中以某app为例进行说明,该app的羊毛党用户群体以参加活动获取奖励为目的,因此仅仅将用户参与活动的权重提高,可以依据该app的羊毛党群体进行经验分析得到,比如移动端现在活动会限制用户参与活动的次数,因为绝大多数异常用户群体参与活动的时候,都是使用机器或者程序去点击活动链接,而不会关注活动实际允许参与的次数这种参数。

具体地,对29个维度的概率分布分别赋以不同的权重,其中,活跃天数、17个模块操作次数的权重置为3,其他维度数据权重为1。

步骤208,基于分布概率、权重计算每一用户为正常用户的概率值。

可以通过公式(2):

计算每一个用户为正常用户的概率值,该概率值以向量的形式表达为:

l=(li,l2,…,li,…,lm-1,lm)

其中,数学期望为μ、方差为σ2,xij表示第i个用户的第j个维度特征;

权重向量w=(w1,w2,…,wj,…,w28,w29),其中,wj表示的是第j个维度特征对应的权重,i∈(1,2,3,…,m),j∈(1,2,3,…,29),m表示一共有m个用户。

比如,新人活动有礼、邀请有礼、抽奖券这些特征的数值越大,则该用户为异常用户群体中异常用户的可能性也越高。

步骤210,将概率值与预训练阈值进行对比,将小于预训练阈值的概率值对应的用户归入异常用户群体。

预训练阈值是通过用户样本数据训练得到的用于判断用户是否属于异常用户群体的值。

具体地,针对用户xi=(xi1,xi2,…,xij,…,xi28,xi29),计算其概率值li,与预训练阈值εfinal比较,若li小于预训练阈值εfinal,则该用户属于异常用户群体中的异常用户,将该用户保存,并进行后续风险处置;若li大于预训练阈值εfinal,则该用户正常,不做处置。

上述基于用户行为数据的异常用户群体检测方法中,通过埋点的方式获取用户的行为数据,并统计得到若干个用户行为特征,并基于高斯分布计算每一个用户的行为特征的分布概率,依靠预设定的权重计算每一个用户为正常用户的概率值。不仅计算概率值还对比概率值与预训练阈值进行对比,以预训练阈值为分界点将用户划分为异常用户群体和正常用户,使用高斯分布对用户的完整行为特征进行预测,保证预测的准确性;而且本提案还通过已标注的用户行为数据进行预训练阈值的确认,这种与训练方式随着训练样本的增多,使得预训练阈值愈加趋近于真实值,最终使得对异常用户的异常预测更加准确。

在一个实施例中,如图3所示,步骤202,其中,用户行为数据保存在预设数据库中,预设数据库包括埋点数据表和活动参与表,包括:

步骤302,从埋点数据表中获取用户的ua设备数量。

埋点数据表用于保存通过app埋点的方式得到的用户的数据,该数据为与用户数据属性相关的信息,比如用户的ua设备,ua设备是指用户所使用的手机设备。另外,还可以包括用户的ua版本数量、app版本数量、ip数量、ip20数量、ip归属地数量等等,其中,ip20是将ip转换为二进制后,从左往右取前20位的二进制数字,剩下的位数置为0,再转换为十进制。

步骤304,从活动参与表中获取用户在app上的活跃天数、模块操作次数。

活动参与表是通过app埋点的方式获取到的与用户的操作行为相关的行为特征数据,包括用户在app上的活跃天数、模块操作次数等等。具体地,包括用户在该app上签到的天数、参与活动的次数、参与活动的种类数、活跃天数、其他设定的若干类活动中每一类活动分别参与的次数、注册与绑定手机号、身份证证件号、账号与身份证绑定或者与车辆绑定的时间间隔等等。这些行为特征数据与判断该用户是否为异常用户群体(羊毛党)息息相关。通常,一些羊毛党参与某活动的次数不大于2次,且参与活动的种类都是明显能够无偿获得利益的活动。

步骤306,将ua设备数量、活跃天数以及模块操作次数作为用户的行为特征。

通常可以得到用户的多个行为特征,本实施例以获得29个用户行为特征为例,得到29个用户行为特征,比如:

设备号数量、ip数量、ip20数量、ip归属地数量、ua设备数量、ua版本数量、app版本数量、签到的天数、参与活动的次数、参与活动的种类数、活跃的天数、17类活动分别参与的次数、注册与绑定车辆的时间间隔,其中,ip20是将ip转换为二进制后,从左往右取前20位的二进制数字,剩下的位数置为0,再转换为十进制,是为了确定该用户是否在同一个子网上。常用的ip地址是a/b/c类。a类网络地址为前8位,b类网络地址为前16位,c类网络地址为前24位。为了均衡各类的网络主机地址,使用前20位认定其ip地址的网络地址,后续位认为是子网网段。取20,这是一个适中值。本实施例只以几种为例进行说明。

本实施例通过获取用户多种行为数据用于异常判断,综合考虑多种条件,保证了预测的准确性。

在一个实施例中,如图4所示,在步骤210之前,还包括:

步骤402,获取用户样本数据,并按照预设比例将用户样本数据划分为训练数据和测试数据,其中,用户样本数据包括用户的实际标签。

用户样本数据包括已标注用户的用户行为数据,即,每一样本用户是羊毛党还是正常用户都已被实际标签标记出来。在训练前将用户样本数据按照7:1的比例划分为用户训练数据和用户测试数据。

步骤404,计算训练数据为正常用户的概率值。

可以通过公式(2)计算训练数据中样本用户为正常用户的概率值:

其中,μ为数学期望、σ2为方差,xij表示第i个样本用户的第j个维度特征;

权重向量w=(w1,w2,…,wj,…,w28,w29),其中,wj表示的是第j个维度特征对应的权重,i∈(1,2,3,…,m),j∈(1,2,3,…,29),m表示一共有m个样本用户。

步骤406,将最小概率值作为待训练阈值对训练数据进行预测划分,得到预测划分结果。

将待训练阈值ε的范围设定为(min(li),max(li)),在每一次预测划分之前将待训练阈值ε加上一个预设间隔值,本实施例根据经验将预设间隔值设置为0.01。在第一次羊毛党和正常用户划分时,获取最小概率值作为待训练阈值ε对训练数据中的样本用户进行预测划分。

具体地,将小于等于待训练阈值ε的概率值对应的样本用户划分为羊毛党,其余划分为正常用户,并将划分结果作为预测划分结果。

进一步地,预测划分结果可以是以下结果中的一种:

tp:预测为真且正确,

fp:预测为真且错误,

fn:预测为假且错误,

tn:预测为假且正确,

其中,tp、fn为真,表示预测的结果异常;tn、fp为假,表示预测的结果为正常,且tp、fp、fn以及tn的初始值为0。比如:

user1的概率值l1,大于待训练阈值ε,则将user1判断为假,表示user1为正常用户,但从user1的标注信息在黑名单之内,为异常用户可知,该预测划分结果是:预测为假且错误,属于fn,则将fn加1,其他结果的数值以此类推。

步骤408,根据预测划分结果计算待训练阈值对应的预测指标。

预测指标是根据每一样本用户的预测划分结果得到的,在计算预测指标之前,需要获取预测的精确率以及召回率。其中,

精确率的计算方式为公式(3):

召回率的计算方式为公式(4):

其中,预测指标的计算方式为公式(5):

预测指标是均衡精确率和召回率的一个评价指标。

在每一次预测指标计算结束后都将待训练阈值ε加上一个预设间隔值0.01,更新待训练阈值ε,直到待训练阈值ε大于最大概率值max(l),最后得到与用户的数量一致的预测指标。

具体地,第一次遍历,遍历训练样本的概率分布向量l=(li,l2,…,li,…,lm-1,lm),阈值ε为min(l)+0.01:

若li小于min(l)+0.01,则该用户异常,同时比对该用户真实标签,若该用户为黑名单用户,则tp=tp+1,若该用户为白名单用户,则fp=fp+1;

若li大于min(l)+0.01,则该用户正常,同时比对该用户真实标签,若该用户为黑名单用户,则fn=fn+1,若该用户为白名单用户,则tn=tn+1;

遍历完概率分布向量l,计算预测指标f1-score,并使f1=f1-score,将该f1加入向量f中,即f=(f1)。

第二次遍历,遍历概率分布向量l,待训练阈值ε在原来的基础上再加0.01,步骤同上;阈值条件可以是待训练阈值ε第一次大于最大概率值max(l),或者待训练阈值正好等于最大概率值max(l)-0.01。

到了第k次遍历,待训练阈值ε大于最大概率值max(l)或者正好等于max(l)-0.01时,则结束第k次遍历,获得向量f=(f1,f2,…,fk)。

获取max(f)为fmax,以及该次遍历的待训练阈值εfinal。

步骤410,将待训练阈值加上预设间隔值更新所述待训练阈值,并重复预测划分与预测指标计算的操作,直到待训练阈值满足阈值条件,则将最大预测指标对应的待训练阈值作为待确认阈值。阈值条件是指得到的待训练阈值ε大于最大概率值max(l)或者正好等于max(l)-0.01。最后将得到的最终的待训练阈值εfinal作为待确定阈值。

步骤412,计算测试数据为正常用户的概率值,根据测试数据的概率值、待确认阈值对测试数据进行异常预测。

步骤414,若得到的异常预测结果与测试数据的实际标签一致性达到设定值,则确定待确认阈值为预训练阈值。

设定值不低于99%,本实施例的设定值可以取99%。

计算每一个用户测试数据中测试用户的为正常用户的概率值,将其与待确认阈值进行大小比较,实现对测试数据的异常预测。

具体的预测流程为,从n个用户中获取30%的用户作为测试样本,即xtest=(x1,x2,…,xq),其中q=30;

分别对xtest计算概率分布作为测试数据中的测试用户为正常用户的概率值,获取ltest=(l1,l2,…,li,…,lq-1,lq);

使用待确定阈值εfinal对ltest检测,若概率值li小于εfinal,则该测试用户异常,同时比对该测试用户的真实标签,若该用户为黑名单用户,则tp=tp+1,若该用户为白名单用户,则fp=fp+1;

若li大于εfinal,则该用户正常,同时比对该用户的真实标签,若该用户为黑名单用户,则fn=fn+1,若该用户为白名单用户,则tn=tn+1;

遍历完ltest,若异常预测结果与测试用户的真实标签的一致性达到99%,则将待确认阈值确定εfinal为预训练阈值,并同时计算测试用户的预测指标f1-score,测试该预训练阈值的延展性,预测指标越高,说明需要预测的数据的不同对算法的性能影响越小,那么该算法对不同数据的预测也就具备有很好的效果。

本实施例通过将最小概率值作为初始待训练阈值,不断训练待训练阈值,直到其满足一定条件,得到待确定阈值,而后通过用测试用户对待确认阈值εfinal进行测试,以检测待确认阈值的延展性,预测指标f1-score越高,使得本实施例可以适用于不同的数据,且降低需要预测的数据的不同对算法的性能的影响,实现对不同数据的预测也具备有不错的效果,提高本实施例技术方案的普适性。

应该理解的是,虽然图2-图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图5所示,提供了一种基于用户行为数据的异常用户群体检测装置,该基于用户行为数据的异常用户群体检测装置与上述实施例中基于用户行为数据的异常用户群体检测方法一一对应。该基于用户行为数据的异常用户群体检测装置包括:

特征获取模块502,用于根据获取的用户行为数据统计每个用户的行为特征,其中,行为特征包括用户的ua设备数量、在app上的活跃天数和模块操作次数。

高斯计算模块504,用于通过概率密度函数计算行为特征的高斯分布,得到每一行为特征的分布概率。

权重赋予模块506,用于根据预设权重表为不同分布概率赋予权重,其中,将活跃天数、模块操作次数的权重设为第一权重,将ua设备数量的权重设为第二权重。

概率计算模块508,用于基于分布概率、权重计算每一用户为正常用户的概率值。以及

阈值对比模块510,用于将概率值与预训练阈值进行对比,将小于预训练阈值的概率值对应的用户归入异常用户群体。

进一步地,特征获取模块502,包括:

ua获取子模块,用于从埋点数据表中获取用户的ua设备数量。

活跃确定子模块,用于从活动参与表中获取用户在app上的活跃天数、模块操作次数。

特征确定子模块,用于将ua设备数量、活跃天数以及模块操作次数作为用户的行为特征。

进一步地,所述装置还包括预训练阈值训练模块,该预训练阈值训练模块包括:

样本获取子模块,用于获取用户样本数据,并按照预设比例将用户样本数据划分为训练数据和测试数据,其中,用户样本数据包括用户的实际标签。

概率计算子模块,用于计算训练数据中样本用户为正常用户的概率值。

预测划分子模块,用于将最小概率值作为待训练阈值对训练数据进行预测划分,得到预测划分结果。以及

指标计算子模块,用于根据预测划分结果计算待训练阈值对应的预测指标。

阈值迭代子模块,用于将待训练阈值加上预设间隔值更新待训练阈值,并重复预测划分与预测指标计算的操作,直到待训练阈值满足阈值条件,则将最大预测指标对应的待训练阈值作为待确认阈值。

阈值校验子模块,用于计算测试数据为正常用户的概率值,并根据测试数据的概率值、待确认阈值对测试数据进行异常预测。

阈值设定子模块,用于若得到的异常预测结果与测试数据的实际标签一致性达到设定值,则确定待确认阈值为预训练阈值。

进一步地,预测划分结果包括:

tp:预测为真且正确,

fp:预测为真且错误,

fn:预测为假且错误,

tn:预测为假且正确,

其中,tp、fn为真,表示预测的结果异常;

tn、fp为假,表示预测的结果为正常;

预测划分子模块,包括:

第一判断子单元,用于在概率值不大于待训练阈值时,判定样本用户为异常用户;以及

第一对比子单元,用于对比样本用户的实际标签;

第一循环子单元,用于在样本用户为黑名单用户时,将tp=tp+1;

第二循环子单元,用于在样本数据为白名单用户时,将fp=tn+1;

第二判断子单元,用于在概率值大于待训练阈值时,判定样本用户为正常用户;以及

第二对比子单元,用于对比样本用户的实际标签;

第三循环子单元,用于在样本用户为黑名单用户时,将fn=fn+1;

第四循环子单元,用于在样本用户为白名单用户时,将tn=tn+1;

指标计算子单元,用于根据得到的tp、fp、fn以及tn计算预测指标;以及

数值更新子单元,用于更新待训练阈值,重复计算预测指标的操作,得到若干个预测指标,其中,预测指标的数量与样本用户的数量一致。

需要强调的是,为进一步保证上述用户行为数据的私密和安全性,上述用户行为数据还可以存储于一区块链的节点中。

上述基于用户行为数据的异常用户群体检测装置,通过埋点的方式获取用户的行为数据,并统计得到若干个用户行为特征,并基于高斯分布计算每一个用户的行为特征的分布概率,依靠预设定的权重计算每一个用户为正常用户的概率值。不仅计算概率值还对比概率值与预训练阈值进行对比,以预训练阈值为分界点将用户划分为异常用户群体和正常用户,使用高斯分布对用户的完整行为特征进行预测,保证预测的准确性;而且本提案还通过已标注的用户行为数据进行预训练阈值的确认,这种与训练方式随着训练样本的增多,使得预训练阈值愈加趋近于真实值,最终使得预测的结果更加准确。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于用户行为数据的异常用户群体检测方法。

该方法通过埋点的方式获取用户的行为数据,并统计得到若干个用户行为特征,并基于高斯分布计算每一个用户的行为特征的分布概率,依靠预设定的权重计算每一个用户为正常用户的概率值。不仅计算概率值还对比概率值与预训练阈值进行对比,以预训练阈值为分界点将用户划分为异常用户群体和正常用户,使用高斯分布对用户的完整行为特征进行预测,保证预测的准确性;而且本提案还通过已标注的用户行为数据进行预训练阈值的确认,这种与训练方式随着训练样本的增多,使得预训练阈值愈加趋近于真实值,最终使得预测的结果更加准确。

其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于用户行为数据的异常用户群体检测方法的步骤,例如图2所示的步骤202至步骤210,或者,处理器执行计算机程序时实现上述实施例中基于用户行为数据的异常用户群体检测装置的各模块/单元的功能,例如图5所示模块502至模块510的功能。为避免重复,此处不再赘述。

使用该存储介质,通过埋点的方式获取用户的行为数据,并统计得到若干个用户行为特征,并基于高斯分布计算每一个用户的行为特征的分布概率,依靠预设定的权重计算每一个用户为正常用户的概率值。不仅计算概率值还对比概率值与预训练阈值进行对比,以预训练阈值为分界点将用户划分为异常用户群体和正常用户,使用高斯分布对用户的完整行为特征进行预测,保证预测的准确性;而且本提案还通过已标注的用户行为数据进行预训练阈值的确认,这种与训练方式随着训练样本的增多,使得预训练阈值愈加趋近于真实值,最终使得预测的结果更加准确。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形、改进或者对部分技术特征进行等同替换,而这些修改或者替换,并不使相同技术方案的本质脱离本发明个实施例技术方案地精神和范畴,都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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