A book on Bayesian Learning and Neural Networks covering theoretical foundations and implementations using Python libraries. This book is published at http://phuijse.github.io/BLNNbook and it sources can be found at http://github.com/phuijse/BLNNbook. This book is constantly evolving, feel free to contact me via phuijse at inf dot uach dot cl or by writing issues in this repo
This book was originally made for the students of the INFO320 course at the Master on INformatics (MIN) program, UACh.
Course abstract
In this course we will study probabilistic programming techniques that scale to massive datasets (Variational Inference), starting from the fundamentals and also reviewing existing implementations with emphasis on training deep neural network models that have a Bayesian interpretation. The objective is to present the student with the state of the art that lays at the intersection between the fields of Bayesian models and Deep Learning through lectures, paper reviews and practical exercises in Python
References
For a deeper theoretical view on the topics found in this book I recommend:
- Barber, D. (2012). Bayesian reasoning and machine learning. Cambridge University Press.
- MacKay, D. J. (2003). Information theory, inference and learning algorithms. Cambridge university press.
For more a technical view I suggest reading/watching:
- Blei, D. M., Kucukelbir, A., & McAuliffe, J. D. (2017). Variational inference: A review for statisticians. Journal of the American statistical Association, 112(518), 859-877.
- Jospin, L. V., Buntine, W., Boussaid, F., Laga, H., & Bennamoun, M. (2020). Hands-on Bayesian Neural Networks--a Tutorial for Deep Learning Users. arXiv preprint arXiv:2007.06823.
- Deep Bayes Moscow 2019
For a more general view on Machine Learning I suggest:
- Murphy, K. P. (2012). Machine learning: a probabilistic perspective. MIT press.
- Theodoridis, S. (2015). Machine learning: a Bayesian and optimization perspective. Academic press.