This book aims to provide readers with an algorithmic toolkit for machine learning (ML) problems. Chapter 1 explains why analyzing ML algorithms is so challenging. The remaining seven chapters present algorithms to solve some specific ML problems.
Chapter 2 discusses nonnegative matrix factorization (NMF). NMF is useful in many applications, including computer vision, audio signal processing, and recommendation systems. The author proposes provable algorithms by making some domain-specific assumptions called “separability.”
Chapter 3 covers tensor decomposition, including the use of Jennrich’s algorithm for computing a minimum rank decomposition. Chapter 4 enriches the previous one with applications such as phylogenetic trees and community detection.
Chapter 5 addresses sparsity using, for example, pursuit algorithms and Prony’s method. Chapter 6 covers sparse coding. Chapter 7 presents algorithms for learning the parameters of a Gaussian mixture. Finally, chapter 8 studies the matrix completion problem.
The book is very technical, and familiarity with mathematics is important. The content is very concise, and each chapter ends with a set of practice exercises. Overall, this book is definitely not a tutorial for beginners, but rather a good reference for readers already familiar with ML concepts and applications.