[发明专利]基于社区划分的社交网络好友推荐方法在审
申请号: | 201810518100.1 | 申请日: | 2018-05-27 |
公开(公告)号: | CN108734223A | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 杨新武;张煜;尚雨薇 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06N3/04;G06N3/08;G06N3/12 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 社区 链接 算法 好友推荐 社交网络 预测 节点属性信息 网络拓扑结构 节点相似性 相似性算法 比较分析 传统节点 对比试验 邻居节点 拓扑结构 遗传算法 真实网络 重要信息 可用性 改进 统一 | ||
1.基于社区划分的社交网络好友推荐方法,其特征在于:本方法主要流程为基于谱聚类改进的遗传算法做社区划分CMDT,将社区划分CMDT的中间结果作为链接预测算法的输入,并进行链接预测,链接预测方法主要依据随机分块模型;
社区划分CMDT具体步骤如下:
输入:网络拓扑结构图G=(V,E)中,m为种群规模,Pc为交叉概率,Pm为变异概率,T为迭代次数,k为聚类个数;
输出:社区划分结果
步骤:
S1种群初始化操作:根据网络拓扑结构初始化种群P;
种群初始化是确定编码方式后执行遗传算法的第一步,这个过程是要随机生成设定数目的个体,以便形成一定规模的种群,这些个体都属于可行解空间;所以个体编码的方式要符合一定的规则,个体的基因位取值来自于其邻接矩阵;
S2计算P中个体的适应度函数;
S3谱聚类算法对P进行种群划分;
应用谱聚类对种群个体进行划分,然后选取不同类别的个体对其进行交叉操作;下面进行详细步骤说明:
S3.1相似度矩阵的计算S
在这个过程中,需要对两个体间的相似性进行度量,依据NMI来计算不同个体,即不同社区划分间的相似性,以此来构造一个相似性矩阵,其种群大小为m,那么该相似性矩阵大小为m*m;
S3.2度矩阵的计算D;
S3.3拉普拉斯矩阵L的计算;
S3.4计算拉普拉斯矩阵L的特征值和特征向量,把特征值从小到大进行排序,取出前k个值并求出对应的特征向量,将其排成一个n行k列的矩阵M;
S3.5矩阵M的每行都看成一个k维的向量,使用k-means算法对其进行聚类;每行所属的类别都是种群中相应个体所属的类别;
S4执行交叉、变异操作产生新种群C:
在遗传操作中,交叉操作预示着新个体的产生,是种群进化的关键步骤,是体现全局搜索能力重要一步;变异是指染色体中随机挑选一个基因值被修改为其它的随机基因值;在二进制编码情况下,也就是1变成0、0变成1;实数编码情况下,随机变成其它的实数值;这种操作符合自然进化方向,利于增加种群多样性;
S5从P和C中选择最优的种群个体作为下一代种群放入P,最优指的是在S2的计算结果中,前m大的个体,m为种群规模;
S6判断是否达到迭代次数,是转S7,否则转S3;
S7从P中选出最优个体,解码后就是社区的最优划分,该划分即为链接预测算法SBMS的输入。
2.根据权利要求1所述的基于社区划分的社交网络好友推荐方法,其特征在于:
链接预测算法SBMS具体步骤如下:
输入:网络拓扑结构图G=(V,E),CMDT计算出的社区划分结果;
输出:AUC结果;
步骤:
S-1对网络结构中节点和链接进行表示:
获取所有节点N和链接E的信息,用一种数据结构表示为原图G,用邻接矩阵表示,矩阵大小为N×N,每一位是0或1,0表示没有边,1表示有边,其中N代表网络中节点个数;
S-2区分测试集和训练集;
将所有链接随机划分为训练边集Ep和测试边集Eq,比例为9∶1,将所有节点N和训练边集Ep表示为训练图Gp;
S-3获取所有原图G中所有不存在链接的集合;
把邻接矩阵中所有值为0的边进行提取,用一个边集En进行保存,这个集合中保存所有原图G不存在的边;
S-4节点相似性计算,具体算法如下:
S-4.1基于训练图Gp,随机选取测试边集Eq中一条边,计算这条边两端节点相似性Rp;
如计算AE两点间存在链接的可能性时,对于现存在链接A->C->D->E;传统的节点相似性方法无法对没有共同邻居节点的情况做出正确的判断,而实际上这两点产生链接的可能性不应为0;本方法采用下列公式计算节点间相似性:
其中,e(z)表示为节点z与其他共同邻居之间及与节点X和Y的链接数,k(z)表示z节点的度,β1和β2是权重系数,Ω表示所有可能的分块集合,P是其中一种分块情况,σi表示节点i所在组的标号,表示第α个分组与第β个分组间实际链接数,rαβ表示第α个分组与第β个分组间可能的最大连接数。
S=β1W2+β2W3 (2)
S-4.2记录Rp的值;
S-4.3重复步骤S-4.1、S-4.2完成一定量的抽样比较工作;
S-4.4计算AUC值;
AUC表示的是测试边集Eq中的边的分数比随机从不存在边的集合En选取的一个边的相似性值高的概率,也就是说,每次随机从测试边集Eq中选取一条边与随机选择的不存在的边进行比较,如果测试边的相似性值大于不存在边的值,就加一分,如果两个数值相等,就加0.5分,独立地比较n次,如果n′次测试集中的边的值大于不存在的边的数值,n″次两个数值相等,定义AUC为:
根据S-4保存的Sp和Sn数值,计算AUC值;其中,n是总共比较的次数,n′表示测试集AUC值优于不存在边的次数,n″表示测试集AUC和不存在边相同的次数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810518100.1/1.html,转载请声明来源钻瓜专利网。