Директор разработки и data scientist ДомКлик.ру Алексей Кузьмин рассказал, как можно освоить Machine learning тем, кто работает с Python.
Какие тренды машинного обучения нужно знать
Машинное обучение стало прорывом в аналитике: благодаря ему наконец получилось работать с неструктурированными данными — изображениями, звуками и так далее.
Главными трендами машинного обучения сейчас называют:
Нейросети. Работают с неструктурированной информацией, например, изображениями и текстовыми данными: прямо как человеческий мозг. Дают понимание того, как работает Deep learning, способствуют его широкому развитию и использованию. Помогают подбирать архитектуру и параметры. Нейронные сети можно строить в том числе на языке Python.
Основные области применения нейронных сетей:
- Обработка изображений. Нейросети распознают и проводят автоматическую классификацию изображений, модифицируют видеопоток на лету.
- Распознавание речи и голосовые помощники — одна из разновидностей нейронных сетей. Алиса, Кортана, Сири и другие помощники работают с неструктурированными данными — голосовыми запросами пользователя.
- Конкурирующие нейронные сети. В сети GAN существуют две конкурирующие нейронные сети, условно — полицейский и преступник. Помогают работать с данными, где тяжело сделать разметку и хотя бы минимально структурировать массив.
- Нейронные сети типа RL. Нейронная сеть, рассчитанная на работу с массивом данных без подробной разметки, но с контекстом. Можно обучить взаимодействовать с окружающей средой при помощи наблюдений, действий и вознаграждений. Так сделали разработчики AlphaGo — проекта для изучения игровых стратегий.
Упрощение машинного обучения. Black-box и AutoML от крупных вендоров позволяют упростить машинное обучение. Вендоры разрабатывают программу, чтобы пользователи в один клик смогли автоматизировать выбор модели, параметров или улучшить процесс обучения в одно нажатие.
- Получите прикладной опыт создания работающих нейронных сетей вместо «обзора по верхам»
- Научитесь формулировать задачу для data science-проекта, подбирать алгоритмы и метрики под задачу, строить модели машинного обучения и оценивать их качество, составлять отчёт об исследовании
Кем можно быть в команде по Machine learning
Data scientist. Разрабатывает модели для решения прикладных задач.
Дата-аналитик. Понимает данные: например, знает, что конверсия — соотношение просмотров к заказам. Знает математику, но плохо программирует, может делать наборы метрик и помогать data scientists готовить данные.
Дата-инженер. Умеет программировать, настраивать процедуры с данными. Например, берет данные из доменной области и преобразует в базу данных.
ML Researcher. Сосредоточен на математической стороне вопроса. Разрабатывает новые подходы для решения сложных, часто абстрактных задач.
Аналитик. Разбирается в бизнесе, придумывает и конкретизирует требования.
Dev. Пишет код, совершенствует его для ускорения и оптимизации процесса.
Как перейти в машинное обучение
Чтобы перейти в Machine learning, нужно:
- работать с инструментами обработки данных pandas, SQL, hadoop, dwh и другими, чтобы доставать данные;
- знать, как решается задача оптимизации — градиентный спуск и аналоги — для обучения моделей;
- знать тервер и статистику, чтобы понимать полученные результаты, значимость моделей, распределения, ЦПТ, интервалы;
- знать язык программирования Python и библиотеки для машинного обучения, например, pandas, scipy, numpy и другие;
- понимать математику, сильные алгоритмы и ансамбли и принцип их работы в жизни.
Я был разработчиком. Через 3 года после начала работы перешел в отдел, который занимался машинным обучением. Почему я сменил специальность? После определенного срока работы программистом устаешь от однотипных задач. В машинном обучении получаешь возможность работать с разнообразными неизвестными задачами плюс высокие зарплаты. Хороших специалистов по data science на рынке мало, и работодатели готовы платить им, чтобы привлечь в свою компанию.
Вывод
Чтобы перейти в Machine learning, нужно понять, как работают базовые алгоритмы, изучить реальные кейсы. Если знаете язык программирования Python, разобраться будет проще.
Мнение автора и редакции может не совпадать. Хотите написать колонку для Нетологии? Читайте наши условия публикации. Чтобы быть в курсе всех новостей и читать новые статьи, присоединяйтесь к Телеграм-каналу Нетологии.