Как перейти в Machine learning, если знаешь Python

16.01.2019
1594
Подпишитесь, чтобы получать новые статьи на почту

Директор разработки и data scientist ДомКлик.ру Алексей Кузьмин рассказал, как можно освоить Machine learning тем, кто работает с Python.

Обучение в онлайн-университете: курс «Машинное обучение»

Какие тренды машинного обучения нужно знать

Машинное обучение стало прорывом в аналитике: благодаря ему наконец получилось работать с неструктурированными данными — изображениями, звуками и так далее.

Главными трендами машинного обучения сейчас называют:

Нейросети. Работают с неструктурированной информацией, например, изображениями и текстовыми данными: прямо как человеческий мозг. Дают понимание того, как работает Deep learning, способствуют его широкому развитию и использованию. Помогают подбирать архитектуру и параметры. Нейронные сети можно строить в том числе на языке Python.

Основные области применения нейронных сетей:

  • Обработка изображений. Нейросети распознают и проводят автоматическую классификацию изображений, модифицируют видеопоток на лету.
  • Распознавание речи и голосовые помощники — одна из разновидностей нейронных сетей. Алиса, Кортана, Сири и другие помощники работают с неструктурированными данными — голосовыми запросами пользователя.
  • Конкурирующие нейронные сети. В сети GAN существуют две конкурирующие нейронные сети, условно — полицейский и преступник. Помогают работать с данными, где тяжело сделать разметку и хотя бы минимально структурировать массив.
  • Нейронные сети типа RL. Нейронная сеть, рассчитанная на работу с массивом данных без подробной разметки, но с контекстом. Можно обучить взаимодействовать с окружающей средой при помощи наблюдений, действий и вознаграждений. Так сделали разработчики AlphaGo — проекта для изучения игровых стратегий.

Упрощение машинного обучения. Black-box и AutoML от крупных вендоров позволяют упростить машинное обучение. Вендоры разрабатывают программу, чтобы пользователи в один клик смогли автоматизировать выбор модели, параметров или улучшить процесс обучения в одно нажатие.

Кем можно быть в команде по Machine learning

Data scientist. Разрабатывает модели для решения прикладных задач.

Дата аналитик. Понимает данные: например, знает, что конверсия — соотношение просмотров к заказам. Знает математику, но плохо программирует, может делать наборы метрик и помогать data scientists готовить данные.

Дата инженер. Умеет программировать, настраивать процедуры с данными. Например, берет данные из доменной области и преобразует в базу данных.

ML Researcher. Сосредоточен на математической стороне вопроса. Разрабатывает новые подходы для решения сложных, часто абстрактных задач.

Аналитик. Разбирается в бизнесе, придумывает и конкретизирует требования.

Dev. Пишет код, совершенствует его для ускорения и оптимизации процесса.


Схема навыков членов команды, источник: ODS

Как перейти в машинное обучение

Чтобы перейти в Machine learning, нужно:

  • работать с инструментами обработки данных pandas, SQL, hadoop, dwh и другими, чтобы доставать данные;
  • знать, как решается задача оптимизации — градиентный спуск и аналоги — для обучения моделей;
  • знать тервер и статистику, чтобы понимать полученные результаты, значимость моделей, распределения, ЦПТ, интервалы;
  • знать язык программирования Python и библиотеки для машинного обучения, например, pandas, scipy, numpy и другие;
  • понимать математику, сильные алгоритмы и ансамбли и принцип их работы в жизни.


Краткий перечень знаний и навыков для перехода в машинное обучение

Я был разработчиком. Через 3 года после начала работы перешел в отдел, который занимался машинным обучением. Почему я сменил специальность? После определенного срока работы программистом устаешь от однотипных задач. В машинном обучении получаешь возможность работать с разнообразными неизвестными задачами, плюс высокие зарплаты. Хороших специалистов по data science на рынке мало, и работодатели готовы платить им, чтобы привлечь в свою компанию.

Вывод

Чтобы перейти в Machine learning, нужно понять, как работают базовые алгоритмы, изучить реальные кейсы. Если знаете язык программирования Python, разобраться будет проще.


Мнение автора и редакции может не совпадать. Хотите написать колонку для «Нетологии»? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.

Алексей Кузьмин
Директор разработки ДомКлик
Мы используем файлы cookie
Чтобы улучшить работу сайта и предоставить вам больше возможностей для обучения. Продолжая использовать сайт, вы соглашаетесь с условиями использования файлов cookie.