In recent years, the overwhelming successes provided by artificial intelligence (AI) and machine learning (ML) methods have been stunning. All computer scientists know about very efficient picture tagging with convolutional neural networks (CNNs) or Shakespeare’s style text generation with transformers. Obviously, ML is used not only for fun--it is also applied to many practical engineering areas, for example, to control vehicles or resource management in communication networks. One of the practical problems of the latter is not related to breathtaking effectiveness, but to human willingness to understand what is really going on. While we do not have problems with understanding, for instance, classical approaches met in control or optimization theory where the mathematical models are intellectually comprehensible, this is typically not necessarily the case with AI/ML. Mishra’s book introduces so-called explainability for the field, where we strive to increase interpretability or fidelity related to the used models by trying to grasp what they exactly produce and why.
The book is aimed at readers who are not necessarily experts in AI/ML. Therefore, the author starts with an introduction to the basics. This way, chapter 1 discusses what exactly AI/ML is, and why we need explainability (along with the related taxonomy of approaches). It also introduces some useful Python libraries to be used for explainability support. This is a set of not-that-well-known libraries that are specifically aimed at the book’s topical goal. The relationship between explainability and ethical approaches to AI is also covered. In fact, the latter aspect is extended in chapter 2, where additionally other aspects related to responsibility of preparing and using AI/ML models are covered (such as bias and reliability). The author then goes on to present the explainability methods applied in some typical ML models: linear and logistic regressions in chapter 3; other shallow learning models, such as decision trees, in chapter 4; methods combining various models (especially with bagging and boosting) in chapter 5; autoregression methods for time series analysis in chapter 6; natural language processing in chapter 7; and various artificial neural networks (ANNs) in chapters 9 and 14. The author comes back to the bias issue study in chapter 8, where Google’s What-If Tool (WIT) is presented for this purpose and then used in the so-called counterfactual explanations in chapter 10. Contrastive learning is discussed in chapter 11, while model-agnostic explanation methods are covered in chapter 12. Rule-based systems are treated in chapter 13.
While the book presents just fundamental aspects, I find this to be a great advantage. Indeed, even the layperson to AI/ML can use this work: the author starts with the most basic definitions and models, and then provides software examples where first the plain versions are exercised and then explainability is added. This way a very broad readership is possible, since more advanced parts of the chapters will be interesting even for specialists in AI/ML who would like to increase their expertise in the title topic.