王鹏,杨华民,邱宁佳,杨迪,李松江
(长春理工大学 计算机科学技术学院,长春130022)
基于CNN算法的网络信任等级模型研究
王鹏,杨华民,邱宁佳,杨迪,李松江
(长春理工大学 计算机科学技术学院,长春130022)
提出一种基于CNN算法的网络信任等级模型,解决用户节点信任值的高低对整个网络信任度造成影响问题。使用设定好的卷积神经网络对用户节点数据进行训练,完成用户信任等级分类工作,在提高执行效率的基础上,对数据完成有效分类,确定用户特征属性的具体维度范围,并通过噪声、运行时间、准确率和分类精度等不同方面对不同算法进行对比验证模型,实验结果表明,改进后的算法在集群环境下执行的效率得到很大提升,能够高效处理实验数据。
CNN;信任模型;信任等级分类;模型验证
近年来,社交网络普遍流行发展起来,随之而来的网络安全问题也受到了人们的重视。学者们也开始了对社交网络的信任关系模型的广泛探讨。Magnusson等人提出一个能实现信任问题仿真的信任计算系统,能通过仿真模拟信任社交网络上的个人直接连接,通过整合的信任值计算最终返回代表实际信任的信任评分[1]。Nepal等人提供了一个信任推理模型,比较和评估可用的信任路径和聚合方法的长度会影响预测的准确性,然后提出最佳的策略,以最大限度地提高预测精度[2-3]。Moyano等人提出了FIRE模型,该模型全面考虑信任的来源,并对其进行分类,融合了多种不同的信任评价方式[4]。孟宪佳等人在进行信任评估的同时综合了用户的态度、经验和行为三者来完成,并通过实验验证了模型对复杂网络的各种变化具有较高的适应能力[5]。王勇等人针对传统社交网络缺乏用户关系描述方法的问题,从用户关系角度出发,将信任引入作为表征用户关系的要素,提出了一种信任链形式化模型(TCFM)[6]。
针对信任预测所存在的问题,大量学者提出了利用人工神经网络的计算网络结构对评估过程进行改进,Djuric等人提出了基于神经网络的信用风险评估模型,成功地解决了金融风险管理领域的一个研究热点问题[7-9]。Yang等人提出了基于神经网络的城市信用评估模型,利用遗传算法提高了分类精度达到了评级精准的目的[10]。徐旭等人设计了基于专家系统和人工神经网络的混合智能信用排序系统,通过实验分析验证了系统的推荐和理解能力的智能化,以及更加准确和强大的信用排名功效[11-12]。Bissacot等人提出了一种基于Hopfield神经网络的信任模型以及网络可信度的评估方法,最大限度地减少伪稳定点的数目,极大可能地提高稳定点的吸引力[13-15]。韩艳等人通过对人工神经网络与逻辑回归分析在信用风险预测中的应用比较,验证了人工神经网络相比于逻辑回归具有更好的评分效果[16]。结合上述研究,本文构建了一种针对卷积神经网络训练用户信任等级划分过程的CNN信任模型,使用该模型可以对设定好的卷积神经网络进行训练,能够较快的确定特定应用卷积神经网络算法中用户信任等级分类问题。
CNN网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,只须用已知的模式对卷积网络加以训练,网络就具有输入输出对之间的映射能力。在开始训练前,所有的权重都用一些不同的“小随机数”进行初始化,“小随机数”用来保证网络不会因权值过大而进入饱和状态,从而导致训练失败;“不同”用来保证网络可以正常地学习,若用相同的数去初始化权矩阵,则网络无能力学习。
图1 CNN简化模型
CNN模型如图1所示,第l层的每一组特征映射都依赖于第l层的所有特征映射,定义一个连接表T来描述不同层的特征映射之间的连接关系,如果第l层的第k组特征映射依赖于前一层的第p组特征映射,则Tp,k=1,否则为0。映射关系表达式如下所示:
如果连接表T的非零个数为K,每个滤波器的大小为u×v,那么共需要K×(u×v)+nl个参数。对于卷积层得到的一个特征映射X(l),将其划分为多个子采样Rk函数定义为:
其中,down(Rk)指子采样后的特征映射。这里假定卷积层为l层,子采样层为l+1层,由于子采样层是下采样操作,l+1层的一个神经元节点的误差项δ对应于上一卷积层的相应特征映射的一个区域。
l层的第k个特征映射中的每个神经元节点都有一条边和l+1层的第k个特征映射中的一个神经元节点相连。根据链式法则,第l层的一个特征映射的误差项δ(l,k),只需要将l+1层对应特征映射的误差项δ(l,k)进行上采样操作,再和l层特征映射的激活值偏导数逐元素相乘,再乘上权重w(l,k),就得到了δ(l,k)。第l层的第k个特征映射的误差项δ(l,k)的具体推导过程如下:
其中,up()为上采样函数(Upsampling)。
由基本理论可知,令xi为评估属性向量,wij为评估属性的影响权值,以yi为输出的信任,那么对社交网络用户某行为的信任程度可以表示为信任度yi。
设zi为构成神经网络的某个神经元节点的内部状态,xi为输入信号,wij表示从zi到zj连接的权值。bi为外部输入信号(在某些状态下,可以控制神经元节点zi,使其保持在某一个状态),则其形式化描述如下:
信任节点的输入xi可以表示为对行为属性的测算值,而行为的每一个属性对于用户信任值的影响可以通过权值wij来表现。
对于计算密集型的网络应用,同样是传输行为,排队时长、CPU的利用率和通信带宽利用率等属性则更重要。
首先寻找到CNN网络的权重收敛点,并通过求得每个不同等级样本所对应各节点信任值的平均值来获得样本各个信任等级节点的信任值,再利用CNN网络的学习功能,将权重收敛点作为一个评估点,一旦输入端有待分类的网络信任值输入时,经过一个由初始输入向稳态收敛的过程,网络中的权重系数就会确定,最终达到稳定状态后,网络信任等级就是所对应的分类等级。具体的网络信任度评估实现算法如下:
输入:待评级的网络中的样本节点信任值
输出:网络信任度等级
step1:通过CNN信任模型获得社交网络中的样本节点信任值;
step2:通过给出的节点信任值等级样本求出收敛点;
step3:设计节点信任值等级评定规则;
step4:根据评定规则分别对待分类的社交网络的节点信任值等级进行匹配;
step5:创建CNN神经网络;
step6:设定神经网络的初始状态值;
step7:将待评级的各节点信任值作为CNN神经网络的输入值;
step8:网络通过自学收敛到评估点,得到网络信任度等级。
图2所示为网络信任度评估算法的仿真流程图。先需要对用户特征属性、交互信息等进行数据预处理工作,得到构成每个用户的信息列表。然后利用在上文提到的CNN信任模型,从模型文件中选出代表用户信任关系的词向量。使得每个用户信息都变成多个词向量的集合,最终可以用一个矩阵来表示每个用户。将待评估用户矩阵的集合划分为训练集和测试集,训练集用作训练卷积神经网络模型,测试集用来对模型进行评估,最终得到判断模型性能的评估指标。
由于评论矩阵的列数是可变动的,这里选取用户属性维度不超过100,这样,评估矩阵的行数为100,设定用户属性维度不足100时,在矩阵中用零向量补齐。在CNN信任模型中,词向量的维度是在模型学习时就设定好的,当得到词向量模型后,根据训练特征的维度信息计算得到了各个词语的词向量,再根据两个词向量之间的余弦值大小来判断两个用户的相关程度。这里的任务是评估用户的信任等级,因此这里在词向量模型上增加一个维度来表示这个用户的信任倾向性信息。
图2 网络信任度评估算法的分析流程
采用了分类方法中经常使用的评估指标,分别是:正确率(Precision)、召回率(Recall)、F1值(F Measure)、分类精确率(Classification accuracy)。本文希望得到分类器在所有类别上的综合性能,因此这里实验主要考察微平均(Micro-averaging)F1值作为衡量标准,即对类别集合中每个尊群都计算TP、FP和FN,并完成累加计算P、R和F1。它们的计算公式如下:
其中,TP表示分类并判定都正确的用户,FP表示分类错误但判定为该分类的用户,TN表示分类正确但判定不是该分类的用户,FN表示分类并判定都错误的用户。
使用Newsgroup数据集中用户实体作为数据节点(如表1所示),用户关注与评论作为用户交互实验数据,共计200个节点,38020条交互数据,网络用户信任等级分为5等:一级、二级、三级、四级、五级。选取其中各族群29853条交互数据作为训练集,8167条交互数据作为测试集。同时,又在训练集中取出了30%的数据作为验证集,用来在训练模型时评估模型的性能。参数设置如下:输入矩阵为100×n(n为词向量维度),卷积过滤器100个,卷积过滤器窗口3,选取ReLU函数作为卷积层激活函数,设定2层采样层,使用梯度下降法进行参数优化反复训练迭代100次。
(1)词向量维度界定
本实验先训练出不同维度的词向量模型,利用词向量模型将每个用户特征转化为了不同维度的词向量,因此得到了不同维度的特征矩阵。通过本实验得到了不同维度特征矩阵和模型的F1值的关系,如图3所示。
可以看到,当词向量的维度在增加到100维之前,模型的微平均F1值呈明显的上升趋势,而词向量的维度从100维再增加时,微平均F1值开始了震荡的过程,微平均F1值的增加不再明显。当词向量为100维时,微平均F1值为0.8965,模型预测的准确率为89.5%。说明当词向量的维度较小时,词向量所包含的信息并不能准确的表示出这个用户的等级归属,向量之间的评估也不能较好的表明两个词语的在统计意义上的相似度,随着词向量维度的增加,代表用户的向量包含的统计信息相应增多。但是当维数大于100时,向量已经基本能够代表这个词语,更多的维度在分类问题上带来的效果也越来越小,故F1值在高于100维后出现震荡。
图3 微平均F1值与维度关系
(2)实验设置和结果分析
为了处理不同维度的用户特征,本文定义用户维度最大为100,不足最大长度的维度用零向量填充。模型参数均采用随机梯度下降算法更新,模型中每个卷积层和全连接层的输出均连接到ReLU激活函数,最后一个全连接层的输出采用softmax进行分类,且采用dropout以防止过拟合。在词向量确定的基础上增加一维,用来表示这个用户的信任等级倾向性,并根据维度的倾向程度设定权重,若不包含倾向信息,则设置为0。由于要预测的是用户行为信任等级,因此根据二八准则提取数据集的80%作为样本训练集,其余20%的数据为测试集,在不同领域的数据集上进行对比实验,验证测试模型在数据集上的信任等级评估准确率。
这里选取传统的机器学习方法SVM、朴素贝叶斯(NB)、KNN、RNN和本文使用的CNN信任模型(CNN Trust)做对比。实验分三个层次:第一个层次是输入特征维度分析,在加入信任等级倾向维度前后,分析用户信任等级划分准确率情况;第二个层次是对比五种算法对数据集结果产生的性能分析;第三个层次是算法在数据集上得到的准确率对比情况。
图4 信任等级倾向维度对准确率的影响
加入信任等级倾向维度前后,用户信任等级划分准确率情况如图4所示。可以看出,使用较多的特征属性参与卷积计算时,信任等级分类准确率会明显提高,但并非属性特征越多越优,选择不当的特征属性时会降低分类的准确率,因此在本实验中选取维度为80时,出现准确率波动情况;在增加了信任等级倾向维度后,准确率明显优于未增加信任等级倾向维度的模型计算,且在维度增至90时效果最好。
针对特征属性维度增加时准确率降低的问题,我们在信任等级分类中加入噪声值来比较分类算法的性能。如图5所示,分别将分类噪声比例增加至20%、30%、50%和80%一起作为四种分析环境,对五个算法的正确率在数据集上进行比较。结果显示在噪声比例较小的情况下,CNN Trust已显现出较好的正确率,当噪声比例加大时,进一步实验分析NE算法的分类效率,从图中可以看出,随着噪声比例的增加,五个算法的分类正确率都有不同程度的降低,其中SVM算法、NB算法和KNN算法正确率下降幅度明显,RNN算法下降幅度稍缓,CNN Trust算法变化不大。因此证明CNN Trust在噪声比例逐渐增大的情况下,仍能保持良好且稳定的正确率,与其他算法相比,可见其在噪声消除上的高效性和在信任等级分类过程中的稳定性。
图5 四种比例下五个算法的准确率比较
图6 五个算法在数据集上的运行时间
五种对比算法在数据集上产生结果的性能对比如图6和7所示,可以看出五种算法在数据集上的算法总体运行时间满足下面的次序:RNN<CNN Trust<SVM<KNN<NB。由于在数据集上按数据总数从大到小排列,所以图中处理数据使用时间沿x轴正向呈递减趋势,且振幅不大,因各算法差异运行时间长短不同。RNN、CNN Trust和SVM在运行时间上相较差别不大,三条数据处理时间线段非常相近,故而进一步在正确率上对这三种算法进行比较。从五种算法在数据集上的Precision可以看出,正确率满足下面的次序:CNN Trust>RNN>KNN>SVM>NB。CNN Trust在正确率上明显优于SVM算法和NB算法,与KNN算法相比,能将正确率提高1.16到3.29个百分点,与RNN算法相比,能提高0.06到1.39个百分点。由此可见,使用CNN Trust能更有效提高信任等级分类正确率,对减少整个信任等级分类过程的空间和时间消耗是非常有效的。
图7 五个算法的准确率比较
表2为使用本文模型学习训练的信任等级信任输出与预测输出结果对比情况,可以看出信任等级输出情况基本与预测值保持一致。说明利用本文构建的模型能够提取输入的局部特征,再对局部特征进行综合考虑分析,对输入特征进行进一步的学习,从而转化为较高级的特征。输入信息为一系列的特征属性,经过卷积操作之后,特征将通过卷积层的自我学习匹配相应的信任等级类别。
本文提出了一种针对卷积神经网络训练用户信任等级划分过程的CNN信任模型,使用该模型可以对设定好的卷积神经网络进行训练,研究其对目标应用的有效性,能够较快的确定特定应用卷积神经网络算法中用户信任等级分类问题。通过对不同特征属性的维度、权值对CNN识别性能影响的模拟,确定用户特征属性的具体维度范围,并通过噪声、运行时间、准确率和分类精度等不同方面对不同算法进行对比验证模型,说明使用本文提出的方法可以大大提高其执行效率,能够高效处理实验数据。
表2 信任等级输出结果对比
[1]Magnusson K.Resettled and connected:social networks in the integration process of resettled refugees[J].Metabolomics Official Journal of the Metabolomic Society,2015,3(3):211-221.
[2]Nepal S,Bista S K,Paris C.Behavior based propagation of trust in social networks with restricted and anonymousparticipation [J].ComputationalIntelligence,2015,31(4):642-668.
[3]Moyano F,Fernandez-Gago C,Lopez J.A modeldriven approach for engineering trust and reputation into software services[J].Journal of Network and Computer Applications,2016,69(C):134-151.
[4]Azadeh A,Zia N P,Saberi M,et al.A trust-based performance measurement modeling using DEA,T-norm and S-norm operators[J].Applied Soft Computing,2015,30(C):491-500.
[5]孟宪佳,马建峰,卢笛,等.在社交网络中综合的信任评估模型[J].通信学报,2014,35(12):136-143.
[6]王勇,许荣强,任兴田,等.可信计算中信任链建立的形式化验证[J].北京工业大学学报,2016,42(3):387-392.
[7]Djuric N,Wu H,Radosavljevic V,et al.Hierarchical neural language models for joint representation of streaming documents and their content[J].International World Wide Web Conferences Steering Committee Republic and Canton of Geneva,2015:248-255.
[8]Mustafa H M H,Tourkia F B,Ramadan R M.On analysis and evaluation of comparative performance for selected behavioral neural learning models versus one bio-inspired non-neural clever model(Neural Networks Approach)[J].Open Access Library Journal,2016,03(10):1-20.
[9]Syriopoulos T.An integrated credit rating and loan quality model:application to bank shipping finance[J].Maritime Policy&Management,2015,120(6):1-22.
[10]Yang S M.Analysis and assessment of credit rating model in P2P lending:an instrument to solve information asymmetry between lenders and borrowers[D].Massachusetts:Massachusetts Institute of Technology,2015.
[12]Chen W,Wilson J T,Tyree S,et al.Compressing neural networks with the hashing trick[J].Computer Science,2015:2285-2294.
[13]徐旭,刘红军.基于BP神经网络模型的移动电子商务客户信任评价[J].统计与决策,2016(10):60-63.
[14]李凌霞.云环境下基于BP神经网络的电子商务企业信任评估模型研究[J].电子商务,2016(5):40-41.
[15]Bissacot A C G,Salgado S A B,Balestrassi P P,et al.Comparison of neural networks and logistic regression in assessing the occurrence of failures in steel structures of transmission lines[J].Open Electrical&Electronic Engineering Journal,2016,10(1):11-26.
[16]韩艳,王静宇,谭跃生.云计算环境下网格用户行为信任模型研究[J].南京邮电大学学报:自然科学版,2016,36(1):104-110.
Research on Network Trust Model Based on Convolutional Neural Network
WANG Peng,YANG Huamin,QIU Ningjia,YANG Di,LI Songjiang
(School of Computer Science and Technology,Changchun University of Science and Technology,Changchun 130022)
In paper,a convolutional neural network (CNN) based network trust model is proposed,aiming to solve the problem of how trust level of users affect the trust level of the whole network.We use configured convolutional neural network to train the user node data to complete the classification of user trust level,on the basis of improving the efficiency of the implementation,the data is classified effectively and the specific dimension range of user characteristics is determined.To verify the model,different algorithms are compared by different aspects such as noise,running time,precision and classification accuracy.The experimental results show that the efficiency of the improved algorithm in the cluster environment is greatly improved,and the experimental data can be processed efficiently.
CNN;trust model;trust classification;model verification
TP391
A
1672-9870(2017)04-0093-06
2017-05-04
吉林省科技发展计划重点科技攻关项目(20150204036GX)
王鹏(1973-),男,硕士,副教授,E-mail:whping2000@126.com