forked from VHRanger/CSRGraph
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO.txt
70 lines (45 loc) · 2.38 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
TODO:
Add GGVec negative_lr_ratio parameter
Harden n2v walks to dead end nodes like in regular random walks
Improve n2v walks speed like in here: https://github.com/louisabraham/fastnode2vec
self.names EVERYWHERE!
Fix segfault in node2vec
Fix node2vec walk names mapping (should use csrgraphs natively)
Make sure the `nodes()` function works as expected for nodevectors downstream
Run grid searches, write paper
----Write results up-----
Credit to https://github.com/xiangyue9607/BioNEV for link prediction original setup (this was heavily optimized)
### 2nd + Order is important for link prediction!!
Reconstructing graph with GLoVe + randomwalks ~= node2vec
(This is true for all first order methods, but large windows are required often)
### 2nd+ order is worse on other types of tasks
It reduces clustering score and label prediction
### 1st and second order are equivalent on random graphs
Social graphs structure is actually learned by deep order
KarateClub graphs tend to perform poorly for 1st order methods
### This goes along with GraRep recommendations
in BioNEV : "A large value for link prediction tasks (e.g. 3, 4);a small value for node classification tasks (e.g.1, 2)" (p.9)
### Since GLoVe works on text
Then first-order is fine for words, as long as the skip-gram window is long (sentence)? How does this relate to BERT?
This makes sense because node (word) info rather than edge info matters more.
---> Investigate link b/w pagerank, GraRep && random walk stable state
TO READ:
- small world effect is a modern phenomenon
- Deep InfoMax
- Inductive Representation Learning on Large Graphs
- https://arxiv.org/pdf/1710.10321.pdf
- https://arxiv.org/pdf/1802.02896.pdf
Also read this https://transacl.org/ojs/index.php/tacl/article/viewFile/742/204
and this https://papers.nips.cc/paper/5477-neural-word-embedding-as-implicit-matrix-factorization.pdf
Embed Twitter
-------------
mmap support
read_edgelist --> mmaped src/dst/weights
Should be a different class (mmap_graph?)
all class methods use an array src/dst/weights API anyways
## Edge Reordering
- Hilbert edge order
http://www.frankmcsherry.org/graph/scalability/cost/2015/01/15/COST.html
- Embedding edge order
- Reverse Cuthill-McKee ordering
https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csgraph.reverse_cuthill_mckee.html#scipy.sparse.csgraph.reverse_cuthill_mckee