利用层叠泛化和代价敏感学习的社交网链路异常检测方法
技术领域
本发明涉及一种社交网络技术领域,特别是涉及一种利用层叠泛化和代价敏感学习的社交网络链路异常检测方法。
背景技术
在现实世界中,社交网络无处不在,例如社交网络,协作网络,蛋白质-蛋白质相互作用网络和通信网络。分析这些网络不仅在计算机科学领域,而且在社会学,物理学,生物信息学和统计领域都引起了越来越多的关注。社交网络中的链接预测是一项基本的网络分析任务,指如何预测在网络中尚未通过已知信息(如网络节点和网络结构)连接的两个节点之间生成链接的可能性。应该注意的是,链接预测包括对现有链接的预测和对未来链接的预测。
社交网络的链路预测已经深入研究。在过去的几十年中,已经提出了各种链路预测方法,并且大多数算法都基于网络结构。在这里,我们简要回顾两种用于链接预测的主流方法,相似性方法(包括节点相似性和结构相似性)和似然估计方法。到目前为止,基于相似度的链路预测方法已经取得了一系列成果,并相应地广泛应用于各个领域。基于相似度链路预测方法可以进一步分为三类,即基于邻居的,基于路径的和基于随机游走的方法。最简单的链接预测方法基于以下假设:两个节点如果有更多共同的邻居,则更可能具有链接。Newman首先使用Common Neighbor index(CN)来衡量相似度随后提出了两个节点的索引,并提出了CN的许多变体,例如Salton index,Resource Allocation index(RA),Adamic-Adar index(AA),Jaccard CoefficientHub Promoted index(HPI),Leicht-Holme-Newmanindex(LHN),Preferential Attachment index(PA)等。根据对真实网络的广泛实验,结果表明,RA指数表现最佳,而PA指数的整体表现最差。基于路径方法使用两个节点之间的路径计算节点对的相似性。示例包括Local path index(LP)和Katz指数。LP索引仅考虑长度为2和3的本地路径。Katz索引基于整体所有路径,并且可以在实际网络上获得高性能。基于随机游走的方法使用随机游走来对网络中节点之间的交互进行建模。一些代表性的方法包括Average Commute Time(ACT),SimRank,RandomWalk with Restart(RWR)和Local RandomWalk(LRW)。ACT指数基于平均值随机步行者从一个节点开始到达另一节点所需的步骤数。SimRank测量分别从两个不同的节点开始的两个随机游走者将在某个节点相遇的时间。RWR是一个PageRank算法的直接应用。LRW是一个本地索引,只关注几步随机游动。众所周知,LRW方法优于ACT索引,其计算复杂度低于ACT和RWR。第二类方法是基于似然估计的。Clauset et al.提出了一种通用技术推断网络的层次结构,并进一步将其用于预测丢失的链接。The stochastic block model将网络节点分为几组,任意两个节点之间的连接概率为决定节点属于哪个组。Pan et al.基于预定义的结构哈密顿量最大化观察到的网络的可能性,并通过将链接添加到的条件概率对未观察到的链接评分观察到的网络。Liben-Nowell和Kleinberg提出了链接预测的似然估计方法。之后,相继获得了基于似然分析的新的链接预测方法这些最大似然方法虽然计算复杂度较高,但可以提供有价值的见解。
相似度方法和似然估计方法各有其优缺点。基于相似度的方法具有计算复杂度低的特点,但是其计算结果将受到网络结构的影响。在具有不同结构特征的网络中,计算结果不稳定并且无法获得鲁棒性。基于似然估计的思想具有很强的数学意义和较高的预测精度,但是需要严格的假设,并且计算量大,不适合大规模网络。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种利用层叠泛化和代价敏感学习的社交网络链路异常检测方法。
为了实现本发明的上述目的,本发明提供了一种利用层叠泛化和代价敏感学习的社交网络链路异常检测方法,包括以下步骤:
S1,获取社交网络节点数据,将获取的社交网络节点数据中的相似性指标作为基模型学习的特征;
S2,确定基模型的超参数;
S3,对基模型的预测结果进行重新学习;得到最终的预测结果;
S4,将步骤S3中的结果发送至手持式智能移动终端。该手持式智能移动终端为手机或平板电脑。
在本发明的一种优选实施方式中,在步骤S1中基模型包括:
给定数据集D=(x
1,y
1),(x
2,y
2),(x
3,y
3),……,(x
N,y
N),其中,
y
i∈{0,1};当y
i=0时,y
i表示负类;当y
i=1时,y
i表示正类;i=1,2,3,…,N;
表示样本特征空间,n表示各个样本的特征个数;N表示数据集D中样本的个数;
由于wTx+b取值是连续的,其中w表示列向量,维度为(n,1);T表示转置;x表示列向量,维度为(n,1);b表示列向量,维度为(1,1);因此它不能拟合离散变量,可以考虑用它来拟合条件概率P(Y=1|x);但是对于w≠0,若w等于零向量则没有什么求解的价值,wTx+b取值为实数R,不满足概率取值为0到1,因此考虑采用广义线性模型;
由于单位阶跃函数不可微,对数几率函数是一个典型的替代函数:
于是有:
若y为x取正例的概率,则1-y为x取反例的概率;两者比值称为几率odds,指该事件发生与不发生的概率比值,若事件发生的概率为P,则对数几率:
将y视为类后验概率估计,重写公式有:
也就是说,输出Y=1的对数几率是由输入x的线性函数表示的模型,这就是逻辑回归模型;当wT+b的值越接近正无穷,P(Y=1|x)概率值也就越接近1;因此逻辑回归的思路是,先拟合决策边界,再建立这个边界与分类的概率联系,从而得到了二分类情况下的概率;
逻辑回归模型的数学形式确定后,剩下就是如何去求解模型中的参数;在统计学中,常使用极大似然估计法求解,即找到一组参数,使得在这组参数下,数据的似然度最大;令:
p(xi)表示第i个样本在已知特征为xi的情况下的为正类(Y=1)的概率;
yi就是二分类问题给定数据集D中的,即是yi=y1,y2,y3,...,yn,yi∈{0,1};
为了更方便求解,对等式两边同取对数,写成对数似然函数:
在机器学习中有损失函数的概念,其衡量的是模型预测错误的程度;如果取整个数据集上的平均对数似然损失,可以得到:
其中,N表示数据集D中样本的个数;
即在逻辑回归模型中,最大化似然函数和最小化损失函数实际上是等价的;
求解逻辑回归的方法有非常多,这里主要使用梯度下降法;优化的主要目标是找到一个方向,参数朝这个方向移动之后使得损失函数的值能够减小,这个方向往往由一阶偏导或者二阶偏导各种组合求得;逻辑回归的损失函数是:
梯度下降是通过J(w)对w的一阶导数来找下降方向,并且以迭代的方式来更新参数,更新方式为:
表示第i个样本权重参数的第k次迭代更新后的权重参数;
α表示学习率,表示1次参数迭代更新的快慢;
表示第i个样本权重参数的第k+1次迭代更新后的权重参数;
wi表示第i个样本的权重参数。
在本发明的一种优选实施方式中,在步骤S2中,确定基模型中超参数的方法包括交叉验证、网格搜索、早停法之一或者任意组合。
在本发明的一种优选实施方式中,在步骤S3中,根据得到最终的预测结果判断:若最后的预测结果FinalPredictionLabel大于或者等于预设结果阈值,则两节点为异常链路;若最后的预测结果FinalPredictionLabel小于预设结果阈值,则两节点为正常链路
综上所述,由于采用了上述技术方案,本发明能够对社交网络节点链路异常进行预测。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明Stacked Generalization示意图。
图2是本发明LLSLP模型框架示意图。
图3是本发明Confusion Matrix示意图。
图4是本发明FBK数据集上各算法的ROC示意图。
图5是本发明FBK数据集上各算法的PR示意图。
图6是本发明FBK数据集上各算法的PR示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
1前言
1.1背景
在现实世界中,社交网络无处不在,例如社交网络,协作网络,蛋白质-蛋白质相互作用网络和通信网络。分析这些网络不仅在计算机科学领域,而且在社会学,物理学,生物信息学和统计领域都引起了越来越多的关注。社交网络中的链接预测是一项基本的网络分析任务,指如何预测在网络中尚未通过已知信息(如网络节点和网络结构)连接的两个节点之间生成链接的可能性。应该注意的是,链接预测包括对现有链接的预测和对未来链接的预测。
社交网络的链路预测已经深入研究。在过去的几十年中,已经提出了各种链路预测方法,并且大多数算法都基于网络结构。在这里,我们简要回顾两种用于链接预测的主流方法,相似性方法(包括节点相似性和结构相似性)和似然估计方法。到目前为止,基于相似度的链路预测方法已经取得了一系列成果,并相应地广泛应用于各个领域。基于相似度链路预测方法可以进一步分为三类,即基于邻居的,基于路径的和基于随机游走的方法。最简单的链接预测方法基于以下假设:两个节点如果有更多共同的邻居,则更可能具有链接。Newman首先使用Common Neighbor index(CN)来衡量相似度随后提出了两个节点的索引,并提出了CN的许多变体,例如Salton index,Resource Allocation index(RA),Adamic-Adar index(AA),Jaccard CoefficientHub Promoted index(HPI),Leicht-Holme-Newmanindex(LHN),Preferential Attachment index(PA)等。根据对真实网络的广泛实验,结果表明,RA指数表现最佳,而PA指数的整体表现最差。基于路径方法使用两个节点之间的路径计算节点对的相似性。示例包括Local path index(LP)和Katz指数。LP索引仅考虑长度为2和3的本地路径。Katz索引基于整体所有路径,并且可以在实际网络上获得高性能。基于随机游走的方法使用随机游走来对网络中节点之间的交互进行建模。一些代表性的方法包括Average Commute Time(ACT),SimRank,RandomWalk with Restart(RWR)和Local RandomWalk(LRW)。ACT指数基于平均值随机步行者从一个节点开始到达另一节点所需的步骤数。SimRank测量分别从两个不同的节点开始的两个随机游走者将在某个节点相遇的时间。RWR是一个PageRank算法的直接应用。LRW是一个本地索引,只关注几步随机游动。众所周知,LRW方法优于ACT索引,其计算复杂度低于ACT和RWR。第二类方法是基于似然估计的。Clauset et al.提出了一种通用技术推断网络的层次结构,并进一步将其用于预测丢失的链接。The stochastic block model将网络节点分为几组,任意两个节点之间的连接概率为决定节点属于哪个组。Pan et al.基于预定义的结构哈密顿量最大化观察到的网络的可能性,并通过将链接添加到的条件概率对未观察到的链接评分观察到的网络。Liben-Nowell和Kleinberg提出了链接预测的似然估计方法。之后,相继获得了基于似然分析的新的链接预测方法这些最大似然方法虽然计算复杂度较高,但可以提供有价值的见解。
相似度方法和似然估计方法各有其优缺点。基于相似度的方法具有计算复杂度低的特点,但是其计算结果将受到网络结构的影响。在具有不同结构特征的网络中,计算结果不稳定并且无法获得鲁棒性。基于似然估计的思想具有很强的数学意义和较高的预测精度,但是需要严格的假设,并且计算量大,不适合大规模网络。
1.2主要贡献
1)针对传统的链路预测算法只考虑单一的相似性指标,易受到网络结构的影响,不具备良好的泛化性,本文在融合15个传统相似性指标的基础上提出了一种新的社交网络链路预测方法(LLSLP)。
2)本文提出的LLSLP方法不仅对传统的相似性指标进行集成,还引入了Stacking思想。使用Logistic Regression模型和LightGBM模型对15个传统的相似性指标进行非线性计算,并获得了融合指标的特征。在此基础上再采用Logistic Regression模型对融合特征进行学习,并使用Cross-validation、Grid searching和Early stopping方法进行优化,使得提出的LLSLP获得更多的互补性和更稳定的效果以及良好的泛化性。
3)在SMG、EML、NSC、YST、HMT、KHN、FBK、UGP、ADV和GRQ等10个社交网络数据集上进行详细的、系统的评估分析,且这些数据集来自不同领域,具有不同的规模和网络结构。并且采用7个不同的评估指标,更加全面的衡量算法、模型的性能。将本文提出的LLSLP方法与单一的传统算法以及模型进行了对比。
4)本文的实验结果表明提出的LLSLP在各个实验数据集上的整体表现都优于传统的算法以及模型,不仅仅在AUC值达到98.71%以上,比传统CN,Sal,Jac,Sor,HPI,HDI,LHN-I,PA,AA,RA,LP,Katz,ACT,Cos以及RWR等15种链路预测算法平均高出10.52%。并且在数据集类别极度不平衡的情况下,相对于传统15种链路预测算法,F1-score值和MCC值分别取得了3.25%-9.73%、5.90%-10.21%的提升。在不同数据集下做出较好的预测,结果分析验证了该算法的有效性,稳定性和泛化性。
本文的其余部分安排如下。在第2节中,详细介绍了Logistic Regression、LightGBM和Stacking。在第3节中,介绍了提出的LLSLP方法。在第4节中讨论了实验设置并对比分析了实验结果。最后,在第5节对本文进行了总结。另外,本文附录部分补充了相关的实验数据图,包含了ROC图、PR图以及混淆矩阵图。
2基础模型
2.1Logistic Regression
Logistic Regression(LR)的本质是:假设数据服从这个分布,然后使用极大似然估计做参数的估计。虽然被称为回归,但其实际上是分类模型,并常用于二分类。接下来以二分类问题为例介绍Logistic Regression:
考虑二分类问题给定数据集D=(x
1,y
1),(x
2,y
2),(x
3,y
3),……,(x
N,y
N),其中,
y
i∈{0,1};当y
i=0时,y
i表示负类;当y
i=1时,y
i表示正类;i=1,2,3,…,N;
表示样本特征空间,n表示各个样本的特征个数;N表示数据集D中样本的个数。
由于wTx+b取值是连续的,其中w表示列向量,维度为(n,1);T表示转置;x表示列向量,维度为(n,1);b表示列向量,维度为(1,1);因此它不能拟合离散变量,可以考虑用它来拟合条件概率P(Y=1|x)。但是对于w≠0(若等于零向量则没有什么求解的价值),wTx+b取值为实数R,不满足概率取值为0到1,因此考虑采用广义线性模型。
由于单位阶跃函数不可微,对数几率函数是一个典型的替代函数:
于是有:
若y为x取正例的概率,则1-y为x取反例的概率。两者比值称为几率(odds),指该事件发生与不发生的概率比值,若事件发生的概率为P,则对数几率:
将y视为类后验概率估计,重写公式有:
也就是说,输出Y=1的对数几率是由输入x的线性函数表示的模型,这就是逻辑回归模型。当wT+b的值越接近正无穷,P(Y=1|x)概率值也就越接近1。因此逻辑回归的思路是,先拟合决策边界(不局限于线性,还可以是多项式),再建立这个边界与分类的概率联系,从而得到了二分类情况下的概率。
逻辑回归模型的数学形式确定后,剩下就是如何去求解模型中的参数。在统计学中,常使用极大似然估计法求解,即找到一组参数,使得在这组参数下,数据的似然度(概率)最大。令:
p(xi)表示式(6)中的条件概率,表示第i个样本在已知特征为xi的情况下的为正类(Y=1)的概率。
yi就是二分类问题给定数据集D中的,即是yi=y1,y2,y3,...,yn,yi∈{0,1};
为了更方便求解,对等式两边同取对数,写成对数似然函数:
在机器学习中有损失函数的概念,其衡量的是模型预测错误的程度。如果取整个数据集上的平均对数似然损失,可以得到:
其中,N表示数据集D中样本的个数;
即在逻辑回归模型中,最大化似然函数和最小化损失函数实际上是等价的。
求解逻辑回归的方法有非常多,这里主要使用梯度下降法。优化的主要目标是找到一个方向,参数朝这个方向移动之后使得损失函数的值能够减小,这个方向往往由一阶偏导或者二阶偏导各种组合求得。逻辑回归的损失函数是:
梯度下降是通过J(w)对w的一阶导数来找下降方向,并且以迭代的方式来更新参数,更新方式为:
表示第i个样本权重参数的第k次迭代更新后的权重参数;
α表示学习率,表示1次参数迭代更新的快慢;
表示第i个样本权重参数的第k+1次迭代更新后的权重参数;
wi表示第i个样本的权重参数。
其中k为迭代次数。每次更新参数后,可以通过比较||J(wk+1)-J(wk)||小于阈值或者到达最大迭代次数从而停止迭代。
2.1.1正则化
正则化是一个通用的算法和思想,所以会产生过拟合现象的算法都可以使用正则化来避免过拟合。在经验风险最小化的基础上(也就是训练误差最小化),尽可能采用简单的模型,可以有效提高泛化预测精度。如果模型过于复杂,变量值稍微有点变动,就会引起预测精度问题。正则化之所以有效,就是因为其降低了特征的权重,使得模型更为简单。正则化一般会采用L1范式或者L2范式,其形式分别为Φ(w)=||x||1,Φ(w)=||x||2。
1)L1正则化。LASSO回归,相当于为模型添加了这样一个先验知识:w为零均值拉普拉斯分布。拉普拉斯分布:
μ表示拉普拉斯分布中的位置参数,μ=0时,拉普拉斯分布曲线对称轴在y轴上;σ表示尺度参数。
由于引入了先验知识,所以似然函数为:
d表示需要正则化的权重参数w的个数;
取log再取负,得到目标函数:
式(15)等价于原始损失函数的后面加上L1正则,因此L1正则的本质其实是为模型增加了“模型参数服从零均值拉普拉斯分布”这一先验知识。
2)L2正则化。Ridge回归,相当于为模型添加了这样一个先验知识:w服从零均值正态分布。正态分布:
由于引入了先验知识,似然函数:
取log再取负,得到目标函数:
式(18)等价于原始的损失函数后面加上L2正则,因此L2正则的本质其实是为模型增加了“模型参数服从零均值正态分布”这一先验知识。
L1正则化是在损失函数后边所加正则项为L1范数,加上L1范数容易得到稀疏解(0比较多)。L2正则化是损失函数后边所加正则项L2范数的平方,L2正则相比于L1正则来说,得到的解比较平滑(不是稀疏),但是同样能够保证解中接近于0(但不是等于0,所以相对平滑)的维度比较多,降低模型的复杂度。
2.2LightGBM
提升树是利用加模型与前向分布算法实现学习的优化过程,它有一些高效实现,如XGBoost,pGBRT,GBDT(Gradient Boosting Decision Tree)等。其中GBDT采用负梯度作为划分的指标(信息增益),XGBoost则利用到二阶导数。他们共同的不足是,计算信息增益需要扫描所有样本,从而找到最优划分点。在面对大量数据或者特征维度很高时,它们的效率和扩展性很难使人满意。解决这个问题的直接方法就是减少特征量和数据量且不影响精确度,有部分工作根据数据权重采样来加速boosting的过程,但由于GBDT没有样本权重不能应用。
微软开源的LightGBM(基于GBDT)则很好的解决这些问题,它主要包含两个算法:
1)单边梯度采样,Gradient-based One-Side Sampling(GOSS)。GOSS(从减少样本角度):排除大部分小梯度的样本,仅用剩下的样本计算信息增益。GBDT虽然没有数据权重,但每个数据实例有不同的梯度,根据计算信息增益的定义,梯度大的实例对信息增益有更大的影响,因此在下采样时,应该尽量保留梯度大的样本(预先设定阈值,或者最高百分位间),随机去掉梯度小的样本。证明此措施在相同的采样率下比随机采样获得更准确的结果,尤其是在信息增益范围较大时。
2)互斥特征绑定(Exclusive Feature Bundling,EFB)。EFB(从减少特征角度):捆绑互斥特征,也就是他们很少同时取非0值(也就是用一个合成特征代替)。通常真是应用中,虽然特征量比较多,但是由于特征空间十分稀疏,是否可以设计一种无损的方法来减少有效特征呢?特别在稀疏特征空间上,许多特征几乎是互斥的(例如许多特征不会同时为非0值,像(one-hot),可以捆绑互斥的特征。最后,将捆绑问题归约到图着色问题,通过贪心算法求得近似解。
2.2.1Gradient-based One-Side Sampling
GBDT使用决策树,来学习获得一个将输入空间映射到梯度空间的函数。假设训练集有n个实例{x1,…,xn},特征维度为s。每次梯度迭时,模型数据变量的损失函数的负梯度方向表示为{g1,…,gn},决策树通过最优切分点(最大信息增益点)将数据分到各个节点。GBDT通过分割后的方差衡量信息增益。
定义1:O表示某个固定节点的训练集,分割特征j的分割点d定义为:
I[]表示方差增益;
d作为特征分割点;
表示分割点左边的与方差增益;
则表示分割点右边的。
xij表示第xi个样本的第j个特征。
遍历每个特征的每个分裂点,找到
并计算最大的信息增益
然后,将数据根据特征j
*的分裂点
将数据分到左右子节点。
在GOSS中:
1)首先根据数据的梯度将训练降序排序;
2)保留前a个数据实例,作为数据子集A;
3)对于剩下的数据的实例,随机采样获得大小为b的数据子集B;
4)最后通过以下方程估计信息增益:
Al表示分割点d左边的数据子集;
Ar表示分割点d右边的数据子集;
式(20)与式(19)区别在于,式(19)是在某个固定节点O的训练集计算方差增益所以是
而式(20)是遍历完所有固定节点后的全部方差增益作为信息增益的估计值,所以是
此处GOSS通过较小的数据集估计信息增益
将大大地减小计算量。更重要的,接下来理论表明GOSS不会丢失许多训练精度,胜过随机采样。
Vj(d)表示数据集的真实信息增益;
A表示保留的前a个样本实例构成的数据子集;
AC表示A的补集
根据上述理论,得出以下结论:
1)GOSS的渐近逼近比率
如果数据分割不是极不平衡(例如
和
那么式(21)中近似误差将由第二项主导,当n趋于无穷(数据量很大时),
将趋于0,即数据量越大,误差越小,精度越高;
2)随机采样是GOSS在a=0的一种情况。多数情况下,GOSS性能优于随机采样,即为以下情况:C
0,β>C
α,β-α,即
其中
下面分析GOSS的泛化性。考虑GOSS泛化误差
这是GOSS抽样的实例计算出的方差增益与实际样本方差增益之间的差距。变换为
因此,在GOSS准确的情况下,GOSS泛化误差近似于全量的真实数据。另一方面,采样将增加基学习器的多样性(因为每次采样获得的数据可能会不同),这将提高泛化性。
2.2.2Exclusive Feature Bundling
EFB是通过特征捆绑的方式减少特征维度(其实是降维技术)的方式,来提升计算效率。通常被捆绑的特征都是互斥的(一个特征值为0,一个特征值不为0),这样两个特征捆绑起来才不会丢失信息。如果两个特征并不是完全互斥(部分情况下两个特征都是非0值),可以用一个指标对特征不互斥程度进行衡量,称之为冲突比率,当这个值较小时,可以选择把不完全互斥的两个特征捆绑,而不影响最后的精度。EFB的算法步骤如下:
1)将特征按照非0值的个数进行排序;
2)计算不同特征之间的冲突比率;
3)遍历每个特征并尝试合并特征,使冲突比率最小化。
高位的数据通常是稀疏的,可以设计一种无损方法来减少特征的维度。特别的,稀疏特征空间中,许多特征是互斥的,例如他们从不同时为非0值。可以绑定互斥的特征为单一特征,通过仔细设计特征算法,从特征捆绑中构建了与单个特征相同的特征直方图。这种方式的间直方图时间复杂度从O(#data*#feature)降到O(#data*#bundle),由于#bundle<<#feature,所以能够极大加速GBDT的训练过程而且损失精度。但是有两个问题:
1)如何决定哪些特征需要捆绑在一起;
2)如何构建捆绑后的特征。
理论上达到最优的特征捆绑是NP难(Non-deterministic Polynomial-Hard)问题。这意味着在多项式时间内不可能找到一个精确解。针对互斥特征捆绑问题,如Algorithm 1所示。
首先,构建一个图,其边是带权的,权重向量特征之间的冲突率关联。其次,基于特征在图中的度数进行降序排序。最后,检查有序列表中的每个特征,要么将其分配给一个与其冲突率小的现有捆绑特征,要么建立新的捆绑。算法Algorithm 1的时间复杂度为O(#feature)且在训练之前仅处理一次。当特征数量没有那么大时这个复杂度是可以接受的,但如果面对几百万个特征就会受到很大的影响。为了大大提高效率,提出了一种不需要建图且更有效率的排序策略:依据非0值的数量进行排序。这与依据度数排序是相似的,因为非0值的数量多有几率制造更大的冲突。因为只改变了排序策略,所以省略新算法的细节以避免重复。
对于第二个问题,为了减少训练复杂度,需要一个好方法来合并应该捆绑的两个特征。关键是必须保证能从捆绑特征值中识别出原始特征的取值。因为基于直方图的算法存储离散的箱子而不是连续的特征值,可以通过使互斥特征分别从属不同的箱子来构造捆绑特征。这可以通过给原始特征添加偏移量来完成。举个例子,假设在一个捆绑特征里有两个特征需要合并。开始A特征的取值范围是[0,10),B特征的取值范围是[0,20)。然后给特征B添加一个10的偏移量,那么特征B的取值就变成了[10,30)。之后就可以合并特征A和B去代替原始的A和B,合并后的取值为[10,30]。
算法细节在Algorithm 2中体现。
EFB算法可以将很多互斥特征捆绑成低维稠密特征,这样可以避免很多针对特征取值为0的不必要的计算。的确,可以优化基于直方图的算法,使用一张表来记录每个特征的非0取值。实际,通过用表记录数据中的非0值,来忽略零值特征,达到优化基础的直方图算法。通过扫描表中的数据,建直方图的时间复杂度将从O(#data)降到O(#non_zero_data)。然而,在整棵树的建立过程中都需要花费额外的内存和算力去保存和更新这张表。在LightGBM中实现了这种优化并将其作为一个基本功能。值得注意的是,这种优化方法与EFB算法并不是冲突的,因为当捆绑后的特征依然稀疏时仍可以使用它。
2.3Stacked Generalization
集成学习是一种机器学习范式。在集成学习中,会训练多个模型(通常称为“弱学习器”)解决相同的问题,并将它们结合起来以获得更好的结果。最重要的假设是:当弱模型被正确组合时,可以得到更精确或更具有鲁棒性的模型。在大多数情况下,这些基本模型本身的性能并不是非常好,可能是因为它们具有较高的偏置(例如,低自由度模型),也可能是因为它们的方差太大导致鲁棒性不强(例如,高自由度模型)。集成方法的思想是通过将这些弱学习器的偏置或方差结合起来,从而创建一个强学习器(或“集成模型”),从而获得更好的性能。通常主要采用以下三种方法组合弱学习器:
1)Bagging,该方法通常考虑的是同质弱学习器,相互独立地并行学习这些弱学习器,并按照某种确定性的平均过程将它们组合起来。
2)Boosting,该方法通常考虑的也是同质弱学习器。它以一种高度自适应的方法顺序地学习这些弱学习器,并按照某种确定性的策略将它们组合起来。
3)Stacking(Stacked Generalization),该方法通常考虑的是异质弱学习器,并行地学习,并通过训练“元模型”将它们组合起来,根据不同弱模型的预测结果输出最终的预测结果。
Stacking与Bagging和Boosting主要存在两方面的差异。首先,Stacking通常考虑的是异质弱学习器(不同的学习算法被组合在一起),而Bagging和Boosting主要考虑的是同质弱学习器。其次,Stacking学习用元模型组合基础模型,而Bagging和Boosting则根据确定性算法组合弱学习器。Stacking的概念是学习几个不同的弱学习器,并通过训练一个“元模型”来组合它们,然后基于这些弱模型返回的多个预测结果输出最终的预测结果。因此,为了构建Stacking模型,需要定义两个东西:想要拟合的L个学习器以及组合它们的元模型。例如,对于分类问题来说,可以选择KNN分类器、Logistic Regression和SVM作为弱学习器,并决定学习神经网络作为元模型。然后,神经网络将会把三个弱学习器的输出作为输入,并返回基于该输入的最终预测。所以,假设想要拟合由L个弱学习器组成的Stacking集成模型,必须遵循以下步骤:
1)将训练数据分为两组;
2)选择L个弱学习器,用它们拟合第一组数据;
3)使L个学习器中的每个学习器对第二组数据中的观测数据进行预测;
4)在第二组数据上拟合元模型,使用弱学习器做出的预测作为输入。
在前面的步骤中,将数据集一分为二,因为对用于训练弱学习器的数据的预测与元模型的训练不相关。因此,将数据集分成两部分的一个明显缺点是,只有一半的数据用于训练基础模型,另一半数据用于训练元模型。为了克服这种限制,可以使用类似k折交叉验证的训练方法。这样所有的观测数据都可以用来训练元模型:对于任意的观测数据,弱学习器的预测都是通过在k-1折数据(不包含已考虑的观测数据)上训练这些弱学习器的实例来完成的,如图1所示。
换句话说,它会在k-1折数据上进行训练,从而对剩下的一折数据进行预测。迭代地重复这个过程,就可以得到对任何一折观测数据的预测结果。这样可以为数据集中的每个观测数据生成相关的预测,然后使用所有这些预测结果训练元模型。Stacking方法会训练一个元模型,该模型根据较低层的弱学习器返回的输出结果生成最后的输出。
3提出的链路预测方法
3.1提出的链路预测算法(LLSLP)
本文将社交网络的链路预测视为一个二元分类问题,并考虑了每两个节点的15个相似性指标,即CN,Sal,Jac,Sor,HPI,HDI,LHN-I,PA,AA,RA,LP,Katz,ACT,Cos,RWR。首先,相似度指标被视为网络中任何两个节点的特征。然后,选择Logistic Regression和LightGBM作为基本模型。最后,引入Stacking思想,对基础模型的预测结果进行重新学习,以获得更好的预测结果。
3.1.1划分节点对
考虑到具有n个节点的社交网络,有
个节点对。构造的网络中所有节点对的数据集
包括特征集F和类别集C。首先,采用分层抽样的方法,按照8:2的比例将所有节点对分别划分为原始训练集
与原始测试集
3.1.2构建训练集与测试集
在原始训练集
与原始测试集
中,分别计算节点对(n
x,n
y)的15个相似性指数(CN,Sal,Jac,Sor,HPI,HDI,LHN-I,PA,AA,RA,LP,Katz,ACT,Cos,RWR),同时将这15个相似性指数作为节点n
x和n
y之间的15个不同特征,获得所有节点对的特征集F。在原始网络中,如果节点对连接,则归为类别1,否则将其归为类别0。因此,获得了一组网络节点对的类别集C。最后,将特征集与类别集组合得到训练集D
train与测试集D
test。
3.1.3不平衡问题
当一个分类任务的数据集中来自不同类别的样本数目相差悬殊时,通常称该数据集为“类别不平衡”的。显然,网络中的链接是稀疏的,对于网络中的节点,具有连接边缘的节点对的数量比没有连接边缘的节点对的数量要少得多。同时,在链路预测中通常更关注有连接边缘的节点对,即少数类。因此,训练集与测试集中的类别不平衡。在机器学习中,对于不平衡样本的学习,容易出现过度拟合问题,导致模型泛化能力较差,并使预测毫无意义。对于不平衡数据,为了不改变原始数据分布,本文使用代价敏感学习(Cost-sensitiveLearning)策略。代价敏感学习给少数类样本分配较高的误分类代价,而给多数类样本分配较小的误分类代价。通过这种方式代价敏感学习在学习器的训练过程中提高了少数类别样本的重要性,以此减轻分类器对多数类的偏好。以Logistic Regression为例对代价敏感学习进行简要介绍。
由式(8)可知目标函数的极大似然函数:
那么要使样本预测错误最少,让J(w)达到最小。在代价敏感的前提下,进行推导之前加入正负样本权值[α,β],则式(22)变为:
求导则有:
假设yi=1或yi=0则有:
迭代wj收敛为止:
wj:=wj+μ[αyi+(β-α)p(xi)yi-βp(xi)]xj (26)
综上所述,正负样本权值[α,β]放大了其中判错某一类的代价。假设模型为二分类,根据正负样本比例取值方法如下:
更一般的形式为:
其中,nclasses为样本类别数量。
3.1.4提出的LLSLP算法
在获得训练集D
train与测试集D
test以及确定数据类别不平衡的解决方法后,将训练集D
train与测试集D
test分别放入第一个学习层中进行学习。该学习层中包含了2个基学习器LR与LightGBM,并使用Cross-validation、Grid searching和Early stopping的方法确定模型的超参数,得到2个基学习器对15个传统相似性指标的融合特征。接着将基学习器学到的2个融合指标合并构建,得到新的训练集
与测试集
并且将
放入第二个学习层中进行学习。第2层中只包含一个Meta-Classifier,为LR模型,同样在学习过程中使用Cross-validation、Grid searching和Early stopping确定模型超参数。最后用Meta-Classifier训练得到的模型H(x)=h'(h
1(x),h
2(x),…,h
T(x))对新测试集
进行预测,获得最后的预测结果FinalPredictionLabel:若最后的预测结果FinalPredictionLabel大于或者等于预设结果阈值,则两节点为异常链路;若最后的预测结果FinalPredictionLabel小于预设结果阈值,则两节点为正常链路。提出的算法细节如Algorithm 3所示。
3.2链路预测模型构建
为了获得更好的预测效果,选择差异较大的模型作为基模型。LogisticRegression是一个计算模型,而LightGBM是一个树模型,集成它们的算法将具有更好的准确性与泛化性。本文使用Logistic Regression和LightGBM作为两个基模型对训练集进行训练,采用5折Cross-validation,Grid searching和Early stopping确定基模型的超参数。在基模型训练完成后,引入Stacking方法集成上述两个基模型。将通过LogisticRegression和LightGBM预测的链接的存在和不存在的概率重新作为特征。由于Stacking的有效性主要来自于特征抽取,而表示学习中总是伴随着过拟合问题,因为第二层的特征来自于第一层数据的学习,那么第二层数据中的特征中不应包括原始特征,以达到降低过拟合的风险。同时,为了降低过拟合问题,第二层分类器应该是较为简单的分类器,广义线性如Logistic Regression是一个较好的选择。在特征的提取过程中(也就是第一层的学习),已经使用了复杂的非线性变换,因此在输出层不宜使用太过于复杂的分类器。这一点与神经网络的激活函数或者输出层类似,都是较为简单的函数,并且能控制复杂度。另外使用Logistic Regression不但可以配合L1正则化选取有效的特征,从第一层的基模型中删除不必要的模型,节省运算开销,进一步防止过拟合,而且Logistic Regression的输出结果可以被理解为概率,这一点较适宜于部分分类任务。综上所述,本文选取LogisticRegression作为Meta-Classifier,对已学习到的新特征进行重新训练,并确定最终的预测结果。LLSLP模型框架如图2所示。
4实验结果与分析
4.1数据集
为了全面评估提出的LLSLP方法进行链路预测的有效性,实验使用了来自各个领域的10个真实网络。其中UPG是配电网络。YST是生物网络。KNH,SMG,NSC和GRQ是不同研究领域的共同作者网络。HMT,FBK和ADV是社交网络。EML是一个共享电子邮件的个人的网络。精心选择了这些网络以涵盖广泛的属性,包括不同的大小、平均度、聚类系数、异质性指数和不平衡系数IR(Imbalance Ratio)为连接边与非连接边的比值。下表中列出了在实验中使用的网络的结构特性的摘要,详细信息如表1所示。
表1.数据集
4.2提出的LLSLP链路预测模型评估
因为网络节点在现有链路和不存在链路的比例上不平衡,所以最终的链路预测不能仅通过单个预测的正确比例来度量。为了评估在前三个步骤中建立的链接预测模型,本文使用AUC、Recall等7个指标来检测模型的性能。AUC、Recall和Precision是评估分类问题的常用指标。对于样本类别不平衡的数据,本文额外使用Confusion Matrix、Precision-Recall Curve、F1-score、MCC(Matthews correlation coefficient)测量指标。ConfusionMatrix能直观、具体的观察模型的预测结果。MCC是介于-1与+1之间的相关系数,通常被认为是平衡度量,即使类别大小差异很大的情况下也可以使用。Precision-Recall Curve与F1-score综合体现Precision和Recall之间的关系。因此,在本文中额外考虑4个指标来评估LLSLP方法。
4.3评价指标
实验中使用了7个指标来评估LLSLP链接预测算法的性能。它们的定义如下:
1)AUC(Area Under the receiver operating characteristic Curve)是一种考虑总体排名结果的度量。通常,链路预测的AUC定义为:
其中n是独立比较的次数,n1是缺失链接得分高于不存在链接得分的次数,n2是两者得分相等的次数。
2)在机器学习领域,尤其是统计分类问题中,混淆矩阵(也称为错误矩阵)是一种特定的表布局,能可视化算法的性能,通常是有监督学习的算法(在无监督学习中,通常称为匹配矩阵)。矩阵的每一行代表预测类中的实例,而每一列代表实际类中的实例。以二分类为例:
预测性分类模型,对应到混淆矩阵中,TP(True Positive)与TN(True Negative)的数值越大,而FP(False Positive)与FN(True Positive)的数值越小,代表模型效果越好。混淆矩阵在基本的统计结果上可以延伸得到如图3中的5个指标:
3)精确率(Precision)——表示预测为正的样本中有多少是真正的正样本。
4)召回率(Recall)——表示样本中的正例有多少被预测正确。
5)F1-score——综合了Precision与Recall的产出的结果。F1-score的取值范围从0到1的,1代表模型的输出最好,0代表模型的输出结果最差。
6)马修斯相关系数(Matthews Correlation Coefficient,即MCC)——考虑了各种样本的个数,是一个在类别平衡或不平衡下都可使用的评价指标。
7)Precision-Recall Curve——以精确率(Precision)为y轴,以召回率(Recall)为x轴。精准率和召回率是互相影响的,理想情况下是两者都高,这样的模型就越高效。但是一般情况下准确率高、召回率就低;召回率低、准确率就高。
4.4基准算法
本部分选取了15个基于网络拓扑结构相似性指标与LLSLP进行比较,使用的相似性指标分别为基于局部信息的相似性、基于全局信息的相似性与基于随机游走的相似性。表2~表4分别为基于节点局部信息的相似性指标、基于节点全局信息的相似性指标与基于随机游走的相似性指标。
表2.基于节点局部信息的相似性指标
表3.基于全局信息的相似性指标
表4.基于随机游走的相似性指标
表2~表4中Γ(x)表示节点x的邻居节点集合,Γ(y)表示节点y的邻居节点集合,Γ(x)∩Γ(y)表示节点x和y的公共邻居节点集合,k(x)=Γ(x)为节点x的度。
4.5实验结果与分析
本文的实验结果均是模型在测试集上的表现。表的各列显示各个数据集内具体样本类型,表的各行显示本文提出的LLSLP和其余17个对比算法及模型。由于表格大小的限制,本文选择了AUC、Precision、Recall、F1-score、MCC作为主要评估指标,而有关本文提出的LLSLP在实验数据集上的其余评估指标将会在附录展示。其中AUC、Precision、Recall、F1-score的取值均在[0,1]之间,指标值越高代表模型在这类数据集上的效果越好。MCC取值在[-1,1]之间,指标值为1代表模型在这类数据集上预测与实际完全一致,取值为0表示预测的结果与随机预测结果相当,反之,取值-1代表模型效果在这类数据集上表现预测结果与实际结果完全不一致。不同算法下的各个数据集AUC、Precision、Recall、F1-score以及MCC的实验结果如表5~表9所示。
表5.AUC values with algorithms
表6.Precisionvalues with algorithms
表7.Recall values with algorithms
表8.F1-score values with algorithms
表9.MCC values with algorithms
接下来对本文所提出的LLSLP和对比算法,模型在各个数据集上评估指标分析。通过表5可以看出,本文提出的LLSLP在各个数据集的AUC值都排在前2,均比传统算法表现好。在UGP网络上的AUC的值是最高的,为0.9998,要优于传统的CN,Sal和LightGBM等对比算法、模型;基模型LR也较好,比较接近提出的LLSLP方法。传统算法中表现最好的Cos的AUC值为0.77197,提出的LLSLP方法的AUC值要高出Cos的AUC的值29.536%。而基模型LightGBM则表现相对较差,AUC值为0.63459,远远小于提出的LLSLP和另外一个基模型LR,可见基模型LightGBM对UGP数据集的预测不太准确。但这不意味着LightGBM是一个不好的模型,比如在NSC数据集中,基模型LightGBM的预测表现优于除了提出的LLSLP以外的算法、模型的预测表现。可以看出,面对不同的数据集,基模型LR和LightGBM的性能有一定的差异,但提出的LLSLP在面对各种不同的数据集仍具有较好的性能,表明其具有较好的稳定性。
接着分析由表6、表7和表8,各个算法、模型在实验数据集上的Precision、Recall以及F1-score。LLSLP在总体的性能上比对比算法、模型要优异,在大多数数据集下的Precision值比传统的算法以及模型都要高。但同样需要指出并非在实验的所有数据集上都表现良好。比如在NSC数据集上的Precision值的低于传统的CN,AA算法,当然很大程度上是由于基模型LR表现太差;在EML与FBK数据集上的Precision值低于基模型LR。在SMG数据集上的Precision值低于CN;在KHN数据集上的表现不及传统算法CN与基模型LightGBM。所以提出的LLSLP在实验数据集上的Recall值整体较高,但是仍然存在一定的不足。下面分析Recall值,由表7可知,提出的LLSLP在各个数据集上Recall值的总体表现优与传统算法CN、AA、LP以及RWR等,传统算法的Recall值平均在50%左右,而LLSLP最低的时候也在90%以上。但也观察到LLSLP的Recall值与基模型的Recall值相接近,不得不承认LLSLP的高Recall值一定程度上受益于2个基模型(Logistic Regression,LightGBM)。由于一般情况下Precision指标与Recall指标呈负相关关系,即Precision值越大时,Recall值越小;反之,Precision值越小时,Recall值越大。对于不同的数据集以及不同的实际应用的需要,不能仅通过Precision值或Recall值来评价一个算法或模型的好坏,而F1-score结合了前两者,综合衡量一个算法或模型的性能,因此从表8中可以看出,LLSLP在实验数据集上的F1-score值位居前2,证明了提出的LLSLP整体的良好性能。值得注意的是,对于二分类而言,可能分类器的F1-score值较高,而MCC值偏低。表明单一的指标是无法完全衡量分类器的所有优点与缺点。
最后分析表9,对于数据集的数据类别不平衡问题,在机器学习中并不能完全得到解决,因为机器学习模型是依靠数据进行学习的,数据上的不平衡促使训练模型产生对多数类的偏好,这会对数据量较少的类别的识别带来困难。对于模型在极端不平衡的社交网络数据集上的性能评价,MCC展现了其良好的区分性,传统的相似性算法在类别不平的情况下的整体表现是相对较差的,而本文提出的LLSLP在类别极度不平衡的情况下也能取得相对较好的性能,可以证实提出的LLSLP是有效的。
从图4~图6中,可以观察到一系列的结果与结论。
(1)从图4中可以看出:提出的LLSLP的ROC曲线与大多数算法相差不大,只能区分出少数算法PA,Katz,ACT,LightGBM的性能差异(从表5中可以观察到各个算法在FBK数据集上的具体ROC曲线下面积,PA为0.84832,Katz为0.52412,ACT为0.83605,LightGBM为0.80372,其余的算法和模型都在0.90000以上)。表明仅依赖ROC曲线判断出LLSLP与传统算法、模型的差异程度是不够的,还需借助其他指标进行性能评估。
(2)通过图5可以得到:PR曲线图可以明显看出,提出的LLSLP比大多数传统算法CN、Sal、RA、Cos以及RWR等要更好,但与基模型LR和LightGBM的差异不大,证明PR图有较好的区分度,但在对基模型的区分上,还存在一定的局限性。值得一提的是,传统的算法HPI、PA、LHN-I、ACT、COS、RWR虽然拥有较高的AUC值(从表5可以观察得到HPI为0.98592,LHN-I为0.96262,COS为0.97020,RWR为0.99126),但在PR曲线上的表现却很差,当然这是由于它们的Precision值较高时,Recall值较低;或者Recall值较高,Precision值较低(从表6、表7可以观察到在FBK数据集上HPI、LHN-I、Katz、Cos、RWR的Precision值分别为0.11996、0.03803、0.00138、0.00632、0.01471,而Recall值分别为0.74376、0.80827、0.60511、0.97767、0.98744)。因此导致他们的F1-score值不高(由表8可知在FBK数据集上HPI、LHN-I、ACT、Cos、RWR的F1-score值分别为0.20615、0.07264、0.00276、0.01255、0.02889)。注意PA和ACT的PR曲线图也很差,是由于它们的Precision值和Recall值都较低(PA、ACT的Precision值分别为0.09422,0.00022,Recall值分别为0.19520、001866),从而导致它们的F1-score值偏低,分别为0.12709、0.00043。表明F1-score的确有效的结合了Precision和Recall,更客观的评价的算法及模型的性能。所以,进一步证实了仅仅依靠单个指标对一个算法或模型进行评价是不全面的,并不能完全衡量其性能,所以用多个评价指标进行衡量是有必要的并且全面的。
(3)针对PR曲线图的局限性,图6的混淆矩阵图完整的展示了每一种算法以及模型的具体分类情况,更加具体的、全面的体现算法或模型的性能。图中颜色越浅代表数量越多,反之,越深则代表数量越少。混淆矩阵图是作为对PR曲线图一个很好的补充。可以从图6中发现提出的LLSLP分类错误的结果数量相对于传统的算法和基模型更低,具有更好的性能。值得注意的一点是,设定偏差百分比为两种错误分类的数量之差的绝对值与两者之间的较大值的百分比,可以观察到基模型LR与LightGBM预测的错误结果中,明显产生了对某一类别的偏向,前者更倾向于把样本预测为正类,后者更倾向于把样本预测为负类(由图6知LR将类别0预测为类别1的数量为4455,将类别1预测为类别0的数量为157,偏差百分比为96.476%;而LightGBM把类别0预测为类别1的数量为569,将类别1预测为类别0的数量为3451,偏差百分比为83.512%)。同时可以从图6观察到其他传统算法在FBK数据集上产生的偏向程度更加严重,比如CN将类别0预测为类别1的数量为1342,将类别1预测为类别0的数量为14670,偏差百分比为90.852%;LHN-I将类别0预测为类别1的数量为359469,将类别1预测为类别0的数量为3370,偏差百分比为99.063%;甚至Cos与RWR产生了更严重的偏差,Cos将类别0预测为类别1的数量为2760377,将类别1预测为类别0的数量为35,偏差百分比为99.999%;RWR将类别0预测为类别1的数量为1174532,将类别1预测为类别0的数量为45,偏差百分比为99.996%。而提出的LLSLP则较为平衡,并没有产生对某一类别的过度偏向(LLSLP把类别0预测为类别1的数量为2103,将类别1预测为类别0的数量为1500,偏差百分比只有28.673%),这也证明本文提出的LLSLP的确比其他传统算法和模型更有效,很好的结合了各个基模型的优点。
通过在实验数据集上的分析来看,本文提出的LLSLP在实验数据集上的表现相对于实验所用的对比算法、模型,性能具有一定的提升,且随着数据集的增大,模型的整体性能也会随之提升。当然必须承认,尽管本文提出的LLSLP在各个评估指标上取得不错的成绩,但还是有一定的改进空间,从整体实验结果中不难看出,LLSLP的性能表现一定程度上取决于2个基模型(Logistic Regression,LightGBM)的表现,所以对于基模型的选择尤其重要。并且随着使用的基模型数量越多,则模型的复杂度越高,运行时间越长。值得注意的是,即便LLSLP的表现受其基模型影响,但具有一定数量的基模型的前提下,当其中一个基模型在某个数据集上表现不佳的情况下,其性能表现所受的影响不会太大,这正是其稳定性的体现。
与其他现有算法相比,本文提出的社交网络链路预测方法(LLSLP)是一种改进。传统的基于相似度的社交网络链路预测算法着重于节点的单个相似度指标。为了更好地整合现有相似度指标,从而进一步提高链路预测的稳定性和准确性,本文将15个相似度指标进行了组合。这15个相似性指标代表网络的不同特征。本文提出的LLSLP方法不仅集成了指标,而且还利用了Logistic Regression与LightGBM模型。将Logistic Regression和LightGBM作为基模型,15个指标作为模型要学习的特征,通过Cross-validation,Gridsearching和Early stopping确定基模型的超参数;然后,利用集成模型的Stacking思想,以Logistic Regression作为Meta-Classifier,提出了一种新的链路预测方法,该方法考虑了不同相似性指标的互补性和不同模型的互补性,因此其稳定性更强。为了证明其有效性和可行性,最后以10个网络为例。与单一指标和模型相比,用AUC,Precision等7个指标以验证所提出的LLSLP方法的合理性、有效性、可靠性和稳定性。本文的主要贡献是整合现有的相似性指标,并在模型集成中引入了Stacking思想,用于社交网络的链路预测。
将来,将采用其他算法,更多的基模型,探索并提出不同类型的模型集成算法,以设计新的链路预测方法,这对于社交网络的链路预测将具有重要的理论和实践意义。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。