节点name在graph中无法展示_图节点分类与消息传递

Message passing and node classification

4efc515faab23fd1fb461744d429ce89.png

本文主要解决的问题:

给定一个网络, 其中部分节点有label, 如何能将其他的节点分配对应的节点label呢? (在生活中有很多这样的例子, 比如通过交互行为来判断用户是否是薅羊毛党)直觉上来说会考虑网络节点间彼此的连接关系, 本文中会学习的模型是collective classification:

这其中会涉及到三类具体的方法:

  • Relational classification;
  • Iterative classification;
  • Belief propagation;

Relational classification

Correlations Exists In Network

网络中的节点的行为是corrlated, 具体表现为三种:

  • Homophily:有相同性质的节点可能有更多的网络联系,如有相同音乐爱好的人更容易在相同的论坛版块;
  • Influence:一个节点的特征可能会受其他节点的影响,如假如我向我的朋友推荐我感兴趣的音乐专辑, 朋友中的一些很有可能变成和我一样对这些音乐专辑感兴趣的人;
  • Confounding:环境能够对节点的特征和节点间的联系产生影响;

Classification with network data

Motivation

相似的节点通常在网络中彼此相连,或连接比较紧密; 而”Guilt-by-association“:关联推定就是考虑这部分信息来对网络中节点类型进行推断; 所以网络中节点类型的判断主要通过以下三个来源的特征:

  • 本身节点的特征;
  • 节点相连邻居的label;
  • 节点相连邻居的特征;

Guilt-by-association

"Guilt-by-association"的问题比较好定义,如下图,给定Graph以及少量有label的节点,如何将剩余的节点标注为对应label,要求:网络有同质性:

3dac7c0536571ec815d945fdfe22cc52.png

对该问题进行数学建模:给定邻接矩阵W,大小为n*n, 以及Y为节点对应label,1为positive节点,-1位negative节点, 0位unlabeled节点,预测unlabeled的节点中postive的概率。 这里做马尔科夫假设:节点的label类型,仅取决于相连节点的label类型:

Collective classification 通常包括三个步骤:

  1. local classifier:仅考虑节点特征信息进行分类;
  2. Relational Classifier:考虑节点邻居的特征和类别信息;
  3. collective inference:将Relational Classifier应用到每一个节点上,直到整个网络的”inconsistency“最小化;

Probabilistic Relational Classifier

Probabilistic Relational Classifier 基本思路简单,将每个节点类别的概率是其相邻节点的加权平均,具体过程如下:

  1. 对于有标签的数据,将节点的类表标注为label;
  2. 对于没有标签的数据,将其类随机初始化;
  3. 然后按照随机顺序进行邻接节点类别加权,直到整个网络收敛或者达到最大迭代次数:

其中

是指节点i与节点j的连接权重。

这个模型存在两个问题:

  1. 不能保证模型一定收敛;
  2. 该模型并没有使用到节点的特征信息;

772d255897815ad11b130f24c8a7a0e0.png

如上图,对初始化后的节点, 按label邻接节点来进行加权计算,得到节点类型概率,直到收敛:经过5轮迭代之后:

b637ca3a8947c3da269770359e7dd4b3.png

Iterative Classifier

Iterative Classifier即加上节点特征后的迭代过程,主要包括两个过程:

  • Bootstrap Phase:将节点i用其特征表示,使用local classifier 去计算每个节点的label概率;
  • Iteration Phase:重复针对网络中每个节点,更新节点特征以及按local classifier对该节点进行分类,直到label稳定;

视频教程中,举了一个使用Iterative Classifier通过考虑网络结构信息来做fake review detection的, 建议大家可以详细看看论文: REV2_Fraudulent_User_Prediction_in_Rating_Platforms

Collective Classification

Belief Propagation是一个动态规划过程, 通过节点间passing message的手段, 主要用于解决图当中条件概率的问题。

Message Passing

举个例子来解释message passing的过程:

给定任务:统计图当中所有节点的数量, 其中每个节点只能与它的邻居节点来交互

48846b41dc6f5ba67d05b79442615a55.png

如上图,每一个节点会监听来自于它邻居的信息,然后更新信息,并将其向前传递, 如下图,标红圈的节点仅能接受到incoming messages:

  1. 2 nodes before you;
  2. 3 nodes behind you:

7de2ca6beca9d5436ba5720ef766a4a9.png

在稍微更复杂的tree型的graph来展示:

8a3881baaabb9e5c06f9e8dd560588ce.png

Loopy Belief Propagation

为了讲清楚, 这里做一个基础的定义:

  • Label-Label potential matrix
    : 表示节点i是类别
    的条件下,其邻接节点 j 为类别
    的概率;
  • prior belief
    :表示节点i为类别
    的先验概率;
  • :节点i预测其邻接节点j为状态

上面其实很好理解:该公式考虑节点i为

​的先验概率
ψ,且根据类似于状态转移矩阵来得到节点j为
, 同时考虑所有邻居节点传递的信息
, 随机顺序迭代,直到最终状态稳定, 得到节点i为类别Y_{i}
Yi​的概率:

考虑到节点,在做message passing时,其实没办法判断是否有cycle, 所以LBP在遇到cycles时会粗在一些问题,如下图,这里稍稍有一些不明白,如果有理解的欢迎评论区讨论:

88e80666a3e737923dce90892e85de39.png

LBP的优缺点如下:

  • 优点:
  1. 实现简单,极易并行化;
  2. 普适性强,适用所有图模型;
  • 挑战:
  1. 无法保证收敛,尤其是在用很多闭合的连接;
  • 势函数:
  1. 需要魔性训练;
  2. 训练学习是基于梯度优化的方法,在训练过程中可能存在手链问题;

Summary

本文基于cs224w学习整理而来,在本文中主要介绍了在node classification经典的三类处理方法:Relational classification、Iterative Classifier、Collective Classification, 介绍了经典的解决方案,如Probabilistic Relational Classifier、Message Passing, 文章中有若干案例,因为时间问题未整理,需要详细了解的建议学习本章教程,以及相关paper, node classification是经典的graph的问题,在很多反欺诈案例中有应用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iview 输入框_使用iview框架,如何进行输入框或者按钮的关联验证

iview框架的Form 组件基于 async-validator 实现数据验证,给 Form 设置属性 rules,同时给需要验证的 FormItem 设置属性 prop 指向对应字段即可。简单的验证北京上海深圳男女提交重置export default{data () {return{formValidate: {name:,mail:,city:,gender:,inte…

华为荣耀v20是android10,荣耀V20和荣耀V10买哪个好

随着华为NOVA 4的发布,接下来要期待的就是荣耀V20了。从目前曝光的信息来看,这款手机确实憋了不少大招,而且比华为NOVA 4更好的一点是它搭载的是麒麟980处理器,至于它的价格应该会与华为NOVA 4相近。虽然荣耀V20很诱人&#xff0c…

git配置全局用户名和密码_还在手动打包,手动传jar包?那你确实应该学一下jekins配置了...

本文为小编原创文章,首发于Java识堂微信公众号,一个高原创,高收藏的公众号,转载请联系作者先说jekins能干啥,你把代码放到git上,jekins就能帮你编译代码,并且把jar包放到相应的服务器上&#xf…

data 谷歌浏览器更改user 路径_Chrome浏览器自定义设置个人信息存储路径

序言Chrome浏览器很好用,感觉也很快,但是,也是有那么几个小瑕疵的。例如,Chrome浏览器无法设置安装路径,只能安装在默认的C盘,个人信息默认放在C盘,详细路径如下:对于我这种对C盘有洁…

android progressdialog 样式,android之修改系统自带ProgressDialog样式

1.ProgressDialog默认样式是当前Activity的theme所定义的ProgressDialog样式。继承自父类AlertDialog的style.AlertDialog的源码static int resolveDialogTheme(Context context, int resid) {if (resid THEME_TRADITIONAL) {return com.android.internal.R.style.Theme_Dialo…

python图片横向合并_[宜配屋]听图阁

起因: 有一批数据需要每个月进行分析,数据存储在excel中,行标题一致,需要横向合并进行分析。 数据示意:具有多个代码: # -*- coding: utf-8 -*- """ Created on Sun Nov 12 11:19:03 2017 a…

微信小程序是否有路由拦截_微信小程序--路由拦截器

背景由于最近公司要求开发小程序,一直很感兴趣,也是趁着这次机会,边文档边开发,遇到一些好玩的东西,留此作为笔记介绍在开发小程序,构建路由时,因为需要权限判断,最常见的就是在路由跳转时判断用户是否有权限访问或使用该功能,而在官网找了很久也没有看到,诸如 vue-router 的 b…

vue项目android,Android与Vue项目交互

1. Android代码class MainActivity : AppCompatActivity() {private lateinit var callJSBtn: Buttonprivate lateinit var webView: WebViewprivate var ajObject: AjObject AjObject()override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceSt…

updatebyprimarykeyselective返回什么是成功_嫦娥五号发射升空成功!!!

嫦娥五号探测器发射成功1聚焦发射当时2020年11月24日4时30分,我国在中国文昌航天发射场,用长征五号遥五运载火箭成功发射探月工程嫦娥五号探测器,火箭飞行约2200秒后,顺利将探测器送入预定轨道,开启我国首次地外天体采…

基于php的外卖订餐系统开题报告_订餐系统开题报告.doc

订餐系统开题报告订餐系统开题报告附件6:广东工商职业学院毕业设计(论 文)开题报告题目校园订餐系统设计与实现系 (部)计算机应用技术系专业班级姓名学号指导老师2015年10月30日毕业设计(论文)开题报告题目校园订餐系统设计与实现时间2015年10月30日至2015年11月10日…

荣耀v40搭载鸿蒙吗,荣耀V40照常发布,将更换操作系统,同nova8搭载鸿蒙2.0发布...

荣耀系列手机的发布节奏有一定程度的变动,例如荣耀Magic3发布推迟,但是根据消息称,荣耀V40还会照常发布。根据目前华为内部关于麒麟9000的分配来看,主要还是对Mate40和P40使用,其他型号中:nova8 Pro 、荣耀…

chrome java插件_Java程序员喜欢的10款软件里有你在用的吗?

作为一名Java程序员,日常开发的过程中,我们需要借助很多工具来进行编码。好的工具可以极大的提升程序员的工作效率,今天我们来认识下大多数程序员喜欢的10款软件。持不同意见或有想要补充的小伙伴,欢迎评论区交流哦~VSCODE不管你是…

transmac使用方法_Mac苹果电脑降级方法?

最近Mac OS升级到最新系统(Catalina 10.15 19A583)后,出现了各种奇葩问题,更关键的是,很多常用(专业)软件不能使用了,这让大家真的是焦头烂额。如果你笔记本电脑能够正常联网其实,Mac系统本身是提供了一个快速恢复系统…

android 网络连接 网络是否可用,Android 使用ping判断网络/WIFI连接是否可用

最近项目中有一个网络判断的需求,因为终端只能连接wifi,wifi即使连接上也可能会出现不能连接网络的问题,所以需要进行网络连接的判断。ping的相关知识使用ping检验网络是否可以连接ping就是检测客户端是否可以上网。那么我们就上代码该段代码…

android 富文本框架_当微擎框架遇上uniapp,以一当十同时开发十个平台项目

随着各类平台异军突起,流量也越来越分散。为了适应时代的发展,不少公司在做产品项目的时候,需要例如网站、公众号、H5、微信小程序、抖音小程序、支付宝小程序、百度小程序、360小程序、快应用、安卓app、苹果app的需求。这么多平台&#xff…

mesh 协调器 路由器_关于Mesh网络中,协调器和路由器之间的几个问题?

1,由于我所搭建的整个网络是Mesh网络,不牵涉到低功耗的情况,所以网络中只有两种类型的设备:协调器和路由器即:1个协调器N个路由器2,为了防止协调器在掉电的情况下路由器去维持整个网络,这样协调…

html5写入唯一标识,id - 唯一标识符 - html5全局属性

idid全局属性定义唯一标识符(ID),该标识符在整个文档中必须是唯一的。其目的是在链接(使用片段标识符),脚本或样式(使用CSS)时标识元素。示例A normal, boring paragraph. Try not to fall asleep.The most exciting paragraph on the page. One of a ki…

python 文本相似度_【机器学习】使用gensim 的 doc2vec 实现文本相似度检测

环境 Python3, gensim,jieba,numpy ,pandas 原理:文章转成向量,然后在计算两个向量的余弦值。 Gensim gensim是一个python的自然语言处理库,能够将文档根据TF-IDF, LDA, LSI 等模型转化成向量模…

list的exc_集合框架

List是有序的Collection,使用此接口能够精确的控制每一个元素的插入位置,及使用索引访问List中的元素,List存储元素是有序的、可重复。除了具备Collection接口必备的Iterator()方法外,List还提供了listIterator()方法返回一个List…

html鼠标经过的特效代码,使用mouse事件实现简单的鼠标经过特效

代码超级简单,这里就不多BB了,直接奉上Documentbody,ul,li{margin:0; padding:0; list-style:none}ul li{width:100px; height:100px; border:1px solid #f00; float:left; margin:50px 10px; background-color:#ffffff;}ul li.current{border:1px solid…