首页 / 专利库 / 人工智能 / 机器学习 / 人工神经网络 / 玻尔兹曼机 / 受限玻尔兹曼机 / 一种基于改进DBN模型的水军检测方法及系统

一种基于改进DBN模型的军检测方法及系统

阅读:621发布:2020-11-13

专利汇可以提供一种基于改进DBN模型的军检测方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于改进DBN模型的 水 军检测方法,具体包括以下步骤:步骤1:采用已分类数据集对原始DBN 深度信念网络 模型进行训练和检测,构成改进DBN深度信念网络模型;步骤2:将待分类数据集中的数据输入改进DBN深度信念网络模型进行分类,完成对水军用户的识别。本发明结合DBN深度信念网络和PSO粒子群 算法 对“苍蝇水军”进行识别,然后构造DBN模型,用已分类数据集对模型进行训练,最后用得到的模型对待分类用户数据进行分类,即实现了“苍蝇水军”的识别。该方法是对BP神经网络算法的改进,既可以保证较高的判定准确率,又具有较短的训练时间,且不易陷入局部最优解。,下面是一种基于改进DBN模型的军检测方法及系统专利的具体信息内容。

1.一种基于改进DBN模型的军检测方法,其特征在于,具体包括以下步骤:
步骤1:采用已分类数据集对原始DBN深度信念网络模型进行训练和检测,构成改进DBN深度信念网络模型;
步骤2:将待分类数据集中的数据输入改进DBN深度信念网络模型进行分类,完成对水军用户的识别。
2.根据权利要求1所述的一种基于改进DBN模型的水军检测方法,其特征在于,所述步骤1具体包括以下步骤:
步骤1.1:将已分类数据集分为两组,一组数据为训练数据集,用于训练原始DBN深度信念网络模型;另一组为测试数据集,用于测试原始DBN深度信念网络模型;
步骤1.2:训练数据集对原始DBN深度信念网络模型进行迭代训练;
步骤1.3:测试数据集对训练后的改进DBN深度信念网络模型进行测试,判断是否达到预设的判定准确率,如果是,进行步骤2;否则,跳转至步骤1.2。
3.根据权利要求2所述的一种基于改进DBN模型的水军检测方法,其特征在于,所述步骤1.1具体包括以下步骤:
步骤1.1.1:接收已分类数据集,所述已分类数据集中包含多个用户历史行为向量;
步骤1.1.2:将所有用户历史行为向量进行归一化处理;
步骤1.1.3:建立训练数据集和测试数据集;将归一化处理后的用户历史行为向量一部分添加到训练数据集,剩余部分添加到测试数据集。
4.根据权利要求3所述的一种基于改进DBN模型的水军检测方法,其特征在于,所述步骤1.2具体包括以下步骤:
步骤1.2.1:对原始DBN深度信念网络模型进行预训练:采用逐层无监督贪婪学习的方法序列权值参数,并设置偏置,预训练完成后的改进DBN深度信念网络模型等同与BP神经网络模型;
步骤1.2.2:对改进DBN深度信念网络模型进行微调:对上述已完成初始权值和偏置设置的BP神经网络模型进行误差反向传播训练。
5.根据权利要求1-4任一项所述的一种基于改进DBN模型的水军检测方法,其特征在于,所述改进DBN深度信念网络模型包括依次连接的第一层RBM受限玻尔兹曼机单元、第二层RBM受限玻尔兹曼机单元和一层BP神经网络单元;第一层RBM受限玻尔兹曼机单元和第二层RBM受限玻尔兹曼机单元之间无向连接,第二层RBM受限玻尔兹曼机单元向BP神经网络单元单向输出数据。
6.根据权利要求5所述的一种基于改进DBN模型的水军检测方法,其特征在于,所述RBM受限玻尔兹曼机单元包括两层节点,其中一层称为可见层,另一层称为隐蔽层,每个节点都存在一个偏置值;可见层与隐蔽层之间双向连接,具有连接的权值矩阵。
7.根据权利要求6所述的一种基于改进DBN模型的水军检测方法,其特征在于,所述步骤1.2.1具体包括以下步骤:
步骤1.2.1.1:对第一层RBM受限玻尔兹曼机单元中的可见层采用能量模型进行特征提取,以监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
步骤1.2.1.2:将第一层RBM受限玻尔兹曼机单元的隐蔽层作为第二层RBM受限玻尔兹曼机单元的可见层,采用能量模型进行特征提取,以无监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
步骤1.2.1.3:将隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量作为BP神经网络单元的输入值;
步骤1.2.1.4:将待确定的BP神经网络单元权值向量作为PSO粒子群算法中的粒子位置向量,将某个权值向量下BP神经网络单元的输出与预期输出的差值作为PSO算法中粒子位置优劣的衡量指标,采用PSO粒子群算法得到最优粒子位置,所述最优粒子位置为BP神经网络单元的最优权值向量,完成对BP神经网络单元的预训练。
8.根据权利要求7所述的一种基于改进DBN模型的水军检测方法,其特征在于,所述步骤1.2.2具体包括以下步骤:
步骤1.2.2.1:采用PSO粒子群算法对改进DBN深度信念网络模型进行微调,将最优权值向量叠加一个随机向量作为粒子的初始化位置,计算输出初始位置向量组;
步骤1.2.2.2:判断得到的初始位置向量值与最优权值向量值的差值是否小于预设值,如果是,进行步骤1.3;否则,进行步骤1.2.2.1。
9.根据权利要求8所述的一种基于改进DBN模型的水军检测方法,其特征在于,所述PSO粒子群算法中,设搜索空间为m维,第i个粒子位置表示为向量xi=(xi1,xi2,……,xim);
第i个粒子的历史最优位置为pi=(pi1,pi2,……,pim),pg为所有pi(i=1,2,……,n)中的最优位置;第i个粒子的速度为向量vi=(vi1,vi2,……,vim);每演化一代,粒子的状态都依据当前群体信息发生变化,其位置更新公式为:
xi(t+1)=xi(t)+vi(t+1) (1)
速度更新公式为:
vi(t+1)=ω×vi(t)+c1×rand()×(pi(t)-xi(t))+c2×rand()×(gi(t)-xi(t)) (2)其中ω为惯性权重;pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;c1和c2为学习因子,代表了将每个粒子拉向pi和gi位置的随机加速项的权重;vmax和xmx分别代表速度限制和位置限制。
10.一种基于改进DBN模型的水军检测系统,其特征在于,包括训练检测模和水军识别模块;
所述训练检测模块采用已分类数据集对原始DBN深度信念网络模型进行训练和检测,构成改进DBN深度信念网络模型;
所述水军识别模块用于将待分类数据集中的数据输入改进DBN深度信念网络模型进行分类,完成对水军用户的识别。
11.根据权利要求10所述的一种基于改进DBN模型的水军检测系统,其特征在于,所述训练检测模块包括:分类训练模块、迭代训练模块和模型测试模块;
所述分类训练模块用于将已分类数据集分为两组,一组数据为训练数据集,用于训练原始DBN深度信念网络模型;另一组为测试数据集,用于测试原始DBN深度信念网络模型;
所述迭代训练模块用于采用训练数据集对原始DBN深度信念网络模型进行迭代训练;
所述模型测试模块用于采用测试数据集对训练后的改进DBN深度信念网络模型进行测试,判断是否达到预设的判定准确率。
12.根据权利要求11所述的一种基于改进DBN模型的水军检测系统,其特征在于,所述分类训练模块包括:接收模块、归一化模块和数据集模块;
所述接收模块用于接收已分类数据集,所述已分类数据集中包含多个用户历史行为向量;
所述归一化模块将所有用户历史行为向量进行归一化处理;
所述数据集模块用于建立训练数据集和测试数据集;将归一化处理后的用户历史行为向量一部分添加到训练数据集,剩余部分添加到测试数据集。
13.根据权利要求12所述的一种基于改进DBN模型的水军检测系统,其特征在于,所述迭代训练模块包括:预训练模块和微调模块;
所述预训练模块用于对原始DBN深度信念网络模型进行预训练:采用逐层无监督贪婪学习的方法序列权值参数,并设置偏置,预训练完成后的改进DBN深度信念网络模型等同与BP神经网络模型;
所述微调模块用于对改进DBN深度信念网络模型进行微调:对上述已完成初始权值和偏置设置的BP神经网络模型进行误差反向传播训练。
14.根据权利要求13所述的一种基于改进DBN模型的水军检测系统,其特征在于,所述预训练模块包括:第一预训练模块、第二预训练模块和BP预训练模块;
所述第一预训练模块用于对第一层RBM受限玻尔兹曼机单元中的可见层采用能量模型进行特征提取,以无监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
所述第二预训练模块用于将第一层RBM受限玻尔兹曼机单元的隐蔽层作为第二层RBM受限玻尔兹曼机单元的可见层,采用能量模型进行特征提取,以无监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
所述BP预训练模块用于将隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量作为BP神经网络单元的输入值;将待确定的BP神经网络单元权值向量作为PSO粒子群算法中的粒子位置向量,将某个权值向量下BP神经网络单元的输出与预期输出的差值作为PSO算法中粒子位置优劣的衡量指标,采用PSO粒子群算法得到最优粒子位置,所述最优粒子位置为BP神经网络单元的最优权值向量,完成对BP神经网络单元的预训练。
15.根据权利要求14所述的一种基于改进DBN模型的水军检测系统,其特征在于,所述微调模块包括:模型微调模块和值判断模块;
所述模型微调模块用于采用PSO粒子群算法对改进DBN深度信念网络模型进行微调,将最优权值向量叠加一个随机向量作为粒子的初始化位置,计算输出初始位置向量组;
所述值判断模块用于判断得到的初始位置向量值与最优权值向量值的差值是否小于预设值。
16.根据权利要求14或15所述的一种基于改进DBN模型的水军检测系统,其特征在于,所述PSO粒子群算法中,设搜索空间为m维,第i个粒子位置表示为向量xi=(xi1,xi2,……,xim);第i个粒子的历史最优位置为pi=(pi1,pi2,……,pim),pg为所有pi(i=1,2,……,n)中的最优位置;第i个粒子的速度为向量vi=(vi1,vi2,……,vim);每演化一代,粒子的状态都依据当前群体信息发生变化,其位置更新公式为:
xi(t+1)=xi(t)+vi(t+1) (1)
速度更新公式为:
vi(t+1)=ω×vi(t)+c1×rand()×(pi(t)-xi(t))+c2×rand()×(gi(t)-xi(t)) (2)其中ω为惯性权重;pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;c1和c2为学习因子,代表了将每个粒子拉向pi和gi位置的随机加速项的权重;vmax和xmx分别代表速度限制和位置限制。

说明书全文

一种基于改进DBN模型的军检测方法及系统

技术领域

[0001] 本发明涉及一种基于改进DBN模型的水军检测方法及系统。

背景技术

[0002] 随着社交网络的普及,论坛已经成为最热的上网应用之一。但网络论坛的开放性质决定了很难对论坛中的信息进行绝对严格的监管,这就导致论坛中出现了一批以获利为目的,蓄意散播某些言论的网络水军。从“7.23”动车事故天价赔偿事件到秦火火事件,网络水军对网络环境甚至社会秩序造成很严重的影响,可见,对网络水军的识别和监管,已经迫在眉睫。
[0003] 对网络水军的监管可以通过两种方式:一种是针对每个帖子进行判断,对水军贴进行删帖处理;另一种是针对每个用户进行判断,对水军用户封号删帖,甚至追究其法律责任。前一种方式需要对水军贴的特征有客观的、统一的描述,然而中国数亿网民的发帖习惯各不相同,很难找到统一的标准来鉴别水军贴,因此这种方式只用于屏蔽敏感词汇,而对通用水军识别场景不适用。现有的水军识别多采用第二种方式,即通过用户行为判断论坛用户是否水军。
[0004] 对于论坛中的“老虎水军”,比如“秦火火”、“立二拆四”等,他们活跃在一些用户众多,影响范围较广的论坛上,并拥有大量的粉丝及好友,他们通过捏造事实、蓄意炒作,达到宣传或攻击的目的,进而获取非法利益。这些“老虎水军”活跃在公众视线范围内,经常处于事件的口浪尖上,因此可以较容易地对他们进行发现和处理。另外一类“苍蝇水军”受雇于网络推手组织,在论坛中发表特定主题的帖子。“苍蝇水军”数量众多,占到水军群体的80%以上,每一个“苍蝇水军”的活动很有限,不易被发现,但是“苍蝇水军”整体的量不容忽视,他们以积少成多的方式影响了网络舆论的方向,是网络事件背后的强大隐形力量。因此对“苍蝇水军”的识别是水军识别的重点,现在的多数水军识别算法也是针对“苍蝇水军”。一种普遍的识别方式是对用户行为进行横向比较,从而发现“苍蝇水军”的行为规律,制定识别方案。现有的“苍蝇水军”发现一般采用决策树贝叶斯网络、KNN、神经网络等算法,在前几种算法设计过程中,需要依据历史经验设定关键参数的值,用于体现用户行为的每个方面对判定结果影响程度的不同,这种方式带有很大的主观性,严重影响了算法的判定准确率;神经网络算法在进行“苍蝇水军”识别时,通过训练的方式确定模型参数,可以客观地反映用户行为的不同方面对最终结果的影响程度,但是训练过程耗时太长,且极易因为网络初始权值设置不当而陷入局部最优解。

发明内容

[0005] 本发明所要解决的技术问题是,针对现有技术的不足,提供一种可以保证较高的判定准确率,又具有较短的训练时间,且不易陷入局部最优解基于改进DBN模型的水军检测方法。
[0006] 本发明解决上述技术问题的技术方案如下:一种基于改进DBN模型的水军检测方法,具体包括以下步骤:
[0007] 步骤1:采用已分类数据集对原始DBN深度信念网络模型进行训练和检测,构成改进DBN深度信念网络模型;
[0008] 步骤2:将待分类数据集中的数据输入改进DBN深度信念网络模型进行分类,完成对水军用户的识别。
[0009] 本发明的有益效果是:本发明结合DBN(Deep Belief Network,深度信念网络)和PSO(Particle Swarm Optimization,粒子群算法)对“苍蝇水军”进行识别。专利首先建立用户历史行为向量表征用户历史行为,然后构造DBN模型,用已分类数据集对模型进行训练,最后用得到的模型对待分类用户数据进行分类,即实现了“苍蝇水军”的识别。该方法是对BP神经网络算法的改进,既可以保证较高的判定准确率,又具有较短的训练时间,且不易陷入局部最优解。
[0010] 在上述技术方案的基础上,本发明还可以做如下改进。
[0011] 进一步,所述步骤1具体包括以下步骤:
[0012] 步骤1.1:将已分类数据集分为两组,一组数据为训练数据集,用于训练原始DBN深度信念网络模型;另一组为测试数据集,用于测试原始DBN深度信念网络模型;
[0013] 步骤1.2:训练数据集对原始DBN深度信念网络模型进行迭代训练;
[0014] 步骤1.3:测试数据集对训练后的改进DBN深度信念网络模型进行测试,判断是否达到预设的判定准确率,如果是,进行步骤2;否则,跳转至步骤1.2。
[0015] 进一步,所述步骤1.1具体包括以下步骤:
[0016] 步骤1.1.1:接收已分类数据集,所述已分类数据集中包含多个用户历史行为向量;
[0017] 步骤1.1.2:将所有用户历史行为向量进行归一化处理;
[0018] 步骤1.1.3:建立训练数据集和测试数据集;将归一化处理后的用户历史行为向量一部分添加到训练数据集,剩余部分添加到测试数据集。
[0019] 进一步,所述步骤1.2具体包括以下步骤:
[0020] 步骤1.2.1:对原始DBN深度信念网络模型进行预训练:采用逐层无监督贪婪学习的方法序列权值参数,并设置偏置,预训练完成后的改进DBN深度信念网络模型等同与BP神经网络模型;
[0021] 步骤1.2.2:对改进DBN深度信念网络模型进行微调:对上述已完成初始权值和偏置设置的BP神经网络模型进行误差反向传播训练。
[0022] 进一步,所述改进DBN深度信念网络模型包括依次连接的第一层RBM受限玻尔兹曼机单元、第二层RBM受限玻尔兹曼机单元和一层BP神经网络单元;第一层RBM受限玻尔兹曼机单元和第二层RBM受限玻尔兹曼机单元之间无向连接,第二层RBM受限玻尔兹曼机单元向BP神经网络单元单向输出数据。
[0023] 进一步,所述RBM受限玻尔兹曼机单元包括两层节点,其中一层称为可见层,另一层称为隐蔽层,每个节点都存在一个偏置值;可见层与隐蔽层之间双向连接,具有连接的权值矩阵。
[0024] 进一步,所述步骤1.2.1具体包括以下步骤:
[0025] 步骤1.2.1.1:对第一层RBM受限玻尔兹曼机单元中的可见层采用能量模型进行特征提取,以监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
[0026] 步骤1.2.1.2:将第一层RBM受限玻尔兹曼机单元的隐蔽层作为第二层RBM受限玻尔兹曼机单元的可见层,采用能量模型进行特征提取,以无监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
[0027] 步骤1.2.1.3:将隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量作为BP神经网络单元的输入值;
[0028] 步骤1.2.1.4:将待确定的BP神经网络单元权值向量作为PSO粒子群算法中的粒子位置向量,将某个权值向量下BP神经网络单元的输出与预期输出的差值作为PSO算法中粒子位置优劣的衡量指标,采用PSO粒子群算法得到最优粒子位置,所述最优粒子位置为BP神经网络单元的最优权值向量,完成对BP神经网络单元的预训练。
[0029] 进一步,所述步骤1.2.2具体包括以下步骤:
[0030] 步骤1.2.2.1:采用PSO粒子群算法对改进DBN深度信念网络模型进行微调,将最优权值向量叠加一个随机向量作为粒子的初始化位置,计算输出初始位置向量组;
[0031] 步骤1.2.2.2:判断得到的初始位置向量值与最优权值向量值的差值是否小于预设值,如果是,进行步骤1.3;否则,进行步骤1.2.2.1。
[0032] 进一步,所述PSO粒子群算法中,设搜索空间为m维,第i个粒子位置表示为向量xi=(xi1,xi2,……,xim);第i个粒子的历史最优位置为pi=(pi1,pi2,……,pim),pg为所有pi(i=1,2,……,n)中的最优位置;第i个粒子的速度为向量vi=(vi1,vi2,……,vim);每演化一代,粒子的状态都依据当前群体信息发生变化,其位置更新公式为:
[0033] xi(t+1)=xi(t)+vi(t+1) (1)
[0034] 速度更新公式为:
[0035] vi(t+1)=ω×vi(t)+c1×rand()×(pi(t)-xi(t))+c2×rand()×(gi(t)-xi(t)) (2)
[0036] 其中ω为惯性权重;pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;c1和c2为学习因子,代表了将每个粒子拉向pi和gi位置的随机加速项的权重;vmax和xmx分别代表速度限制和位置限制。
[0037] 本发明所要解决的技术问题是,针对现有技术的不足,提供一种可以保证较高的判定准确率,又具有较短的训练时间,且不易陷入局部最优解基于改进DBN模型的水军检测方法。
[0038] 本发明解决上述技术问题的技术方案如下:一种基于改进DBN模型的水军检测系统,包括训练检测模和水军识别模块;
[0039] 所述训练检测模块采用已分类数据集对原始DBN深度信念网络模型进行训练和检测,构成改进DBN深度信念网络模型;
[0040] 所述水军识别模块用于将待分类数据集中的数据输入改进DBN深度信念网络模型进行分类,完成对水军用户的识别。
[0041] 本发明的有益效果是:本发明结合DBN(Deep Belief Network,深度信念网络)和PSO(Particle Swarm Optimization,粒子群算法)对“苍蝇水军”进行识别。专利首先建立用户历史行为向量表征用户历史行为,然后构造DBN模型,用已分类数据集对模型进行训练,最后用得到的模型对待分类用户数据进行分类,即实现了“苍蝇水军”的识别。该方法是对BP神经网络算法的改进,既可以保证较高的判定准确率,又具有较短的训练时间,且不易陷入局部最优解。
[0042] 在上述技术方案的基础上,本发明还可以做如下改进。
[0043] 进一步,所述训练检测模块包括:分类训练模块、迭代训练模块和模型测试模块;
[0044] 所述分类训练模块用于将已分类数据集分为两组,一组数据为训练数据集,用于训练原始DBN深度信念网络模型;另一组为测试数据集,用于测试原始DBN深度信念网络模型;
[0045] 所述迭代训练模块用于采用训练数据集对原始DBN深度信念网络模型进行迭代训练;
[0046] 所述模型测试模块用于采用测试数据集对训练后的改进DBN深度信念网络模型进行测试,判断是否达到预设的判定准确率。
[0047] 进一步,所述分类训练模块包括:接收模块、归一化模块和数据集模块;
[0048] 所述接收模块用于接收已分类数据集,所述已分类数据集中包含多个用户历史行为向量;
[0049] 所述归一化模块将所有用户历史行为向量进行归一化处理;
[0050] 所述数据集模块用于建立训练数据集和测试数据集;将归一化处理后的用户历史行为向量一部分添加到训练数据集,剩余部分添加到测试数据集。
[0051] 进一步,所述迭代训练模块包括:预训练模块和微调模块;
[0052] 所述预训练模块用于对原始DBN深度信念网络模型进行预训练:采用逐层无监督贪婪学习的方法序列权值参数,并设置偏置,预训练完成后的改进DBN深度信念网络模型等同与BP神经网络模型;
[0053] 所述微调模块用于对改进DBN深度信念网络模型进行微调:对上述已完成初始权值和偏置设置的BP神经网络模型进行误差反向传播训练。
[0054] 进一步,所述预训练模块包括:第一预训练模块、第二预训练模块和BP预训练模块;
[0055] 所述第一预训练模块用于对第一层RBM受限玻尔兹曼机单元中的可见层采用能量模型进行特征提取,以无监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
[0056] 所述第二预训练模块用于将第一层RBM受限玻尔兹曼机单元的隐蔽层作为第二层RBM受限玻尔兹曼机单元的可见层,采用能量模型进行特征提取,以无监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
[0057] 所述BP预训练模块用于将隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量作为BP神经网络单元的输入值;将待确定的BP神经网络单元权值向量作为PSO粒子群算法中的粒子位置向量,将某个权值向量下BP神经网络单元的输出与预期输出的差值作为PSO算法中粒子位置优劣的衡量指标,采用PSO粒子群算法得到最优粒子位置,所述最优粒子位置为BP神经网络单元的最优权值向量,完成对BP神经网络单元的预训练。
[0058] 进一步,所述微调模块包括:模型微调模块和值判断模块;
[0059] 所述模型微调模块用于采用PSO粒子群算法对改进DBN深度信念网络模型进行微调,将最优权值向量叠加一个随机向量作为粒子的初始化位置,计算输出初始位置向量组;
[0060] 所述值判断模块用于判断得到的初始位置向量值与最优权值向量值的差值是否小于预设值。
[0061] 进一步,所述PSO粒子群算法中,设搜索空间为m维,第i个粒子位置表示为向量xi=(xi1,xi2,……,xim);第i个粒子的历史最优位置为pi=(pi1,pi2,……,pim),pg为所有pi(i=1,2,……,n)中的最优位置;第i个粒子的速度为向量vi=(vi1,vi2,……,vim);每演化一代,粒子的状态都依据当前群体信息发生变化,其位置更新公式为:
[0062] xi(t+1)=xi(t)+vi(t+1) (1)
[0063] 速度更新公式为:
[0064] vi(t+1)=ω×vi(t)+c1×rand()×(pi(t)-xi(t))+c2×rand()×(gi(t)-xi(t)) (2)
[0065] 其中ω为惯性权重;pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;c1和c2为学习因子,代表了将每个粒子拉向pi和gi位置的随机加速项的权重;vmax和xmx分别代表速度限制和位置限制。
[0066] DBN(Deep Belief Network,深度信念网络)模型是深度神经网络的一种,是由多层随机变量节点组成的概率生成模型,是对BP神经网络初始权值设置阶段的优化。如图2所示,DBN模型由两层RBM(Restricted Boltzmann Machines,受限玻尔兹曼机)和一层BP神经网络组成,其中最底层节点接收模型输入数据,最低三层节点之间存在无向连接,高两层之间存在有向连接。
[0067] RBM(Restricted Boltzmann Machines,受限玻尔兹曼机)是由Hinton和Sejnowski于1986年提出的一种生成式随机神经网络。
[0068] BP神经网络(Back Propagation Neural Network)是一种按误差逆传播算法训练的多层前馈神经网络
[0069] 所述PSO(Particle Swarm Optimization,粒子群算法)是一种基于种群的搜索算法,其中每个个体称作粒子,每个粒子代表一个待优化问题的潜在解,且每个粒子保存有其历史最优位置、当前速度以及种群历史最优位置的记忆。每演化一代,粒子利用当前信息和记忆信息调整自己的位置和速度,并更新记忆。粒子在多维搜索空间中不断调整位置,直到种群到达平衡状态,或者超过了计算限制为止。附图说明
[0070] 图1为本发明具体实施例1所述的一种基于改进DBN模型的水军检测方法流程图
[0071] 图2为本发明具体实施例1所述的一种基于改进DBN模型的水军检测方法中的预训练流程图;
[0072] 图3为本发明具体实施例1所述的一种基于改进DBN模型的水军检测系统结构框图
[0073] 图4为本发明具体实施例2所述的一种基于改进DBN模型的水军检测方法中DBN模型示意图;
[0074] 图5为本发明具体实施例2所述的一种基于改进DBN模型的水军检测方法中单层RBM模型示意图;
[0075] 图6为本发明具体实施例2所述的一种基于改进DBN模型的水军检测方法中单层BP单元结构图;
[0076] 图7为本发明具体实施例2所述的一种基于改进DBN模型的水军检测方法中PSO算法寻优过程示意图。
[0077] 附图中,各标号所代表的部件列表如下:
[0078] 1、训练检测模块,2、水军识别模块,11、分类训练模块,12、迭代训练模块,13、模型测试模块,111、接收模块,112、归一化模块,113、数据集模块,121、预训练模块,122、微调模块,1211、第一预训练模块,1212、第二预训练模块,1213、BP预训练模块,1221、模型微调模块,1222、值判断模块。

具体实施方式

[0079] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0080] 如图1所示,本发明具体实施例1所述的一种基于改进DBN模型的水军检测方法流程图,具体包括以下步骤:
[0081] 步骤1:接收已分类数据集,所述已分类数据集中包含多个用户历史行为向量;
[0082] 步骤2:将所有用户历史行为向量进行归一化处理;
[0083] 步骤3:建立训练数据集和测试数据集;将归一化处理后的用户历史行为向量一部分添加到训练数据集,剩余部分添加到测试数据集;
[0084] 步骤4:对原始DBN深度信念网络模型进行预训练:采用逐层无监督贪婪学习的方法序列权值参数,并设置偏置,预训练完成后的改进DBN深度信念网络模型等同与BP神经网络模型;
[0085] 步骤5:采用PSO粒子群算法对改进DBN深度信念网络模型进行微调,将最优权值向量叠加一个随机向量作为粒子的初始化位置,计算输出初始位置向量组;
[0086] 步骤6:判断得到的初始位置向量值与最优权值向量值的差值是否小于预设值,如果是,进行步骤7;否则,进行步骤5;
[0087] 步骤7:测试数据集对训练后的改进DBN深度信念网络模型进行测试,判断是否达到预设的判定准确率,如果是,进行步骤8;否则,跳转至步骤4;
[0088] 步骤8:将待分类数据集中的数据输入改进DBN深度信念网络模型进行分类,完成对水军用户的识别。
[0089] 所述改进DBN深度信念网络模型包括依次连接的第一层RBM受限玻尔兹曼机单元、第二层RBM受限玻尔兹曼机单元和一层BP神经网络单元;第一层RBM受限玻尔兹曼机单元和第二层RBM受限玻尔兹曼机单元之间无向连接,第二层RBM受限玻尔兹曼机单元向BP神经网络单元单向输出数据。
[0090] 所述RBM受限玻尔兹曼机单元包括两层节点,其中一层称为可见层,另一层称为隐蔽层,每个节点都存在一个偏置值;可见层与隐蔽层之间双向连接,具有连接的权值矩阵。
[0091] 如图2所示,为本发明具体实施例1所述的一种基于改进DBN模型的水军检测方法中的预训练流程图,所述步骤4具体包括以下步骤:
[0092] 步骤4.1:对第一层RBM受限玻尔兹曼机单元中的可见层采用能量模型进行特征提取,以无监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
[0093] 步骤4.2:将第一层RBM受限玻尔兹曼机单元的隐蔽层作为第二层RBM受限玻尔兹曼机单元的可见层,采用能量模型进行特征提取,以无监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
[0094] 步骤4.3:将隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量作为BP神经网络单元的输入值;
[0095] 步骤4.4:将待确定的BP神经网络单元权值向量作为PSO粒子群算法中的粒子位置向量,将某个权值向量下BP神经网络单元的输出与预期输出的差值作为PSO算法中粒子位置优劣的衡量指标,采用PSO粒子群算法得到最优粒子位置,所述最优粒子位置为BP神经网络单元的最优权值向量,完成对BP神经网络单元的预训练。
[0096] 所述PSO粒子群算法中,设搜索空间为m维,第i个粒子位置表示为向量xi=(xi1,xi2,……,xim);第i个粒子的历史最优位置为pi=(pi1,pi2,……,pim),pg为所有pi(i=1,2,……,n)中的最优位置;第i个粒子的速度为向量vi=(vi1,vi2,……,vim);每演化一代,粒子的状态都依据当前群体信息发生变化,其位置更新公式为:
[0097] xi(t+1)=xi(t)+vi(t+1) (1)
[0098] 速度更新公式为:
[0099] vi(t+1)=ω×vi(t)+c1×rand()×(pi(t)-xi(t))+c2×rand()×(gi(t)-xi(t)) (2)
[0100] 其中ω为惯性权重;pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;c1和c2为学习因子,代表了将每个粒子拉向pi和gi位置的随机加速项的权重;vmax和xmx分别代表速度限制和位置限制。
[0101] 如图3所述,本发明具体实施例1所述的一种基于改进DBN模型的水军检测系统,包括训练检测模块1和水军识别模块2;
[0102] 所述训练检测模块1采用已分类数据集对原始DBN深度信念网络模型进行训练和检测,构成改进DBN深度信念网络模型;
[0103] 所述水军识别模块2用于将待分类数据集中的数据输入改进DBN深度信念网络模型进行分类,完成对水军用户的识别。
[0104] 所述训练检测模块1包括:分类训练模块11、迭代训练模块12和模型测试模块13;
[0105] 所述分类训练模块11用于将已分类数据集分为两组,一组数据为训练数据集,用于训练原始DBN深度信念网络模型;另一组为测试数据集,用于测试原始DBN深度信念网络模型;
[0106] 所述迭代训练模块12用于采用训练数据集对原始DBN深度信念网络模型进行迭代训练;
[0107] 所述模型测试模块13用于采用测试数据集对训练后的改进DBN深度信念网络模型进行测试,判断是否达到预设的判定准确率。
[0108] 所述分类训练模块11包括:接收模块111、归一化模块112和数据集模块113;
[0109] 所述接收模块111用于接收已分类数据集,所述已分类数据集中包含多个用户历史行为向量;
[0110] 所述归一化模块112将所有用户历史行为向量进行归一化处理;
[0111] 所述数据集模块113用于建立训练数据集和测试数据集;将归一化处理后的用户历史行为向量一部分添加到训练数据集,剩余部分添加到测试数据集。
[0112] 所述迭代训练模块12包括:预训练模块121和微调模块122;
[0113] 所述预训练模块121用于对原始DBN深度信念网络模型进行预训练:采用逐层无监督贪婪学习的方法序列权值参数,并设置偏置,预训练完成后的改进DBN深度信念网络模型等同与BP神经网络模型;
[0114] 所述微调模块122用于对改进DBN深度信念网络模型进行微调:对上述已完成初始权值和偏置设置的BP神经网络模型进行误差反向传播训练。
[0115] 所述预训练模块121包括:第一预训练模块1211、第二预训练模块1212和BP预训练模块1213;
[0116] 所述第一预训练模块1211用于对第一层RBM受限玻尔兹曼机单元中的可见层采用能量模型进行特征提取,以无监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
[0117] 所述第二预训练模块1212用于将第一层RBM受限玻尔兹曼机单元的隐蔽层作为第二层RBM受限玻尔兹曼机单元的可见层,采用能量模型进行特征提取,以无监督学习的方式预测隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量;
[0118] 所述BP预训练模块1213用于将隐蔽层节点的数值、连接权值、可见层偏置向量和隐蔽层偏置向量作为BP神经网络单元的输入值;将待确定的BP神经网络单元权值向量作为PSO粒子群算法中的粒子位置向量,将某个权值向量下BP神经网络单元的输出与预期输出的差值作为PSO算法中粒子位置优劣的衡量指标,采用PSO粒子群算法得到最优粒子位置,所述最优粒子位置为BP神经网络单元的最优权值向量,完成对BP神经网络单元的预训练。
[0119] 所述微调模块122包括:模型微调模块1221和值判断模块1222;
[0120] 所述模型微调模块1221用于采用PSO粒子群算法对改进DBN深度信念网络模型进行微调,将最优权值向量叠加一个随机向量作为粒子的初始化位置,计算输出初始位置向量组;
[0121] 所述值判断模块1222用于判断得到的初始位置向量值与最优权值向量值的差值是否小于预设值。
[0122] 以下是本发明具体实施例2所述的一种基于改进DBN模型的水军检测方法的具体过程:
[0123] 网络论坛用户历史行为多属性描述框架
[0124] 由于对用户是否“苍蝇水军”的判断建立在用户历史行为的基础之上,因此本专利首先对用户历史行为进行描述。相关社会学研究表明,反映网络论坛用户历史行为的因素包括用户注册时间、历次登陆时间、用户名、密码、登陆IP、浏览历史记录、发帖历史记录、回帖历史记录、论坛好友记录、粉丝记录、关注用户记录等。
[0125] 根据上述研究,本专利提出网络论坛用户历史行为多属性描述框架,用向量对用户历史行为进行描述,从而为用户历史行为量化表示及DBN模型训练奠定基础。网络论坛用户历史行为多属性描述框架如表1所示。
[0126]属性名 说明 详情
RegisterPeriod 注册时长 注册论坛时间长短
LoginFrequency 登录频率 登陆次数/注册时长
OnlinePeriod 在线时长 论坛在线时间长短
UsernameLength 用户名长度 用户名长度
PasswordLength 密码长度 密码长度
PostRate 发帖数 发帖数/总贴数
ReplyRate 回帖数 回帖数/总贴数
SurfingFrequency 浏览帖子时间 浏览帖子时间/在线时长
EditingFrequency 发帖时间 发帖时间/在线时长
FansNumber 粉丝数 粉丝数
ConsiderNumber 关注数 关注数
[0127]
[0128] 表1 网络论坛用户历史行为多属性描述框架
[0129] 对DBN模型的训练需要数字化的已分类数据集合,因此本专利依照上述网络论坛用户历史行为多属性描述框架,对用户的历史行为进行量化表示。例如,某用户A的用户历史行为如表2所示,其用户历史行为向量则为[792天,100次/792天,89小时/792天,6位,6位,20篇/20篇,0篇,83小时/89小时,6小时/89小时,20个,3个]。
[0130]属性名 值
RegisterPeriod 792天
LoginFrequency 100次/792天
OnlinePeriod 89小时
UsernameLength 6位
PasswordLength 6位
PostRate 20篇
ReplyRate 0篇
SurfingFrequency 83小时
EditingFrequency 6小时
FansNumber 20个
ConsiderNumber 3个
[0131] 表2 用户A历史行为属性列表
[0132] 基于已分类样本集合的DBN模型训练
[0133] DBN模型的训练基于已分类的样本数据集合,集合中的数据分为两组,一组用于训练,一组用于测试。训练数据集合对DBN模型进行若干轮迭代训练,直至满足停止条件;测试数据集合测试训练之后的DBN模型是否达到设定的判定准确率,如果达到则结束模型训练,如果没有则需要继续用训练数据集合进行模型训练,直到模型通过测试数据集合的测试。此时得到的DBN模型就可以用于待分类用户数据的分类,即判定用户是否“苍蝇水军”。
[0134] 样本数据预处理
[0135] 本专利中,输入样本数据是一组已分类用户的历史行为信息,通过之前的处理,可以将这些信息表示为用户历史行为向量。由于用户历史行为向量中每个维度的数值范围不同,不利于DBN模型初始权值的设定以及训练过程的快速收敛,因此首先对用户历史行为向量进行归一化处理,这样在设定DBN模型初始权值的时候,就可以在(-1,1)中随机选取数值。
[0136] 对于用户历史行为向量中数值范围不在[-1,1]的维度,首先找出样本集合中此维度的最大数值,并依据此数值,对每个样本向量的对应维度进行归一化。比如,样本集合中最大的用户注册时长为1000天,则所有用户历史行为向量的“注册时长”维度数值以1000为基准进行归一化,则表2中的用户A得到的“归一化注册时长”为0.729。
[0137] 对已分类数据集合归一化处理之后,需要将数据集合分为两部分:训练集与测试集。训练集用于迭代训练DBN模型的权值参数,测试集用于检测训练后的DBN模型是否达到要求的判定准确率,是否需要继续进行训练。一般,训练集所需的样本数比较多,测试集所需的样本数比较少,因此本专利在归一化后的已分类样本数据集合中随机抽取20%组成检测集J,剩下的组成训练集N。
[0138] DBN模型建模
[0139] DBN(Deep Belief Network,深度信念网络)模型是深度神经网络的一种,是由多层随机变量节点组成的概率生成模型,是对BP神经网络初始权值设置阶段的优化。如图4所示,DBN模型由两层RBM(Restricted Boltzmann Machines,受限玻尔兹曼机)和一层BP神经网络组成,其中最底层节点接收模型输入数据,最低三层节点之间存在无向连接,高两层之间存在有向连接。DBN的训练过程分为两个阶段:预训练阶段和微调阶段。
[0140] 预训练阶段采用逐层无监督贪婪学习的方法来训练权值参数:首先把数据向量X和第一层隐藏层H0作为一个RBM,训练出这个RBM的参数(连接V0与H0的权重矩阵W0、V0和H0各个节点的偏置a和b),然后固定这个RBM的参数,把H0视作可见层,把H1视作隐藏层,训练第二个RBM,并得到其参数。最上层的BP神经网络以第二个RMB的输出H1作为输入,经过一层BP神经网络学习,就完成了DBN模型的预训练过程。这个过程中,每层RBM的学习过程相互独立,大大简化了模型的训练过程。
[0141] 预训练之后,将整个网络等价为BP神经网络,此时,这个BP神经网络的初始权值和偏置已经设置完成,可以继续进行误差反向传播训练,这个过程叫做微调。
[0142] DBN模型预训练中基于RBM的无监督学习过程
[0143] RBM(Restricted Boltzmann Machines,受限玻尔兹曼机)是由Hinton和Sejnowski于1986年提出的一种生成式随机神经网络。如图5所示,一个RBM单元由两层节点组成,其中一层叫做可见层,用V表示,另一层叫做隐藏层,用H表示,网络的每个节点都存在一个偏置值,可见层的偏置值向量用a表示,隐藏层的偏置值向量用b表示,相邻层之间有存在双向连接,连接的权值矩阵用W表示。RBM是一种基于能量的模型,定义RBM单元的能量计算公式为:E(V,H)=-Σiaivi-Σjbjhj-ΣiΣjhjwijvj,为了使RMB单元达到平衡(即整体能量达到最小),就要最大化观测数据V的似然函数,此时就可以得到H、a、b和W的参数值。
[0144] RBM基于最大似然法则,用能量模型对可见层的特征进行提取,从而以无监督学习的方式预测隐藏层节点的数值以及连接权值。单个RBM的训练过程如下:
[0145]
[0146] 在算法参数选择方面,隐层节点数目不宜过多,否则容易造成过拟合。本专利根据相关文献中的经验值,取训练样本X0为训练样本集合N,隐层单元个数设置为5,学习率ε为0.2,最大训练周期为50。通过对每个RBM进行无监督贪心学习,可以得到最高层RBM的输出值,将此输出值作为BP神经网络的输入值,并结合训练数据的预期分类对BP神经网络进行反向传播训练。。
[0147] DBN模型预训练中基于PSO的改进BP神经网络训练过程
[0148] BP神经网络(Back Propagation Neural Network)是一种按误差逆传播算法训练的多层前馈神经网络,如图6所示,BP神经网络的训练由信息正向传播和误差的反向传播两个过程组成,当正向传播结果与预期输出不符时,计算输出值与预期值的差值,并按照梯度下降方式修正连接权值,此过程一直进行到网络输出的误差减小到可以接受的程度为止。
[0149] BP神经网络的训练过程本质上是通过逐层迭代和反向传播寻找网络权值的最优组合,从而最小化网络输出和预期输出的差值,但是训练过程中,通过反向传播对网络权值调整的过程非常慢。本专利用PSO算法取代BP神经网络中的反向传播过程,从而加快了BP神经网络的训练速度。
[0150] PSO(Particle Swarm Optimization,粒子群算法)是一种基于种群的搜索算法,其中每个个体称作粒子,每个粒子代表一个待优化问题的潜在解,且每个粒子保存有其历史最优位置、当前速度以及种群历史最优位置的记忆。每演化一代,粒子利用当前信息和记忆信息调整自己的位置和速度,并更新记忆。粒子在多维搜索空间中不断调整位置,直到种群到达平衡状态,或者超过了计算限制为止。
[0151] 设搜索空间为m维,第i个粒子位置表示为向量xi=(xi1,xi2,……,xim);第i个粒子的历史最优位置为pi=(pi1,pi2,……,pim),pg为所有pi(i=1,2,……,n)中的最优位置;第i个粒子的速度为向量vi=(vi1,vi2,……,vim)。如图7所示,每演化一代,粒子的状态都依据当前群体信息发生变化,其位置更新公式为:
[0152] xi(t+1)=xi(t)+vi(t+1) (1)
[0153] 速度更新公式为:
[0154] vi(t+1)=ω×vi(t)+c1×rand()×(pi(t)-xi(t))+c2×rand()×(gi(t)-xi(t)) (2)[0155] 其中ω为惯性权重;pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;c1和c2为学习因子,代表了将每个粒子拉向pi和gi位置的随机加速项的权重;vmax和xmx分别代表速度限制和位置限制。
[0156] 本专利用PSO算法模拟BP神经网络的网络权值寻优过程,其中,将待确定网络权值向量作为PSO算法中的粒子位置向量;将某个权值向量下BP神经网络输出与预期输出的差值作为PSO算法中粒子位置优劣的衡量指标,差值越小,则表示这组权值越优,即这个粒子位置越好;由于之前已经对训练样本数据进行归一化处理,所以DBN网络中的权值应该都在(-1,1)之间,因此将PSO算法的速度最大值设置为1,将PSO算法的位置最大值设置为1。根据搜索空间和搜索粒度大小,设定初始粒子数k=5,根据相关算法经验,设定惯性权重ω为[0,1]之间的一个随机数,学习因子c1和c2分别设定为1.4和0.6,最大迭代次数设置为30。
[0157] PSO算法模拟BP神经网络进行权值向量寻优的迭代过程如下:
[0158]
[0159]
[0160] PSO算法收敛时所得到的最优粒子位置就是BP神经网络的最优权值向量,此时就完成了预训练阶段中的BP神经网络训练部分。此后,可以将这个DBN模型看做已经初始化权值的BP神经网络,用训练数据集合对其进行反向传播训练,即进入DBN模型的微调阶段。
[0161] DBN模型微调
[0162] 在微调阶段中,可以把DBN模型看做一个BP神经网络。传统DBN模型的微调阶段,用BP网络反向传播的方式微调各个权值,但是如上所述,反向传播的方式对网络权值的调整非常缓慢,因此本专利在这个阶段仍然采用PSO算法替代反向传播,用于调整网络权值。
[0163] 与上一步中使用的PSO算法不同,在微调阶段,网络权值已经得到初始化,且该初始化值已经比较接近最优位置,因此在这一阶段的PSO算法中,粒子的初始化位置在现有网络权值的基础上叠加一个随机向量获得,且该随机向量的取值范围不必太大。PSO算法粒子初始位置向量生成流程为:
[0164]
[0165] 之后可以用与上节相同的流程对PSO进行迭代,由于预训练之后初始权值和最优权值的差别已经相当小,一般经过几轮迭代就可以达到收敛条件,得到最优权值向量。
[0166] 完成整个DBN模型的训练过程之后,可以将该模型用于待分类用户历史行为向量的分类,从而判断该用户是否“苍蝇水军”。
[0167] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈