《Graph Learning》| 第一章:缤纷的图世界
《Graph Learning》| 第一章:缤纷的图世界
原创: 刘忠雨 极验 2018-05-31
技术专栏
本文作者:刘忠雨
由萝卜兔编辑整理
通过前文《浅析图卷积神经网络》的介绍,相信大家对于图学习有了一个初步的认识,接下来我们将更加细致的解析图学习的相关知识。
开启图学习算法的第一步:理解什么是图
在数学上,图(Graph)是表示对象与对象之间关系的方法。从定义上可以看出,图有两个要素:
1、对象又称节点(Node)、顶点(Vertex)、实体(Entity),它描述的是具体的一件事物。
2、关系又称边(edge)它描述的对象之间的关系。
我们一般用这样的形式来表示一张图:G=(V, E), V表示节点的集合,E表示边集合;
V={V0,V1,V2,V3}、E={V0V1,V0V2,V1V2,V1V3}
图的另一种表达方式是邻接矩阵(Adjacent matrix)
Aij(邻接矩阵的第i行第j列)的取值表示的是第i个节点与第j个节点之间是否有边,取值为1表示有边,取值为0表示无边。邻接矩阵刻画的是图的结构信息,给定一个邻接矩阵,相应的图就可以画出来。
另外在实际研究中,节点与边都有特定的类型,比如连接“用户”与“商品”节点的边,很可能就是“购买”的类型关系。像这样,在构建一个具体业务场景的图时,标识上节点类型与边的类型,这样的图我们称之为图的结构表示(Graph Schema),它反应出来的是一种业务上的逻辑抽取。后面我们会结合各类现实场景中的Graph Schema来说说我们关注的一些学习任务。
青睐有加,理解图的优势
图做为一种广泛应用的数据结构,其优势主要表现在两点:
一是顺藤摸瓜,给定一个节点,顺着其边的信息,能够快速的找到它的邻居节点。换言之,在图里面查询信息很容易。
二是拉帮结派,由于图的传播性强(邻居的邻居也跟自己关系紧密),相互之间联系紧密的节点可以构成一个子图(或子团)。
上图中可以明显看到有a、b两个子图,一般像这样在图中寻找子团的任务称为社群检测(Community Detection )或者叫作高密子图挖掘(Dense Subgraph Mining)。
现实场景下缤纷的图世界
社交网络
利用社交网络图可以实现以下任务:
1、推荐用户可能感兴趣的人;
2、推荐用户可能感兴趣的帖子或者内容;
3、社群发现(通过用户社交关系网络挖掘群体结构);
4、用户画像(地点、兴趣、关系网络);
搜索排名
图在网页排名中的应用,根据各网页的链接关系网来确定各网页的排名,又叫做PageRank算法。其基本思路是被引用越多的网页重要性越高;被重要性高的网页链接的网页重要性越高。
评分系统
用户-产品的评分图
通过上述的图可以分析比如哪些用户可能对啤酒感兴趣,哪些用户可能对尿布感兴趣,从而实现商品推荐。还可以实现评分清洗,建模用户的公平度、商品的良心度、评分的可信度,按照一定的规则迭代更新这三个值,从而分析商品的优劣或者区分恶意用户。例如上图中的用户f,很大可能就是恶意评价用户。
推荐系统
用户与歌曲的关系图谱,可以实现可解释的推荐和精细化推荐。
比如沿着用户-歌曲-曲风-歌曲这个路径是推荐用户喜欢的曲风下的其他歌曲;沿着用户-年代-歌曲-歌手是推荐活跃在用户出生年代的歌手的歌曲(可能是用户小时候听过的歌,俗称回忆杀系列),这些就是可解释的推荐。
小思考:沿着用户-歌曲-年代-用户-歌曲的意义是什么呢?
关于精细化推荐,从图中挖掘有很多条路径,很多种理由去推荐,每个用户对具体路径的偏好不一,我们还可以根据历史偏好信息对用户做更精细化的推荐。
知识图谱(关联图谱)
知识图谱通常是指从文本中分解实体及其关系,导入到图中,便于查询及推理。简单介绍两个很简单的知识图谱应用。
▪知识图谱应用之知识推理:
基于规则“爸爸的爸爸是爷爷”可以推理出康熙是乾隆的爷爷。
▪知识图谱应用之语义理解(智能问答):
通过对“北京”和“博物馆”两个信息的综合,机器可以得出结论该地方很有可能是指故宫。
风险控制
图在风控中的应用很广泛,很多风控的策略逻辑可以转化为图里面的一些具体问题来思考。比如下面涉及到的几种思路方法,包括像关联识别、聚类识别、推导识别、异构识别、碰撞识别等一系列应用。
▪风险控制之关联识别
通过强标识性节点的关联信息来做Identity recognition。比如关联到相同设备指纹与IP节点的用户可视为同一用户。
短时间内关联到同一设备节点的用户节点数目异常可考虑为撞库行为。
同一设备关联的用户数目异常
撞库原理
▪风险控制之聚类识别
通过节点关联信息来挖掘子图结构,而这种致密的结构通常会被判定为异常的风险关系。
图中可以看出,用户1、用户2、用户3和帖子1、帖子2形成了高密子图
▪风险控制之推导识别
顺藤摸瓜,找到与异常节点相关联的节点进行风险排查。
▪风险控制之异构识别:
用户关联的信息发生较大变化,潜在被盗号风险。
▪风险控制之碰撞识别:
节点之间的对应关系出现碰撞矛盾。
公司G同时存在两个地址,出现数据碰撞,那么就可能有风险。
归纳总结:图的学习任务分类
上面和大家介绍的是一些常见场景下的图结构以及相关任务,总的来说,我们可以从节点、边、图三个方面对图学习任务进行分类。
1、节点上的任务:利用图中节点的关系可以做包括分类(比如风险识别、价值排名等任务)、聚类(社群检测、用户画像等任务)。
2、边上的任务:通过图中节点之间是否有边可以做比如推荐、知识推理等任务。
3、图上的任务:图可以做像高分子分类、3D视觉分类等任务。
在后期专栏中将会对各种任务进行更加细致的探讨。图在各种场景数据中都有着广泛的适用性。但是实际应用上,图的学习一直停留在“规则引擎”、“图计算”这样的浅层层面上,本专栏旨在通过梳理 Graph learning的方方面面,和大家一起打开思路,探讨真正的 Learning on graph。
来自:https://mp.weixin.qq.com/s/HXrgspqv71QnaFrWSR1rBw
《Graph Learning》| 第一章:缤纷的图世界相关推荐
- 浙大第四版概率论第一章思维导图
浙大第四版概率论第一章思维导图 主要用于自己复习用
- 第一章 MUD:创造世界的巫师
自从有了游戏之后,人们不满足于做屏幕前的操控者,而是梦想着自己能够进入到游戏的绚丽世界中,在剑与魔法的世界中拯救世界,称为吟游诗人歌颂的屠龙 勇者,或者在武侠世界中快意恩仇,体验江湖恩怨儿女情长.网络 ...
- word标题为第一章,将图题由图一.1设置题注为图1.1的取巧方法
word标题为第一章,将图题由图一.1设置题注为图1.1的取巧方法 一个很取巧的方法,设置一级标题为正常的阿拉伯数字,但是设置字体样式为隐藏,然后手敲章节一,瞒天过海.这样,题注就变为了图1.1.当然 ...
- 高数第一章思维导图(目前待录取,原件在评论区分享)
高数 第一章 数列 函数 连续 函数 如果对于每个数x属于D,变量x按照一定的法则总有一个确定的y和它对应,则称x是y的函数. 记为y=f(x).常称x为自变量,y为因变量,D为定义域 极限 极 ...
- 自考02324离散数学第一章思维导图
自考计算机及应用本科专业中,刚刚学习完2014版<离散数学>第一章"命题与命题公式". 为了加深对书本的印象和理解,所以画出思维导图,如下图所示: ========== ...
- 实变函数第一章思维导图知识点总结
实变函数第四章思维导图知识点总结 实变函数第三章思维导图知识点总结 实变函数第二章思维导图知识点总结
- Pattern Recognition And Machine Learning 第一章
目录 1 绪论 1.1 例子:多项式曲线拟合 1.2 概率论(参考) 1.2.1 概率密度(参考) 1.2.2 期望和协方差(参考.参考.参考) 1.2.3 贝叶斯概率(参考.参考) 1.2.4 高斯 ...
- python第一章思维导图_阅读课本第一章内容后,使用思维导图画出你所理解的
[多选题]某甲今年14岁,他签订的下列合同有效的是( ). [多选题]下列违约责任承担方式可以并用的是( ). [单选题]用人单位自用工之日起满( )不与劳动者订立书面劳动合同的,视为用人单位与劳动者 ...
- 高中信息技术必修一第一章思维导图_高中生物必修+选修思维导图最全归纳,从此高中生物无忧!...
今天老师为同学们整理的是高中生物必修+选修思维导图最全归纳,方便大家进行背诵和记忆,快快收藏起来吧~ 建议大家对照相应章节的知识点,自行检查学习情况,促进加强记忆. 停课不停学,整理资料不易,希望大家 ...
最新文章
- 三星a5009Android6.0,三星A5009原版系统刷机包_三星A5009最新升级包线刷包和root
- mysql + Fluently NHibernate + WebAPI + Autofac
- 当我们在聊 Serverless 时你应该知道这些
- 第三章 系统指令与汇编程序设计 3.1 单片机指令系统
- 安卓如何修改华强北二代耳机敲击指令?
- secureCRT中文字符乱码
- PP视频怎么设置退出程序时清空本地播放记录
- 如何用php写表单中的年月日,php写的日历程序 - adamboy的个人页面 - OSCHINA - 中文开源技术交流社区...
- linux-使用基础-自动补全-快捷键-历史命令-别名
- Github新安全措施:停止Git客户端账号密码登录的解决方案
- bzoj1857 [Scoi2010]传送带
- TreeMap按照key排序
- Codeforces Testing Round #1_C. Circular RMQ
- Refactoring Page Head
- javascript div z-index, input tabindex属性说明
- 使用 Golang 实现简易的令牌桶算法
- 关于fiddle开启https证书协议源码
- 成功解决h5py\_init_.py
- html中div被挤下来,移动端布局,底部的div被挤下去,麻烦帮看看
- python编写文件管理系统_python用户管理系统实例详解