Математика для Data Science и машинного обучения за 8 месяцев. Подробный план обучения
Беспилотные автомобили, продвинутые голосовые ассистенты, рекомендательные системы – это только малая часть тех классных продуктов, которые создаются с помощью инженеров по машинному обучению и, думаю, не для кого не секрет, что за кулисами сего чуда стоит математика. Именно она играет главную роль в понимании алгоритмов машинного и глубокого обучения.
? Несколько полезных ссылок перед тем как продолжить:
Машинное обучение держится на трёх основных столпах:
линейная алгебра и аналитическая геометрия;
математический анализ;
теория вероятностей и статистика.
Теперь может возникнуть несколько вопросов: можно ли всё это изучить самостоятельно и если да, то сколько это займёт времени, и насколько это будет больно?
Исходя из собственного опыта, могу сказать, что конечно же можно, однако будет немного больно, и чтобы понизить тот самый «градус боли» я решил написать эту статью в помощь таким же новичкам, как и я. Ну что....поехали!
Вся литература, приведённая ниже, содержит упражнения для самостоятельной работы.
Школьная математика (1 неделя и больше)
Какие темы стоит изучить:
числа и действия с ними;
уравнения и неравенства;
функции и графики;
тригонометрия;
логарифмы;
геометрия.
Если нет проблем со школьным курсом, то предлагаю обратить внимание на Кратчайший курс школьной математики – всё описано кратко и очень понятным языком.
Если есть пробелы и хочется углубиться, то есть хорошие плейлисты на канале Видеокурсы DA VINCI – здесь найдёте не только объяснение школьной математики, но и линейной алгебры с математическим анализом.
В качестве задачника можно использовать «Сборник задач по математике для поступающих во втузы», Сканави М.И.
Линейная алгебра и аналитическая геометрия (1,5 месяца)
Какие темы стоит изучить:
вектора и операции над ними;
системы координат;
матрицы, ранг и определители;
системы линейных уравнений;
пространства (линейное, евклидово, аффинное) и их преобразования;
линейные и самосопряжённые операторы;
собственные векторы и значения;
квадратичные формы;
кривые и поверхности второго порядка;
матричные факторизации (LU, QR, SVD);
понятие тензоров (по желанию).
Начнём с плейлистов Linear algebra и Linear algebra (English) канала The bright sight of mathematics – лучшего объяснения линейной алгебры и численных методов к ней я не видел.
Литература для дополнительного изучения:
«Introduction to Linear and Matrix Algebra», Nathaniel Johnston
«Advanced Linear and Matrix Algebra», Nathaniel Johnston
Хорошая серия книг, где читателя постепенно знакомят со всеми необходимыми разделами линейной алгебры, включая матричные факторизации и тензоры.
Неплохие книги на русском:
«Линейная алгебра и аналитическая геометрия», Киркинский А.С.
«Вычислительная линейная алгебра», Вержбицкий В.М.
Первая книга – классический университетский курс линейной алгебры и аналитической геометрии, вторая – учебник по матричным факторизациям.
Математический анализ (3 месяца)
Какие темы стоит изучить:
множества и комплексные числа;
пределы и производные;
функции одной и нескольких переменных;
интегралы (неопределённые и определённые);
дифференциальные уравнения;
ряды (числовые, функциональные, степенные, Тейлора, Маклорена, Фурье);
преобразование Фурье.
Далее переходим к плейлистам канала N Eliseeva – объёмный, но очень хороший курс с кучей примеров и понятным объяснением.
Литература для дополнительного изучения:
«Calculus for Scientists and Engineers», Martin Brokate, Pammy Manchanda, Abul Hasan Siddiqi
«Математический анализ», Киркинский А.С.
Хорошие книги плюс-минус об одном и том же, содержат все необходимые темы, включая преобразование Фурье.
В качестве задачника я использовал учебное пособие БГТУ «Высшая математика в 2-х частях» (Марченко В.М.) – простой вузовский учебник, однако его плюс заключается в том, что после каждой главы имеются упражнения сразу же с ответами, что очень удобно.
Теория вероятностей и математическая статистика (3 месяца)
Какие темы стоит изучить по теории вероятностей:
комбинаторика;
события и их вероятности;
теоремы сложения и умножения вероятностей;
формулы Байеса, Пуассона и Бернулли;
локальная и интегральная теоремы Лапласа;
дискретные случайные величины;
дискретные распределения (геометрическое, биномиальное, Пуассона);
непрерывные случайные величины;
непрерывные распределения (равномерное, показательное, нормальное).
Какие темы стоит изучить по статистике:
генеральная совокупность и выборка;
вариационные ряды (дискретные и интервальные);
основные показатели статистики (мода, медиана, среднее и т.д.);
графическое представление данных;
оценки параметров генеральной совокупности;
статистические гипотезы и методы их оценки;
виды группировок данных;
бутстрэп;
дисперсионный (ANOVA) и ковариационный (ANCOVA) анализы;
корреляция и регрессия (линейная, логистическая).
Приступим к теории вероятностей на mathprofi и учебнику БГТУ «Теория вероятностей» (Блинова Е.И., Марченко В.М., Можей Н.П.), в котором содержится необходимый набор упражнений с кратким теоретическим описанием.
Далее, переходя к статистике, стоит обратить внимание на раздел математическая статистика также на mathprofi и плейлист Statistics Fundamentals на канале StatQuest with Josh Starmer.
Литература для дополнительного изучения:
«Modern Mathematical Statistics with Applications», Jay L. Devore, Kenneth N. Berk, Matthew A. Carlton
Объемная книга, содержащая в себе и теорию вероятностей, и статистику с огромным количеством продвинутых тем.
«Теория вероятностей и математическая статистика», Гмурман В.Е.
Ещё один неплохой учебник, но с меньшим количеством тем.
Дыхание машинного обучения (по желанию)
Переходя в дальнейшем к машинному обучению, было бы неплохо иметь представление о том, как в нём применяется только что изученная математика, и здесь я предлагаю ознакомиться с книгой «Data-Driven Science and Engineering», Steven L. Brunton, J. Nathan Kutz.
Отсюда вы узнаете о сжатии изображений с помощью сингулярного разложения матриц, как преобразование Фурье помогает избавляться от шума в аудиофайлах и изображениях, как найти коэффициенты регрессий через градиентный спуск и многое другое.
Что в итоге
Занимаясь по 10 часов практически каждый день, на изучение всего вышеперечисленного уйдёт порядка 8 месяцев – такой результат был получен, исходя из собственного опыта и возможностей. Возможно, у вас будут другие цифры, главное – пробовать и всё получится.
Надеюсь, данный план оказался для вас полезным, в будущем планирую написать планы обучения и по другим темам в машинном обучении.
Всем успехов!
Дополнительные источники
Школьная математика:
«Краткий курс школьной математики» Битнер В.А.;
«Справочник школьника по математике», Маслова Т.Н., Суходский А.М.;
ЕГЭ по базовой математике – курс от школы BEEGEEK;
Подготовка к ЕГЭ по математике (интенсивный курс) – курс от Pelican Education.
Линейная алгебра и аналитическая геометрия:
«Linear Algebra Done Right», Sheldon Axler;
«Introduction to Linear Algebra», Gilbert Strang;
«Matrix Algebra» (second edition), James E. Gentle;
«Linear Algebra and Matrix Analysis for Statistics», Sudipto Banerjee, Anindya Roy;
«Линейная алгебра», Попов В.С.;
«Линейная алгебра» (в трёх частях), Кострикин А.И.;
«Матричный анализ и линейная алгебра», Тартышников Е.Е.;
«Линейная алгебра», «Аналитическая геометрия», Ильин В.А., Позняк Э.Г.;
«Линейная алгебра», «Аналитическая геометрия», Канатников А.Н., Крищенко А.П.;
Линейная алгебра – курс от Computer Science Center;
Linear Algebra: Problems and Methods – ещё один неплохой курс;
Linear Algebra Basics – курс от Индийского института технологий Рурки;
Linear Algebra for Data Science Using Python – специализация от Говардского университета;
Math for AI beginner: part 1. Linear Algebra – курс от Корейского передового института науки и технологий.
Дискретная математика:
«Дискретная математика», Новиков Ф.Н.;
«Discrete Mathematics with Applications» (fifth edition), Susanna S. Epp;
Логика: курс от БФУ им. И. Канта, курс от ТУСУР;
Дискретные структуры – курс от Александра Дайняка;
Введение в дискретную математику – курс от института биоинформатики;
Introduction to Discrete Mathematics for Computer Science – курс от University of California San Diego;
Основы теории графов, Основы перечислительной комбинаторики, Основы дискретной математики, Ликбез по дискретной математике – курсы от Computer Science Center.
Математический анализ:
«Calculus», James Stewart;
«Calculus», Michael Spivak;
«Calculus Made Easy», Silvanus P. Thompson, Martin Gardner;
«Математический анализ» (в двух частях), Зорич В.А.;
«Курс математического анализа» (в трёх томах), Кудрявцев Л.Д.;
«Основы математического анализа» (в двух томах), Фихтенгольц Г.М.;
Математический анализ – видеокурсы DA VINCI;
Математический анализ для инженеров – курс от НГТУ;
Introduction to Calculus – курс от Сиднейского университета;
Введение в математический анализ – курс от Computer Science Center.
Теория вероятностей и статистика:
«Statistics», Robert S. Witte, John S. Witte;
«A First Course in Probability», Sheldon Ross;
«Elementary Probability Theory», Kai Lai Chung, Farid AitSahlia;
«All of Statistics: A Concise Course in Statistical Inference», Larry Wasserman;
«Статистика для всех», Сара Бослаф;
«Вероятность» (в двух томах), Ширяев А.Н.;
«Наглядная математическая статистика», Лагутин М.Б.;
«Теория вероятностей и математическая статистика», Кремер Н.Ш.;
«Практическая статистика для специалистов Data Science» (второе издание), Питер Брюс, Эндрю Брюс, Питер Гедек;
Статистика – курс от БФУ им. И. Канта;
Introduction to statistics – курс по статистике от Стэнфорда;
Introductory Econometrics a Practical Approach – курс от РУДН;
Основы статистики: часть 1, часть 2, часть 3 – курсы от института биоинформатики;
Теория вероятностей, Математическая статистика – курсы от Computer Science Center.
Вся математика в одном месте:
«Essential Math for Data Science», Thomas Nield;
«Modern Engineering Mathematics», Glyn James, Phil Dyke;
«Mathematics for Machine Learning», Marc Peter Deisenroth, A. Aldo Faisal, Cheng Soon Ong;
«Конспект лекций по высшей математике», Письменный Д.Т.;
«Высшая математика для экономического бакалавриата» (четвёртое издание), Кремер Н.Ш.;
«Вся высшая математика» (в семи томах), Краснов М.Л., Киселёв А.И., Макаренко Г.И. и другие;
«Высшая математика для гуманитарных направлений», Седых И.Ю., Гребенщиков Ю.Б., Шевелев А.Ю.;
Math – все темы по математике от Khan Academy;
Mathematics – вся математика в одном плейлисте от freeCodeCamp;
Mathematics for Machine Learning – специализация от Imperial College London;
Mathematics for Machine Learning and Data Science – специализация от DeepLearning.AI;
Expressway to Data Science: Essential Math – специализация от University of Colorado Boulder;
Mathematics for Engineers – специализация от The Hong Kong University of Science and Technology.
Ещё несколько полезных ссылок:
3Blue1Brown – все разделы математики;
Stabelm – хорошее объяснение сложных тем;
The Math Sorcerer – обзор книг по математике;
Маткульт-привет! – канал Алексея Савватеева;
Точки Лагранжа – видеокурсы по высшей математике;
Борис Трушин – ещё один полезный канал по математике;
Математик МГУ – интересный канал со множеством полезных видео;
MIT OpenCourseWare – море лекций от небезызвестного университета;
Oxford Mathematics – лекции от ещё одного очень известного университета;
dUdVstud – много нужной инфы касаемо математики и Data Science в целом;
Sergej Kuts (присутствует мат). Автор по-пацански объясняет математику – весело и полезно.