文章目录
- 1. 任务分类
- 2. 节点层级任务
- 3. 边层级任务
- 4. 子图层级任务
- 5. 图层级任务
这节我们讲讨论图机器学习的应用。
1. 任务分类
在图机器学习中,我们有不同的任务:
- 节点层级的任务
- 边层级的任务
- 子图层级任务
- 整张图层级任务(图预测,图生成)
- 对于节点预测任务:预测一个节点的属性,例如将线上用户/物品分类。
- 对于边预测任务:预测缺失边,例如知识图谱完善。
- 图分类任务:分类不同的图,例如分子预测。
- 聚类任务:预测节点是否形成一个类,例如社会关系预测。
- 其他任务:图生成(药品研究),图演化(物理演化)
这些图机器学习任务产生了高影响力的应用。下面举一些例子:
2. 节点层级任务
- 蛋白质折叠(Protein Folding):
在我们的身体里,我们有这些叫做蛋白质的分子,它们调节着各种生物过程,例如,药物的作用方式是结合或改变不同蛋白质的行为,然后改变我们体内的生物过程,使我们身体恢复健康。
蛋白质结构是复杂的,包含一系列的氨基酸,这些氨基酸非常复杂的折叠,有非常复杂的结构。
生物上很重要的一个问题:仅给定一系列氨基酸去预测蛋白质的3D结构图。
那么这个任务也在被不断探索。
核心思想:将氨基酸序列作为节点,将蛋白质结构作为整个图,边表示氨基酸直接的空间近似关系
3. 边层级任务
这里我们经常进行边预测任务(Link prediction),或者去挖掘节点之间的关系信息。
这个示例是在推荐系统,我们可以认为用户(users)和物品(items)之间相交互,节点会有用户、物品,如果用户购买(或其他行为)某个物品,则会有一条边。然后我们去预测下一个用户可能购买的物品,红色虚线处。
我们的基本任务是:学习节点embedding(节点向量化表示)去表示节点,使相关的节点embedding距离更近。
然后用我们学习的节点embedding去预测在图中是否两个节点是相关的。
另一个边层级任务是:给定一些药品,去预测药品的副作用:
如何做的呢:
问题:辛伐他汀和环丙沙星一起服用时,分解肌肉组织的可能性有多大?
我们创建两层的异构网络图如上图去完成我们的任务。
4. 子图层级任务
路径预测问题:
比如我们常用的导航,每次打开我们搜索到某个地方的路径,都会出现几个推荐的路径,并预测。
上图是节点、边如何定义。
具体预测流程如上
5. 图层级任务
比如:药物研究任务。
目的是找到合适的抗生素。
分子生成:
还有物理演化过程(Physics Simulation)也属于这一层级任务,不是很感兴趣就没写上来了。