Machine Learning with Graphs
Complex domains have a rich relational structure which can be represented as a relational graph consisting of entities and relationships. Graphs are a language built on graph data structures to describe and analyze entities with relations/interactions.
Many types of data are graphs.
- Social networks
- Communication networks
- Internet
- Knowledge Graphs
- Research paper citation networks
- Molecules
- And many more.
We can take advantage of the relational structure by explicitly modeling relationships amongst entities through graphs as conventional deep learning approaches are designed for simple sequences and grids. Networks are complex with arbitrary size and complex topological structure, no fixed node ordering, dynamic, and have multimodal features.
Traditional ML for graphs pipeline uses hand-designed features. Given an input graph, extract node, edge, and graph-level features, and learn a model like Random forest, SVM, Neural networks, etc. that maps features to labels.
Graph representational learning alleviates the need to do feature engineering every time. After representing the data in graphs with entities, relationships, and their respective properties/features, nodes(entities) are mapped to d-dimensional embeddings such that similar nodes in the network are embedded close to each other.
Different types of Graphs ML tasks:
- Node level
-
- Node classification
- Examples: Categorize online users/items
- Edge level
-
- Link prediction
- Examples: Recommend items users might like
- Graph level
-
- Graph classification
- Examples: Drug discovery
- Clustering
- Examples: Social circle detection
These Graph machine learning tasks lead to high-impact applications in different domains.
We at CoreView see data from different perspectives and have created graph representations of data for multiple problems wherever applicable to solve complex data use cases in various domains.
Have you ever come across any such use cases where you could have improved the outcome by leveraging Graphs?