├── .gitignore └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The Graphs in Machine Learning List 2 | 3 | This is a list of resources, links and papers on the use of intersection of Graph Theory, Analysis and Data within Machine Learning, and vice versa. 4 | 5 | Graphs are useful in machine learning problems, machine learning is useful in the analysis of Graphs and data sets that can be represented as graphs. 6 | 7 | Graph data is becoming all the more prevalent and indeed with the advent of graph data bases, we can represent and query much of our relational sata as a graph giving us a new branch of analytics rto wield at problems as diverse as customer segmentation to tracking disease mutation though a population. 8 | 9 | ## Areas of Intersection 10 | 11 | In the following sections there can be quite a lot of overlap.We've use judgement to categorise some of these papers and references. The field is evolving rapidly and we're constantly finiding new references that are difficult to categorise. 12 | 13 | This list is curated and includes links to what we feel are some of teh key influencing parts of research. We'll be growing the list and there is plently more out there should to you go looking. In the meantime, these are good points of reference. 14 | 15 | ### Graph Analysis Problems 16 | 17 | - Graph Classification 18 | - Classification of data/entities based on the nature of their Graph, each full (sub-)graph is assigned a class label 19 | - Data / Application Spaces 20 | - Predictive toxocology 21 | - References 22 | - https://www.csc2.ncsu.edu/faculty/nfsamato/practical-graph-mining-with-R/slides/pdf/Classification.pdf 23 | - Vertex Classification 24 | - Within a graph, each vertex is assigned a class label 25 | - Graph Based Similarity 26 | - Determining Graph Isomorphisms are hard (NP-complete/hard? what's teh complexity here), we often need to approximate, we can take ML based approaches to do so. 27 | - use vector based classification via the kernel trick, SVMs? 28 | - Frequent Subgraph Mining 29 | - Explanation - http://data-mining.philippe-fournier-viger.com/introduction-frequent-subgraph-mining/ 30 | - Boosting with gBoost - https://link.springer.com/article/10.1007/s10994-008-5089-z 31 | - Graph based Anomaly Detection 32 | - a survey paper: https://link.springer.com/article/10.1007%2Fs10618-014-0365-y 33 | 34 | ### Tackling hard Graph Analysis problems with Machine Learning 35 | - **Community Detection** with Graph Neural Networks 36 | - [paper](https://arxiv.org/pdf/1705.08415.pdf) 37 | - [github](https://github.com/joanbruna/GNN_community) 38 | 39 | - **Link Prediction** in Convolutional Neural Networks 40 | - [paper](https://arxiv.org/pdf/1706.02263.pdf) 41 | 42 | - Modularity based **Community Detection** with Deep Learning 43 | - [paper](http://www.cs.wustl.edu/~zhang/publications/ijcai16-DL.pdf) 44 | 45 | - Inductive Respresentation Learning on Large Graphs **RIGHT CATEGORY??** 46 | - [paper](https://arxiv.org/abs/1706.02216) 47 | - [github](http://www.gitxiv.com/posts/bnWc85RbnJxh6Suod/inductive-representation-learning-on-large-graphs) 48 | 49 | ### Graph based methods in Machine Learning 50 | 51 | - Spectral Features 52 | - references: 53 | - http://www.machinelearning.org/proceedings/icml2007/papers/444.pdf 54 | 55 | 56 | - Graph Based Semi and Unsupervised Classification and Segmentation of Microscopic Images (regularization) 57 | - [paper](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.375.1365&rep=rep1&type=pdf) 58 | 59 | - node2vec - Scalable Feature Learning for Networks **[maybe demoable]** 60 | 61 | description: node2vec is an algorithmic framework for representational learning on graphs. Given any graph, it can learn continuous feature representations for the nodes, which can then be used for various downstream machine learning tasks. 62 | - [website](http://snap.stanford.edu/node2vec/) 63 | - [paper](https://arxiv.org/abs/1607.00653) 64 | - [github](https://github.com/aditya-grover/node2vec) 65 | 66 | - graph2vec - Learning Distributed Representations of Graphs **[maybe demoable]** 67 | - description: 68 | - [paper](https://arxiv.org/abs/1707.05005) 69 | - [github](https://github.com/allentran/graph2vec) 70 | 71 | - DeepWalk - Online Learning of Social Representations 72 | DeepWalk, a novel approach for learning latent representations of vertices in a network. These latent representations encode social relations in a continuous vector space, which is easily exploited by statistical models. DeepWalk generalizes recent advancements in language modeling and unsupervised feature learning (or deep learning) from sequences of words to graphs. DeepWalk uses local information obtained from truncated random walks to learn latent representations by treating walks as the equivalent of sentences. We demonstrate DeepWalk's latent representations on several multi-label network classification tasks for social networks such as BlogCatalog, Flickr, and YouTube. Our results show that DeepWalk outperforms challenging baselines which are allowed a global view of the network, especially in the presence of missing information. 73 | Unweighted graphs. 74 | - [paper](https://arxiv.org/abs/1403.6652) 75 | - [github](https://github.com/phanein/deepwalk) 76 | 77 | - Learning Graph Representations 78 | Learning vertex representations of Graph Structure 79 | 80 | - Learning deep representations for graph clustering 81 | Use deep neural networks (stacked autoencoder) to learn features 82 | - https://www.aaai.org/ocs/index.php/AAAI/AAAI14/paper/view/8527 83 | 84 | - (Deep Neural Networks for Learning Graph Representations) 85 | Learn low dimensional representation on a vertex that encodes the local structure of the graph. Could also be described as graph embeddings. 86 | - [paper](https://www.aaai.org/ocs/index.php/AAAI/AAAI16/paper/view/12423/11715) 87 | 88 | - Variational Graph Auto-Encoders 89 | - [paper](https://arxiv.org/abs/1611.07308) 90 | - [github](https://github.com/tkipf/gae) 91 | 92 | ### Graph based Deep Neural Networks 93 | 94 | - DeepGraph 95 | - [github](https://github.com/deepgraph) 96 | 97 | - Graph Kernels an Introduction 98 | - [presentation](https://www.ethz.ch/content/dam/ethz/special-interest/bsse/borgwardt-lab/documents/slides/CA10_GraphKernels_intro.pdf) 99 | 100 | - Transfer Learning for Deep Learning on Graph-Structured Data 101 | - [paper](file:///Users/stevejpurves/Downloads/14803-66875-1-PB.pdf) 102 | 103 | - CayleyNets: Graph Convolutional Neural Networks with Complex Rational Spectral Filters 104 | - [paper](https://arxiv.org/pdf/1705.07664.pdf) 105 | 106 | - Geometric Deep Learning 107 | - [website](http://geometricdeeplearning.com/) 108 | 109 | ### Graph Based Semi Supervised Learning 110 | 111 | - Classifying Graphs as Images with Convolutional Neural Networks 112 | - [paper](https://arxiv.org/abs/1708.02218) 113 | 114 | - Graph Convolutional Networks - Thomas Kipf 115 | - [talk](https://github.com/tkipf/gcn) 116 | - [github](https://github.com/tkipf/gcn) 117 | - [website](http://tkipf.github.io/graph-convolutional-networks/) 118 | - [paper](https://openreview.net/pdf?id=SJU4ayYgl) 119 | 120 | - Book - Introduction to Semi-Supervised Learning 121 | - (book chapter on based-based)[https://books.google.es/books?id=c_haJrQ0ScAC&pg=PA44&lpg=PA44&dq=learn+graph+edge+weighting&source=bl&ots=KY2SR00zjX&sig=jA0Vfp7bgEVjsOpjZJ7gqx6CYDc&hl=en&sa=X&ved=0ahUKEwiHmLnKg4HWAhUGZlAKHZ81ASo4ChDoAQhEMAU#v=onepage&q=learn%20graph%20edge%20weighting&f=false] 122 | 123 | - [Introductory Presentation](http://mlg.eng.cam.ac.uk/zoubin/talks/lect3ssl.pdf) 124 | - Graph based semi-supervised learning 125 | - Active graph-based semi supervised learning 126 | 127 | - Revisiting Semi-Supervised Learning with Graph Embeddings 128 | - [github](https://github.com/kimiyoung/planetoid) 129 | - [paper](https://arxiv.org/abs/1603.08861) 130 | 131 | - Semi-Supervised Learning with graphs 132 | - (thesis)[http://pages.cs.wisc.edu/~jerryzhu/pub/thesis.pdf] 133 | 134 | - Spectrum-based deep neural networks for fraud detection 135 | - [paper](https://arxiv.org/abs/1706.00891) 136 | 137 | 138 | 139 | ### graph-based machine learning 140 | 141 | - Adaptive edge weighting for graph-based learning algorithms 142 | - (paper)[https://research.aalto.fi/files/11519875/art_10.1007_s10994_016_5607_3.pdf] 143 | 144 | ### Temporal Graphs 145 | 146 | - Structural-RNN: Deep Learning on Spatio-Temporal Graphs 147 | - https://arxiv.org/abs/1511.05298 148 | 149 | - greycat.ai 150 | - https://github.com/datathings/greycat 151 | 152 | - learning spatio temporal varying data 153 | - http://www.cs.huji.ac.il/~jeff/aaai10/02/AAAI10-083.pdf 154 | 155 | ### Application Areas 156 | 157 | - Predictive Toxocology 158 | - Computer Network Analysis / Management 159 | - Resouce Allocation 160 | - Fault tolerance 161 | - Security 162 | - Performance Monitoring 163 | - Social Network Analysis 164 | - Fraud Detection 165 | - Transactional Data Analysis 166 | - Supply Chain Optimisation 167 | 168 | ### Graph Signal Processing 169 | 170 | - Common tasks in signal-processing on graphs include filtering, de-noising, in-painting, compression, clustering, partitioning, sparsification, features extraction, classification and regression. 171 | - References: 172 | - http://perraudin.info/gsp.php 173 | - https://arxiv.org/pdf/1210.4752.pdf 174 | 175 | 176 | ## Software 177 | 178 | ### Graph Analysis 179 | 180 | - [SPMF](http://www.philippe-fournier-viger.com/spmf/) - Data Mining Library 181 | 182 | 183 | ## Datasets 184 | 185 | - [WEBKB](http://www.cs.cmu.edu/~webkb/) a dataset of classified web pages from University Science detpartment's websites. 186 | - [PTC](https://relational.fit.cvut.cz/dataset/PTC) predictive toxocology 187 | - [SNAP](http://snap.stanford.edu/data/index.html) Stanford Large Network Dataset Collection 188 | - Datasets used in the [node2vec](http://snap.stanford.edu/node2vec/#datasets) 189 | - Blog Catalog 190 | - Protein-Protein Interaction 191 | - Wikipedia Network 192 | - Facebook Network 193 | - arXiv ASTRO-PH 194 | 195 | ## Other lists 196 | 197 | - [Awesome Network Analysis](https://github.com/briatte/awesome-network-analysis) 198 | - [Awesome Deep Learning](https://github.com/ChristosChristofidis/awesome-deep-learning) 199 | 200 | 201 | 202 | --------------------------------------------------------------------------------