OCaml Scientific Computing: Functional Programming in Data Science and Artificial Intelligence

ยท ยท
ยท Springer Nature
เช‡-เชชเซเชธเซเชคเช•
359
เชชเซ‡เชœ
เชฐเซ‡เชŸเชฟเช‚เช— เช…เชจเซ‡ เชฐเชฟเชตเซเชฏเซ‚ เชšเช•เชพเชธเซ‡เชฒเชพ เชจเชฅเซ€ย เชตเชงเซ เชœเชพเชฃเซ‹

เช† เช‡-เชชเซเชธเซเชคเช• เชตเชฟเชถเซ‡

This book is about the harmonious synthesis of functional programming and numerical computation. It shows how the expressiveness of OCaml allows for fast and safe development of data science applications. Step by step, the authors build up to use cases drawn from many areas of Data Science, Machine Learning, and AI, and then delve into how to deploy at scale, using parallel, distributed, and accelerated frameworks to gain all the advantages of cloud computing environments.

To this end, the book is divided into three parts, each focusing on a different area. Part I begins by introducing how basic numerical techniques are performed in OCaml, including classical mathematical topics (interpolation and quadrature), statistics, and linear algebra. It moves on from using only scalar values to multi-dimensional arrays, introducing the tensor and Ndarray, core data types in any numerical computing system. It concludes with two more classical numerical computing topics, the solution ofOrdinary Differential Equations (ODEs) and Signal Processing, as well as introducing the visualization module we use throughout this book. Part II is dedicated to advanced optimization techniques that are core to most current popular data science fields. We do not focus only on applications but also on the basic building blocks, starting with Algorithmic Differentiation, the most crucial building block that in turn enables Deep Neural Networks. We follow this with chapters on Optimization and Regression, also used in building Deep Neural Networks. We then introduce Deep Neural Networks as well as topic modelling in Natural Language Processing (NLP), two advanced and currently very active fields in both industry and academia. Part III collects a range of case studies demonstrating how you can build a complete numerical application quickly from scratch using Owl. The cases presented include computer vision and recommender systems.

This book aims at anyone with a basic knowledge of functional programming and a desire to explore the world of scientific computing, whether to generally explore the field in the round, to build applications for particular topics, or to deep-dive into how numerical systems are constructed. It does not assume strict ordering in reading โ€“ readers can simply jump to the topic that interests them most.


เชฒเซ‡เช–เช• เชตเชฟเชถเซ‡

Liang Wang is a Principal AI Architect at Nokia, a Senior Researcher at the University of Cambridge, an Intel Software Innovator, and the Chief Scientific Officer at IKVA. He has a broad research interest in artificial intelligence, machine learning, operating systems, computer networks, optimization theory, and graph theory.

Jianxin Zhao is a PhD graduate from the University of Cambridge. His research interests include numerical computation, artificial intelligence, decentralized systems, and their application in the real world.

Richard Mortier is a Professor in Computing and Human-Data Interaction at the University of Cambridge. He works at the intersection of systems and networking with human-computer interaction, and he currently focuses on building user-centric systems infrastructure.


เช† เช‡-เชชเซเชธเซเชคเช•เชจเซ‡ เชฐเซ‡เชŸเชฟเช‚เช— เช†เชชเซ‹

เชคเชฎเซ‡ เชถเซเช‚ เชตเชฟเชšเชพเชฐเซ‹ เช›เซ‹ เช…เชฎเชจเซ‡ เชœเชฃเชพเชตเซ‹.

เชฎเชพเชนเชฟเชคเซ€ เชตเชพเช‚เชšเชตเซ€

เชธเซเชฎเชพเชฐเซเชŸเชซเซ‹เชจ เช…เชจเซ‡ เชŸเซ…เชฌเซเชฒเซ‡เชŸ
Android เช…เชจเซ‡ iPad/iPhone เชฎเชพเชŸเซ‡ Google Play Books เชเชช เช‡เชจเซเชธเซเชŸเซ‰เชฒ เช•เชฐเซ‹. เชคเซ‡ เชคเชฎเชพเชฐเชพ เชเช•เชพเช‰เชจเซเชŸ เชธเชพเชฅเซ‡ เช‘เชŸเซ‹เชฎเซ…เชŸเชฟเช• เชฐเซ€เชคเซ‡ เชธเชฟเช‚เช• เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเชจเซ‡ เชœเซเชฏเชพเช‚ เชชเชฃ เชนเซ‹ เชคเซเชฏเชพเช‚ เชคเชฎเชจเซ‡ เช‘เชจเชฒเชพเช‡เชจ เช…เชฅเชตเชพ เช‘เชซเชฒเชพเช‡เชจ เชตเชพเช‚เชšเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.
เชฒเซ…เชชเชŸเซ‰เชช เช…เชจเซ‡ เช•เชฎเซเชชเซเชฏเซเชŸเชฐ
Google Play เชชเชฐ เช–เชฐเซ€เชฆเซ‡เชฒ เช‘เชกเชฟเช“เชฌเซเช•เชจเซ‡ เชคเชฎเซ‡ เชคเชฎเชพเชฐเชพ เช•เชฎเซเชชเซเชฏเซเชŸเชฐเชจเชพ เชตเซ‡เชฌ เชฌเซเชฐเชพเช‰เชเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเชพเช‚เชญเชณเซ€ เชถเช•เซ‹ เช›เซ‹.
eReaders เช…เชจเซ‡ เช…เชจเซเชฏ เชกเชฟเชตเชพเช‡เชธ
Kobo เช‡-เชฐเซ€เชกเชฐ เชœเซ‡เชตเชพ เช‡-เช‡เช‚เช• เชกเชฟเชตเชพเช‡เชธ เชชเชฐ เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชซเชพเช‡เชฒเชจเซ‡ เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ€เชจเซ‡ เชคเชฎเชพเชฐเชพ เชกเชฟเชตเชพเช‡เชธ เชชเชฐ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡. เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช‡-เชฐเซ€เชกเชฐ เชชเชฐ เชซเชพเช‡เชฒเซ‹ เชŸเซเชฐเชพเชจเซเชธเซเชซเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเชนเชพเชฏเชคเชพ เช•เซ‡เชจเซเชฆเซเชฐเชจเซ€ เชตเชฟเช—เชคเชตเชพเชฐ เชธเซ‚เชšเชจเชพเช“ เช…เชจเซเชธเชฐเซ‹.