cs224w-8-GNN-Application
General GNN Framework 通用GNN框架
图增强
之前的假设是输入图=计算图,但是有可能遇到图缺少特征性或者图的结构不利于计算。
例如,图过于稀疏(sparse),那就导致无效的消息传递,如果过于稠密(dense),就会消耗大量时间,如果过大(large),GPU就很难算。
解决方案就是
对于图缺少特诊:使用图特征性增强。
对于稀疏图,增加虚点虚边。
对于稠密图,Sample neighbors when doing message passing
对于大的图,对子图采样后嵌入
为什么要增强
图缺少特征
做法
1.为节点分配一个常量
2.把节点编号转化成一个one-hot vector
两种方案的对比
一些图的结构在GNN上跑的不好
例如 CnC_nCn 这样的环,这样训练就是一个无限长度的循环
做法
1.增加虚边,例如对2-hop的邻居,此时邻接矩阵变成了 A+Az2A+Az^2A+Az2
举例,二分图的一种情况
2.增加虚节点
cs224w-7-GNN2
GNN 层
Idea
1.将一组向量压缩成单个向量
2.两部处理,包括获得信息以及聚合
消息计算
mu(l)=MSG(l)(hu(l−1))m_u^{(l)}=\text{MSG}^{(l)}(h_u^{(l-1)})mu(l)=MSG(l)(hu(l−1))
MSG 可以是权重指数 W(l)W^{(l)}W(l)
消息聚合
hu(l)=AGG(l)(mu(l−1)),u∈N(v)h_u^{(l)}=\text{AGG}^{(l)}(m_u^{(l-1)}) ,u\in N(v)hu(l)=AGG(l)(mu(l−1)),u∈N(v)
AGG 函数可以是求和,平均值(mean),最大值函数等。
问题
hvlh_v^{l}hvl 与 hvl−1h_v^{l-1}hvl−1 并无直接关联
解决这个问题,可以加一个自环(考虑自身影响)
mu(l)=W(l)hu(l−1)m_u{(l)}=W^{(l)}h_u^{(l-1)}mu(l)=W(l)hu(l−1)
mv(l)=B(l)hv(l−1)m_v{(l)}=B^{(l)}h_v^{(l-1)}mv(l)=B(l)hv( ...
cs224w-6-GNN1
我们已经学会了一种 O(V)O(V)O(V) 的根据节点关系的 Embedding ,但是它的缺点也很显然:
节点之间不共享参数
每个节点嵌入不同
只能从样本中学习,不能处理其他的情况
有些节点自身的特性无法被利用
于是提出了 graph neural networks ,这样一个节点的嵌入 ENC(v)\text{ENC}(v)ENC(v) 基于图的多层非线性转换(multiple layers of non-linear transformations based on graph structure)
Basics of deep learning
优化参数
处理一个监督式学习的时候,我们需要优化这个问题,我们要最小化这个公式
minΘL(y,f(x))\min_{\Theta}\limits \mathcal{L}(y,f(x))ΘminL(y,f(x)) 其中 θ\thetaθ 为我们要优化的参数, L(y,f(x))\mathcal{L}(y,f(x))L(y,f(x)) 为目标函数(损失函数)
损失函数有几种
L2: ∣∣y−f(x)∣∣2||y-f(x)| ...
cs224w-5-MessagePassingAndNodeClassification
前言
已知一部分节点的标签,利用节点之间的关系预测节点的属性(半监督学习)
Intuition: Correlations (dependencies) exist in networks
三种方法:
Relational classification
Iterative classification
Correct & Smooth
定义
Homophily
The tendency of individuals to associate and bond with similar others
大概就是趋向性的意思,个体与周围的相关性趋势。
Influence
Social connections can influence the individual characteristics of a person
节点之间的关系(边)能影响一个节点性质
预测节点标签
原理
Similar nodes are typically close together or directly connected in the network
因此预测节点 vvv 的标签,只需要知 ...
cs224w-4-PageRank
Link Analysis: PageRank (Graph as Matrix)
由于每章都有很多芝士点,所以我打算改成一章一章来了
前言
用邻接矩阵的形式来看这张图
目标
定义图上节点的重要性,比如互联网上每个网站的重要性(node:网站,edge=hyperlink,directed)
有些情况暂时不需要考虑:
1.pages created on the fly 大概是随手生成的
2.dark matter 有密码这样的
应用场景
网页内,网页间,引用,百科等。
PageRank
Link Analysis approaches
主要是三种 PageRank , Personalized PageRank (PPR) 和 Random Walk with Restarts
方法就是把超链接视为权重,如果自己被重要的网站挂了重要的网站(权重)有一个指向该网站的超链接,那显然这个网站权重也很高,我们通过这个方式计算每个网站的权重,显然这是一个递归问题。
计算权重
假设第 iii 点权重为 rir_iri , 度数为 did_idi (出度) ,我们可以让 iii 连接的 ...
科研入门
配色
https://mycolor.space/
素材
https://www.freepik.com/
绘图-python
seaborn库
绘图-matlab
图论绘图
Gephi
绘图-
tableau
Seaborn (sns)
seaborn 是对 matplotlib 进行二次封装而成的,尽管这两者我都不会。
EDA:Exploratory Data Analysis 探索性数据分析
直接看这篇文章吧
AI的数学基础
使用的书 :《人工智能的数学基础》
大概是在里面找些重要的内容,实际上B站有这个的课。
Gram-Schmidt Process
wiki的翻译: 格拉姆-施密特正交化
给一点基础的定义
VnV^nVn 维数为 nnn 的内积空间
v∈Vnv \in V^nv∈Vn , VnV^nVn 中的元素,可以是向量函数等
⟨v1,v2⟩\langle v_1,v_2 \rangle⟨v1,v2⟩ , v1,v2v_1,v_2v1,v2 的内积
spanv1,v2,...,vn\text{span}{v_1,v_2,...,v_n}spanv1,v2,...,vn : v1,v2,...,vnv_1,v_2,...,v_nv1,v2,...,vn 的张成空间
projvu=⟨u,v⟩⟨v,v⟩\text{proj}_v u=\frac{\lang u,v \rang}{\lang v,v\rang}projvu=⟨v,v⟩⟨u,v⟩ : uuu 在 vvv 上的投影
算法
利用投影原理构造新的正交基
假设 v∈Vnv \in V^nv∈Vn 。VkV^kVk 是 VnV ...
图神经网络
前言
以下按照 CS224w\text{CS224w}CS224w 顺序进行,显然,其中肯定会穿插一些作者认为的应该具有的基础芝士(不过本人才大一,说不定听课的都掌握了)
但是我科技树乱点的,所以中途可能会学很多前置芝士。
ToDoList
目录
待办
核方法
还没学,在2.2.3
神经网络那个函数
在2.2.4
第二章剩下的内容
让我咕一下
N-gram 平滑化
还没学
1 概念
这一章并没有讲什么东西,但是我们依然可以学习以下内容
一些任务类型
包括 Graph-level,Node-level,Community(Subgraph)-level,Edge-level
实例
Node classification
Predict a property of a node
Example: Categorize online users / items
Link prediction
Predict whether there are missing links between two nodes
Example: Knowledge graph co ...
NLP入门
前言
看到了一个 NLP\text{NLP}NLP 研究等位基因的算法,虽然感觉不是很科学,但是这确实是一个入门的点,值得学学。
内容
词性标注&分词
这个就是查字典,显然这个是语文/英语等语言学科研究的内容
然后有些算法,比如AC自动机这些。
标记词性是一个隐马尔可夫模型,以及一个贝叶斯网络
上面可能写的很民科,后头在仔细研究一下。
句法分析
关键词提取
摘要提取
感知机词法分析器
短语提取
拼音转换
英译人名识别(这都可以?)
日记
11月
报名了百度的那个 nlp 比赛,选的赛道 1 。
11.23
2.27