Enter your keyword

Ulasan Buku “Graph Machine Learning : Take graph to the next level by applying machine learning techniques and algorithms”, Claudio Stamile dkk, Packt Publishing, 2021

Ulasan Buku “Graph Machine Learning : Take graph to the next level by applying machine learning techniques and algorithms”, Claudio Stamile dkk, Packt Publishing, 2021

Graph Machine Learning : Take graph to the next level by applying machine learning techniques and algorithms, Claudio Stamile dkk, Packt Publishing, 2021

On my Monday and Thursday off last week, I took the time to read the new book "AI" published by Packt Publishing, and it was quite interesting. I've written my review of it below, and I hope it's helpful. 

This book discusses new tools for processing data networks and harnessing the power of relationships between entities—usually represented as graphs—that can be used to perform prediction, modeling, and analytical tasks with machine learning. To my knowledge, there are only a few books that cover this hot new topic of machine learning and deep learning. Among the other two are 

  • Introduction to Graph Neural Networks, Zhiyuan Liu & Jie Zhou, Morgan Claypool Publ, 2020
  • Graph Powered Machine Learning, Alessandro Negro, Manning, 2021  

This book begins with an introduction to graph theory and machine learning for graphs, and an understanding of their potential. Next, readers are invited to understand more deeply about machine learning models for graph representation learning, including their purpose/purpose, how they work, and how they can be applied to various supervised and unsupervised machine learning applications. A complete graph machine learning pipeline is also discussed, including data processing, model training, and prediction in an effort to exploit the potential of graph data. Several examples of applications in social networks, natural language processing, and financial transaction analysis are discussed in this book. By reading this book, readers are expected to have an understanding of graph theory and algorithms and methods for building machine learning on graphs.

This book is divided into three main parts. Part One—consisting of two chapters—discusses an introduction to machine learning on graphs. This part begins with a discussion of the basic concepts of graph theory, types of graphs, graph visualization, graph properties, and several graph examples. Interestingly, this discussion of graph theory is demonstrated using the Python library "networkx", so readers can immediately get hands-on experimenting while understanding the principles of graph theory. Several metrics frequently used in graphs are introduced, such as segregation metrics, centrality metrics, and resilience metrics. The discussion continues with an explanation of machine learning on graphs, then an introduction to the concept that is the main theme of this book, namely graph embedding, as well as the taxonomy of machine learning on graphs. Tasks that can be solved by machine learning on graphs, such as classification and prediction, can be applied at several levels of the graph:   node level, edge level, and graph level. Several graph analysis tools besides "networkx" are also discussed in this section, including Gephi for larger-scale graph visualization, and several graph dataset repositories are also presented. 

Part Two—consisting of three chapters—discusses graph machine learning with a focus on explaining its algorithms. Three topics are covered in this section: unsupervised graph machine learning, supervised graph machine learning, and some problems encountered in graph machine learning. Both unsupervised and supervised graph machine learning discuss the use of graph neural networks. Unsupervised graph machine learning explains several types of algorithms, such as shallow embedding, autoencoders, and graph neural networks. Supervised graph machine learning discusses shallow embedding, graph regularization methods, and graph convolutional neural networks (GCNN). GCNN can be viewed as a generalization of conventional CNNs with graph representation. 

Part Three—consisting of five chapters—discusses advanced applications of machine learning on graphs. Several real-world cases are discussed in this section. The first is an application to social networks, equipped with a dataset using "networkx." It also discusses network topology and community detection in social networks, as well as supervised and unsupervised embedding formation.  Next, we discuss text analysis and natural language processing using graphs, specifically showing how to build document topic classifiers using shallow learning methods and graph neural networks. The third example case study examines credit card transaction analysis using supervised and unsupervised machine learning on graphs. The final section discusses some of the latest trends and research in graph machine learning.

After reading this book, I recommend it for researchers, graduate students, or senior undergraduates who are studying and researching how to apply machine learning to graphs. This book is also useful for data science practitioners and machine learning developers, as well as graph practitioners, especially because it is equipped with Python source code (networkx) for almost all sections/chapters of this book stored on GitHub, and examples of its real-world applications and several repositories regarding datasets for machine learning on graphs. Readers of this book are expected to have some background (familiarity with) graph theory, machine learning, and Python. Readers can simply use Jupyter or Google Colab to try out the source code for all the examples given in this book. In some chapters, Neo4j and Gephi tools are also required. I have not had the opportunity to compare this book with the two books I mentioned at the beginning of this review about machine/deep learning on graphs. However, at first glance, the book "Introduction to Graph Neural Networks" above, despite using the word "Introduction" in its title, covers more advanced topics and is more theoretically/mathematically intensive than this book, which is quite enjoyable to read. If there is a drawback, in my opinion, it is the less than smooth transition from conventional machine learning to graph machine learning. Future editions of this book will hopefully bridge this gap. 

Bandung, 8 Maret, 2022

Reviewer : Bambang Riyanto Trilaksono (Center for AI, STEI-ITB)