Graphs have been lately rediscovered as a highly versatile model for many practical scenarios such as social analysis, biology, transport systems, and smart cities. A graph is an abstract representation of a network in terms of nodes and relationships between them (edges) and can be used to model behaviours of individuals or objects interacting one another.
Due to the large interest in graphs many methods have been proposed to retrieve relevant information from them and to extract non trivial patterns with methods that bridges data mining, machine learning and graph theory. As a parallel with traditional data (text or tabular) graph mining studies ways to extract patterns, infer behaviours, retrieve rules, querying, predict links, finding communities and many other things.
The course is intended to provide an introduction to the broad and rising topic of graph mining, with a focus on challenges, algorithmic solutions and new problems.
The course will be organized as follows:
- Background concepts:
- probability theory/statistics
- basic linear algebra
- basic graph concepts (morphisms, degrees, representations, ...)
- Database methods:
- Graph querying: exact and approximate - Reachability queries
- Frequent subgraph mining and graph indexing
- Unsupervised methods:
- Community and anomaly detection
- Graph summarization
- Supervised methods:
- Predictions: node classification and link prediction
- Recommender systems
In addition, through a practical project the student will be able to exploit graph techniques on real world graph data to understand the practical applicability and the drawbacks of the algorithms studied during the course.