ibragim-bad / fast-internship-curriculum

Как получить знания и навыки, чтобы выйти на стажировку и обучать там сетки!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fast-internship-curriculum

Делюсь материалами, которые в апреле 2019 года помогли мне найти стажировку по машинному обучению, а потом и работу (на работе занимаюсь NLP).

Для кого этот гайд?

  • студент школы 21 (необязательно)
  • интересно машинное обучение
  • хочется заниматься NLP или CV на стажировке

Что делать если я не из школы 21?

Выберите пункты гайда, которые интересны, но имейте в виду, что материалы гайда не включают следующие пункты, которые покрываются школьными проектами:

  • основы программирования
  • работа с командной строкой в unix
  • работа с git
  • составление резюме

Общие рекомендации

  1. Гайд не ультимативный! Здесь приведены курсы, которые помогли мне + обогатил их, проработав год на позиции уже после стажировки.
  2. Все курсы - бесплатные.
  3. Если нужный материал есть на русском, оставляю ссылку и на него.
  4. Если хотите, чтобы процесс обучения был более продуктивным, пройдите/пролистайте Learning how learn. Проходится за один день, но может сэкономить вам много времени.
  5. Курс можно пройти за 9 недель учебы фуллтайм по 6 дней в неделю (+-)
  6. Я вставил мини-проекты, чтобы добавить практики. Но вы можете их заменить, на какой-то похожий аналог. Аналоги можно посмотреть python+ml или ml, но не забывайте, что это не должно занимать много времени.
  7. Оцените для себя время для "застревания". Это время, которое вы можете потратить на тему/задание внутри курса без продвижения вперед (например: 3 часа или день). Если в течение этого времени прогресса нет, то скипайте задание и переходите дальше.
  8. Есть русскоязычное коммьюнити по data science: ods
  9. Для тех, кто супер спешит: проходите только то, что написано курсивом.

Содержание

  1. Python. Алгоритмы и структуры данных.
  2. Базовая математика для машинного обучения
  3. Введение в ML и классические алгоритмы
  4. Deep learning

1. Python. Алгоритмы и структуры данных.

  1. Для знакомства с питоном подойдет документация, так как в ней есть краткий курс. Русский/Английский. Если нет времени, то пройдите хотя бы до стандартной библиотеки (1-9 темы).
  2. Есть неплохой буткемп от 42-ai. Если нет времени, пройдите с 0 по 2 день.
  3. Понимание алгоритмической сложности, базовых структур данных и алгоритмов нужно на большинстве собесов (если не на всех). Intro to Data Structures and Algorithms . Несложный курс на питоне, которого хватит для понимания. Курс простой, поэтому пройдите все, даже если нет времени.

Проект по питону (тратить 2-3 дня, не больше).

Напишите бота в телеге на питоне, исользуя любой публичный api.

  1. Задача минимум: Сделайте работающего бота хотя бы в google colab.
  2. Задача максимум: Возьмите машину на aws или gcs (на aws первый год бесплатный, на гугле дают 300$ на первый год). Оберните бота в докер, поднимите docker compose, прикрутите базу данных, чтобы сохранять юзеров, которые пишут в бота и все, что угодно до чего додумаетесь).

2. Математика.

  1. Список нужных тем. Если нет времени, отметил в доке то, что необходимо знать. Посмотрите два плейлиста 3blues1brown Essence of linear algebra, The Essence of Calculus. Если нет времени, видео от 3blues1brown смотрите только по темам, которые отмечены желтым в доке.

  2. Data Science Math Skills. Если нет времени скипните теорию тем, которые знаете, просто проверив себя на решении квизов.

3. Введение в ML и классические алгоритмы

  1. mlcourse. Если нет времени, то пройдите темы 1-5, 7.

4. Deep Learning

  1. MIT 6.S191 Introduction to Deep Learning. Курс вводный, но является хорошой базой + в практике знакомит с tensorflow. Если нет времени, пройдите 1-4 темы и решите первые две лабы.
  2. Нейронные сети и компьютерное зрение. Даже если нет времени, пройдите полностью
  3. Нейронные сети и обработка текста. Даже если нет времени, пройдите полностью

Проект: поучаствуйте в соревновании на kaggle.

  1. Выберите активное соревнование. Посмотрите public kernels. Попробуйте улучшить результат (потратьте 2-3 дня, чтобы собрать собственный пайплайн и сделать первый сабмит).

Если будут вопросы, пишите в слаке школы, ник: jfrankly или в ods ibragim. Успехов!

About

Как получить знания и навыки, чтобы выйти на стажировку и обучать там сетки!