【斯坦福大学公开课CS224W——图机器学习】五、消息传递和节点分类
【斯坦福大学公开课CS224W——图机器学习】五、消息传递和节点分类
文章目录
- 【斯坦福大学公开课CS224W——图机器学习】五、消息传递和节点分类
- 1. Message Passing and Node Classification
- 1.1 collective classification概述
- 2. Relational Classification / Probabilistic Relational Classifier
- 3. Iterative Classification
- 4. Loopy Belief Propagation
- 4.1 message passing
- 4.2 Loopy BP Algorithm
我们的任务是: 已知图中一部分节点的标签,用图中节点之间的关系来将标签分配到所有节点上。属于半监督学习任务。
本节课我们学习message passing方法来完成这一任务。对某一节点的标签进行预测,需要其本身特征、邻居的标签和特征。
message passing的假设是图中相似的节点之间会存在链接,也就是相邻节点有标签相同的倾向。这种现象可以用homophily(相似节点倾向于聚集)、influence(关系会影响节点行为)、confounding(环境影响行为和关系)来解释。
collective classification给所有节点同时预测标签的概率分布,基于马尔科夫假设(某一点标签仅取决于其邻居的标签)。
local classifier(用节点特征预测标签)→ relational classifier(用邻居标签 和/或 特征,预测节点标签)→ collective inference(持续迭代)
本节课讲如下三种collective classification的实现技术:
- relational classification:用邻居标签概率的加权平均值来代表节点标签概率,循环迭代求解
- iterative classification:在训练集上训练用 (节点特征) 和 (节点特征,邻居标签summary z zz) 两种自变量预测标签的分类器 ϕ 1和 ϕ 2 ,在测试集上用 ϕ 1 赋予初始标签,循环迭代求解 z ⇌ 用 ϕ 2 重新预测标签
- belief propagation:在边上传递节点对邻居的标签概率的置信度(belief)的message/estimate,迭代计算边上的message,最终得到节点的belief。有环时可能出现问题。
1. Message Passing and Node Classification
本章重要问题:给定网络中部分节点的标签,如何用它们来分配整个网络中节点的标签?(举例:已知网络中有一些诈骗网页,有一些可信网页,如何找到其他诈骗和可信的网页节点?)
训练数据中一部分有标签,剩下的没标签,这种就是半监督学习1
对这个问题的一种解决方式:node embeddings2
本章我们介绍一个解决上述问题的方法3:message passing
使用message passing基于“网络中存在关系correlations”这一直觉,亦即相似节点间存在链接。
message passing是通过链接传递节点的信息,感觉上会比较类似于 PageRank4 将节点的vote通过链接传递到下一节点,但是在这里我们更新的不再是重要性的分数,而是对节点标签预测的概率。
核心概念 collective classification:同时将标签分配到网络中的所有节点上。
本章将讲述三种实现技术:
- relational classification
- iterative classification
- belief propagation
网络中存在关系correlations:
相似的行为在网络中会互相关联。
correlation:相近的节点会具有相同标签
导致correlation的两种解释:
homophily(同质性,趋同性,同类相吸原则):个体特征影响社交连接
influence:社交连接影响个体特征
homophily:相似节点会倾向于交流、关联(物以类聚,人以群分)
在网络研究中得到了大量观察
举例:同领域的研究者更容易建立联系,因为他们参加相同的会议、学术演讲……等活动
influence:社交链接会影响个人行为。
举例:用户将喜欢的音乐推荐给朋友。
解决分类问题的逻辑:
我们已知相似节点会在网络中更加靠近,或者直接相连。
因此根据关联推定guilt-by-association:如果我与具有标签X的节点相连,那么我也很可能具有标签X(基于马尔科夫假设6)
举例:互联网中的恶意/善意网页:恶意网页往往会互相关联,以增加曝光,使其看起来更可靠,并在搜索引擎中提高排名。
预测节点 v vv 的标签需要:
- v 的特征
- v 邻居的标签
- v 邻居的特征
1.1 collective classification概述
直觉:使用网络中的关系同时对相连节点进行分类
概率框架propabilistic framework
马尔科夫假设:节点 v 的标签 Y_v取决于其邻居N_v的标签:P ( Y v ) = P ( Y v ∣ N v )
collective classification分成三步:
- local classifier:分配节点的初始标签(基于节点特征建立标准分类,不使用网络结构信息)
- relational classifier:捕获关系(基于邻居节点的标签 和 特征,建立预测节点标签的分类器模型)(应用了网络结构信息)
- collective inference:传播关系(在每个节点上迭代relational classifier,直至邻居间标签的不一致最小化。网络结构影响最终预测结果)
2. Relational Classification / Probabilistic Relational Classifier
3. Iterative Classification
relational classifiers没有使用节点特征信息,所以我们使用新方法iterative classification。
iterative classification主思路:基于节点特征及邻居节点标签对节点进行分类
iterative classifier的结构
第一步:基于节点特征建立分类器
在训练集上训练如下分类器(可以用线性分类器、神经网络等算法):- ϕ 1 ( f v ) 基于 f_v预测Y_v
- ϕ 2 ( f v , z v ) 基于 f_v和 z_v(v 邻居标签的summary)预测Y_v
第二步:迭代至收敛
在测试集上,用 ϕ 1预测标签,根据 ϕ 1计算出的标签计算z_v并用 ϕ 2 预测标签对每个节点重复迭代计算z_v、用 ϕ 2 预测标签这个过程,直至收敛或到达最大迭代次数(10, 50, 100……这样,不能太多10)
注意:模型不一定能收敛
4. Loopy Belief Propagation
名字叫loopy是因为loopy BP方法会应用在有很多环的情况下。
belief propagation是一种动态规划方法,用于回答图中的概率问题(比如节点属于某类的概率)。
邻居节点之间迭代传递信息pass message(如传递相信对方属于某一类的概率),直至达成共识(大家都这么相信),计算最终置信度(也有翻译为信念的)belief。
参考6:问题中节点的状态并不取决于节点本身的belief,而取决于邻居节点的belief。
4.1 message passing
算法
- 定义节点顺序(生成一条路径)
- 基于节点顺序生成边方向,从而决定message passing的顺序
- 按节点顺序,计算其对下一节点的信息(至今数到的节点数),将该信息传递到下一节点
4.2 Loopy BP Algorithm
从 i 传递给 j 的信息,取决于 i 从邻居处接收的信息。每个邻居给 i 对其状态的置信度的信息。
【斯坦福大学公开课CS224W——图机器学习】五、消息传递和节点分类相关推荐
- 【斯坦福大学公开课CS224W——图机器学习】三、节点和图嵌入
[斯坦福大学公开课CS224W--图机器学习]三.节点和图嵌入 文章目录 [斯坦福大学公开课CS224W--图机器学习]三.节点和图嵌入 1. 节点嵌入 1.1 编码器与解码器 1.2 节点嵌入的游走 ...
- 斯坦福大学公开课 :机器学习课程
共20讲 在网易公开课上有视频全集,难能可贵的是配带中英文字幕 斯坦福大学公开课 :机器学习课程 在JerryLead的blog中可以下到他的学习笔记以及讲义原稿. 感谢Andrew Ng, 感谢Je ...
- 斯坦福大学公开课:iPhone开发教程2010年冬
2019独角兽企业重金招聘Python工程师标准>>> 斯坦福大学公开课:iPhone开发教程2010年冬 http://v.163.com/special/opencourse/i ...
- 斯坦福大学公开课:iOS 8开发
斯坦福大学公开课:iOS 8开发: http://open.163.com/special/opencourse/ios8.html
- SCI论文如何写--斯坦福大学公开课-Writing in the Sciences
SCI论文如何写--斯坦福大学公开课-Writing in the Sciences 链接:https://pan.baidu.com/s/1McDHMLqhs-KbpKRDNRNQTQ 提取码:12 ...
- iPhone应用开发视频教程-斯坦福大学公开课
以下是一套由美国斯坦福大学(Stanford University)在2013年初推出的一套iPhone应用程序开发视频教程,详细讲解了iPhone4/iPhone4s/iPhone5/iPad等iO ...
- 斯坦福大学公开课机器学习:advice for applying machine learning | learning curves (改进学习算法:高偏差和高方差与学习曲线的关系)...
绘制学习曲线非常有用,比如你想检查你的学习算法,运行是否正常.或者你希望改进算法的表现或效果.那么学习曲线就是一种很好的工具.学习曲线可以判断某一个学习算法,是偏差.方差问题,或是二者皆有. 为了绘制 ...
- 斯坦福大学公开课机器学习:Neural Networks,representation: non-linear hypotheses(为什么需要做非线性分类器)...
如上图所示,如果用逻辑回归来解决这个问题,首先需要构造一个包含很多非线性项的逻辑回归函数g(x).这里g仍是s型函数(即 ).我们能让函数包含很多像这的多项式,当多项式足够多时,那么你也许能够得到可以 ...
- 斯坦福大学公开课 :机器学习课程(Andrew Ng)——1、整体看一看
============================================================================[课程综述]================== ...
最新文章
- 【 Verilog HDL 】正确的变量访问思路
- (HDU)1091 --A+B for Input-Output Practice (III)(输入输出练习(III))
- STM32开发 -- Gerrit的详细使用
- angular 图片引入_推荐一个 angular 图像加载插件
- java 应用程序无法运行_关于解决浏览器无法运行小应用程序问题
- python微博热点_用 Python 监控知乎和微博的热门话题
- [Android系列—] 3. 启动另外的活动(Activity)
- vue 父链和子组件索引_解决Vue2.x父组件与子组件之间的双向绑定问题
- c++求小数的位数_C语言求第二小数
- Javascirpt 排障(一)
- 求PSASP大神指教一下安装问题
- gsp计算机系统系统操作培训,gsp计算机系统操作PPT.ppt
- Python实现二叉树的前中后序遍历
- STM32F107各种接口程序合集工程文件
- java数字转读音_java 数字转汉语读音的程序
- Pentaho安装与配置
- Executive functions (执行功能)
- 高考自主招生招生基本问题,你需要吗?
- TRANSFORMER-TRANSDUCER:END-TO-END SPEECH RECOGNITION WITH SELF-ATTENTION
- 音频3A测试 NS降噪测试