Brain Computation: A Hands-on Guidebook

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

Table of Contents#