Признаюсь честно, что у меня очень плохо с тем, что некоторые назвали бы «серьёзной математикой»: я плохо читаю сложные формулы, не могу сразу же схватить их физический смысл, путаюсь в разных «значочках и закорючках». Поэтому никогда не хотел стать data scientist'ом — казалось, что без знания математики в Data Science делать нечего. Позже я, конечно, узнал что это не так и можно шарить и приносить пользу в определенных разделах DS и без сильного углубления в линейную алгебру или теорию оптимизации (например, NLP)
Но что мне всегда помогало понять сложные концепции — это «пощупать» их в виде реальных данных или кода. Кажется, что это «практическое ощущение» математики у меня «проклёвывалось» ещё в универе: я спокойно мог закодить какой-нибудь метод половинного деления или Монте-Карло на занятиях по численным методам, когда понимал его как алгоритм, а вот решить дифференциальное уравнение для меня было подобно реверс-инжинирингу инопланетной технологии (это и сейчас так)
Уже позже в работе меня не раз выручал этот подход: не понимаешь как что-то работает в теории — напрограммируй это или найди чужой код. Не понимаю что такое центральная предельная теорема? Значит надо найти примеры кода, в которых ЦПТ применяется для анализа настоящих данных. Сложно понять что такое марковские цепи? Поищу как можно симулировать марковские цепи с помощью кода на Python. Запустил несколько раз симуляцию на разных входных данных и начинаешь понимать как эти шестеренки внутри крутятся. С таким подходом мне, конечно, никогда не светит писать white-papers в научные журналы. Зато многие штуки получалось применять в работе, а ещё появилась математическая интуиция и умение видеть красоту в математических концепциях
Это я всё к чему? Наткнулся на потрясный репозиторий на гитхабе, где математические нотации объяснены с помощью Python-кода. Очень кайфово
https://github.com/Jam3/math-as-code/blob/master/PYTHON-README.md
Post #505
3.88K