"Когда-нибудь мечтали, чтобы у вас была не эффективно написанная, но понятная библиотека ML алгоритмов, реализованная только с использованием numpy? Нет?"
Хватит мечтать, все уже сделали за вас. Остается только смотреть и изучать, для самых увлеченных - делать pull request'ы.
https://github.com/ddbourgin/numpy-ml
Автор не использует автоматическое дифференцирование и все производные задаёт формулами явно, ведь библиотека предназначена в основном для изучения алгоритмов.
Иногда там все очень просто и понятно, иногда чуть посложнее.
Например, активация ReLU выглядит примерно так: