Как стать автором
Обновить

Математика для Data Science и машинного обучения за 8 месяцев. Подробный план обучения

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров76K
Всего голосов 24: ↑23 и ↓1+22
Комментарии44

Комментарии 44

ЗакрепленныеЗакреплённые комментарии

Заметил, что появилось много вопросов по поводу того, что невозможно что-то изучать по 10 часов каждый день. Уважаемые читатели, у данной статьи было 2 цели: поделиться полезными источниками для изучения математики в контексте машинного обучения для тех, кому это нужно, и показать реальные сроки обучения, исходя из собственного опыта. Думаю, эта информация окажется полезной, особенно учитывая те цифры, которые заявляются на разного рода платных курсах. Делитесь также в комментариях своим опытом. Всех с наступающим!

Занимаясь по 10 часов практически каждый день, на изучение всего вышеперечисленного у меня ушло порядка 8 месяцев

Извините, но… а вы вообще человек?

Если у вас нет работы по 8 часов в день — вполне можно себе позволить. Правда, вызывает вопросы, на что в это время жить. Если работа есть — вызывает вопросы уже другого сорта.

Но если честно, то да, я бы сломался сильно раньше — потому что чтобы учиться 10 часов в день, нужен в первую очередь очень хороший стимул — а его не видно. В смысле, автор свой не описал.

Ух не знаю. Для меня потолок - часов 4-5 в день активной умственной деятельности. Именно активной. Безусловно, можно и по 18 часов в день поработать, но там полу-автомат. И то потом компенсируется просадкой в чём-он другом.

Не поверю, что 10 часов в день возможно что-то изучать СТАБИЛЬНО. И людей таких не знаю. Поэтому и спрашиваю автора: а вы вообще человек, из нашей реальности?

Не, 4-5 в день это нормально. Я скорее о том, что работать какое-то время по 10 часов возможно. И потом, мы же не знаем, насколько хорошо автор на самом деле все эти темы освоил. Вероятно какое-то время из этих 10 часов — это просто чтение документации/книг. Каков эффект — вот это вопрос.

Если убрать стопорящие факторы и быть внутри потока, длинный рабочий день вполне возможен. Для коммерческой деятельности я не уверен что такое совпадение условий достижимо, но для хобби вполне можно выбрать себе такие условия.

Человек проводит на работе 8 часов в день. В чем тогда проблема заниматься по 10 тем, что вам нужно и интересно, тем более если имеется такая возможность? К сожалению, в мои планы не входит доказывать вам что-либо. Если есть вопросы касаемо математики или машинного обучения - с радостью отвечу.

Может он на психоактивных веществах, это бы многое объяснило.

Ем грибы на завтрак и ужин)

Какой-то преподаватель российского вуза, математик, тоже грибы употреблял, гомотопией и прочими преобразованиями страдал. На ютубе много его лекций, фамилию не помню.

НЛО прилетело и опубликовало эту надпись здесь

Да, в данный момент у меня есть достаточно свободного времени и я могу себе такое позволить. Если вы хотите изучить математику и ищите ресурсы, то каким образом мои стимулы смогут вам в этом помочь? Вопрос задан некорректно, поэтому не вижу смысла на него отвечать)

>Вопрос задан некорректно
Я ничего и не спрашивал. Я скорее констатировал, что для такого режима работы обычно нужен хороший стимул. И время. И скорее всего он у вас был. А уж какой конкретно — тут и правда не важно.

Ну тут кому как, но я занимался 10-12 часов в день когда начал изучать js. Но я очень был заинтересован

Заметил, что появилось много вопросов по поводу того, что невозможно что-то изучать по 10 часов каждый день. Уважаемые читатели, у данной статьи было 2 цели: поделиться полезными источниками для изучения математики в контексте машинного обучения для тех, кому это нужно, и показать реальные сроки обучения, исходя из собственного опыта. Думаю, эта информация окажется полезной, особенно учитывая те цифры, которые заявляются на разного рода платных курсах. Делитесь также в комментариях своим опытом. Всех с наступающим!

Было бы очень здорово, если бы вы дополнили статью информацией о том, для чего именно нужны те или иные знания. Например я сейчас смотрю курс Andrew Ng - понятно что он исключительно ознакомительный, но мне больше и не надо - а понять, что к чему там можно даже напрочь забыв школьную математику.

В конце статьи упоминались примеры применения математики в ML, а для более подробного объяснения нужно выпускать отдельные статьи, что я и планирую сделать в ближайшем будущем). На мой взгляд, курсы Andrew NG - это лучшее, что можно найти по ML на сегодняшний день, зря вы их недооцениваете.

Нет-нет, я их вовсе не недооцениваю, я их с удовольствием смотрю и радуюсь, что там - по крайней мере пока что - всё предельно понятно, а сам Эндрю такой "короч тут матан, но если вы не знаете, то не парьтесь, потому что в результате получается вот так вот"

Аа, ну так эт норм: все равно на практике пользуются готовыми формулами, главное - их понимание и тут товарищ Эндрю бесподобен в объяснении.

>> поделиться полезными источниками для изучения математики в контексте машинного обучения для...

Неплохо бы сказать и о минусах названных источников, чем они превосходят другие не менее "полезные"

Можно конечно заботать все за неделю, но сколько из этого останется без практики — большой вопрос. Аналогично — авральная подготовка к сессии. Через месяц в голове остаётся 20 процентов, через 15 лет — перекати-поле. Если же делать проекты, то шанс больше.

Автор по сути рекомендует подход обучения "с основ", но я бы советовал учится иначе, то есть "с конца". Сразу берите учебник по питону/датасаэнсу и в нем разбирайтесь. Если где-то хочется углубиться, то смотрите уже конкретную тему. Пример:

Читаешь в учебнике по ML главу про метод опорных векторов (support vector machines) и не понимаешь что это такое за отображение признаков. Смотришь в другом месте:

А, так это просто функция между двумя векторными пространствами. А что такое векторное пространство и какие вообще его элементы? Смотришь в энциклопедии:

Векторное пространство — множество элементов вместе с определенными операциями сложения и скалярного умножения, если выполняется ряд свойств. Элементы векторного пространства называются векторами. Ну, более-менее понятно. Читаешь дальше про метод опорных векторов.

Мне кажется такой стиль обучения просто лучше сегодня. Мы плаваем в бездонном океане информации и самый главный навык это уметь отыскивать по частям что реально нужно. Если изучать "всё с начала", то просто утонешь и никогда не дойдешь до главного.

Вы практикующий ml-специалист или просто взяли это с головы? Без обид, но описанный вами подход невероятно плох: лучше всё изучать по порядку, когда один раздел вытекает из другого т.к. в случае, если модель 'ляжет', то с таким пониманием математики, как предлагаете вы, у вас тупо не получится понять почему она работает не так как вам нужно. Должна быть крепкая база, которая позволит понимать математику, лежащую в основе алгоритмов машинного обучения. По-хорошему, вы должны уметь расписать от руки вычисления, по которым ищутся веса моделей и т.д.. К сожалению, просто прочитать статью с википедии и использовать fit/predict не прокатит.

Я скорее программист, а в прошлом физик. Если хотите мою узнать мою базу, то это обычные курсы высшей математику (ну это давно было), теория групп и теория информации в качества хобби.

Ну серьезно, что мне помешает понять модель, если я сначала посмотрю реализацию в коде, а затем пойду непонятые аспекты разбирать? Конечно, такой поиск часто будет приводить к переваривают целых глав из вашего же списка литературы. Но обратите внимание, моя цель это не прочитать 10 книг от корки до корки, а досконально разобраться в том, что реально нужно для этой понимания данной модели например.

Разве у вас не возникало желание сравнить описание модели по разным учебникам или погрузиться на несколько уровней глубже в математику чтобы понять какую-то штуку? Не существует же конкретного порядка в котором "нужно" изучать тему. Не нужно стесняться прыгать от источнику к источнику информации при необходимости. Поверьте, посмотреть набор статей, которые полезны именно вам именно сейчас, будет намного продуктивнее, чем весь матан повторять.

Что в итоге

Занимаясь по 10 часов практически каждый день, на изучение всего вышеперечисленного у меня ушло порядка 8 месяцев. Однако такой результат был получен, исходя из моего опыта и возможностей. Возможно, у вас будут другие цифры, главное – пробовать и все получится.

Так а что в итоге? К чему вы пришли, изучая такими объемы математики? Получили лучшее понимание моделей или что-то другое? Или решили вкатиться в ML и это то, с чего вы начали?

решил вкатиться в ML и это то, с чего я продолжил

Получилось в итоге вкатиться?

Ещё качусь). Пока что я ещё изучил не все темы и постепенно буду выкладывать полезные статьи как по программированию и математике, так и непосредственно по ML.

А какой до этого опыт был, что понадобилось настолько вспоминать основы математики для ML?

Надеюсь, мои вопросы не смущают. Просто интересно, откуда люди в ML приходят, помимо математиков/алгоритмистов, что им нужно столько математики вспоминать.

Нуу вообще в программирование люди приходят из самых разных областей). До этого я работал инженером в энергетической сфере.

А почему решили в ML перейти?

Это дело отдельной статьи, проще говоря, на то есть много причин)

Спасибо за статью, материалы и некий стимул к дополнительной мотивации) расскажите , может, как вы планировали 10 часовое обучение, методики, хитрости, навыки.

Ну каких-то хитрых методик здесь нет. Единственное, что могу сказать, что учиться 10 часов без перерыва конечно же не стоит: лучше разбивать на несколько отрезков по несколько часов и конечно же отдыхать.

Возможно, хороший список книг (я занимался по другим), но совершенно фантастические сроки - 8 месяцев по 10 часов в день (!!!). Никогда не поверю что в таком режиме можно 1) вообще продержаться 8 месяцев, 2) реально учиться, т.е. узнавать и запоминать новое по 10 часов в день.

Немного расскажу про свой опыт чтобы уравновесить. В универе (примат) учился плохо, и мало что понял и запомнил, поэтому когда решил вкатиться в DS начинать учить математику пришлось чуть ли не с нуля. Начал в 25 лет, сначала проходил курсы на курсере/edx/степике, потом стал читать серьезные книги (Зорич и т.д.), походил немного в НМУ (на 2 месяца кое-как хватило), стал заниматься с репетитором, прорешивать листочки какие мог найти (например Давидовича, и из того же НМУ). Сейчас мне 35 лет (т.е. 10 лет я этим всем занимаюсь - сравните с авторскими 8 месяцами), в процессе у меня родилась дочь, началась война, прилетели инопланетяне, цивилизации рождались и умирали. Я несколько раз выгорал до полного упадка, восстанавливался, понимал что занимаюсь неправильно (сначала понял что слишком много теории читаю и проглатываю ее слишком быстро, потом понял что наоборот - только листки прорешиваю, а надо бы теорию еще почитывать), несколько раз вообще хотел все бросить (и бросал, но максимум на полгода). И вот уже взрослый дядя, я несколько лет как вкатился в DS, уже успел поработать на нескольких DS-работах и успешно вел проекты, и что вы думаете - я до сих пор занимаюсь математикой и чувствую что есть еще много тем которые я либо не знаю либо знаю плохо.

С высоты своего опыта, и если отбросить чисто мои затупы, то реальные сроки и режим изучения математики для DS с около-нуля для взрослого человека с семьей видятся мне примерно такими: 3-5 лет по 2-3 часа в день. Быстрее 3х лет я вообще не знаю как можно это изучить, ведь нужна математика по сути первых 3х курсов технического универа, вот и настраивайтесь минимум на эти полноценные 3 курса, да еще с параллельной взрослой жизнью. Ну и в день лично мой (да и практически всех моих знакомых) "стандарт" тяжелой интеллектуальной работы - 3-4 часа. И это не каждый день, хотя бы 1 день в неделю надо от этого отдыхать.

А где вы увидели в моих словах, что я сидел 10 часов без перерыва? Я сказал, что занимался 10 часов в день, т.е. что мне мешало заниматься по 3-4 часа несколько раз в день, делая перерывы? В сумме как раз и выходило 10 часов или же примерно 2400 часов за весь период. Вы бы посмотрели канал data science guy, где парень говорил, что прошёл всю математику за месяц - вот в такое я точно никогда не поверю. Честно говоря, я ожидал, что будут комментарии мол поясни почему мы здесь не увидели Зорича, Кострикина и т.д..

Сорри, не поверю даже в 10 часов с перерывами нормальной учебы в день. В 10 часов профанации вместо учебы - может и поверю. Возможно конечно вы просто уникум, тогда ок. Спорить если что не собираюсь, просто выражаю мнение (подкрепленное своим многолетним опытом и опытом моих знакомых).

Четно говоря, не вижу здесь ничего невозможного. Хорошо, а как быть с теми, кто получает 2 высших образования одновременно, затрачивая на это гораздо больше часов, или со студентами медвузов? Они тоже по-вашему уникумы?

Тыц

Честно говоря, я ожидал, что будут комментарии мол поясни почему мы здесь не увидели Зорича, Кострикина и т.д..

Насчет поиска наилучших книг и курсов тоже имею что сказать (опять же это мое личное мнение). Есть такая идея у новичков (и у меня была): дескать надо найти самые лучшие книги, и все пойдет как по маслу. А я скажу, что по каким именно книгам заниматься - дело даже не второстепенное, а вообще не сильно важное. И даже хуже: если новичок сразу возьмется за Зорича/Кострикина, то скорее всего только впустую потратит кучу сил и времени, да еще словит демотивацию. Эти книги не для начинающих. Не начинайте с них, если не занимаетесь с ментором/репетитором, который будет по ним вас вести за руку. И вообще, самое главное - это не книги, а другие вещи - мотивация, скорость и вдумчивость изучения, пропорции теории и практики, периодическое самотестирование, наличие рядом наставника. Книги как сомелье будете выбирать когда базу наработаете на книгах попроще.

Здесь я с вами соглашусь, что по Зоричу и Кострикину лучше со старта не заниматься, к тому же у Кострикина описаны не все темы, просто ну очень много кто их хвалит.

Сканави топ я считаю

Есть еще канал по школьной математике Андреев Андрей Андреевич, очень помог в свое время

Не знаю зачем это перечисление вузовских учебников. С такими запросами как у вас не проще на заочку поступить? Там и литературу рекомендуют и результат проконтролируют и корки дадут.

Не обязательно всё это учить самому.

Есть готовый курс, например от Яндекса:

https://practicum.yandex.ru/math-for-da-ds/?from=catalog

Мне нравится (правда, до конца я ещё не дошёл, но матан и линал освежил).

Опять таки, в этом курсе есть специальный раздел для вникающих в ML: описание градиентного спуска, линейной регрессии и т. п. Да, и питон-тренажёр для проверки усвоения материала там тоже есть.

(не реклама, просто понравился курс... мне за этот коммент ни копейки не дадут).

ЗЫ: единственный минус - стоит курс 30к. (но бывают скидки в 5...20%)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации