Introduction to graphs and machine learning
Resources:
1. Why machine learn on graphs?
Graphs are everywhere.
Life sciences、Finance、Social networks、 Users actions over time、Blockchain
Current ML often ignores the greater context of data.
- Graphs let your model harness more information.
2. Common model tasks
3. Approaches
How to do ML on graphs?
3.1 Shape the graph into a table
3.1.1 Common approaches
- Fixed size representation
This is a padded fixed size lists.
- Random walks to embeddings
The most popular implementation of this is node2vec
Embed nodes using the sequences:
Generate an embedding, i.e a vector, for each node such that nodes in the same neighborhood have similar embedding vectors:
- Assign each node n an embedding en
- For each sequence (n1, n2 .. nX), for each pair of nodes, calculate their dot product as a score (this is the SkipGram method)
- Maximize these scores whilst minimizing the score of randomly selected (e.g. not sampled from the graph) sequences of nodes (‘negative sampling’)
- Use gradient descent!
- Question-Answering using a database engine
3.1.2 Pros and Cons
- Pros:
- Fast to get started with
- Easily use existing ML libraries, architecture and infrastructure
- Can get the job done
- Cons:
- Discards some of the graph’s information
3.2 Turn the graph into a network
3.2.1 Common approaches
- Graph Convolutional Network / Graph Network
3.2.2 Pros and Cons
- Pros:
- All of the graph structure is available to the network
- Cons:
- Less library and infrastructure support
- Less well researched ML methods
- May be slower to train on current hardware
- 本文作者: 鱼咸滚酱
- 本文链接: https://github.com/WangMeng2018/WangMeng2018.github.io/tree/master/2020/01/26/Introduction-to-graphs-and-machine-learning/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!