hin2vec 异质信息网络表示学习 个人笔记
hin2vec想法其实挺巧妙的
它学习两种embedding,一种是对于节点的嵌入,一种是对于元路径(meta path)的嵌入
(ps 作者在文中说如果要强调路径的有向性,强调路径开始节点和终止节点的不同,那么可以扩展到三种embedding,对于路径起始节点的嵌入,对于路径终止节点的嵌入,对于元路径的嵌入)
训练流程如上。这是一个二分类网络,输出对于一定的x,y存在关系r的概率
x,y,r 分别代表路径起始节点、路径终止节点、元路径的one-hot向量,?_x′x 就是x对应节点的嵌入向量
这个模型的输出是 o= ???????( ∑ ?_?′?⊙?_?′?⊙?01(?_?′?) )
从外到内
sigmoid是sigmoid函数
∑是求和
⊙是hadmard函数,也就是对向量的逐项相乘
f01是01标准化函数
损失函数就是一般的交叉熵损失
——————
在实现的时候:
原作者使用的采样方式是将网络中的每个节点都作为随机游走的起始点进行n次长度为length的游走,同时对每条游走记录,用长度为1到w的窗口滑动采样。
原作者使用一个衰减的学习率,,就是已训练的数据占总数的比例乘以初始设定学习率,并设置了一个下限防止变为0。初始学习率默认0.025,下限学习率.
元路径嵌入归一化函数有两种,一种是sigmoid,另外一种也是默认的一种,是。归一化以后的梯度仍然是使用sigmoid的梯度计算方式。
负采样的具体方式为给定target(目标节点),meta-path(元路径),随机均匀采样context(起始节点) neg个(neg默认5)。(ps:负采样在实现的时候写错了,写成了采样metapath,结果就掉了9%的预测准确率)
笔者认为学习率衰减方式和采样方式对于较为孤立的点可能不够公平。
——————
胡思乱想:
其实会让人联想到注意力机制,训练过程中的r相当于一个query
另外用起来的话觉得比较不顺手的一点就是对于不同的metapath在训练时没有权重分配。也就是说对于不同的特定任务hin2vec训练得到的嵌入其实是有提升空间的
hin2vec 异质信息网络表示学习 个人笔记相关推荐
- 异质信息网络表征学习综述
摘要 信息网络表征学习的目的: 利用网络的拓扑结构 .节点内容等信息将节点嵌入到低维的向量空间中 ,同时保留原始网络固有的结构特征和内容特征 ,从而使节点的分类.聚类.链路预测等网络分析任务能够基于低 ...
- HIN2Vec:异质信息网络中的表示学习 | PaperDaily #18
在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...
- 图表示学习和异质信息网络
图表示学习和异质信息网络 图表示学习 基本概念 相关技术 基于降维解析的方法 基于矩阵分解的方法 基于随机游走的方法 基于深度学习的方法 异质信息网络 基本概念 语义探索方法 元路径 受限元路径 加权 ...
- 北邮石川教授:「异质信息网络」研究现状及未来发展
本文转载自:https://www.leiphone.com/news/201801/MpY4WF11OTnFLp7y.html 图片均来源于转载地址 异质信息网络研究现状及未来发展 一.引言 现实生 ...
- 《异质网络表征学习的研究进展》
文章链接: link. 基础信息 包含不同类型节点和边的为异质信息网络. 元路径是定义在网络模式上的链接两类对象的一条路径 挑战 异质信息网络的复杂性也为网络表征学习提出了新的挑战: 节点和边的异质性 ...
- 异质信息网络和知识图谱
1. 前言 最近在研究异质信息网络,发现知识图谱无论是在建模方式还是下游任务都与异质信息网络有很大的相似性. 在这里简单介绍一下知识图谱的相关概念和从网上找来的知识图谱嵌入综述类的文章或者博客进行总结 ...
- python神经结构二层_《python深度学习》笔记---8.3、神经风格迁移
<python深度学习>笔记---8.3.神经风格迁移 一.总结 一句话总结: 神经风格迁移是指将参考图像的风格应用于目标图像,同时保留目标图像的内容. 1."神经风格迁移是指将 ...
- tensorflow学习函数笔记
为什么80%的码农都做不了架构师?>>> [TensorFlow教程资源](https://my.oschina.net/u/3787228/blog/1794868](htt ...
- CSDN技术主题月----“深度学习”代码笔记专栏
from: CSDN技术主题月----"深度学习"代码笔记专栏 2016-09-13 nigelyq 技术专题 Hi,各位用户 CSDN技术主题月代码笔记专栏会每月在CODE博客为 ...
最新文章
- vsftp 在pasv下的防火墙配置
- 【软考-软件设计师】校验码
- ubutun 因为端口冲突引起安装nginx报错的解决方法
- ubuntu运行navicat没有反应的解决方法
- 软件定义的数据中心已经来临
- Linux的实际操作:文件目录类的实用指令(cat more less)
- Linux 简单文本处理命令
- STL(一)——栈及其应用
- PyTorch 1.0 中文官方教程:可选:数据并行处理
- Java和C长期霸权结束
- oracle sqlldr decode,SQLLDR应用举例
- 微信小程序:音乐项目
- linux perl环境搭建,Perl 环境安装
- 教你如何定位不合理的SQL?并优化之
- Linux who命令用法详解命令用法详解
- 0x80073712_win10系统更新提示错误代码“0x80073712”的解决方法
- 不小心点了计算机一键还原怎么操作,电脑按了一键还原系统怎么办
- with open()的使用
- qt treeview展示某一目录_新教材2020上海新高一数学课本目录及增加“数学建模”介绍...
- 模拟实现strstr函数,通俗易懂!!!
热门文章
- 数据预处理之数据清洗
- k8s NoSchedule k8s 设置污点 NoExecute有点复杂 移除节点 drain和不可调度cordon
- 立创EDA安装ibom插件
- oracle odbc drivers,Actual ODBC drivers 介绍
- pointwise 18.4R3 cfd前处理网格生成软件
- Excel每隔10行取得一个数字
- multimap 的使用例子
- 【qsort函数实现】
- 如何选定搭建个人独立博客工具
- ACL 2020 MART: Memory-Augmented Recurrent Transformer for Coherent Video Paragraph Captioning