all files
This commit is contained in:
parent
417acc0c26
commit
4649f8ff30
BIN
graph_alignment/cross_network.pdf
Normal file
BIN
graph_alignment/cross_network.pdf
Normal file
Binary file not shown.
BIN
graph_alignment/low_rank_spectral.pdf
Normal file
BIN
graph_alignment/low_rank_spectral.pdf
Normal file
Binary file not shown.
BIN
graph_alignment/regal.pdf
Normal file
BIN
graph_alignment/regal.pdf
Normal file
Binary file not shown.
BIN
graph_similarities/matching_node_emb_for_graph_sim.pdf
Normal file
BIN
graph_similarities/matching_node_emb_for_graph_sim.pdf
Normal file
Binary file not shown.
BIN
graph_similarities/net_lsd.pdf
Normal file
BIN
graph_similarities/net_lsd.pdf
Normal file
Binary file not shown.
313
notes.html
Normal file
313
notes.html
Normal file
|
@ -0,0 +1,313 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||||
|
<head>
|
||||||
|
<title>notes</title>
|
||||||
|
<!-- 2020-01-08 Wed 13:49 -->
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||||
|
<meta name="generator" content="Org-mode" />
|
||||||
|
<meta name="author" content="alex" />
|
||||||
|
<style type="text/css">
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
.title { text-align: center; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { color: green; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||||
|
.center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||||
|
.underline { text-decoration: underline; }
|
||||||
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||||
|
p.verse { margin-left: 3%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
box-shadow: 3px 3px 3px #eee;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: visible;
|
||||||
|
padding-top: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
background-color: white;
|
||||||
|
top: -10px;
|
||||||
|
right: 10px;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline;}
|
||||||
|
pre.src-sh:before { content: 'sh'; }
|
||||||
|
pre.src-bash:before { content: 'sh'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.right { text-align: center; }
|
||||||
|
th.left { text-align: center; }
|
||||||
|
th.center { text-align: center; }
|
||||||
|
td.right { text-align: right; }
|
||||||
|
td.left { text-align: left; }
|
||||||
|
td.center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara:nth-child(2) { display: inline; }
|
||||||
|
.footpara { display: block; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.org-info-js_info-navigation { border-style: none; }
|
||||||
|
#org-info-js_console-label
|
||||||
|
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||||
|
.org-info-js_search-highlight
|
||||||
|
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||||
|
/*]]>*/-->
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/*
|
||||||
|
@licstart The following is the entire license notice for the
|
||||||
|
JavaScript code in this tag.
|
||||||
|
|
||||||
|
Copyright (C) 2012-2013 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
The JavaScript code in this tag is free software: you can
|
||||||
|
redistribute it and/or modify it under the terms of the GNU
|
||||||
|
General Public License (GNU GPL) as published by the Free Software
|
||||||
|
Foundation, either version 3 of the License, or (at your option)
|
||||||
|
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||||
|
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||||
|
|
||||||
|
As additional permission under GNU GPL version 3 section 7, you
|
||||||
|
may distribute non-source (e.g., minimized or compacted) forms of
|
||||||
|
that code without the copy of the GNU GPL normally required by
|
||||||
|
section 4, provided you include this license notice and a URL
|
||||||
|
through which recipients can access the Corresponding Source.
|
||||||
|
|
||||||
|
|
||||||
|
@licend The above is the entire license notice
|
||||||
|
for the JavaScript code in this tag.
|
||||||
|
*/
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
function CodeHighlightOn(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(null != target) {
|
||||||
|
elem.cacheClassElem = elem.className;
|
||||||
|
elem.cacheClassTarget = target.className;
|
||||||
|
target.className = "code-highlighted";
|
||||||
|
elem.className = "code-highlighted";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function CodeHighlightOff(elem, id)
|
||||||
|
{
|
||||||
|
var target = document.getElementById(id);
|
||||||
|
if(elem.cacheClassElem)
|
||||||
|
elem.className = elem.cacheClassElem;
|
||||||
|
if(elem.cacheClassTarget)
|
||||||
|
target.className = elem.cacheClassTarget;
|
||||||
|
}
|
||||||
|
/*]]>*///-->
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="http://orgmode.org/mathjax/MathJax.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
<!--/*--><![CDATA[/*><!--*/
|
||||||
|
MathJax.Hub.Config({
|
||||||
|
// Only one of the two following lines, depending on user settings
|
||||||
|
// First allows browser-native MathML display, second forces HTML/CSS
|
||||||
|
// config: ["MMLorHTML.js"], jax: ["input/TeX"],
|
||||||
|
jax: ["input/TeX", "output/HTML-CSS"],
|
||||||
|
extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js",
|
||||||
|
"TeX/noUndefined.js"],
|
||||||
|
tex2jax: {
|
||||||
|
inlineMath: [ ["\\(","\\)"] ],
|
||||||
|
displayMath: [ ['$$','$$'], ["\\[","\\]"], ["\\begin{displaymath}","\\end{displaymath}"] ],
|
||||||
|
skipTags: ["script","noscript","style","textarea","pre","code"],
|
||||||
|
ignoreClass: "tex2jax_ignore",
|
||||||
|
processEscapes: false,
|
||||||
|
processEnvironments: true,
|
||||||
|
preview: "TeX"
|
||||||
|
},
|
||||||
|
showProcessingMessages: true,
|
||||||
|
displayAlign: "center",
|
||||||
|
displayIndent: "2em",
|
||||||
|
|
||||||
|
"HTML-CSS": {
|
||||||
|
scale: 100,
|
||||||
|
availableFonts: ["STIX","TeX"],
|
||||||
|
preferredFont: "TeX",
|
||||||
|
webFont: "TeX",
|
||||||
|
imageFont: "TeX",
|
||||||
|
showMathMenu: true,
|
||||||
|
},
|
||||||
|
MMLorHTML: {
|
||||||
|
prefer: {
|
||||||
|
MSIE: "MML",
|
||||||
|
Firefox: "MML",
|
||||||
|
Opera: "HTML",
|
||||||
|
other: "HTML"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
/*]]>*///-->
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="content">
|
||||||
|
<h1 class="title">notes</h1>
|
||||||
|
<div id="table-of-contents">
|
||||||
|
<h2>Table of Contents</h2>
|
||||||
|
<div id="text-table-of-contents">
|
||||||
|
<ul>
|
||||||
|
<li><a href="#sec-1">1. Graph alignment</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#sec-1-1">1.1. REGAL</a>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#sec-1-1-1">1.1.1. Intro</a></li>
|
||||||
|
<li><a href="#sec-1-1-2">1.1.2. REGAL Description</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-sec-1" class="outline-2">
|
||||||
|
<h2 id="sec-1"><span class="section-number-2">1</span> Graph alignment</h2>
|
||||||
|
<div class="outline-text-2" id="text-1">
|
||||||
|
</div><div id="outline-container-sec-1-1" class="outline-3">
|
||||||
|
<h3 id="sec-1-1"><span class="section-number-3">1.1</span> REGAL</h3>
|
||||||
|
<div class="outline-text-3" id="text-1-1">
|
||||||
|
</div><div id="outline-container-sec-1-1-1" class="outline-4">
|
||||||
|
<h4 id="sec-1-1-1"><span class="section-number-4">1.1.1</span> Intro</h4>
|
||||||
|
<div class="outline-text-4" id="text-1-1-1">
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>network alignment, or the task of identifying corresponding nodes in different networks, has applications across the social and natural sciences.
|
||||||
|
</li>
|
||||||
|
<li>REGAL (REpresentation learning-based Graph ALignment)
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>Motivated by recent advancements in node representation learning for single-graph tasks
|
||||||
|
</li>
|
||||||
|
<li>a framework that leverages the power of automatically learned node representations to match nodes across different graphs.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>xNetMF, an elegant and principled node embedding formulation that uniquely generalizes to multi-network problems.
|
||||||
|
</li>
|
||||||
|
<li>network alignment or matching, which is the problem of finding corresponding nodes in different networks.
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>Crucial for identifying similar users in different social networks or analysing chemical compounds
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>Many existing methods try to relax the computationally hard optimization problem, as designing features that directly compared for nodes in different networks is not an easy task.
|
||||||
|
</li>
|
||||||
|
<li>we propose network alignment via matching latent, learned node representations.
|
||||||
|
</li>
|
||||||
|
<li><b>Problem:</b> Given two graphs G<sub>1</sub> and G<sub>2</sub> with nodesets V<sub>1</sub> and V<sub>2</sub> and possibly node attributes A<sub>1</sub> and A<sub>2</sub> resp., devise an efficient network alignment method that aligns nodes by learning directly comparable node representations Y<sub>1</sub> and Y<sub>2</sub>, from which a node mapping \(\phi: V_1 \rightarrow V_2\) between the networks can be inferred.
|
||||||
|
</li>
|
||||||
|
<li>REGAL is a framework that efficiently identifies node matchings by greedily aligning their latent feature representations.
|
||||||
|
</li>
|
||||||
|
<li>They use Cross-Network Matrix Factorization (xNetMF) to learn the representations
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>xNetMF preserves structural similarities rather than proximity-based similarities, allowing for generalization beyond a single network.
|
||||||
|
</li>
|
||||||
|
<li>xNetMF is formulated as matrix factorization over a similarity matrix which incorporates structural similarity and attribute agreement between nodes in disjoint graphs.
|
||||||
|
</li>
|
||||||
|
<li>Constructing the similarity matrix is tough, as is requires computing all pairs of similarities between nodes in the multiple networks, they extend the Nyström low-rank approximation, which is commonly used for large-scale kernel machines.
|
||||||
|
</li>
|
||||||
|
<li>This makes xNetMF a principled and efficient implicit matrix factorization-based approach.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>our approach can be applied to attributed and unattributed graphs with virtually no change in formulation, and is unsupervised: it does not require prior alignment information to find high-quality matchings.
|
||||||
|
</li>
|
||||||
|
<li>Many well-known node embedding methods based on shallow architectures such as the popular skip-gram with negative sampling (SGNS) have been cast in matrix factorization frameworks. However, ours is the first to cast node embedding using SGNS to capture structural identity in such a framework
|
||||||
|
</li>
|
||||||
|
<li>we consider the significantly harder problem of learning embeddings that may be individually matched to infer node-level alignments.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-sec-1-1-2" class="outline-4">
|
||||||
|
<h4 id="sec-1-1-2"><span class="section-number-4">1.1.2</span> REGAL Description</h4>
|
||||||
|
<div class="outline-text-4" id="text-1-1-2">
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>Let G<sub>1</sub>(V<sub>1</sub>, E<sub>1</sub>) and G<sub>2</sub>(V<sub>2</sub>, E<sub>2</sub>) be two unweighted and undirected graphs (described in the setting of two graphs, but can be extended to more), with node sets V<sub>1</sub> and V<sub>2</sub> and edge sets E<sub>1</sub> and E<sub>2</sub>; and possible node attribute sets A<sub>1</sub> and A<sub>2</sub>.
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>Graphs does not have to be the same size
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>Let n = |V<sub>1|</sub> + |V<sub>2|</sub>, so the amount of nodes across the two graphs.
|
||||||
|
</li>
|
||||||
|
<li>The steps are then:
|
||||||
|
<ol class="org-ol">
|
||||||
|
<li><b>Node Identity Extraction:</b> Extract structure and attribute-related info from all n nodes
|
||||||
|
</li>
|
||||||
|
<li><b>Efficient Similarity-based Representation:</b> Obtains node embeddings, conceptually by factorising a similarity matrix of the node identities from step 1. However, the computation of this similarity matrix and the factorisation of it is expensive, so they extend the Nystrom Method for low-rank matrix approximation to perform an implicit similarity matrix factorisation by <b>(a)</b> comparing similarity of each node only to a sample of p << n so-called "landmark nodes" and <b>(b)</b> using these node-to-landmark similarities to construct the representations from a decomposition of its low-rank approximation.
|
||||||
|
</li>
|
||||||
|
<li><b>Fast Node Representation Alignment:</b> Align nodes between the two graphs by greedily matching the embeddings with an efficient data structure (KD-tree) that allows for fast identification of the top-a most similar embeddings from the other graph.
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</li>
|
||||||
|
<li>The first two steps are the xNetMF method
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<ol class="org-ol"><li><a id="sec-1-1-2-1" name="sec-1-1-2-1"></a>Step 1<br /><div class="outline-text-5" id="text-1-1-2-1">
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>The goal of REGAL’s representation learning module, xNetMF, is to define node “identity” in a way that generalizes to multi-network problems.
|
||||||
|
</li>
|
||||||
|
<li>As nodes in multi-network problems have no direct connections to each other, their proximity can't be sampled by random walks on separate graphs. This is overcome by instead focusing on more broadly comparable, generalisable quantities: Structural Identity which relates to structural roles and Attribute-Based Identity.
|
||||||
|
</li>
|
||||||
|
<li><b>Structural Identity</b>: In network alignment, the well-established assumption is that aligned nodes have similar structural connectivity or degrees. Thus, we can use the degrees of the neighbours of a node as structural identity. They also consider neighbors up to k hops from the original node.
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>For some node \(u \in V\), \(R_u^k\) is then the set of nodes at exactly (up to??) k hops from \(u\). We could capture the degrees of these nodes within a vector of length the highest degree within the graph \((D)\) \(d_u^k\) where the i'th entry of \(d_u^k(i)\) then denotes the amount of nodes in \(R_u^k\) of degree \(i\). This will however potentially be very long and very sparse, if a single node has a high degree, forcing up the length of \(d_u^k\). Instead, nodes are bin'ned together into \(b = [log_2(D)]\) logarithmically scaled buckets with entry \(i\) of \(d_u^k\) contains number of nodes \(u \in R_u^k\) such that \(floor([log_2(deg(u))]) = i\). Is both much shorter (\(log_2(D)\)) but also more robust to noise.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li><b>Attribute-Based Identity</b>: Given \(F\) node attributes, they create for each node \(u\) an \(F\)-dimensional vector \(f_u\) representing the values of \(u\). So \(f_u(i)\) = the i'th attribute of \(u\).
|
||||||
|
</li>
|
||||||
|
<li><b>Cross-Network Node Similarity</b>: Relies on the structural and attribute information rather than direct proximity: \(sim(u,v) = exp[-\gamma_s \cdot \left\lVert d_u - d_v \right\rVert_2^2 - \gamma_a \cdot dist(f_u, f_v)]\)
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</li></ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<p class="author">Author: alex</p>
|
||||||
|
<p class="date">Created: 2020-01-08 Wed 13:49</p>
|
||||||
|
<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 25.2.2 (<a href="http://orgmode.org">Org</a> mode 8.2.10)</p>
|
||||||
|
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
71
notes.org
Normal file
71
notes.org
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
* Graph alignment
|
||||||
|
** REGAL
|
||||||
|
*** Intro
|
||||||
|
- network alignment, or the task of identifying corresponding nodes in different networks, has applications across the social and natural sciences.
|
||||||
|
- REGAL (REpresentation learning-based Graph ALignment)
|
||||||
|
+ Motivated by recent advancements in node representation learning for single-graph tasks
|
||||||
|
+ a framework that leverages the power of automatically learned node representations to match nodes across different graphs.
|
||||||
|
- xNetMF, an elegant and principled node embedding formulation that uniquely generalizes to multi-network problems.
|
||||||
|
- network alignment or matching, which is the problem of finding corresponding nodes in different networks.
|
||||||
|
+ Crucial for identifying similar users in different social networks or analysing chemical compounds
|
||||||
|
- Many existing methods try to relax the computationally hard optimization problem, as designing features that directly compared for nodes in different networks is not an easy task.
|
||||||
|
- we propose network alignment via matching latent, learned node representations.
|
||||||
|
- *Problem:* Given two graphs G_1 and G_2 with nodesets V_1 and V_2 and possibly node attributes A_1 and A_2 resp., devise an efficient network alignment method that aligns nodes by learning directly comparable node representations Y_1 and Y_2, from which a node mapping $\phi: V_1 \rightarrow V_2$ between the networks can be inferred.
|
||||||
|
- REGAL is a framework that efficiently identifies node matchings by greedily aligning their latent feature representations.
|
||||||
|
- They use Cross-Network Matrix Factorization (xNetMF) to learn the representations
|
||||||
|
+ xNetMF preserves structural similarities rather than proximity-based similarities, allowing for generalization beyond a single network.
|
||||||
|
+ xNetMF is formulated as matrix factorization over a similarity matrix which incorporates structural similarity and attribute agreement between nodes in disjoint graphs.
|
||||||
|
+ Constructing the similarity matrix is tough, as is requires computing all pairs of similarities between nodes in the multiple networks, they extend the Nyström low-rank approximation, which is commonly used for large-scale kernel machines.
|
||||||
|
+ This makes xNetMF a principled and efficient implicit matrix factorization-based approach.
|
||||||
|
- our approach can be applied to attributed and unattributed graphs with virtually no change in formulation, and is unsupervised: it does not require prior alignment information to find high-quality matchings.
|
||||||
|
- Many well-known node embedding methods based on shallow architectures such as the popular skip-gram with negative sampling (SGNS) have been cast in matrix factorization frameworks. However, ours is the first to cast node embedding using SGNS to capture structural identity in such a framework
|
||||||
|
- we consider the significantly harder problem of learning embeddings that may be individually matched to infer node-level alignments.
|
||||||
|
*** REGAL Description
|
||||||
|
- Let G_1(V_1, E_1) and G_2(V_2, E_2) be two unweighted and undirected graphs (described in the setting of two graphs, but can be extended to more), with node sets V_1 and V_2 and edge sets E_1 and E_2; and possible node attribute sets A_1 and A_2.
|
||||||
|
+ Graphs does not have to be the same size
|
||||||
|
- Let n = |V_1| + |V_2|, so the amount of nodes across the two graphs.
|
||||||
|
- The steps are then:
|
||||||
|
1) *Node Identity Extraction:* Extract structure and attribute-related info from all n nodes
|
||||||
|
2) *Efficient Similarity-based Representation:* Obtains node embeddings, conceptually by factorising a similarity matrix of the node identities from step 1. However, the computation of this similarity matrix and the factorisation of it is expensive, so they extend the Nystrom Method for low-rank matrix approximation to perform an implicit similarity matrix factorisation by *(a)* comparing similarity of each node only to a sample of p << n so-called "landmark nodes" and *(b)* using these node-to-landmark similarities to construct the representations from a decomposition of its low-rank approximation.
|
||||||
|
3) *Fast Node Representation Alignment:* Align nodes between the two graphs by greedily matching the embeddings with an efficient data structure (KD-tree) that allows for fast identification of the top-a most similar embeddings from the other graph.
|
||||||
|
- The first two steps are the xNetMF method
|
||||||
|
**** Step 1
|
||||||
|
- The goal of REGAL’s representation learning module, xNetMF, is to define node “identity” in a way that generalizes to multi-network problems.
|
||||||
|
- As nodes in multi-network problems have no direct connections to each other, their proximity can't be sampled by random walks on separate graphs. This is overcome by instead focusing on more broadly comparable, generalisable quantities: Structural Identity which relates to structural roles and Attribute-Based Identity.
|
||||||
|
- *Structural Identity*: In network alignment, the well-established assumption is that aligned nodes have similar structural connectivity or degrees. Thus, we can use the degrees of the neighbours of a node as structural identity. They also consider neighbors up to k hops from the original node.
|
||||||
|
+ For some node $u \in V$, $R_u^k$ is then the set of nodes at exactly (up to??) k hops from $u$. We could capture the degrees of these nodes within a vector of length the highest degree within the graph $(D)$ $d_u^k$ where the i'th entry of $d_u^k(i)$ then denotes the amount of nodes in $R_u^k$ of degree $i$. This will however potentially be very long and very sparse, if a single node has a high degree, forcing up the length of $d_u^k$. Instead, nodes are bin'ned together into $b = [log_2(D)]$ logarithmically scaled buckets with entry $i$ of $d_u^k$ contains number of nodes $u \in R_u^k$ such that $floor([log_2(deg(u))]) = i$. Is both much shorter ($log_2(D)$) but also more robust to noise.
|
||||||
|
- *Attribute-Based Identity*: Given $F$ node attributes, they create for each node $u$ an $F$-dimensional vector $f_u$ representing the values of $u$. So $f_u(i)$ = the i'th attribute of $u$.
|
||||||
|
- *Cross-Network Node Similarity*: Relies on the structural and attribute information rather than direct proximity: $sim(u,v) = exp[-\gamma_s \cdot \left\lVert d_u - d_v \right\rVert_2^2 - \gamma_a \cdot dist(f_u, f_v)]$ where $\gamma_s, \gamma_a$ are scalar params controlling effect of structural and attribute based identity, $dist(f_u, f_v)$ is attribute-based dist of nodes $u$ and $v$ and $d_u = \sum_k=1^K \delta^{k-1} d_u^k$ describes the neighbor degree vector for $u$ aggregated over $K$ different hops where $\delta$ is a discount factor for greater hop distances and K is the maximum hop distance to consider. So they compare structural identities at several levels by combining the neighborhood degree distributions at several hop distances. The distance between attribute based identities depends on the type of node attributes, real-valued, categorial, so on. For categorical attributes, the number of disagreeing features can be used as an attribute-based distance measure.
|
||||||
|
**** Step 2
|
||||||
|
- Avoids random walks due to two reasons:
|
||||||
|
1) The variance they introduce in the representation learning often makes embeddings across different networks non-comparable
|
||||||
|
2) they can add to the computational expense. For example, node2vec’s total runtime is dominated by its sampling time.
|
||||||
|
- Use an implicit matrix factorisation-based approach that leverages a combined structural and attribute-based similarity matrix S, which is a result of the sim function from step 1, and considers similarities at different neighborhoods.
|
||||||
|
- We need to find $n \times p$ matrices $Y$ and $Z$ such that $S \approx YZ^T$ where $Y$ is the node embedding matrix and $Z$ is irrelevant. Thus, we need to find these node embeddings $Y$ WITHOUT actually computing $S$.
|
||||||
|
+ Finding Y can naturally be done by computing S via sim() and then factorise it (via some function using something called the Frobenius Norm as error function apparently). This is very expensive though.
|
||||||
|
+ Can also be done by creating a sparse matrix by computing only the "most important" similarities for each node, choosing only a small number of comparisons for instance by looking at similarity of node degree. This is fragile to noise though.
|
||||||
|
- We will approximate S with a low-rank matrix $\tilde{S}$ which is never explicitly computed. We randomly select $p << n$ "landmark" nodes chosen across both graphs G_1 and G_2 and then compute the similarities to all $n$ nodes in the these graphs using the sim() function. This yields a $n \times p$ similarity matrix $C$. (Note that we only compute it for the $p$ landmark nodes, yielding the $n \times p$ matrix). From $C$ we can extract a $p \times p$ "landmark-to-landmark" matrix, which is called $W$. $C$ and $W$ can be used to approximate the full similarity matrix which then allows us to obtain the node embeddings without ever computing and factorising the approximative similarity matrix $\tilde{S}$. To accomplish this, they extend the Nystrom method such that the low-rank matrix $\tilde{S}$ is given as: $\tilde{S} = CW^{\dag}C^T$. $C$ is the landmark-to-all similarity matrix and $W^\dag$ is the pseudoinverse (??) of $W$, the landmark-to-landmark similarity matrix. The landmark nodes are chosen randomly, as more elaborate methods such as looking at node centrality and such are much more inefficient and offers little to none improvements. Since \tilde{S} contains an estimate for all similarities within the graphs, it would still take $n^2$ space, but luckily we never have to compute this.
|
||||||
|
- We can actually get the node embeddings $Y$ from a decomposition of the equation for \tilde{S}.
|
||||||
|
- Given graphs G_1(V_1, E_1) and G_2(V_2, E_2) with $n \times n$ joint combined structural and attribute-based similarity matrix $S \approx YZ^T$, its node embeddings $Y$ can then be approximated as: $\tilde{Y} \approx CU\Sigma^{1/2}$, where $C$ is the $n \times p$ landmark-to-all matrix and $W^\dag = U\Sigma V^T$ is the full rank singular value decomposition of the pseudoinverse of the small $p \times p$ landmark-to-landmark sim matrix W.
|
||||||
|
+ Given the full rank SVD of $p \times p$ matrix $W^\dag$ as $U\Sigma V^T$, we can then write $S \approx \tilde{S} = C(U\Sigma V^T) C^T = (CU\Sigma^{1/2}) = (\Sigma^{1/2}V^T C^T) = \tilde{Y} \tilde{Z}^T$.
|
||||||
|
+ So we can compute $\tilde{Y}$ based on the SVD (Which is expensive) on the small matrix $W^\dag$ and the matrix $C$. The p-dimensional node embeddings of the two graphs are then subsets of the $\tilde{Y}$.
|
||||||
|
**** Step 3
|
||||||
|
- We have to efficiently align nodes, assuming $u \in V_1$, $v \in V_2$ may match if their xNetMF embeddings are similar. Let \tilde{Y}_1 and \tilde{Y}_2 denote the matrices of the p-dimensional embeddings of G_1 and G_2.
|
||||||
|
- We take the likeliness of (soft) alignment to be proportional to the similarity between the nodes’ embeddings. Thus, we greedily align nodes to their closest match in the other graph based on embedding similarity.
|
||||||
|
- A naive way of finding alignments for each node would be to compute similarities of all pairs between node embeddings (The rows of \tilde{Y}_1 and \tilde{Y}_2) and then choose the top-1 for each node. This is inefficient though.
|
||||||
|
- Instead, we store the embeddings of \tilde{Y}_2 in a k-d tree, which accelerates exact similarity search for nearest neighbor algorithms. For each node in G_1 we then query this tree with its embeddings to find the $a << n$ closest embeddings from nodes in G_2. This allows us to compute "soft" alignments where we return one or more nodes with the most similar embeddings. The similarity between the p-dimensional embeddings of $u$ and $v$ are defined as: $sim_{emb}(\tilde{Y}_1[u], \tilde{Y}_2[v]) = e^{-\left\lVert \tilde{Y}_1[u] - \tilde{Y}_2[v] \right\rVert_2^2}$, converting the euclidean distance to similarity.
|
||||||
|
*** Complexity Analysis
|
||||||
|
- We assume both graphs have $n_1 = n_2 = n$ nodes.
|
||||||
|
1) *Extracting Node Identity*: Takes approximately $O(nKd_{avg}^2)$ time finding neighborhoods up to distance $K$, by joining the neighborhoods of neighbors at the previous hop. We can construct $R_u^k = \Cup_{v \in R_u^{k-1}} R_v^1 - \Cup_{i=1}^{k-1} R_u^i$ for node $u$. Could also be solved using breadth-first-search in time $O(n^3)$.
|
||||||
|
2) *Computing Similarities*: Similarities are computed of the length-b features (weighted counts of node degrees in the k-hop neighborhoods split into b buckets) between each node and the p landmark nodes in time: $O(npb)$
|
||||||
|
3) *Obtaining Representations*: Constructing the pseudoinverse $W^\dag$ and computing the SVD of this $p \times p$ matrix takes time $O(p^3)$ and then multiplying it with $C$ in time $O(np^2)$. Since $p << n$, total time is $O(np^2)$.
|
||||||
|
4) *Aligning Embeddings*: Constructing k-d tree and using it to find the top alignments in G_2 for each of the n nodes in G_1 is average-case time complexity $O(nlog(n))$.
|
||||||
|
- Total time complexity is then: $O(n * max(pb, p^2, Kd_{avg}^2, log(n))$
|
||||||
|
- It suffices to pick small values $K$ and $p$ and picking $b$ logarithmically in $n$. $d_{avg}$ is oftentimes small in practice. $d_{avg}$ explains the average node degree.
|
||||||
|
*** Experiments
|
||||||
|
- They test on networks where they find a real network dataset with some adjacency matrix $A$. They then generate a new network with adjacency matrix $A' = P*A*P^T$ where $P$ is some randomly generated permutation matrix. Structural noise is added to $A'$ by removing edges with probability $p_s$ without disconnecting any nodes.
|
||||||
|
- For experiments with attributes, they generate synthetic attributes for nodes, if the graph does not have any. Noise is added by flipping binary values or choosing values randomly with probability $p_a$.
|
||||||
|
- In accuracy when noise is added, Regal using xNetMF and Regal using Struct2Vec (which is some other form of computing the embeddings) far outperform any other algorithms. Apparently struct2vec adds some noise as it samples something called contexts, which might add variance to it, which is why xNetMF likely wins with low noise. As noise grows however, struct2vec wins in accuracy, but not speed.
|
||||||
|
- When looking at attribute-based noise, REGAL outperforms FINAL(which uses a proximity embedding but handles attributes) in both accuracy and runtime, mostly. FINAL achieves slightly higher accuracy with small noise, due to it's reliance on attributes. FINAL incurs significant runtime increases as it uses extra attribute information.
|
||||||
|
- The sensitivity to changes in parameters is shown to be quite significant and they conclude that the discount factor \delta should be between 0.01 and 0.1. The hop distance K should be less than 3. Setting structural and attributed similarity to 1 does fairly well and that the top-a (using more than 1, such as 5 or 10) accuracy is significantly better than the top-1. Higher number of landmarks means higher accuracy and it should be $p = t*log_2(n)$ for $t \approx 10$.
|
||||||
|
- So it's highly scalable, it's suitable for cross-network analysis, it leverages the power of structural identity, does not require any prior alignment information, it's robust to different settings and datasets and it's very fast and quite accurate.
|
96
notes.tex
Normal file
96
notes.tex
Normal file
|
@ -0,0 +1,96 @@
|
||||||
|
% Created 2020-01-08 Wed 13:49
|
||||||
|
\documentclass[11pt]{article}
|
||||||
|
\usepackage[utf8]{inputenc}
|
||||||
|
\usepackage[T1]{fontenc}
|
||||||
|
\usepackage{fixltx2e}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{longtable}
|
||||||
|
\usepackage{float}
|
||||||
|
\usepackage{wrapfig}
|
||||||
|
\usepackage{rotating}
|
||||||
|
\usepackage[normalem]{ulem}
|
||||||
|
\usepackage{amsmath}
|
||||||
|
\usepackage{textcomp}
|
||||||
|
\usepackage{marvosym}
|
||||||
|
\usepackage{wasysym}
|
||||||
|
\usepackage{amssymb}
|
||||||
|
\usepackage{hyperref}
|
||||||
|
\tolerance=1000
|
||||||
|
\usepackage{minted}
|
||||||
|
\author{alex}
|
||||||
|
\date{\today}
|
||||||
|
\title{notes}
|
||||||
|
\hypersetup{
|
||||||
|
pdfkeywords={},
|
||||||
|
pdfsubject={},
|
||||||
|
pdfcreator={Emacs 25.2.2 (Org mode 8.2.10)}}
|
||||||
|
\begin{document}
|
||||||
|
|
||||||
|
\maketitle
|
||||||
|
\tableofcontents
|
||||||
|
|
||||||
|
\section{Graph alignment}
|
||||||
|
\label{sec-1}
|
||||||
|
\subsection{REGAL}
|
||||||
|
\label{sec-1-1}
|
||||||
|
\subsubsection{Intro}
|
||||||
|
\label{sec-1-1-1}
|
||||||
|
\begin{itemize}
|
||||||
|
\item network alignment, or the task of identifying corresponding nodes in different networks, has applications across the social and natural sciences.
|
||||||
|
\item REGAL (REpresentation learning-based Graph ALignment)
|
||||||
|
\begin{itemize}
|
||||||
|
\item Motivated by recent advancements in node representation learning for single-graph tasks
|
||||||
|
\item a framework that leverages the power of automatically learned node representations to match nodes across different graphs.
|
||||||
|
\end{itemize}
|
||||||
|
\item xNetMF, an elegant and principled node embedding formulation that uniquely generalizes to multi-network problems.
|
||||||
|
\item network alignment or matching, which is the problem of finding corresponding nodes in different networks.
|
||||||
|
\begin{itemize}
|
||||||
|
\item Crucial for identifying similar users in different social networks or analysing chemical compounds
|
||||||
|
\end{itemize}
|
||||||
|
\item Many existing methods try to relax the computationally hard optimization problem, as designing features that directly compared for nodes in different networks is not an easy task.
|
||||||
|
\item we propose network alignment via matching latent, learned node representations.
|
||||||
|
\item \textbf{Problem:} Given two graphs G$_{\text{1}}$ and G$_{\text{2}}$ with nodesets V$_{\text{1}}$ and V$_{\text{2}}$ and possibly node attributes A$_{\text{1}}$ and A$_{\text{2}}$ resp., devise an efficient network alignment method that aligns nodes by learning directly comparable node representations Y$_{\text{1}}$ and Y$_{\text{2}}$, from which a node mapping $\phi: V_1 \rightarrow V_2$ between the networks can be inferred.
|
||||||
|
\item REGAL is a framework that efficiently identifies node matchings by greedily aligning their latent feature representations.
|
||||||
|
\item They use Cross-Network Matrix Factorization (xNetMF) to learn the representations
|
||||||
|
\begin{itemize}
|
||||||
|
\item xNetMF preserves structural similarities rather than proximity-based similarities, allowing for generalization beyond a single network.
|
||||||
|
\item xNetMF is formulated as matrix factorization over a similarity matrix which incorporates structural similarity and attribute agreement between nodes in disjoint graphs.
|
||||||
|
\item Constructing the similarity matrix is tough, as is requires computing all pairs of similarities between nodes in the multiple networks, they extend the Nyström low-rank approximation, which is commonly used for large-scale kernel machines.
|
||||||
|
\item This makes xNetMF a principled and efficient implicit matrix factorization-based approach.
|
||||||
|
\end{itemize}
|
||||||
|
\item our approach can be applied to attributed and unattributed graphs with virtually no change in formulation, and is unsupervised: it does not require prior alignment information to find high-quality matchings.
|
||||||
|
\item Many well-known node embedding methods based on shallow architectures such as the popular skip-gram with negative sampling (SGNS) have been cast in matrix factorization frameworks. However, ours is the first to cast node embedding using SGNS to capture structural identity in such a framework
|
||||||
|
\item we consider the significantly harder problem of learning embeddings that may be individually matched to infer node-level alignments.
|
||||||
|
\end{itemize}
|
||||||
|
\subsubsection{REGAL Description}
|
||||||
|
\label{sec-1-1-2}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Let G$_{\text{1}}$(V$_{\text{1}}$, E$_{\text{1}}$) and G$_{\text{2}}$(V$_{\text{2}}$, E$_{\text{2}}$) be two unweighted and undirected graphs (described in the setting of two graphs, but can be extended to more), with node sets V$_{\text{1}}$ and V$_{\text{2}}$ and edge sets E$_{\text{1}}$ and E$_{\text{2}}$; and possible node attribute sets A$_{\text{1}}$ and A$_{\text{2}}$.
|
||||||
|
\begin{itemize}
|
||||||
|
\item Graphs does not have to be the same size
|
||||||
|
\end{itemize}
|
||||||
|
\item Let n = |V$_{\text{1|}}$ + |V$_{\text{2|}}$, so the amount of nodes across the two graphs.
|
||||||
|
\item The steps are then:
|
||||||
|
\begin{enumerate}
|
||||||
|
\item \textbf{Node Identity Extraction:} Extract structure and attribute-related info from all n nodes
|
||||||
|
\item \textbf{Efficient Similarity-based Representation:} Obtains node embeddings, conceptually by factorising a similarity matrix of the node identities from step 1. However, the computation of this similarity matrix and the factorisation of it is expensive, so they extend the Nystrom Method for low-rank matrix approximation to perform an implicit similarity matrix factorisation by \textbf{(a)} comparing similarity of each node only to a sample of p << n so-called "landmark nodes" and \textbf{(b)} using these node-to-landmark similarities to construct the representations from a decomposition of its low-rank approximation.
|
||||||
|
\item \textbf{Fast Node Representation Alignment:} Align nodes between the two graphs by greedily matching the embeddings with an efficient data structure (KD-tree) that allows for fast identification of the top-a most similar embeddings from the other graph.
|
||||||
|
\end{enumerate}
|
||||||
|
\item The first two steps are the xNetMF method
|
||||||
|
\end{itemize}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Step 1
|
||||||
|
\label{sec-1-1-2-1}
|
||||||
|
\begin{itemize}
|
||||||
|
\item The goal of REGAL’s representation learning module, xNetMF, is to define node “identity” in a way that generalizes to multi-network problems.
|
||||||
|
\item As nodes in multi-network problems have no direct connections to each other, their proximity can't be sampled by random walks on separate graphs. This is overcome by instead focusing on more broadly comparable, generalisable quantities: Structural Identity which relates to structural roles and Attribute-Based Identity.
|
||||||
|
\item \textbf{Structural Identity}: In network alignment, the well-established assumption is that aligned nodes have similar structural connectivity or degrees. Thus, we can use the degrees of the neighbours of a node as structural identity. They also consider neighbors up to k hops from the original node.
|
||||||
|
\begin{itemize}
|
||||||
|
\item For some node $u \in V$, $R_u^k$ is then the set of nodes at exactly (up to??) k hops from $u$. We could capture the degrees of these nodes within a vector of length the highest degree within the graph $(D)$ $d_u^k$ where the i'th entry of $d_u^k(i)$ then denotes the amount of nodes in $R_u^k$ of degree $i$. This will however potentially be very long and very sparse, if a single node has a high degree, forcing up the length of $d_u^k$. Instead, nodes are bin'ned together into $b = [log_2(D)]$ logarithmically scaled buckets with entry $i$ of $d_u^k$ contains number of nodes $u \in R_u^k$ such that $floor([log_2(deg(u))]) = i$. Is both much shorter ($log_2(D)$) but also more robust to noise.
|
||||||
|
\end{itemize}
|
||||||
|
\item \textbf{Attribute-Based Identity}: Given $F$ node attributes, they create for each node $u$ an $F$-dimensional vector $f_u$ representing the values of $u$. So $f_u(i)$ = the i'th attribute of $u$.
|
||||||
|
\item \textbf{Cross-Network Node Similarity}: Relies on the structural and attribute information rather than direct proximity: $sim(u,v) = exp[-\gamma_s \cdot \left\lVert d_u - d_v \right\rVert_2^2 - \gamma_a \cdot dist(f_u, f_v)]$
|
||||||
|
\end{itemize}
|
||||||
|
\end{enumerate}
|
||||||
|
% Emacs 25.2.2 (Org mode 8.2.10)
|
||||||
|
\end{document}
|
Loading…
Reference in New Issue
Block a user