Brain Computation: A Hands-on Guidebook#
Kenji Doya
August 2023 in Paris, and ever since in Okinawa
Preface#
The aim of this book is to introduce fundamental principles and basic algorithms of machine learning (ML) and seek their possible realization in the brain. Sample codes in Python and links to on-line resources in neuroniformatics are provided to facilitate intuitive understanding.
I hope this book will be a helpful guide for students from both computational and biological background to grasp an overview of computational neuroscience and to start exploring novel computational mechanisms of the brain or incorporating insights from the brain for building novel AI systems.
Jupyter Book#
This book is made by Jupyter Book (https://jupyterbook.org). An important feature is that you can download the source codes as Jupyter Notebook by the Download icon on the top right corner of each chapter.
Rather than just reading the html or pdf text, please run the codes, change parameters, apply your own data, and modify the codes to see how the algorithms really work (or fails).
Packages#
I tried to minimize the dependence on specialized packages to make the sample codes explict, rather than cleanly hiding details in a black box.
Here are the basic Python packages used in this book.
jupyter: Jupyter Lab and Notebook
numpy: numerical arrays
matplotlib: basic graphics
ipympl: interactive graphics in Jupyter Lab and Notebook
ipython: user interface
scipy: scientific computing
scikit-learn: machine learning algorithms and sample data
These can be installed by
pip install jupyter numpy matplotlib ipympl ipython scipy scikit-learn
or
conda install jupyter numpy matplotlib ipympl ipython scipy scikit-learn