图学习的三种主要任务

图学习的三种主要任务

图学习的主要任务

图学习中包含三种主要的任务:

  • 链接预测(Link prediction)
  • 节点标记预测(Node labeling)
  • 图嵌入(Graph Embedding)

链接预测(Link prediction)

在链接预测中,给定图G,我们的目标是预测新边。例如,当图未被完全观察时,或者当新客户加入平台(例如,新的LinkedIn用户)时,预测未来关系或缺失边是很有用的。

在链路预测中,我们只是尝试在节点对之间建立相似性度量,并链接最相似的节点。现在的问题是识别和计算正确的相似性分数!
图学习的三种主要任务_第1张图片
Link Prediction 被用于:

  1. 在社交网络中,进行用户/商品推荐
  2. 在生物学领域,进行相互作用发现
  3. 在知识图谱中,进行实体关系学习
  4. 在基础研究中,进行图结构捕捉

在不同的 work 中,Link Prediction 还会被称为(可以使用这些关键词检索):

  1. Edge Embedding/Classification
  2. Relational Inference/Reasoning
  3. Graph Generation(一种是从节点生成边,另一种是从噪声生成图,前者是 Link Prediction)
    . . . . . .
    知乎回答:如何理解链接预测(link prediction)

节点标记预测(Node labeling)

给定一个未标记某些节点的图,我们希望对这些节点的标签进行预测。这在某种意义上是一种半监督的学习问题。

处理这些问题的一种常见方法是假设图上有一定的平滑度。平滑度假设指出通过数据上的高密度区域的路径连接的点可能具有相似的标签。这是标签传播算法背后的主要假设。

标签传播算法(Label Propagation Algorithm,LPA)是一种快速算法,仅使用网络结构作为指导来发现图中的社区,而无需任何预定义的目标函数或关于社区的先验信息。

图学习的三种主要任务_第2张图片单个标签在密集连接的节点组中迅速占据主导地位,但是在穿过稀疏连接区域时会遇到问题。结果需要在平滑性和准确性之间进行权衡。

图嵌入(Graph Embedding)

在处理NLP或计算机视觉问题时,我们习惯在深度神经网络中对图像或文本进行嵌入(embedding)。到目前为止,我们所看到的图的一个局限性是没有向量特征。但是,我们可以学习图的嵌入!图有不同几个级别的嵌入:

  • 对图的组件进行嵌入(节点,边,特征…)(Node2Vec)
  • 对图的子图或整个图进行嵌入(Graph2Vec)

学习资源

  • 图卷积网络(Graph Convolution Networks): https://towardsdatascience.com/how-to-do-deep-learning-on-graphs-with-graph-convolutional-networks-7d2250723780
  • 图和流形上的几何深度学习(Geometric Deep Learning on Graphs and Manifolds):http://www.geometricdeeplearning.com/
  • 一个可以提供帮助的MOOC:https://www.edx.org/course/advanced-algorithmics-and-graph-theory-with-python
  • 斯坦福图学习入门课程cs224w——图网络机器学习算法:http://cs224w.stanford.edu/
  • cs224w课程视频可在https://www.bilibili.com/video/av30039828

参考材料:

  • https://aistudio.baidu.com/aistudio/projectdetail/5368738
  • https://blog.csdn.net/xjxgyc/article/details/100175930
  • https://maelfabien.github.io/
  • https://maelfabien.github.io/machinelearning/graph_4/
  • https://maelfabien.github.io/machinelearning/graph_5/
  • A Comprehensive Guide to Graph Algorithms in Neo4j, Mark Needham & Amy E. Hodler
  • Networkx documentation, https://networkx.github.io/documentation/stable/
  • Graph Theory courses at Telecom Paris
  • Learning in Graphs with Python (Part 3)

你可能感兴趣的:(图神经网络,人工智能,知识图谱)