# 四、图嵌入技术
在本节中,我们基于所使用的技术对图嵌入方法进行分类。 通常,图嵌入旨在在低维空间中表示图,保留尽可能多的图属性信息。 不同图嵌入算法之间的区别在于,它们如何定义要保留的图属性。 不同的算法对节点(边、子结构、整图)的相似性,以及如何在嵌入空间中保留它们,有不同的见解。 接下来,我们将介绍每种图嵌入技术的见解,以及它们如何量化图属性并解决图嵌入问题。
## 矩阵分解
基于矩阵分解的图嵌入,以矩阵的形式表示图特性(例如,节点成对相似性)并对该矩阵进行分解来获得节点嵌入[11]。 图嵌入的开创性研究通常以这种方式解决图嵌入问题。 在大多数情况下,输入是由非关系高维数据特征构成的图,如第 3.1.4 节中所介绍的。输出是一组节点嵌入(Sec.3.2.1)。 因此,图嵌入的问题可以被视为保持结构的降维问题,其假定输入数据位于低维流形中。 有两种类型的基于矩阵分解的图嵌入。 一种是分解图的拉普拉斯特征映射 ,另一种是直接分解节点邻近矩阵 。
### 图的拉普拉斯算子
见解: 要保留的图属性可以解释为成对节点的相似性。 因此,如果两个具有较大相似性的节点相距很远,则会施加较大的惩罚。
**表4:**基于图的拉普拉斯特征映射的图嵌入。
| GE算法 | ![](https://img.kancloud.cn/5e/88/5e88ead495352c252fc0f925364a7657_24x14.png) | 目标函数 |
| --- | --- | --- |
| MDS [74] | ![](https://img.kancloud.cn/23/d0/23d0261e61810b3151191df9bfacbd3b_47x30.png) 欧氏距离 ![](https://img.kancloud.cn/bd/60/bd60c64ad8c518de47a1474be17f5c32_62x32.png) | 公式 2 |
| Isomap [78] | KNN, ![](https://img.kancloud.cn/2e/b1/2eb1a2ad70196e53c4243c6170cd74ff_31x30.png) 是沿着 ![](https://img.kancloud.cn/07/40/0740edb420c2cc4fd3da7398d2deb689_17x31.png) 到 ![](https://img.kancloud.cn/99/ca/99ca1db217ecc34711addcbc6a025696_19x31.png) 最短路径的边权重之和 | 公式 2 |
| LE [96] | KNN, ![](https://img.kancloud.cn/dc/16/dc1630509c514fe44f9f7ceb3d1d82e5_153x44.png) | 公式 2 |
| LPP [97] | KNN, ![](https://img.kancloud.cn/38/1a/381a48e30dd7a0be673a5879ac08f966_153x44.png) | 公式 4 |
| AgLPP [79] | 锚图, ![](https://img.kancloud.cn/53/57/5357782fa352f98bbc7f333b11898580_105x17.png) , ![](https://img.kancloud.cn/db/23/db2356660d1b67f3575676f88917921d_93x31.png) , ![](https://img.kancloud.cn/9e/96/9e9638721f1da2052ec55b93e64d61e5_136x40.png) | ![](https://img.kancloud.cn/6c/e2/6ce2a17e1301e0dd99005d914f5a2068_161x41.png) |
| LGRM [98] | KNN, ![](https://img.kancloud.cn/dc/16/dc1630509c514fe44f9f7ceb3d1d82e5_153x44.png) | ![](https://img.kancloud.cn/35/a1/35a1614a6fa7f8335068a4101648d673_183x46.png) |
| ARE [88] | KNN, ![](https://img.kancloud.cn/42/1a/421aad02e8433ef300ea2c7c9992a1b3_157x44.png) , ![](https://img.kancloud.cn/fb/69/fb69b79b173d3ec12833226fbbc3aac5_268x81.png) | `<6244>` |
| SR [99] | KNN, ![](https://img.kancloud.cn/85/73/85736e1a764889678e729684c1982ca6_204x81.png) ![](https://img.kancloud.cn/3f/e8/3fe86fe8886bb4d7766be4189e9f4fa7_272x63.png) | `<6248>` |
| HSL [87] | ![](https://img.kancloud.cn/a5/e6/a5e63709faeece3d027435df675ef7c5_75x30.png) ,其中 ![](https://img.kancloud.cn/98/6a/986a10141d389488092a1aba26ca46c3_15x14.png) 是归一化的超图的拉普拉斯算子 | ![](https://img.kancloud.cn/a0/bc/a0bc36ef18146361466f54354ad76763_201x35.png) ,圣 ![](https://img.kancloud.cn/b8/94/b894a384aed88e92f2e0f4d5d961ee3a_106x35.png) |
| MVU [100] | KNN, ![](https://img.kancloud.cn/41/aa/41aa8206ffb7545d68981a86d1091fc0_150x32.png) ,圣 ![](https://img.kancloud.cn/36/a2/36a2484206d633c519dd2c6538798b1d_51x30.png) , ![](https://img.kancloud.cn/25/4c/254c3efd400df717dc5dca1c5154c357_90x31.png) 和 ![](https://img.kancloud.cn/b2/73/b2731a938960889aa96fc9a51762dbd5_33x30.png) , | `<6255>` |
| SLE [86] | KNN, ![](https://img.kancloud.cn/b8/78/b878432482fbbd078d471e75b202c7a9_263x63.png) | `<6259>` |
| MSHLRR [76] | 一般图:KNN, ![](https://img.kancloud.cn/eb/69/eb69cebeed4c8f0ca5f09dc95e18ce01_60x30.png) | 公式 2 |
| | 超图: ![](https://img.kancloud.cn/8e/00/8e00aa345f3aba31a196adea1955c0e3_42x32.png) 是一个夸张的重量 ![](https://img.kancloud.cn/47/28/4728f90fb1a1e9e2c93bca8c7e1df59b_13x17.png) |
| | ![](https://img.kancloud.cn/34/b6/34b6b1d63de2738f0d825e3f83eb8584_186x63.png) , ![](https://img.kancloud.cn/5e/c7/5ec77fd5905b2498ae67eb7dceb54616_143x32.png) |
| [77] | ![](https://img.kancloud.cn/df/15/df154afe5c643daa7df4b5a4c4107b4a_324x64.png) | ![](https://img.kancloud.cn/bd/f6/bdf6c8afb8173f6ebc00a586ac1a2ddc_283x43.png) |
| PUFS [75] | KNN, ![](https://img.kancloud.cn/1d/e4/1de4f32514f91131a7a792c58de8ca6e_166x44.png) | 公式 4 +(must 和 cannot 链接约束) |
| RF-Semi-NMF-PCA [101] | KNN, ![](https://img.kancloud.cn/eb/69/eb69cebeed4c8f0ca5f09dc95e18ce01_60x30.png) | 公式 2 + ![](https://img.kancloud.cn/b4/63/b4636a53741812a77d097d6ae690d6df_17x15.png) (PCA)+ ![](https://img.kancloud.cn/b4/63/b4636a53741812a77d097d6ae690d6df_17x15.png) (k均值) |
基于以上见解,最优的嵌入 ![](https://img.kancloud.cn/ba/60/ba60e8da949bf5de597576c93217cfa5_13x31.png) 可以由以下目标函数[99]导出。
![](https://img.kancloud.cn/f9/e9/f9e90b9ca402df032f2200a38fdabe8d_349x40.png) (1)
其中 ![](https://img.kancloud.cn/2e/b1/2eb1a2ad70196e53c4243c6170cd74ff_31x30.png) 是节点 ![](https://img.kancloud.cn/07/40/0740edb420c2cc4fd3da7398d2deb689_17x31.png) 和 ![](https://img.kancloud.cn/99/ca/99ca1db217ecc34711addcbc6a025696_19x31.png) 之间的“定义的”相似性;![](https://img.kancloud.cn/b8/95/b89502f53029b0d57cbc5160f31b6188_76x30.png) 是图的拉普拉斯。 ![](https://img.kancloud.cn/c1/1b/c11be425218481db75d2743198b5e450_18x14.png) 是对角矩阵,其中 ![](https://img.kancloud.cn/fd/dd/fddd08cde4586079724c9d73fa17a72b_114x31.png)。 ![](https://img.kancloud.cn/fb/5e/fb5ec439ffbe0ce75efe9d68864f872e_27x30.png) 的值越大,![](https://img.kancloud.cn/7e/e4/7ee443153fbc64825deddfa561048c6b_17x31.png) 就更重要[97]。 约束 ![](https://img.kancloud.cn/31/76/31762872c07bc5dcccd8fd2f7a017fad_74x35.png) 通常加于 Eq.1,来删除嵌入中的任意缩放因子。 Eq.1 然后化简为:
![](https://img.kancloud.cn/29/da/29da565bae6332d92fc6e11cd4439564_406x56.png) (2)
最优的 ![](https://img.kancloud.cn/ba/60/ba60e8da949bf5de597576c93217cfa5_13x31.png) 是特征问题 ![](https://img.kancloud.cn/bc/17/bc175cdc323357bb88d3dada94363a9a_82x30.png) 的最大特征值对应的特征向量。
上面的图嵌入是渐进式的,因为它只能嵌入训练集中存在的节点。 在实践中,它可能还需要嵌入未在训练中看到的新节点。 一种解决方案是设计线性函数 ![](https://img.kancloud.cn/3f/d9/3fd9f3783fb5a0858cf8ca21866c66b9_67x35.png) 这样只要提供了节点特征,就可以导出嵌入。 因此,对于归纳性的图嵌入,Eq.1 变为在以下目标函数中找到最的 ![](https://img.kancloud.cn/88/87/8887d6387a6eea05f61ce15300cfa569_13x17.png):
![](https://img.kancloud.cn/06/16/0616f24107f3b4c682deb13b0a7a7cff_404x43.png) (3)
与 Eq.2 相似,通过添加约束 ![](https://img.kancloud.cn/11/53/11533af07b7ce452f0c9f0015f487105_113x17.png) ,公式 3 中的问题变成:
![](https://img.kancloud.cn/e2/b9/e2b9b875cd7c67e842287db3a05f0cb9_343x56.png) (4)
最优的 ![](https://img.kancloud.cn/88/87/8887d6387a6eea05f61ce15300cfa569_13x17.png) 是 ![](https://img.kancloud.cn/0e/2f/0e2fafc72f83af90e24544f8503f9993_160x17.png) 的解的最大特征值的特征向量。
现有研究的差异主要在于它们如何计算成对节点的相似性 ![](https://img.kancloud.cn/2e/b1/2eb1a2ad70196e53c4243c6170cd74ff_31x30.png) ,以及它们是否使用线性函数 ![](https://img.kancloud.cn/3f/d9/3fd9f3783fb5a0858cf8ca21866c66b9_67x35.png) 或不。 已经进行了一些尝试[85,81]以使用一般框架总结现有的基于拉普拉斯特征图的图嵌入方法。 但他们的综述只涵盖了有限的工作量。 在表 4 中 ,我们总结了现有的基于拉普拉斯特征图的图嵌入研究,并比较了它们的 ![](https://img.kancloud.cn/56/57/56571fc001c18aa9a087836fe41bcb8f_22x15.png) 的计算方法,以及他们采用了什么样的目标函数。
最初的研究 MDS [74]直接采用了两个特征向量 ![](https://img.kancloud.cn/41/bd/41bd77c4fbd53cee500f6a1baeb6d436_23x30.png) 和 ![](https://img.kancloud.cn/84/93/8493016386e3155ec250f8bfbe1d2651_24x30.png) 之间的欧几里德距离,作为 ![](https://img.kancloud.cn/2e/b1/2eb1a2ad70196e53c4243c6170cd74ff_31x30.png)。公式 2 用于找到 ![](https://img.kancloud.cn/ba/60/ba60e8da949bf5de597576c93217cfa5_13x31.png) 的最佳嵌入。 MDS不考虑节点的邻域,即,任何一对训练实例都被认为是连接的。 后续研究(例如,[78,102,96,97])通过首先从数据特征构建 k 最近邻(KNN)图来克服该问题。 每个节点仅与其前 k 个相似的邻居连接。 之后,利用不同的方法来计算相似度矩阵 ![](https://img.kancloud.cn/56/57/56571fc001c18aa9a087836fe41bcb8f_22x15.png),以便尽可能多地保留所需的图属性。 最近设计了一些更高级的模型。 例如,AgLPP [79]引入了锚图,显着提高早期矩阵分解模型 LPP 的效率。 LGRM [98]学习局部回归模型来掌握图结构,和样本外数据外插值的全局回归项。 最后,与以前的工作保留局部几何不同,LSE [103]使用局部样条回归来保持全局几何。
当辅助信息(例如,标签,属性)可用时,调整目标函数以保留更丰富的信息。 例如,[99]构造邻接图 ![](https://img.kancloud.cn/56/57/56571fc001c18aa9a087836fe41bcb8f_22x15.png) 和标记图 ![](https://img.kancloud.cn/84/56/8456a5f77e84dfb4c7305fe22091f858_40x17.png)。 目标函数由两部分组成,一部分侧重于保留数据集的局部几何结构,如LPP [97],另一部分试图在标记的训练数据上获得具有最佳类的可分性的嵌入。 类似地,[88]也构造了两个图,即邻接图 ![](https://img.kancloud.cn/56/57/56571fc001c18aa9a087836fe41bcb8f_22x15.png) 编码局部几何结构,反馈关系图 ![](https://img.kancloud.cn/84/ac/84ac08b460e1a5ce5227e275ae4716ce_52x17.png) 编码用户相关反馈中的成对关系。 RF-Semi-NMF-PCA [101]通过构建由三个部分组成的目标函数:PCA,k-means和图的拉普拉斯正则化,同时考虑聚类,降维和图嵌入。
其他一些工作认为 ![](https://img.kancloud.cn/56/57/56571fc001c18aa9a087836fe41bcb8f_22x15.png) 不能通过容易枚举成对节点关系来构造。 相反,他们采用半定规划(SDP)来学习 ![](https://img.kancloud.cn/56/57/56571fc001c18aa9a087836fe41bcb8f_22x15.png) 。 具体而言,SDP [104]的目的是找到一个内积矩阵,它最大化在图中没有连接的任何两个输入之间的成对距离,同时保留最近的邻居距离。 MVU [100]构造这样的矩阵,然后在习得的内积矩阵上应用MDS [74]。 [2]证明正则化LPP [97]相当于正则化SR [99],如果 ![](https://img.kancloud.cn/56/57/56571fc001c18aa9a087836fe41bcb8f_22x15.png) 是对称的,双随机的,PSD并且秩为 ![](https://img.kancloud.cn/ef/38/ef3882369e8ef4e2a173ed228a7b8679_12x31.png) 。 它构造了这种相似矩阵,从而有效地解决了类似LPP的问题。
**表5:**基于节点邻近矩阵分解的图嵌入。`O(*)`表示目标函数;例如,`O(SVM分类器)`表示SVM分类器的目标函数。
| GE算法 | ![](https://img.kancloud.cn/5e/88/5e88ead495352c252fc0f925364a7657_24x14.png) | 目标函数 |
| --- | --- | --- |
| [50] | ![](https://img.kancloud.cn/27/6b/276b9fa9eebbcdfa18f723aaf942077f_167x63.png) | 公式 5 |
| SPE [105] | KNN, ![](https://img.kancloud.cn/ec/14/ec14990a8ec545fb1f6520c5083ef8d1_162x38.png) ,约束为 ![](https://img.kancloud.cn/df/0a/df0a67f2c4694b056134df4e88a0be0b_213x38.png) | 公式 5 |
| HOPE [106] | Katz 指数 ![](https://img.kancloud.cn/b3/37/b337afb3d8aba35b8e169b750e3d58ea_142x34.png) ; 个性化的 Pagerank ![](https://img.kancloud.cn/f3/01/f3015bb9227545c1c6673d0d2a0e4949_171x34.png) | 公式 5 |
| GraRep [21] | ![](https://img.kancloud.cn/1a/87/1a872b3c90ebbe2d880e257c41aa4d08_203x50.png) ,其中 ![](https://img.kancloud.cn/da/11/da115ac68caa7c2cab632cbb921da89d_79x19.png) , ![](https://img.kancloud.cn/ea/fc/eafc1274840fb7ba8d61cd3019120914_171x63.png) | 公式 5 |
| CMF [43] | PPMI | 公式 5 |
| TADW [56] | PMI | 公式 5 和文本特征矩阵 |
| [24] | `A` | ![](https://img.kancloud.cn/5b/da/5bda863d40941f555a2bb1471aa515fb_371x40.png) |
| MMDW [48] | PMI | 公式 5 + `O(SVM分类器)` |
| HSCA [57] | PMI | `O(MMDW)`+( 一阶邻近度约束) |
| MVE [107] | KNN, ![](https://img.kancloud.cn/d5/fe/d5fe50d90147a516e787d1be2110ea67_342x40.png) | 公式 5 |
| M-NMF [1] | ![](https://img.kancloud.cn/33/bd/33bd701743635e8620e80c4691bece64_119x36.png) | 公式 5 + `O(社区检测)` |
| ULGE [2] | ![](https://img.kancloud.cn/a0/43/a0437d0054eecc51d2b64b30a49b2338_107x17.png) ,其中 ![](https://img.kancloud.cn/65/17/6517ba43103c3842f6f9d5525505c157_345x48.png) | ![](https://img.kancloud.cn/e7/a7/e7a7062b3bd1a7b1c948b1f9d2c51f36_256x35.png) |
| LLE [102] | KNN, ![](https://img.kancloud.cn/19/c9/19c9e27711ba6db336df1f92dd33241a_261x34.png) | ![](https://img.kancloud.cn/76/f9/76f9dd0a79773e027b78a36b37e8f56f_241x34.png) |
| RESCAL [108] | ![](https://img.kancloud.cn/94/7c/947ca21da06ecde2c9a57aacf226cd5a_214x63.png) | ![](https://img.kancloud.cn/66/59/6659953197c891b476ece82a3ae114c7_341x39.png) |
| FONPE [109] | KNN, ![](https://img.kancloud.cn/19/c9/19c9e27711ba6db336df1f92dd33241a_261x34.png) | ![](https://img.kancloud.cn/a7/88/a788d944d538fe026b5160cfa3baa37a_256x35.png) ,约束为 ![](https://img.kancloud.cn/86/bf/86bf69394cfc3ebd287d8d2a685a87a8_67x16.png) |
### 节点邻近矩阵分解
除了解决上述广义特征值问题外,另一系列研究试图直接分解节点邻近矩阵。
见解: 使用矩阵分解可以在低维空间中近似节点邻近度。 保持节点邻近度的目标是最小化近似的损失。
给定节点邻近矩阵 ![](https://img.kancloud.cn/56/57/56571fc001c18aa9a087836fe41bcb8f_22x15.png) ,目标是:
![](https://img.kancloud.cn/3c/67/3c676d13cfff210904bb1ebf03f3370f_133x37.png) (5)
其中 ![](https://img.kancloud.cn/11/12/111213b4801b626726c839ffb7e17914_83x36.png) 是节点嵌入,和 ![](https://img.kancloud.cn/00/ec/00ec71b1e40af9050c2f71788cf3b281_89x36.png) 是上下文节点的嵌入[21]。
公式 5 旨在找到一个最优的秩为`d`的邻近度矩阵`W`的近似( ![](https://img.kancloud.cn/a9/5a/a95a6b70fecd0e89d85d2fb1e3942ce7_13x15.png) 是嵌入的维度)。 一种流行的解决方案是对 ![](https://img.kancloud.cn/56/57/56571fc001c18aa9a087836fe41bcb8f_22x15.png) 应用 SVD(奇异值分解)[110]。从形式上看,
![](https://img.kancloud.cn/65/e9/65e9b930152b0a746cd64d92077f6381_257x41.png) (6)
其中 ![](https://img.kancloud.cn/d1/ed/d1edf80c0b2f11a5a2c8cae62100d49a_125x32.png) 是按降序排序的奇异值, ![](https://img.kancloud.cn/ad/f0/adf0c044315fc674f35c112608334c79_19x31.png) 和 ![](https://img.kancloud.cn/2c/42/2c42cc62df2c1920015991cf8626f591_20x31.png) 是 ![](https://img.kancloud.cn/02/0a/020a2f0bb718bb7d1574543f8622d391_19x31.png) 的奇异向量 。 最佳嵌入使用最大的`d`个奇异值获得 ![](https://img.kancloud.cn/a9/5a/a95a6b70fecd0e89d85d2fb1e3942ce7_13x15.png),相应的奇异向量如下:
![](https://img.kancloud.cn/07/4a/074a28593f6fa781863635b29253278a_183x57.png) (7)
根据是否保留非对称属性,节点 ![](https://img.kancloud.cn/4e/a2/4ea21ae287e2c9238a3fde1912e6e391_10x17.png) 的嵌入是 ![](https://img.kancloud.cn/4d/f9/4df92aa29caf245757a1bb39b8294f72_53x30.png) [21,50],或 ![](https://img.kancloud.cn/d9/34/d934506a2471d3532ed500847c1f5808_19x30.png) 和 ![](https://img.kancloud.cn/84/6c/846cd083f9e414cd984ab8b0caae1bc1_24x30.png) 连接,即 ![](https://img.kancloud.cn/94/92/949202a94864b7029def8e5faeaf73c7_88x32.png) [106]。 公式 5 存在其他解决方案,如正则化高斯矩阵分解[24],低秩矩阵分解[56],并加入其他正则化器来施加更多约束[48]。 我们总结了表 5 中所有基于节点邻近度矩阵分解的图嵌入。
总结:矩阵分解(MF)主要用于嵌入由非关系数据构建的图(第 3.1.4 节),用于节点嵌入(第 3.2.1 节),这是图的拉普拉斯特征映射问题的典型设定。 MF也用于嵌入同构图[50,24](第 3.1.1 节)。
## 深度学习
深度学习(DL)在各种研究领域表现出色,如计算机视觉,语言建模等。基于DL的图嵌入在图上应用DL模型。 这些模型要么直接来自其他领域,要么是专门为嵌入图数据设计的新神经网络模型。 输入是从图中采样的路径或整个图本身。 因此,我们基于是否采用随机游走来从图中采样路径,将基于DL的图嵌入分为两类。
### 带有随机游走的基于 DL 的图嵌入
见解: 通过最大化以自身嵌入为条件的,节点邻域的观测概率,可以在嵌入空间中保留图中的二阶邻近度。
在第一类基于深度学习的图嵌入中,图被表示为从其采样的一组随机游走路径。 然后将深度学习方法应用于用于图嵌入的采样路径,保留路径所承载的图属性。
鉴于上述见解,DeepWalk [17]采用神经语言模型(SkipGram)进行图嵌入。 SkipGram [111]旨在最大化窗口内出现的单词之间的共现概率 ![](https://img.kancloud.cn/29/ec/29ece1a506bc7ad1c8cd4c0af2432db4_16x17.png) 。 DeepWalk首先使用截断的随机游走,从输入图中采样一组路径(即,均匀地采样最后访问节点的邻居,直到达到最大长度)。 从图中采样的每个路径相当于来自语料库的句子,其中节点相当于单词。 然后将SkipGram应用于路径,最大化节点邻域的观测概率,以自身嵌入为条件。 以这种方式,邻域相似(二阶邻近度较大)的节点的嵌入相似。DeepWalk的目标函数如下:
![](https://img.kancloud.cn/07/a8/07a8f407048c124e971f4786c847b847_348x32.png) (8)
其中 ![](https://img.kancloud.cn/29/ec/29ece1a506bc7ad1c8cd4c0af2432db4_16x17.png) 是窗口大小,它限制随机游走上下文的大小。 SkipGram删除了排序约束,并且 公式 8转换为:
![](https://img.kancloud.cn/4a/3b/4a3b71fea21a4f65e363867769fe571d_229x32.png) (9)
其中 ![](https://img.kancloud.cn/32/0f/320f603fedb68f0df9e0b655d174b2f6_75x32.png) 使用softmax函数定义:
![](https://img.kancloud.cn/2c/2a/2c2aaf3cfa1e3af263316b529d11efd2_197x49.png) (10)
请注意,计算公式 10 是昂贵的,因为标准化因子(即,图中每个节点的所有内积的总和),所以图 10 的方法是不可行的。 通常有两种解近似完全softmax的解决方案:分层softmax [112]和负采样[112]。
分层softmax :有为了效地解决中公式 10,构造二叉树,其中节点被分配给叶子。 不像公式 10 那样枚举所有节点,仅需要求解从根到相应叶子的路径。 优化问题变得最大化树中特定路径的概率。 假设到叶子 ![](https://img.kancloud.cn/07/40/0740edb420c2cc4fd3da7398d2deb689_17x31.png) 的路径是一系列节点 ![](https://img.kancloud.cn/7d/e4/7de42c96c4459faf7a615d320f21f2e6_142x32.png) ,其中`b0`为根, ![](https://img.kancloud.cn/f2/99/f29989716114cd90507d2d97746b888c_91x30.png) 。 公式 10 然后变成:
![](https://img.kancloud.cn/2d/04/2d04cf14f5166bf04ec73240b9733bba_218x41.png) (11)
其中 ![](https://img.kancloud.cn/ba/5e/ba5ec16ecde41773d1b6b70d2d23e43e_42x32.png) 是二分类器:![](https://img.kancloud.cn/ba/d6/bad6018d7954be6edd8b9b918c7dbee8_135x35.png)。![](https://img.kancloud.cn/62/82/6282c0fde70c6bd51ffcfbdfadc7e209_31x32.png) 表示 S 形函数。 ![](https://img.kancloud.cn/a5/5e/a55ea1d5e341cd427b2c70a34c9db9e7_24x31.png) 是树节点 ![](https://img.kancloud.cn/9d/2a/9d2a5e070753fd2ce46466ae26790aab_17x30.png) 的父节点的嵌入 。 分层softmax减少了SkipGram的时间复杂度,从 ![](https://img.kancloud.cn/38/fe/38feb9f0630a52d4f1b8c4f5db4c49dc_59x34.png) 至 ![](https://img.kancloud.cn/c1/68/c168051a795c12104d1f34ebbab09943_106x32.png)。
负采样 : 负采样的关键思想是,使用逻辑回归将目标节点与噪声区分开来。 即,对于一个节点 ![](https://img.kancloud.cn/07/40/0740edb420c2cc4fd3da7398d2deb689_17x31.png) ,我们想区分它的邻居 ![](https://img.kancloud.cn/17/38/173804ef8a7d49f7fd36c9220d24c58c_33x31.png) 来自其他节点。 噪音分布 ![](https://img.kancloud.cn/0e/55/0e5569b471cbd1bc27a5e822421ff063_49x32.png) 用于绘制节点的负样本 ![](https://img.kancloud.cn/07/40/0740edb420c2cc4fd3da7398d2deb689_17x31.png) 。公式 9 中的每个 ![](https://img.kancloud.cn/65/48/65481fb323e4acf2e69e05f6297271f6_99x32.png) 然后计算为:
![](https://img.kancloud.cn/14/e7/14e73238e095c7a98f71845ff5704b53_306x40.png) (12)
其中 ![](https://img.kancloud.cn/4a/7a/4a7a44ac24686130f1d84b7a322b8a63_19x14.png) 是采样的负节点数。 ![](https://img.kancloud.cn/0e/55/0e5569b471cbd1bc27a5e822421ff063_49x32.png) 是一种噪声分布,例如均匀分布(![](https://img.kancloud.cn/62/37/6237027ddadc0ae5a4fe686f94fc17bd_153x35.png))。 具有负采样的SkipGram的时间复杂度是 ![](https://img.kancloud.cn/02/ad/02ad58457c2f50da45aff5347b53e04d_66x32.png)。
**表6:**带有随机游走路径的基于深度学习的图嵌入。
| GE算法 | 随机游走方法 | 保留的邻近度 | DL模型 |
| --- | --- | --- | --- |
| DeepWalk [17] | 截断随机游走 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) | SkipGram 和 分层 softmax(公式 11) |
| [34] | 截断随机游走 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) (词语-图像) | 同上 |
| GenVector [66] | 截断随机游走 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) (用户 - 用户和概念 - 概念) | 同上 |
| 受限制的DeepWalk [25] | 边权重采样 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) | 同上 |
| DDRW [47] | 截断随机游走 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) +分类一致性 | 同上 |
| TriDNR [73] | 截断随机游走 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) (节点,单词和标签之间) | 同上 |
| node2vec [28] | BFS + DFS | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) | SkipGram 和负采样(公式 12) |
| UPP-SNE [113] | 截断随机游走 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) (用户 - 用户和个人资料 - 个人资料) | 同上 |
| Planetoid [62] | 按标签和结构对节点对进行采样 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) +标签标识 | 同上 |
| NBNE [19] | 对节点的直接邻居进行采样 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) | 同上 |
| DGK [93] | graphlet 核:随机采样[114] | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) (通过graphlet) | SkipGram(公式11 - 12 ) |
| metapath2vec [46] | 基于元路径的随机游走 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) | 异构 SkipGram |
| ProxEmbed [44] | 截断随机游走 | 节点排名元组 | LSTM |
| HSNL [29] | 截断随机游走 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) + QA排名元组 | LSTM |
| RMNL [30] | 截断随机游走 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) +用户问题质量排名 | LSTM |
| DeepCas [63] | 基于马尔可夫链的随机游走 | 信息级联序列 | GRU |
| MRW-MN [36] | 截断随机游走 | ![](https://img.kancloud.cn/7f/87/7f8715b55c689f1e12288845a5742881_28x20.png) +跨模态特征差异 | DCNN + SkipGram |
DeepWalk [17]的成功激发了许多后续研究,这些研究将深度学习模型(例如,SkipGram或长短期记忆(LSTM)[115])应用于图嵌入的采样路径。 我们在表 6中对它们进行了总结。 如表中所示,大多数研究遵循DeepWalk的想法,但改变随机游戏的采样方法([25,28,62,62])或要保留的邻近度(定义 5和定义 6)的设定([34,66,47,73,62])。 [46]设计基于元路径的随机游走来处理异构图和异构 SkipGram,它最大化了给定节点具有异构上下文的概率。 除了SkipGram之外,LSTM是图嵌入中采用的另一种流行的深度学习模型。 请注意,SkipGram只能嵌入一个节点。 然而,有时我们可能需要将一系列节点嵌入为固定长度向量,例如,将句子(即,一系列单词)表示为一个向量,就要在这种情况下采用LSTM来嵌入节点序列。 例如,[29]和[30]嵌入cQA站点中的问题/答案中的句子,[44]在两个节点之间嵌入一系列节点,用于邻近度嵌入。 在这些工作中优化排名损失函数,来保持训练数据中的排名分数。 在[63]中,GRU [116](即,类似于LSTM的递归神经网络模型)用于嵌入信息级联路径。
#### 不带随机游走的基于 DL 的图嵌入
见解: 多层学习架构是一种强大而有效的解决方案,可将图编码为低维空间。
第二类基于深度学习的图嵌入方法直接在整个图(或整个图的邻近矩阵)上应用深度模型。 以下是图嵌入中使用的一些流行的深度学习模型。
自编码器 :自编码器旨在最小化其编码器输入和解码器输出的重建误差。 编码器和解码器都包含多个非线性函数。 编码器将输入数据映射到表示空间,并且解码器将表示空间映射到重建空间。 采用自编码器进行图嵌入的思想,与邻域保持方面的节点邻近矩阵分解(Sec.4.1.2)相似。 具体而言,邻接矩阵捕获节点的邻域。 如果我们将邻接矩阵输入到自编码器,则重建过程将使具有相似邻域的节点具有类似的嵌入。
深度神经网络 :作为一种流行的深度学习模型,卷积神经网络(CNN)及其变体已广泛应用于图嵌入。 一方面,他们中的一些人直接使用为欧几里德域设计的原始CNN模型,并重新格式化输入图以适应它。 例如,[55]使用图标记,从图中选择固定长度的节点序列,然后使用 CNN 模型,组装节点的邻域来学习邻域表示。 另一方面,一些其他工作试图将深度神经模型推广到非欧几里德域(例如,图)。 [117]在他们的综述中总结了代表性研究。 通常,这些方法之间的差异在于,它们在图上形成类似卷积的操作的方公式 一种方法是模拟卷积定理以定义谱域中的卷积 [118,119]。 另一种方法是将卷积视为空域中的邻域匹配 [82,72,120]。
其他 :还有一些其他类型的基于深度学习的图嵌入方法。 例如,[35]提出了DUIF,它使用分层softmax作为前向传播来最大化模块性。 HNE [33]利用深度学习技术来捕获异构成分之间的交互,例如,用于图像的CNN和用于文本的FC层。 ProjE [40]设计了一个具有组合层和投影层的神经网络。 它定义了知识图嵌入的逐点损失(类似于多分类)和列表损失(即softmax回归损失)。
我们在表 7 中总结了所有基于深度学习的图嵌入方法(没有随机游走),并比较了它们使用的模型以及每个模型的输入。
**表7:**基于深度学习的图嵌入, 没有随机游走路径。
| GE 算法 | 深度学习模型 | 模型输入 |
| --- | --- | --- |
| SDNE [20] | 自编码器 | ![](https://img.kancloud.cn/3b/94/3b94b10cba58d2b1112c3aade1f84643_16x14.png) |
| DNGR [23] | 堆叠去噪自编码器 | PPMI |
| SAE [22] | 稀疏自编码器 | ![](https://img.kancloud.cn/df/a5/dfa5504848dff9528e6cd1ad9a9efe8a_47x16.png) |
| [55] | CNN | 节点序列 |
| SCNN [118] | 谱 CNN | 图 |
| [119] | 带有光滑谱乘法器的谱 CNN | 图 |
| MoNet [80] | 混合模型网络 | 图 |
| ChebNet [82] | 图CNN又名ChebNet | 图 |
| GCN [72] | 图卷积网络 | 图 |
| GNN [120] | 图神经网络 | 图 |
| [121] | 自适应图神经网络 | 分子图 |
| GGS-NNs [122] | 自适应图神经网络 | 图 |
| HNE [33] | CNN + FC | 带图像和文本的图 |
| DUIF [35] | 分层深度模型 | 社会管理网络 |
| ProjE [40] | 神经网络模型 | 知识图 |
| TIGraNet [123] | 图卷积网络 | 从图像构造的图 |
总结:由于它的威力和效率,深度学习已广泛应用于图嵌入。 在基于深度学习的图嵌入方法中,已经观察到三种类型的输入图(除了从非关系数据构建的图(第 3.1.4 节))和所有四种类型的嵌入输出。
- TensorFlow 1.x 深度学习秘籍
- 零、前言
- 一、TensorFlow 简介
- 二、回归
- 三、神经网络:感知器
- 四、卷积神经网络
- 五、高级卷积神经网络
- 六、循环神经网络
- 七、无监督学习
- 八、自编码器
- 九、强化学习
- 十、移动计算
- 十一、生成模型和 CapsNet
- 十二、分布式 TensorFlow 和云深度学习
- 十三、AutoML 和学习如何学习(元学习)
- 十四、TensorFlow 处理单元
- 使用 TensorFlow 构建机器学习项目中文版
- 一、探索和转换数据
- 二、聚类
- 三、线性回归
- 四、逻辑回归
- 五、简单的前馈神经网络
- 六、卷积神经网络
- 七、循环神经网络和 LSTM
- 八、深度神经网络
- 九、大规模运行模型 -- GPU 和服务
- 十、库安装和其他提示
- TensorFlow 深度学习中文第二版
- 一、人工神经网络
- 二、TensorFlow v1.6 的新功能是什么?
- 三、实现前馈神经网络
- 四、CNN 实战
- 五、使用 TensorFlow 实现自编码器
- 六、RNN 和梯度消失或爆炸问题
- 七、TensorFlow GPU 配置
- 八、TFLearn
- 九、使用协同过滤的电影推荐
- 十、OpenAI Gym
- TensorFlow 深度学习实战指南中文版
- 一、入门
- 二、深度神经网络
- 三、卷积神经网络
- 四、循环神经网络介绍
- 五、总结
- 精通 TensorFlow 1.x
- 一、TensorFlow 101
- 二、TensorFlow 的高级库
- 三、Keras 101
- 四、TensorFlow 中的经典机器学习
- 五、TensorFlow 和 Keras 中的神经网络和 MLP
- 六、TensorFlow 和 Keras 中的 RNN
- 七、TensorFlow 和 Keras 中的用于时间序列数据的 RNN
- 八、TensorFlow 和 Keras 中的用于文本数据的 RNN
- 九、TensorFlow 和 Keras 中的 CNN
- 十、TensorFlow 和 Keras 中的自编码器
- 十一、TF 服务:生产中的 TensorFlow 模型
- 十二、迁移学习和预训练模型
- 十三、深度强化学习
- 十四、生成对抗网络
- 十五、TensorFlow 集群的分布式模型
- 十六、移动和嵌入式平台上的 TensorFlow 模型
- 十七、R 中的 TensorFlow 和 Keras
- 十八、调试 TensorFlow 模型
- 十九、张量处理单元
- TensorFlow 机器学习秘籍中文第二版
- 一、TensorFlow 入门
- 二、TensorFlow 的方式
- 三、线性回归
- 四、支持向量机
- 五、最近邻方法
- 六、神经网络
- 七、自然语言处理
- 八、卷积神经网络
- 九、循环神经网络
- 十、将 TensorFlow 投入生产
- 十一、更多 TensorFlow
- 与 TensorFlow 的初次接触
- 前言
- 1. TensorFlow 基础知识
- 2. TensorFlow 中的线性回归
- 3. TensorFlow 中的聚类
- 4. TensorFlow 中的单层神经网络
- 5. TensorFlow 中的多层神经网络
- 6. 并行
- 后记
- TensorFlow 学习指南
- 一、基础
- 二、线性模型
- 三、学习
- 四、分布式
- TensorFlow Rager 教程
- 一、如何使用 TensorFlow Eager 构建简单的神经网络
- 二、在 Eager 模式中使用指标
- 三、如何保存和恢复训练模型
- 四、文本序列到 TFRecords
- 五、如何将原始图片数据转换为 TFRecords
- 六、如何使用 TensorFlow Eager 从 TFRecords 批量读取数据
- 七、使用 TensorFlow Eager 构建用于情感识别的卷积神经网络(CNN)
- 八、用于 TensorFlow Eager 序列分类的动态循坏神经网络
- 九、用于 TensorFlow Eager 时间序列回归的递归神经网络
- TensorFlow 高效编程
- 图嵌入综述:问题,技术与应用
- 一、引言
- 三、图嵌入的问题设定
- 四、图嵌入技术
- 基于边重构的优化问题
- 应用
- 基于深度学习的推荐系统:综述和新视角
- 引言
- 基于深度学习的推荐:最先进的技术
- 基于卷积神经网络的推荐
- 关于卷积神经网络我们理解了什么
- 第1章概论
- 第2章多层网络
- 2.1.4生成对抗网络
- 2.2.1最近ConvNets演变中的关键架构
- 2.2.2走向ConvNet不变性
- 2.3时空卷积网络
- 第3章了解ConvNets构建块
- 3.2整改
- 3.3规范化
- 3.4汇集
- 第四章现状
- 4.2打开问题
- 参考
- 机器学习超级复习笔记
- Python 迁移学习实用指南
- 零、前言
- 一、机器学习基础
- 二、深度学习基础
- 三、了解深度学习架构
- 四、迁移学习基础
- 五、释放迁移学习的力量
- 六、图像识别与分类
- 七、文本文件分类
- 八、音频事件识别与分类
- 九、DeepDream
- 十、自动图像字幕生成器
- 十一、图像着色
- 面向计算机视觉的深度学习
- 零、前言
- 一、入门
- 二、图像分类
- 三、图像检索
- 四、对象检测
- 五、语义分割
- 六、相似性学习
- 七、图像字幕
- 八、生成模型
- 九、视频分类
- 十、部署
- 深度学习快速参考
- 零、前言
- 一、深度学习的基础
- 二、使用深度学习解决回归问题
- 三、使用 TensorBoard 监控网络训练
- 四、使用深度学习解决二分类问题
- 五、使用 Keras 解决多分类问题
- 六、超参数优化
- 七、从头开始训练 CNN
- 八、将预训练的 CNN 用于迁移学习
- 九、从头开始训练 RNN
- 十、使用词嵌入从头开始训练 LSTM
- 十一、训练 Seq2Seq 模型
- 十二、深度强化学习
- 十三、生成对抗网络
- TensorFlow 2.0 快速入门指南
- 零、前言
- 第 1 部分:TensorFlow 2.00 Alpha 简介
- 一、TensorFlow 2 简介
- 二、Keras:TensorFlow 2 的高级 API
- 三、TensorFlow 2 和 ANN 技术
- 第 2 部分:TensorFlow 2.00 Alpha 中的监督和无监督学习
- 四、TensorFlow 2 和监督机器学习
- 五、TensorFlow 2 和无监督学习
- 第 3 部分:TensorFlow 2.00 Alpha 的神经网络应用
- 六、使用 TensorFlow 2 识别图像
- 七、TensorFlow 2 和神经风格迁移
- 八、TensorFlow 2 和循环神经网络
- 九、TensorFlow 估计器和 TensorFlow HUB
- 十、从 tf1.12 转换为 tf2
- TensorFlow 入门
- 零、前言
- 一、TensorFlow 基本概念
- 二、TensorFlow 数学运算
- 三、机器学习入门
- 四、神经网络简介
- 五、深度学习
- 六、TensorFlow GPU 编程和服务
- TensorFlow 卷积神经网络实用指南
- 零、前言
- 一、TensorFlow 的设置和介绍
- 二、深度学习和卷积神经网络
- 三、TensorFlow 中的图像分类
- 四、目标检测与分割
- 五、VGG,Inception,ResNet 和 MobileNets
- 六、自编码器,变分自编码器和生成对抗网络
- 七、迁移学习
- 八、机器学习最佳实践和故障排除
- 九、大规模训练
- 十、参考文献