【从零开始】CS224W-图机器学习-2021冬季学习笔记1:Machine Learning for Graphs
【从零开始】CS224W-图机器学习-2021冬季学习笔记3.1:Node Embeddings
【从零开始】CS224W-图机器学习-2021冬季学习笔记3.2:Node Embeddings
【从零开始】CS224W-图机器学习-2021冬季学习笔记13.1:Community Structure in Networks
【从零开始】CS224W-图机器学习-2021冬季学习笔记13.2:Community Structure in Networks——BigCLAM算法
课程主页:CS224W | Home
课程视频链接:斯坦福CS224W《图机器学习》课程(2021) by Jure Leskovec
1 节点嵌入回顾
2 图神经网络模型——GNN简介
3 深度学习基础知识
3.1 引言
3.2 机器学习模型
3.2.1 有监督学习模型
3.2.2 损失函数举例:交叉熵函数
3.3 梯度下降
3.3.1 梯度和方向导数
3.3.2 梯度下降
3.3.3 随机梯度下降(SGD)
3.4 神经网络函数
3.4.1 反向传播
3.4.2 非线性
3.4.3 多层感知机(Multi-layer Perceptron,MLP)
4 总结
5 参考资料
之前我们一直在讨论节点嵌入的任务,其目的在于将每个节点映射到一个d维向量,使得在图中相似的节点在嵌入的向量域中也相似。
我们还进一步讨论了 编码器-解码器框架:
我们还介绍了一种最简单的编码器“Shallow” Encoding,即把编码器看成一个嵌入查找表,也就是使用一个大矩阵Z直接储存每个节点的嵌入,通过矩阵与向量相乘来确定每个节点的嵌入:
但这种浅层的编码方式存在很多局限性:
正因为这些局限性,我们将要讨论——深度图编码器(Deep Graph Encoders),也就是用图神经网络(Graph Neural Networks,GNNs)来进行节点嵌入。
使用GNN进行节点嵌入时,我们得到的嵌入将是一个基于图结构的多层非线性转换:
注:在使用这些深度图编码器时,对节点相似度的定义仍然可以使用之前第3课中学过的方法,比如基于随机游走的相似度函数。
GNN模型的大概框架:
这种编码方式得到的嵌入同样可以在以下任务中取得好的效果:
在现代的机器学习工具箱中,传统的深度学习方法擅于处理像图片那样固定大小的矩阵或网格图、还善于处理像文字或语音那样的线性序列。
而相比于这些简单的数据类型,网络(图)通常具有任意的大小,复杂的拓扑结构,节点间也没有固定的顺序,有时还是动态变化的,这就导致很难直接将现在的深度学习框架直接应用于网络上。
关于L1和L2损失函数的介绍请参考:L1和L2损失函数
由交叉熵公式可知,当时,对应的;当时,越接近1,从负值越接近0,越小,也就是loss越小,预测值越接近真实值。
方向导数的定义及其与梯度的关系-参考资料:
导数、微分、偏导数、全微分、方向导数、梯度的定义与关系
为什么朝梯度的反方向移动?
当梯度大于0,说明此时坡面朝上,下坡的策略是往坡面的负方向移动;当坡度小于0,说明此时坡面朝下,下坡的策略是往坡面的正方向移动。
在一般的梯度下降算法中,计算精确的梯度需要遍历整个数据集上的x(损失函数统计的是所有训练数据中的损失总和),而现代数据集通常包含上亿个节点,让计算花费昂贵且速度缓慢。
所以引入随机梯度下降算法(SGD):将训练集分成多个小批量数据集(minibatch),对于梯度下降中的每一步,只使用一个minibatch当作输入x来进行计算。
SGD是所有梯度的无偏估计,但是不能保证收敛,所以在实践中常常需要调整学习率。
许多常用优化器都是在SGD的基础上改进的,如:Adam,Adagrad,Adadelta,RMSprop……等
概念解释:
- batch size:每个minibatch中的数据点数
- iteration:在一个minibatch上做一次训练(完成一步梯度下降)
- epoch:在整个数据集上做一次训练
在深度学习中,神经网络通常会特别复杂,所以这里为了简化,只考虑线性函数:
以一个两层的线性网络为例:(根据求偏导数中的链式法则传播梯度)
进一步地得到损失函数:
反向传播在李宏毅的机器学习课中讲的更清楚: 7: Backpropagation_哔哩哔哩_bilibili
参考文章:反向传播(Backpropagation)算法详解
w.r.t:with respect to的缩写,“关于;谈及,谈到”
引入非线性的原因请参考:
- 机器学习-神经网络为什么需要非线性(激活函数)
- 机器学习入门:神经网络为什么要非线性
http://web.stanford.edu/class/cs224w/slides/06-GNN1.pdf
cs224w(图机器学习)2021冬季课程学习笔记7 Graph Neural Networks 1: GNN Model_诸神缄默不语的博客