异构网络
同质网络:了解异构网络之前需要先了解什么是同质网络。所谓同质网络即网络中结点都是同一类型主体,链接方式也是相同的。比如论文,论文之间链接为引用,这就构成了一个简单的同质网络。
异构网络:一个异构网络是由多种对象节点与不同类型链接构成的网络,也可看做是多个不同同质网络所结合而成。比如论文,作者,会议,学术名词构成的一个异构网络。
聚类与排序
聚类与排序
RankClus
RankClus:排序与聚类相互加强:更好聚类可从排序中获得,排序范围又从聚类习得
启发式:排序分数可以在不同类型的主体间通过网络进行传播
- 高排名的作者发布高排名论文在排名较高的会议或期刊:
- 顶级会议或期刊吸引高排名作者发高排名论文:
- 作者的排名受与他合作的作者的论文排名影响:
- 所分析网络领域的其他特性(由于本例基于DBLP,就先用上3个)
算法
初始化:随机聚类
迭代://EM框架
排序,每个主体的排名由每个子类的每个子网络影响
生成新的目标主体参数
调整聚类
终止:直到变化<阈值
NetClus
NetClus:把一个网络分割成一个个子网络,如下图,DBLP数据集切分为Database、Hardware、Theory…
初始化:为目标主体生成初始分区和初始网络聚类簇
迭代://EM框架
对每一个网络聚类簇构建基于排序的概率生成模型
计算每个目标主体的后验概率
根据后验概率调整每个簇类
终止:簇类变化不大
DBLP为例:,其中权重
为节点
与
的链接。
,作者、会议、论文、词汇。
Ranking:。对于DBLP来说即:
分类与预测
异构网络分类
GNetMine
GNetMine:这里再介绍一篇孙怡舟的工作,为啥老介绍她的论文,没办法,毕竟是异父异母同门的亲学姐,韩和她合著的书,课上1/5都有她的贡献。嗯…借机膜一下。GNetMine利用异构网络信息传递性,基于以下两启发式::
- 两个主体
与
预测结果同属于类别
的话,他们应当相似
- 已知类别的数据我们模型的预测结果应该与事实一致或相似
- 建立
(节点类型)个
矩阵,比如上图,
为每个类型的元素数,10个作者、50篇论文等,
为我们要分的类别,Data Ming、Database两类则
,
(作者、论文、会议、名词)。训练样本在概率矩阵中对应的位置的值为1,剩余样本全部为0,即
,
。
- 基于
计算
。其中,
为第
轮
类型主体可能类别的向量矩阵;
,一个作者可以写多篇论文,一篇论文可以由多个作者合著,这里
是关系图比如作者-论文各为行列,对应即1不对应即0,矩阵
就是标准化后的矩阵,同理可得
,我就不展开了;参数方面,
调节不同主体比如论文-作者链接信息传递,
代表是作者之间、论文之间同节点类型链接信息传递,
调节Ground Truth权重。
- 重复第2.步直到收敛后,各节点对应的向量中值最高维度对应的类别即预测类别。
RankClass
RankClass:上面提到的GNetMine将每个节点看作相同影响力,RankClass加了Rank部分,调节每个节点的影响力,比如和数据挖掘领域大佬相连,传递过去的属于数据挖掘这个类别的信息,要比像我这样数据挖掘领域小白相连传递过去的类别信息要高得多。
关联预测
Relationship Prediction vs. Link Prediction
在同质网络中的关联预测即连接预测
异构网络中因为主体类型不同或者路径不同
PathPredict
PathPredict:这个算法是做链接预测,比如两个人近五年内会不会合著论文,通过异构网络中不同的Meta-path,基于逻辑回归进行预测。这篇文章预测的A-P-A路径链接预测,即两个人会不会合著论文,当然也可以进行其他Meta-path的链接预测。
这篇论文还有一大探索就是基于不同问题的路径影响重要程度的研究,发现学术领域中社交因素相关的路径重要度更高。算法模型从4809个候选人中准确找到了42个裴健教授在03-09年有首次合作的人,可谓十分优秀。
PathPredict_When
PathPredict_When:上一篇链接预测判断两个人会不会合作,这一篇是判断什么时候合作。
基于异构的推荐
ClusCite
给定一原稿(标题,简要或目录)及其属性(作者,目标会议或期刊),推荐一系列高质量引用文献
其他数据挖掘
动态网络
角色发掘
比如通过军中的指令发布,找到将军,团长,士兵角色…像节点重要度问题,很多算法是基于节点的出入度进行计算。但现实中,需要引入网络全局结构信息做角色挖掘,比如马云只需要与各事业部总裁对接即可,在阿里巴巴公司管理网络里,可能出入度并没有中层领导的多,但是论节点影响力或重要度,马云是要更高的。根据输入的信息网络(可能是同构),输出一颗含各主体的树(或森林),比如下图,根据发paper信息,找到导师与学生等。
数据清洗
DBLP的paper有好多重名的作者,比如叫“Wei Wang”的就有好几个,利用异构网络对他们进行区分
集合拓展
想通过异构网络解决问题:给予一些种子,找到其相似实体。比如给{red, blue, green} -> all colors,但是给orange -> color or fruits?
Source
https://github.com/chmx0929/UIUCclasses/tree/master/512DataMiningPrinciples