基于萤火虫和加权极限学习机的微博异常用户检测方法与流程

文档序号:17477561发布日期:2019-04-20 06:13阅读:380来源:国知局
基于萤火虫和加权极限学习机的微博异常用户检测方法与流程

本发明涉及一种社交网络的监控方法,具体是一种微博异常用户检测方法。



背景技术:

近年来,随着互联网的快速发展和智能终端的日益普及,在线社交网络已成为人们获取信息、传播信息和娱乐的重要渠道。由于在线社交网络结构的复杂性,群体的大规模性,信息生成的快速性,用户采纳、创建的内容对社会稳定以及人们的日常工作和生活影响深远。以微博为例,检测微博异常用户可以有利于分析、指导和监控社交网络事件,规范社交网络管理,保证社交网络安全运行和传播健康信息。目前,现有的微博异常用户检测方法主要包括以下两个方面的内容:(1)首先,对微博中发布的信息内容特征和用户特征进行分析和筛选,比如:发布信息的次数、转发信息的次数、发布信息的urls、发布信息用户的网龄、用户每天创建新信息的次数等;(2)其次,采用机器学习算法对微博异常用户进行检测,具体做法是:将(1)中的筛选出的信息内容特征和用户特征作为机器学习算法的输入,是否为异常用户作为机器学习算法的输出。常用于检测异常用户的机器学习算法有:支持向量机,朴素贝叶斯,决策树,elm等。目前,用于微博异常用户检的测技术存在以下有待解决的问题:(1)对微博异常用户的特征分析和筛选工作主要是针对信息内容特征和用户特征进行开展,尚未考虑到用户的上下文特征和信息;(2)微博中异常用户占微博总用户的百分之六左右,因此形成微博数据集的不平衡问题,即类别间存在数量级的差别。现有用于检测异常用户的机器学习算法的目标都是确定主导类别的数量,倾向于被大类主导而忽略小类,这将导致对不平衡数据集的分类结果不理想现象。

还有的用于微博异常用户检的测技术,需要人工介入,故工作效率不高,比如,国家知识产权局于2017年2月8日公开了公开号为cn103150374b的专利文献,一种识别微博异常用户的方法,其特征在于,包括:步骤1,获取多个用户微博数据,并将用户微博数据存储入数据库中;步骤2,根据从数据库中获取的用户微博数据,以用户行为的时间间隔的统计分布做为用户的行为时间特征,并根据行为时间特征生成行为时间特征向量和界定参数;所述步骤2具体包括:步骤21,根据从数据库中获取的用户微博数据,以用户行为的时间间隔的统计分布做为用户的行为时间特征;步骤22,采用聚类算法将所有的认证用户的行为时间特征聚成一类,取其聚类中心为正常用户行为时间特征向量;步骤23,手动标注出异常用户,并爬取异常用户的微博数据,再根据获得的微博数据计算异常用户的行为时间特征向量;步骤24,采用聚类算法将异常用户的行为时间特征向量聚成一类,取其聚类中心作为异常用户行为时间特征向量;步骤25,计算异常用户行为时间特征向量与正常用户行为特征向量的聚类中心值的kullback-leibler距离,再根据计算结果通过最小二乘方误差法确定正常用户的特征空间范围,并根据特征空间范围确定界定参数;步骤3,计算正常用户行为时间特征向量与待测用户行为时间特征向量的kullback-leibler距离,若计算出的kullback-leibler距离超出界定参数,则判定待测用户为异常用户,否则为正常用户;步骤4,对已判定的异常用户的微博内容进行关键词抽取,并将抽取的关键词以用户标签的形式进行展示。



技术实现要素:

本发明的目的是克服现有技术中的不足,提供一种基于萤火虫和加权极限学习机的微博异常用户检测方法,该方法不仅检测的精度高,而且智能化程度高,一般不需要人工介入,工作效率高。

为实现上述目的,本发明所采用的技术方案是:

基于萤火虫和加权极限学习机的微博异常用户检测方法,具体步骤如下:

步骤一:数据采集并分类:采集微博用户数据,并对数据进行清洗,筛选出与微博内容、用户信息、用户上下文有关的数据特征,对微博异常和非异常用户进行标记,将采集到的微博用户数据分为训练集和测试集;

步骤二:创建加权极限学习机:利用萤火虫算法创建加权极限学习机;

步骤三:优化加权极限学习机:加权极限学习机利用训练集中的数据进行学习,对输入权值和阈值进行调整,直到达到预计误差值时停止对加权极限学习机的训练,形成优化的加权极限学习机;

步骤四:检测或预测微博异常用户:将测试集中的微博用户特征,即微博内容、用户信息和用户上下文,作为优化的加权极限学习机的输入数据样本,优化的加权极限学习机的输出值为该用户是否为微博异常用户。

优选的,所述步骤二中,加权极限学习机的数学模型如下:

其中,xp为输入样本(微博用户特征),βj=[βj1,...,βjm]t为输出权重,si,0<si≤1是模糊权值,wj=[wj1,...,wjn]t为输入权重,bj=[bj1,...,bjn]t为隐含层阈值,g(wj,bj,xp)为高斯激活函数,f(x)为输出值(微博异常/正常用户)。

优选的,对萤火虫算法进行改进,设计出自适应步长的萤火虫算法,以有效提高萤火虫算法的计算精度和收敛速度,避免出现局部寻优等问题。

本发明的有益效果:

与现有技术相比,本发明具有如下的优点与技术效果:

(1)基于微博内容、用户信息和用户上下文内容对微博用户进行描述,能准确的说明异常用户的特征,提高了微博异常用户检测的精度。

(2)设计了自适应步长的萤火虫算法,以有效提高萤火虫算法的计算精度和收敛速度,避免出现局部寻优等问题,提高了工作效率。

(3)加权极限学习机对初始参数较为敏感,往往需要有经验的技术人员根据业务场景的特点进行反复的实验调参,本发明使用了自适应萤火虫群优化算法对加权极限学习机的初始参数进行自动优化和调节,减少了人工干预,明显了提高了工作效率。

(4)加权极限学习机能有效解决数据集的不平衡问题,在微博异常用户所占比率很低时,也能获得优良的检测性能。

附图说明

利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图:

图1为本发明的流程图;

图2为创建加权极限学习机的流程图。

具体实施方式

为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步详细的描述,需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

如图1所示,一种基于萤火虫和加权极限学习机的微博异常用户检测方法,具体步骤如下:

步骤一:数据采集并分类:采集微博用户数据,并对数据进行清洗,筛选出与微博内容、用户信息、用户上下文有关的数据特征,对微博异常和非异常用户进行标记,将采集到的微博用户数据分为训练集和测试集;

步骤二:创建加权极限学习机:利用萤火虫算法创建加权极限学习机;

步骤三:优化加权极限学习机:加权极限学习机利用训练集中的数据进行学习,对输入权值和阈值进行调整,直到达到预计误差值时停止对加权极限学习机的训练,形成优化的加权极限学习机;

步骤四:检测或预测微博异常用户:将测试集中的微博用户特征,即微博内容、用户信息和用户上下文,作为优化的加权极限学习机的输入数据样本,优化的加权极限学习机的输出值为该用户是否为微博异常用户。

如图2所示,所述步骤二中,创建加权极限学习机的具体方法如下:

步骤1:将训练集中的微博用户特征,即微博内容、用户信息和用户上下文等作为加权极限学习机的输入数据样本xp,是否是异常用户作为加权极限学习机的输出值f(x)=0或f(x)=1;然后,确定加权极限学习机的拓扑结构,随机初始化加权极限学习机的权值和阈值,其中,设输入的每个数据样本的模糊权值si,0<si≤1,加权学习机网络输入权重wj和隐含层阈值bj;

步骤2:利用萤火虫算法对加权极限学习机的网络输入权重和隐含层阈值进行编码,具体编码方法为:xi(t)表示第t代第i个萤火虫的位置,由加权极限学习机的输入权重wj和隐含层阈值bj组成,xi(t)=[w11,...,w1n,...,wk1,wk2,...,wkn,b1,...,bk];

步骤3:设置迭代次数t=1,计算萤火虫的适应度函数值f,f由加权极限学习机的期望输出和预测输出之间的误差绝对值之和求得,得到的公式(1)如下:

其中,n为加权极限学习机的输出层节点数,yj为加权极限学习机第j个节点的期望输出,oj为第j个节点的预测输出,k为系数;

步骤4:更新萤火虫的荧光素,对种群中的每个萤火虫i由公式(1)计算在第t代、位置xi(t)的适应度值,由公式(2)将适应度函数值转换为荧光素值:公式(2)为:

li(t)=(1-ρ)li(t-1)+γj(xi(t))

其中,j(xi(t))表示第t代第i个萤火虫所在位置的适应度函数值,li(t)表示第t代第i个萤火虫的荧光素值,xi(t)表示第t代第i个萤火虫的位置;

步骤5:寻找萤火虫的邻居,所用的公式(3)为:

其中,ni(t)表示第t代第i个萤火虫的邻居集合,||x||表示x的范数,xj(t)为第t代第j个萤火虫的位置,lj(t)第t代第j个萤火虫的荧光素值;动态决策域范围决定了邻居的个数,其上界为感知范围rs,

步骤6:确定萤火虫移动方向,当邻居萤火虫j的荧光素值比萤火虫i大,且两只萤火虫之间的距离在感知范围rs之内时,萤火虫i将以一定的概率pij(t)选择邻居萤火虫j,并向邻居萤火虫j的方向移动,确定萤火虫移动方向所用的公式(4)为:

步骤7:利用公式(5)萤火虫位置更新,公式(5)为:

在公式(5)中,将采用公式(5a)和(5b)来计算自适应步长s的值,使得在算法迭代的过程中,避免陷入局部最优值,促进算法快速收敛,获取精确的优化结果;

在公式(5a)和(5b)中,t表示当前迭代次数,tmax表示最大迭代次数,smin为最小步长,smax为最大步长,p取值范围为(0,2];

步骤8:决策域更新,当邻域中萤火虫数量较少时,通过增加决策域半径,萤火虫能找到更多的同伴;当邻域中萤火虫数量较多时,则需要减少决策域半径,决策域更新的公式(6)为:

在公式(6)中,|ni(t)|表示萤火虫i邻域内萤火虫个数;

步骤9:当达到设定的迭代次数时,停止运算,输出萤火虫最优位置,因萤火虫的位置是由加权学习机网络输入权重wj和隐含层阈值bj组成,即获得了最优化的加权学习机网络输入权重和隐含层阈值。否则,返回到步骤3继续进行计算。

步骤10:将优化后的输入权重和隐含层阈值输入到加权极限学习机中,并使用公式(7)计算加权极限学习机算法的输出函数值,完成加权极限学习机的网络构建。

其中,xp为输入样本(微博用户特征),βj=[βj1,...,βjm]t为输出权重,si,0<si≤1是模糊权值,wj=[wj1,...,wjn]t为输入权重,bj=[bj1,...,bjn]t为隐含层阈值,g(wj,bj,xp)为高斯激活函数,f(x)为输出值(微博异常/正常用户)。

以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的保护范围。

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