【CS224W课程笔记】Message Parsing and Node Classification

Outline

Main question today:给定一个部分节点有标签的网络,如何为网络中的剩余节点分配标签?

Collective classification:为网络中所有节点分配标签的思想,直觉上是利用网络中存在的关联(Correlations)。本次课程将讨论以下三类方法:

  • Relation Classification
  • Iterative Classification
  • Belief Propagation

有三种类型的依赖将导致关联:

  • Homophily(Individual Characteristics -> Social Connections): 个体与相似的其他个体交往和联系的趋势。这种相似性可以体现在年龄、性别、组织角色等多种属性上。例如:喜欢相同音乐类型的人更可能建立社交联系(在音乐会上见面,在音乐论坛上互动等)
  • Infuence (Social Connections -> Individual Characteristics): 社会关联将影响到个人特性。
  • Confounding (Environment -> Individual Characteristics; Environment -> Social Connections)

Classification with Network Data

Problem:给定一个图和少数带有标签的节点,如何利用网络中观察到的关联帮助预测其它节点的标签?

Motivation:相似的节点往往离得很近或直接相连。

  • Guilt-by-association:如果我与一个带有标签X的节点相连,我的标签很有可能也是X。
  • 网络中对象O的类别标签可能取决于:O的特性、O邻居的标签、O邻居的特性。

Fomulation:令W表示一个n个节点上的n \times n的带权邻接矩阵。令Y=\{-1, 0, 1\}^n表示标签向量,其中1表示正类节点,-1表示负类节点,0表示无标签节点。目标是预测哪些无标签节点可能是正类的。

Collective Classification

Markov Assumption: 节点i的标签Y_i取决于其邻居N_i的标签
P(Y_i|i) = P(Y_i|N_i)

Collective Classification涉及三个步骤:

  1. Local Classifier: (bootstrap step)分配初始标签。根据节点属性或特性预测标准,这是一个标准的分类任务,不涉及网络信息。
  2. Relational Classifier: 捕捉节点之间的相关性。学习一个基于邻居标签属性对各节点进行分类的分类器,这里用到了网络的信息。
  3. Collective Inference:通过网络传播相关性。将relational classification迭代的用于每个节点,直到相邻标签之间的非一致性最小化。网络的结构将严重影响最终的预测结果。

注意:如今所介绍的所有分类方法都是Approximate Inference,Exact Inference对于任意网络而言都是一个NP-hard问题,只有当网络满足特定条件时,才可以进行Exact Inference。此外接下来介绍的所有算法都是迭代算法。

Probabilistic Relational Classifier

Basic Idea:Y_i类别的可能性是其邻居类别可能性的加权平均。对于有标签节点,使用groud-truth的Y标签进行初始化;对于无标签节点,对Y进行统一初始化。以任意顺序更新节点,直到收敛或达到最大次数。

对每个节点i和标签c重复进行如下计算(其中N_i表示节点i的邻居数,W(i,j)表示从ij的边的权重):
P(Y_i = c) = \frac{1}{|N_i|} \sum_{(i,j)\in E} W(i,j)P(Y_j=c)

该方法的困难在于无法保证收敛以及模型无法用到节点的特征信息。

Iterative classification

Main idea:克服Relational Classifier未使用节点属性的缺点,基于节点i的属性和邻居节点N_i的标签对节点i进行分类。为每个节点i创建一个平面向量a_i,然后使用a_i训练一个分类器;每个节点具有不同数量的邻居,因此可以使用以下方法进行汇总(aggregate):计数(有多少邻居节点拥有某种特性)、模式、比例、均值、存在等。

Basic architechture:

  1. Bootstrap phase:将每个节点i转换为平面向量a_i,使用local classifier f(a_i),如SVM、kNN计算Y_i的最佳值;
  2. Iteration phase:对每个节点i重复以下过程:根据迭代结果更新节点向量a_i,重新计算f(a_i),迭代该过程直到类标签稳定或达到最大迭代次数。

Belief Propagation

Belief Propagation是一种用于回答图形模型中的条件概率查询的动态编程方法,邻居变量在其迭代过程中彼此传递信息,在达成共识后,将计算最终的belief。

Message Passing
Task: 计算图中的节点数
Condition: 每一个节点只能与邻居节点传递信息
Solution: 每一个节点接收其邻居节点传递的信息,更新自己的信息然后继续传递

Message Passing

注意:在一个有环图中该过程无法正确运作。

Loopy BP algorithm
What message will i send to j?取决于i从它的邻居k接收到的信息,每一个邻居将会传递给i对i状态的belief信息。

Notion:

  • Label-label potential matrix \psi: 节点和其邻居之间的依赖关系。\psi(Y_i, Y_j)等于给定节点j处于状态Y_i下的邻居节点i,其状态为y_j的可能性。
  • Prior belief /phi: 节点i处于状态Y_i下的概率\phi_i(Y_i)
  • m_{i \rightarrow j}(Y_j)表示ij处于状态Y_j的估计。
  • \mathcal{L}是所有的状态集合。

Process:

  1. 初始化所有的消息为1;
  2. 对每个结点重复如下操作:
    m_{i \rightarrow j}(Y_j) = \alpha \sum_{Y_i \in \mathcal{L}} \psi(Y_i, Y_j) \phi_i(Y_i) \prod_{k \in \mathcal{N}_i \backslash j} m_{k \rightarrow i}(Y_i)
  3. 收敛后,令b_i(Y_i)表示i处于状态Y_i的belief,其计算如下:
    b_i(Y_i) = \alpha \phi_i(Y_i) \prod_{j \in \mathcal{N}_i} m_{j \rightarrow i}(Y_i), \forall Y_i \in \mathcal{L}

Advantages:

  • 很容易进行编程和并行计算
  • 容易泛化到其它图模型

Challenges:
不能保证收敛,尤其是在有很多闭环的情况下

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269