At its core, machine learning is about efficiently identifying patterns and relationships in data. Many tasks, such as finding associations among terms so you can make accurate search recommendations or locating individuals within a social network who have similar interests, are naturally expressed as graphs.
Graph-Powered Machine Learning introduces you to graph technology concepts, highlighting the role of graphs in machine learning and big data platforms. You’ll get an in-depth look at techniques including data source modeling, algorithm design, link analysis, classification, and clustering. As you master the core concepts, you’ll explore three end-to-end projects that illustrate architectures, best design practices, optimization approaches, and common pitfalls.
Author(s): Alessandro Nego
Publisher: Manning Publications
Year: 2021
Language: English
Pages: 503
Graph-Powered Machine Learning
brief content
contents
foreword
preface
acknowledgments
about this book
Who should read this book?
How this book is organized
About the code
liveBook discussion forum
Online resources
about the author
about the cover illustration
Part 1: Introduction
Chapter 1: Machine learning and graphs: An introduction
1.1 Machine learning project life cycle
1.1.1 Business understanding
1.1.2 Data understanding
1.1.3 Data preparation
1.1.4 Modeling
1.1.5 Evaluation
1.1.6 Deployment
1.2 Machine learning challenges
1.2.1 The source of truth
1.2.2 Performance
1.2.3 Storing the model
1.2.4 Real time
1.3 Graphs
1.3.1 What is a graph?
1.3.2 Graphs as models of networks
1.4 The role of graphs in machine learning
1.4.1 Data management
1.4.2 Data analysis
1.4.3 Data visualization
1.5 Book mental model
Chapter 2: Graph data engineering
2.1 Working with big data
2.1.1 Volume
2.1.2 Velocity
2.1.3 Variety
2.1.4 Veracity
2.2 Graphs in the big data platform
2.2.1 Graphs are valuable for big data
2.2.2 Graphs are valuable for master data management
2.3 Graph databases
2.3.1 Graph database management
2.3.2 Sharding
2.3.3 Replication
2.3.4 Native vs. non-native graph databases
2.3.5 Label property graphs
Chapter 3: Graphs in machine learning applications
3.1 Graphs in the machine learning workflow
3.2 Managing data sources
3.2.1 Monitor a subject
3.2.2 Detect a fraud
3.2.3 Identify risks in a supply chain
3.2.4 Recommend items
3.3 Algorithms
3.3.1 Identify risks in a supply chain
3.3.2 Find keywords in a document
3.3.3 Monitor a subject
3.4 Storing and accessing machine learning models
3.4.1 Recommend items
3.4.2 Monitoring a subject
3.5 Visualization
3.6 Leftover: Deep learning and graph neural networks
Part 2: Recommendations
Chapter 4: Content-based recommendations
4.1 Representing item features
4.2 User modeling
4.3 Providing recommendations
4.4 Advantages of the graph approach
Chapter 5: Collaborative filtering
5.1 Collaborative filtering recommendations
5.2 Creating the bipartite graph for the User-Item dataset
5.3 Computing the nearest neighbor network
5.4 Providing recommendations
5.5 Dealing with the cold-start problem
5.6 Advantages of the graph approach
Chapter 6: Session-based recommendations
6.1 The session-based approach
6.2 The events chain and the session graph
6.3 Providing recommendations
6.3.1 Item-based k-NN
6.3.2 Session-based k-NN
6.4 Advantages of the graph approach
Chapter 7: Context-aware and hybrid recommendations
7.1 The context-based approach
7.1.1 Representing contextual information
7.1.2 Providing recommendations
7.1.3 Advantages of the graph approach
7.2 Hybrid recommendation engines
7.2.1 Multiple models, single graph
7.2.2 Providing recommendations
7.2.3 Advantages of the graph approach
Part 3: Fighting fraud
Chapter 8: Basic approaches to graph-powered fraud detection
8.1 Fraud prevention and detection
8.2 The role of graphs in fighting fraud
8.3 Warm-up: Basic approaches
8.3.1 Finding the origin point of credit card fraud
8.3.2 Identifying a fraud ring
8.3.3 Advantages of the graph approach
Chapter 9: Proximity-based algorithms
9.1 Proximity-based algorithms: An introduction
9.2 Distance-based approach
9.2.1 Storing transactions as a graph
9.2.2 Creating the k-nearest neighbors graph
9.2.3 Identifying fraudulent transactions
9.2.4 Advantages of the graph approach
Chapter 10: Social network analysis against fraud
10.1 Social network analysis concepts
10.2 Score-based methods
10.2.1 Neighborhood metrics
10.2.2 Centrality metrics
10.2.3 Collective inference algorithms
10.3 Cluster-based methods
10.4 Advantages of graphs
Part 4: Taming text with graphs
Chapter 11: Graph-based natural language processing
11.1 A basic approach: Store and access sequence of words
11.1.1 Advantages of the graph approach
11.2 NLP and graphs
11.2.1 Advantages of the graph approach
Chapter 12: Knowledge graphs
12.1 Knowledge graphs: Introduction
12.2 Knowledge graph building: Entities
12.3 Knowledge graph building: Relationships
12.4 Semantic networks
12.5 Unsupervised keyword extraction
12.5.1 Keyword co-occurrence graph
12.5.2 Clustering keywords and topic identification
12.6 Advantages of the graph approach
appendix A: Machine learning algorithms taxonomy
A.1 Supervised vs. unsupervised learning
A.2 Batch vs. online learning
A.3 Instance-based vs. model-based learning
A.4 Active vs. passive learning
Reference
appendix B: Neo4j
B.1 Neo4j introduction
B.2 Neo4j installation
B.2.1 Neo4j server installation
B.2.2 Neo4j Desktop installation
B.3 Cypher
B.4 Plugin installation
B.4.1 APOC installation
B.4.2 GDS Library
B.5 Cleaning
References
appendix C: Graphs for processing patterns and workflows
C.1 Pregel
C.2 Graphs for defining complex processing workflows
C.3 Dataflow
References
appendix D: Representing graphs
References
index
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
R
S
T
U
V
W