[发明专利]一种提升社交网络层次化社区检测划分效果的方法在审
| 申请号: | 202111387697.9 | 申请日: | 2021-11-22 |
| 公开(公告)号: | CN114090903A | 公开(公告)日: | 2022-02-25 |
| 发明(设计)人: | 杨珉;张谧;丁岱宗 | 申请(专利权)人: | 复旦大学 |
| 主分类号: | G06F16/9536 | 分类号: | G06F16/9536;G06N3/08;G06Q50/00 |
| 代理公司: | 上海正旦专利代理有限公司 31200 | 代理人: | 陆飞;陆尤 |
| 地址: | 200433 *** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 提升 社交 网络 层次 社区 检测 划分 效果 方法 | ||
1.一种提升社交网络层次化社区检测划分效果的方法,其特征在于,将社交网络表示为一张图,图中的节点和边分别代表网络中的用户与用户之间的相互关联性;社交网络图划分一棵合适的社区树,并将社交网络中的每个用户对应划分至合适的社区中,每个社区和每个用户的特征由一个特征向量表示;在划分检测社区过程中,系统向一棵只有根节点的社区树不断添加新社区,同时更新用户和社区特征向量,并以此为依据将用户划分至对应社区中,直至得到合适的划分;即给定一个社交网络图,将图中的用户划分至一棵社区树的每个社区节点中;
与此相对应,系统包括一个用于社区检测的社区检测模块,此外,还部署一特征评估模块;对于每一位用户,该特征评估模块根据用户节点在社交网络图上的连接信息,训练得到用户的特征向量,并同时更新社区特征向量;根据用户和当前社区之间特征向量的相似度将用户划分到当前存在的各个社区中;将包含连接边信息的社交网络图和用户社区划分情况传入社区检测模块;社区检测模块将根据传入信息计算状态矩阵,用以表示当前社区划分效果,即社区划分是否与社交网络图中的连通情况相对匹配;社区检测模块还包含一个神经网络,用以预测用户节点属于某个社区的概率;在模型训练过程中,系统根据社区划分的结果和实际社交网络图上的用户连通性评估当前社区划分的损失和激励,利用强化学习技术训练该神经网络,从而提升系统社区划分的效果。
2.根据权利要求1所述的提升社交网络层次化社区检测划分效果的方法,其特点在于,首先,根据当前社交网络中用户和社区的特征向量计算相似度,将得到的相似度用于预测用户属于当前存在的每个社区的概率,以此为依据将用户划分至预测所属的社区中;然后,根据当前社区划分情况和实际社交网络图中的连接信息,计算当前划分的状态矩阵;接着,将该状态矩阵输入一个神经网络,预测新社区应当插入在当前社区树的位置;最后,当该神经网络的训练收敛时,就得到稳定的社区拓扑结构,并能将用户依据特征向量正确地划分到各个社区中;具体步骤如下:
步骤一、初始化:在系统训练开始前,初始化系统所需的变量:
(1.1)初始化仅包含根节点的初始社区树
(1.2)初始化状态矩阵s1=[0]、距离矩阵Λ1=[0];
步骤二、对于当前社区树,使用当前社区插入策略π(at|st)向社区树中的社区位置at下插入新社区c,得到新社区树
(2.1)将给定的状态矩阵st传入神经网络中,计算得到隐藏层hc,即:
其中,wh,bh分别为神经网络隐藏层的参数矩阵与偏置项;
(2.2)将隐藏层h继续变换得到预测插入新社区位置的概率分布ot:
其中,wo,bo分别为神经网络输出层的参数矩阵与偏置项;
(2.3)从神经网络输出的概率分布ot中采样得到插入新社区的位置at;t=1,…,T,T针对不同应用场景选为某个特定值;
步骤三、给定社区树计算距离矩阵Λt+1:
(3.1)对两社区ci,cj,在当前社区树中寻得其最小公共父节点ck,于是:
Λ(ci,cj)=dist(ci,ck)+dist(cj,ck); (3)
其中,dist(·,·)定义为树中两节点之间的最短路径距离;
步骤四、根据社交网络图中的连接信息Υ、距离矩阵Λt+1,训练得到用户、社区的特征向量,并对每个用户i输出其属于每个社区c的概率分布
(4.1)对于每个用户i和当前社区树中的每个社区c,根据它们的用户特征向量ei和社区特征向量ec计算其相似度
(4.2)根据用户与社区之间的相似度,得到用户i属于社区c的多项式分布概率ρic:
(4.3)对于每个用户对(i,j),根据用户i,j所属社区ci,cj的概率组合,结合其所属社区之间的距离Λ(ci,cj),计算得到两个用户节点之间的距离dij:
其中,ρi,ρj∈Rt分别是用户i,j属于某个社区c的概率ρic的向量化表示,Rt表示大小为t的实数向量;
(4.4)对于节点vi,根据连接信息Υ中所有与其有连接的节点vj、没有连接的节点vk,统计排序损失l(φ),并以最小化该损失为优化目标,优化用户和社区特征向量:
其中,β0是一个常数,φ={ei,ec}表示用户特征向量和社区特征向量参数集合;
(4.5)为简化优化方法,将用户和社区特征向量重新参数化:
其中,ηi∈R是一个为实数的缩放参数,是维度为RD的向量,ω(·)是用来获得非负值的ReLU函数;
(4.6)在训练收敛后,得到当前最优特征向量,并重新计算ρic;
本发明中,用户和社区特征向量的维度优选为50;
步骤五、根据社交网络图中的连接信息Υ、距离矩阵Λt+1、用户i属于社区c的概率分布计算当前社区树的激励rt:
其中,yij=1表示用户i和用户j之间存在连接关系,yik=0表示用户i和用户k之间不存在连接关系;
步骤六、根据社交网络图中的连接信息Υ、距离矩阵Λt+1、用户i属于社区c的概率分布计算当前社区树的状态矩阵st+1:
(6.1)初始化st+1∈Rt×t为零矩阵,Rt×t表示t×t实数矩阵;
(6.2)对社交网络图中的每一个用户节点代表图中的所有用户节点集合;初始化其所属的社区ci为用户属于社区的多项式分布概率ρi中最高的社区c:
ci=argmaxcρic; (10)
(6.3)对连接信息Υ中的每一条连接yij∈Υ,计算对应用户所属社区ci,cj之间的状态值st+1(ci,cj):
(6.3.1)首先计算中间变量
(6.3.2)若ci=cj,则
(6.3.3)否则,
步骤七、当社区树收敛后,根据生成树过程中的状态变量利用PPO算法更新神经网络的参数Θ={wh,wo,wv,bh,bo,bv}(其中·h,·o为神经网络中的参数,·v为激励函数中的参数,具体如下:
(7.1)目标函数为
其中,γ是一个超参数,也被称为折扣系数;
(7.2)PPO算法用于优化以下损失函数:
其中,ζ1,ζ2是正则化系数;是衡量at上多项式分布的熵,另有:
其中,是基于st估计当前激励的函数,wv∈Rt,bv∈R是该函数的参数向量和偏置项;πold是最后一轮构建社区树时所用的策略;使用Adam优化方法对参数Θ进行求解;
步骤八、重复步骤一至步骤七,直至PPO算法收敛,即求得稳定的社区划分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111387697.9/1.html,转载请声明来源钻瓜专利网。





