This book explores the integration of functional programming with numerical computation, highlighting how OCaml facilitates rapid and safe development of data science applications. It presents a progression of use cases from various domains in Data Science, Machine Learning, and AI, and discusses deployment at scale using parallel, distributed, and accelerated frameworks to leverage cloud computing. The content is organized into three parts. Part I introduces basic numerical techniques in OCaml, covering classical topics such as interpolation, quadrature, statistics, and linear algebra. It transitions from scalar values to multi-dimensional arrays, including tensors and Ndarray, essential for numerical computing. The section concludes with Ordinary Differential Equations (ODEs) and Signal Processing, along with a visualization module used throughout the book. Part II focuses on advanced optimization techniques vital to contemporary data science, beginning with Algorithmic Differentiation, which underpins Deep Neural Networks. It continues with chapters on Optimization and Regression, leading into Deep Neural Networks and topic modeling in Natural Language Processing (NLP), both of which are prominent in industry and academia. Part III presents case studies that demonstrate building complete numerical applications from scratch using Owl, covering areas like computer vision and recommender systems. The book targets readers w
Jianxin Zhao Books


Architecture of Advanced Numerical Analysis Systems
Designing a Scientific Computing System using OCaml
- 488 pages
- 18 hours of reading
Focusing on the functional OCaml programming language, this open access book explores its applications in numerical and computational data science, engineering, and scientific fields. Drawing from the authors' extensive experience with Owl, an OCaml-based numerical computing library, it provides insights into practical implementations and techniques for handling weighted data. The content is tailored for those interested in leveraging OCaml for advanced computational tasks.