Skyorca / DANE-PRO

PKU网络表示学习2020大作业

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DANE-PRO 任务说明

1. 关于数据集

论文中提供了两个数据集。

【重要】具体实现时只使用其中一个得分-20%。

论文引用数据集

位于data/transfer/下,包含:

  • chn.cites/usa.cites两张图中节点的连边信息(有向边),每行为一条边(前者指向后者)
  • chn.content/usa.content两张图中节点的信息,每行表示一个节点,包括:
    1. 第一个元素为节点编号
    2. 中间的17801个元素为节点的原始特征(标题和摘要的词袋)
    3. 最后一个元素为节点的标签(论文领域:AI&DM/HC/CA/CN)
  • china_result.txt/usa_result.txt为每篇论文(图中节点)的标题/摘要。对.content不满意可以自行生成原始特征。

作者合作数据集

位于data/transfer3/下,包含:

  • chn.cites/usa.cites同上
  • chn.content/usa.content同上(但我们不用这里面的标签)
  • chn.multilabel/usa.multilabel为各个节点的标签集合,每行为四个0/1的数字,表示各节点的标签集合(作者涉足的邻域)(用这个标签)

2. 关于任务

【重要】论文中在很多问题上做了实验,如Unsupervised Domain Adaption和Semi-supervised Domain Adaption等。 我们这里统一解决如下问题:

  • 给定源网络和目标网络的结构,以及源网络上所有节点的标签
  • 我们的模型需要预测目标网络上所有节点的标签,以Macro-F1为标准
  • 我们认为源网络上节点为训练集,无验证集,目标网络上的节点为测试集;固定训练轮数,取最后一轮的测试集结果

此外,本次作业的目标是:

  • 对于一个具体的图网络问题,体验不同类型的表示学习方法;
  • 尝试发散思维,解决一个新问题

因此,不要求能够复现论文中的结果,只要实验结果能自圆其说即可。

Transductive方法

从Deepwalk/LINE/Node2Vec等方法中选择一种。

推荐操作方法:

  1. 使用transductive方法为两张图中的所有节点生成embedding(该过程不需要标签)
  2. 用SVM或其他分类模型,在源网络上训练,在目标网络上测试

Inductive方法

从GCN/GAT/GraphSAGE等方法中选择一种。

推荐操作方法:

  • 无监督方法:类似transductive推荐操作方法
  • 有监督方法:在源网络上训练一个节点分类模型直接应用于目标网络上
  • ……

迁移学习

自由发挥,可以但不限于:

  • MMD (Maximum Mean Discrepancy):计算复杂度高,效果一般但很稳定
  • GAN:伟大的发明,效率非常高,但很难调,谁用谁知道

切记训练过程中不能使用目标网络上的标签!

3. 关于参考代码

code/,作者提供的未经整理的代码,仅供参考。

如需使用需要移动至根目录下。

4. 提交要求

截止日期:1.25 23:59

提交至:swyang@pku.edu.cn,邮件标题为“学号-姓名”。

提交内容:[我是分数]

  1. 作业报告,pdf格式,3-10页(建议4页左右),包含:[100]
    1. 简要概述DANE论文是如何实现域适应网络表示学习的[20]
    2. 使用transductive方法的效果,并分析结果[20]
    3. 使用inductive方法的效果,并分析结果[20]
    4. 设计图网络迁移方法,说明思路、实现、效果,并分析结果[20]
    5. 2-4各方法的可视化结果(参考原论文Fig.7),并分析结果[5]
    6. 实现过程中遇到的问题以及如何成功解决[5]
    7. 课程感想[10]
  2. 代码文件,zip/rar/tar格式,包含:
    1. 代码(建议是python)
    2. 一个txt/pdf文件,包含环境配置/库版本,以及代码的使用方法或复现需要的操作

About

PKU网络表示学习2020大作业


Languages

Language:Python 100.0%