一种基于人工神经网络的应用分发平台作弊检测方法与流程

文档序号:11654371阅读:296来源:国知局

本发明涉及网络技术领域,尤其涉及一种基于人工神经网络的应用分发平台作弊检测方法。



背景技术:

在手机应用分发推广过程中,由于利益驱动,推广人会制造假的安装数据骗取酬金。为了应对这种情况,需要一套方法,从分发平台的用户操作信息中获取作弊的蛛丝马迹,从而避免不正当竞争。

但是现有技术中针对作弊的判断均是设定一个固定的阈值,从应用分发平台的日志中,对多个维度进行求和、计数、平均值和参数之间算术运算等合计相关的统计,将统计结果与预先人为设定的阈值比较,以是否满足一个或多个阈值作为作弊的判断条件,例如指定某时段的安装量是否过大,平均每台手机应用安装量是否过大。经过多种计算获得的数值超过阈值,则判断为作弊。

但作弊行为是一种动态变化的过程,随着作弊用户对作弊判断规则的了解,其会不断改变作弊方式,从而尽可能避开作弊算法的惩罚。因此,作弊检测方法也是需要随着实际情况而逐步变化的。统计维度越多阈值越多,阈值间关系越复杂,设定完全靠人为经验猜测,往往只能满足一部分个案情况;出现误判后几乎无法更正,往往针对某个个案更正设定后其他个案就出问题;无任何学习能力,无法将人工审核的比较模糊的经验转化为可执行的程序,任何算法更改都要重新编程;而且将人的经验准确转化为定量的计算程序是非常困难的。



技术实现要素:

本发明的目的在于提出一种能够与时俱进,随着作弊办法的变化而调整自己的作弊判断阈值的应用分发平台作弊检测方法,其基于人工神经网络算法,动态调整作弊判断阈值,从而最大程度保证了应用分发平台的秩序。

为达此目的,本发明采用以下技术方案:

一种基于人工神经网络的应用分发平台作弊检测方法,步骤包括:

步骤a:每次应用安装时,记录日志到服务器上的数据库,所述日志包含用户、应用id、安装时间、手机imei、机型、产地和厂商信息;

步骤b:从数据库中提取指定时间段的日志作为基础数据,按用户分组统计一批统计数值,选定以下参数:日志总条数、机型的信息熵、产地的信息熵、手机imei的信息熵、应用id的信息熵;所述统计数值作为训练样本;

步骤c:人工审核一遍所述训练样本,对认为作弊的用户打上标签1,否则打上标签0,1和0是数字;

步骤d:将所述训练样本随机抽样分成3份,其中10%为验证集,60%为训练集,30%为测试集;

步骤e:选定开源项目提供的mlp作为人工神经网络程序;

步骤f:设定mlp的参数:输入神经元数为5,对应5个所述统计数值;输出神经元数为1,对应人工审核中打上的标签;中间层暂定为1层,输入神经元数暂定为5,之后的训练过程中可能做调整;

步骤g:将所述验证集输入到mlp做训练,设定允许误差为0.0001,最大训练递归次数为1,000,000;

步骤h:训练完成后用mlp对验证集做判定,从5个所述统计数值输入中得到1个输出值,对比输出值与人工打上的标签的差异;

要求:人工标签为1的,对应输出值应尽量接近1,否则尽量接近0,无任何超过0.1的差异;如果差异不满足要求,回到步骤g重新训练,如果重复多次达不到要求,回到步骤f重新设定中间层的层数和输入神经元数;

步骤i:保持上面步骤的参数,用所述训练集重新训练mlp;

步骤j:用mlp对所述测试集做判定:

同样要求:人工标签为1的,对应输出值应尽量接近1,否则尽量接近0,无任何超过0.1的差异;如果差异不满足要求,回到步骤i重新训练,如果重复多次达不到要求,回到步骤f重新设定中间层的层数和输入神经元数;

步骤k:经过以上步骤后,获得了判定实际数据的mlp,部署到服务器;

步骤l:每天定时从数据库中提取过往30天日志,同样按用户分组计算日志总条数、机型的信息熵、产地的信息熵、手机imei的信息熵、应用id的信息熵,输入到mlp做判定,得出的输出就是作弊可能性判定;

步骤m:当出现误判,将当前的统计数值的作弊判定四舍五入取整到0和1,人工纠正误判的部分;这套数据作为训练样本回到步骤d重新训练。

本发明通过监督学习训练的人工神经网络根据统计数值进行用户作弊可能性的判断,无需设定阈值,用训练代替,只要人工能完成个案判定就可以训练,不需要对总体的分布情况有了解;具体个案更正就可以重新训练,理论上,可以保证结果符合当前所有个案的预期;通过训练就可以获得mlp程序,不需要重新编程。

具体实施方式

下面通过具体实施方式来进一步说明本发明的技术方案。

一种基于人工神经网络的应用分发平台作弊检测方法,步骤包括:

步骤a:每次应用安装时,记录日志到服务器上的数据库,所述日志包含用户、应用id、安装时间、手机imei、机型、产地和厂商信息;

步骤b:从数据库中提取指定时间段的日志作为基础数据,按用户分组统计一批统计数值,选定以下参数:日志总条数、机型的信息熵、产地的信息熵、手机imei的信息熵、应用id的信息熵;所述统计数值作为训练样本;

所述指定时间段例如是30天,可以根据应用分发周期自己设定。

步骤c:人工审核一遍所述训练样本,对认为作弊的用户打上标签1,否则打上标签0,1和0是数字;

步骤d:将所述训练样本随机抽样分成3份,其中10%为验证集,60%为训练集,30%为测试集;

步骤e:选定开源项目提供的mlp作为人工神经网络程序;

joone、encog和neuroph是三个著名的开源的java的神经网络的组件,优选为neuroph作为开源的神经网络组件。

多层感知器multi-layerperceptron,mlp,是一种前向结构的人工神经网络。

步骤f:设定mlp的参数:输入神经元数为5,对应5个所述统计数值;输出神经元数为1,对应人工审核中打上的标签;中间层暂定为1层,输入神经元数暂定为5,之后的训练过程中可能做调整;

步骤g:将所述验证集输入到mlp做训练,设定允许误差为0.0001,最大训练递归次数为1,000,000;

步骤h:训练完成后用mlp对验证集做判定,从5个所述统计数值输入中得到1个输出值,对比输出值与人工打上的标签的差异;

要求:人工标签为1的,对应输出值应尽量接近1,否则尽量接近0,无任何超过0.1的差异;如果差异不满足要求,回到步骤g重新训练,如果重复多次达不到要求,回到步骤f重新设定中间层的层数和输入神经元数;

步骤i:保持上面步骤的参数,用所述训练集重新训练mlp;

步骤j:用mlp对所述测试集做判定:

同样要求:人工标签为1的,对应输出值应尽量接近1,否则尽量接近0,无任何超过0.1的差异;如果差异不满足要求,回到步骤i重新训练,如果重复多次达不到要求,回到步骤f重新设定中间层的层数和输入神经元数;

步骤k:经过以上步骤后,获得了判定实际数据的mlp,部署到服务器;

以上过程相当于将人工审核的经验教授给mlp。

步骤l:每天定时从数据库中提取过往30天日志,同样按用户分组计算日志总条数、机型的信息熵、产地的信息熵、手机imei的信息熵、应用id的信息熵,输入到mlp做判定,得出的输出就是作弊可能性判定;

0至1的数值可以标识概率。

步骤m:当出现误判,将当前的统计数值的作弊判定四舍五入取整到0和1,人工纠正误判的部分;这套数据作为训练样本回到步骤d重新训练。

误判例如客户投诉成立时。

以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

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