Машинное обучение: общая информация


Machine Learning (ML) - подраздел науки об искусственном интеллекте, который дополняет стандартные методы программирования.

ML-специалисты создают алгоритмы принятия решений программными методами, находят закономерности в Big Data, анализируют полученную информацию и визуализируют результат.


Цель изучения


Цель Machine Learning - предсказать результат по входным параметрам. Причем алгоритм делает это самостоятельно, без участия человека. Чем больше используется входных данных по количеству и по качеству, тем точнее будет результат.

Типовые задачи ML:
  • прогнозирование: предсказание погоды, курсов валют;
  • классификация (получение ответа на основе набора признаков): изображен ли на фото человек, болен ли пациент онкологическими заболеваниями;
  • регрессия (прогноз на основе выборки): как изменятся цены по прошествии полугода, вырастут ли акции компании;
  • ранжирование (упорядочивание по принципу соответствия);
  • кластеризация (группировка объектов с использованием данных об их сходстве): разделение клиентов по уровню платежеспособности, отнесение космических объектов к той или иной категории по ряду признаков;
  • обнаружение выбросов (фильтрация нетипичных объектов): определение мошеннических транзакций.


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

Области применения


Технологию используют в маркетинговых целях. Поисковики применяют ML для показа релевантной рекламы, а социальные сети формируют «умную ленту». Популярный сайт с отзывами Yelp с помощью Machine Learning улучшает пользовательский опыт, CRM Salesforce предлагает предсказательную аналитику и оценку лидов, а ритейлер Edgecase анализирует действия пользователей и приближает онлайн-поиск к шопингу в оффлайн-магазине.

В структурах обеспечения безопасности ML используется в системах распознавания лиц (при схожести прохожего с фото человека в розыске ПО подает сигнал). В медицинских учреждениях ИИ обрабатывает данные о пациентах, проводит предварительную диагностику, подбирает лечение.

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


Отличия от традиционного программирования


Machine Learning не заменяет, а дополняет стандартные методы программирования. Например, система рекомендаций или алгоритм прогнозирования для социальной сети могут быть созданы при помощи ML, но интерфейс будет реализован на привычном языке программирования.

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

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

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


Востребованность и перспективы профессии


Интернет-пользователи сталкиваются с результатами работы ML-инженеров, но иногда не осознают этого. Например, рекомендации Pinterest подбирают публикации, которые соответствуют интересам пользователя. Чем чаще человек взаимодействует с алгоритмом, тем лучше социальная сеть начинает понимать его предпочтения.

Machine learning используется Facebook, Baidu, Google, IBM. При этом тенденция только начинает набирать обороты, так что ML-инженеры, аналитики и Data Scientists будут востребованы в обозримом будущем. По оценкам экспертов, к 2024 г. рост мировой экономики благодаря внедрению новых технологий, в том числе ML, составит не менее 1 трлн долларов.

Спектр специальностей


Одному человеку сложно знать и уметь все в науке, которая быстро развивается. Поэтому специалисты по Big Data чаще работают в командах.

Data Scientists


Дата-сайентист анализирует данные, извлекает из них информацию, которая помогает принимать бизнес-решения. В задачи входят формирование и проверка гипотез в соответствии со стратегией компании, построение моделей. Data Scientists нужна не только техническая и математическая база, но и специальные знания о бизнесе, экономике, отдельном проекте.

Data Analysts


Дата-аналитик проводит анализ данных, интерпретирует результаты и предоставляет отчет. Благодаря аналитику компания может использовать внутренние данные для улучшения бизнес-процессов, сокращения расходов, упрощения процесса принятия решений. Сильный технологический бэкграунд или знание языка программирования не нужны (хотя это будет преимуществом), потому что работа ведется с готовыми решениями. Гораздо важнее понимание предметной области.

Data Engineers


Инженер данных разрабатывает и поддерживает программное обеспечение для работы с данными: БД (базы данных), хранилища, системы обработки. В его обязанности входят приведение неструктурированных данных из различных источников к виду, необходимому для работы Data Analysts, настойка мониторинга, оценка технических инструментов для создания простых и надежных архитектур.

ML-инженер - специализация внутри траектории Data Engineer. Такой специалист доводит модели машинного обучения по коммерческого внедрения. Часто модель, которую разработал дата-сайентист - только часть исследования, которая не будет работать с другими исходными данными. Data Engineer может подготовить алгоритм к промышленному использованию.

Обязанности ML-специалиста


Дата-аналитики и инженеры востребованы в промышленности, медицине, государственном управлении, ритейле, финансовом секторе, IT и телекоммуникациях. В зависимости от отрасли, различаются задачи ML-специалиста, но общим требованием работодателей является составление алгоритмов, по которым ЭВМ выстраивает причинно-следственные связи, делает логические заключения и выводы.

Необходимые умения и навыки


Математика, программирование и бизнес-процессы в отрасли, которой занимается специалист по Machine Learning - это минимальная база для начала работы.

Neural Networks и Deep Learning


Машинное обучение - большая отрасль, в которой множество методов. Один из них - Deep Learning. Глубокое обучение использует отдельные методы ML и нейронные сети (Neural Networks), которые могут имитировать процесс принятия решений человеком. В результате становится возможным решение сложных задач и самообучение программы без вмешательства программиста.

Опыт работы со стеком технологий BigData


Инструменты для Big Data-проектов выбираются в зависимости от специфики задачи. Анализ можно начинать изучать с языка программирования, open-source-библиотек, SQL (корпоративные данные большинства компаний хранятся в реляционном виде).

Специализированными языками аналитики данных раньше считались MATLAB и R, но сейчас выбор шире.


В Big Data активно применяется Python. Для написания ML-алгоритмов и создания статистических приложений подходит Java, а для обработки потоковых данных может понадобиться Scala.

Часто встречаются в вакансиях такие технологии:
  1. Apache Kafka - ПО для потоковой обработки.
  2. Apache Hadoop - платформа для параллельной обработки и распределенного хранения.
  3. Apache Spark - фреймворк для параллельной обработки.
  4. Apache Cassandra - система управления нереляционными БД.


Обработка изображений и видеопотоков


Обработка визуального контента - только один из вариантов специализации в Machine Learning. ИИ может распознавать лица, объекты, действия, проводить визуальный поиск. Инженер или аналитик может специализироваться на другой области ИИ и ML:
  • прогнозная аналитика;
  • системы рекомендаций;
  • распознавание речи и естественного языка.


Python


Технология Machine Learning предусматривает несколько методов разработки на базе алгоритмов, но самый популярный подход - использование языков программирования. Подходят для работы с данными:
  1. Python - мощный инструмент для анализа данных. Преимуществами являются активное сообщество, большое количество готовых библиотек, открытость. Недостатки работы с Python - сложность отслеживания ошибок и разрастание кода ПО.
  2. R - целевой язык для решения таких ML-задач, как классификация, регрессия, формирование дерева решений. Преимущества: платформенная независимость, возможность интеграции с другими языками программирования, открытый исходный код, легкость настройки и применения готовых пакетов для работы. Но R обладает особенностями, которые усложняют обучение (например, нетрадиционные структуры данных и индексирование, начинающееся с 1 вместо 0).
  3. jаvascript. Старт в ML для программистов, которые уже знакомы с языком программирования Java. Но jаvascript-экосистема для ML еще незрелая, поэтому поддержка данного типа разработки пока ограничена.


Математика


Математические дисциплины - фундамент науки о данных, включая ML. Чтобы обрабатывать и анализировать данные, нужно знать базовые понятия: анализ и статистику, теорию вероятностей, линейную алгебру, дискретную математику. Для других целей в Big Data можно использовать готовые алгоритмы.

Главные преимущества обучающих онлайн-тренингов


Олег Гриник, архитектор решений (Senior), менеджер по Engineering Development в EPAM Ukraine, считает, что за 3-4 месяца можно получить знания, необходимые для начала работы с Big Data. Но чтобы стать профессиональным Data Analysts, Data Scientists или Data Engineers, нужно усердно работать 2-3 года.

Хорошим стартом могут стать курсы. Преимущества обучения онлайн:
  • самостоятельный выбор времени, места и темпа;
  • получение практических навыков;
  • быстрое освоение профессии;
  • возможность трудоустройства;
  • занятия ведут практики.


Особенности прохождения курсов по заданному направлению


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

В этой категории можно обратить внимание на такие курсы:
  1. Школа анализа данных «Яндекса».
  2. Техносфера Mail.Ru (совместно с факультетом ВМиК МГУ).
  3. Центр компьютерных наук (проект «Яндекса» и компании Jet Brains).


Онлайн-школы и университеты принимают учеников с нулевой подготовкой. Программы рассчитаны на относительно короткий промежуток времени: например, курс по ML в «Нетологии» длится полгода, SkillBox - 13 месяцев, а в Школе анализа данных «Яндекса» и GeekBrains от Mail.Ru - 2 года.

Чтобы получить понимание об искусственном интеллекте, Big Data и ML, стоит сначала изучить лекции в открытом доступе, а после переходить к платным программам. Курсы можно найти на платформах:
  • Coursera;
  • «Открытое образование»;
  • Udacity.
Бесплатные лекции предлагают:
  • Johns Hopkins University;
  • СПбГУ;
  • НГУ;
  • МФТИ;
  • ВШЭ;
  • Институт биоинформатики.


Приблизительная программа: этапы


Программа различается в зависимости от начального уровня подготовки слушателей. Например, на курсах для новичков чаще всего рассматриваются такие тематические блоки:
  1. Аналитика (начальный уровень). Изучаются Python или R, библиотеки, SQL.
  2. Основы статистики и теории вероятностей.
  3. Математика для Data Science.
  4. ML (начальный уровень): основные концепции и типовые задачи.
  5. ML (средний уровень): нейронные сети, разные типы обучения.


В дополнение могут предлагаться уроки английского для IT, рекомендации по поиску работы.


Для специалистов, которые понимают основы ML, предлагаются продвинутые курсы. Такие программы могут быть сконцентрированы на создании решений для разных областей машинного обучения.

Курсовые проекты


В рамках дипломной работы студентам предлагается построить ML-модель для решения профессиональных задач. Это может быть система распознавания объектов на фото, анализ больших объемов текста или временных рядов, прогноз продаж. Если нет идей для проекта, преподаватели предложат учебный кейс на основе существующего датасета.

В рамках обучения ML часто проводятся хакатоны. Это командная работа, которая проводится по принципу конкурса. Студентам предлагается решить задачи по оптимизации производства или прогнозированию. Организаторами хакатонов могут выступать банки, телеком-компании, IT-корпорации. Поэтому учеников, которые показали лучшие результаты, приглашают на работу или стажировку.

Трудоустройство и карьерный рост


Количество вакансий на HeadHunter, связанных с Big Data, - больше 1000. Работа с большими данными и ML необходима во всех сферах, но наиболее полезны технологии в отношении создания решений для бизнеса. В России ML-инженеры и аналитики требуются в:
  • Mail.ru Group;
  • Ozon;
  • «Мегафон»;
  • «Тинькофф»;
  • ВТБ;
  • Huawei;
  • «Сбербанк»;
  • Samsung;
  • «Яндекс»;
  • «Вымпелком».




Крупные IT-компании стоят на передовой, разрабатывают новые продукты и двигают индустрию вперед. Лидеры рынка принимают стажеров, растят кадры. Там отличные условия труда: медстраховка, белая зарплата, прозрачная система оценки и карьерный рост. Но работа, которую делает начинающий, может быть незаметна в масштабах всей компании.

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

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

Карьера ML-специалиста может развиваться по вертикали или горизонтали. Первый путь (вертикаль) - административный. Стажер, набравшись знаний и опыта, становится рядовым сотрудником, старшим инженером или аналитиком, затем может претендовать на должность руководителя отдела и директора подразделения. Горизонтальная карьера предполагает углубление знаний и навыков в предметной отрасли.

Средний уровень дохода


Компания Kaggle, организатор конкурсов по исследованию данных и социальная сеть для IT-специалистов, провела исследование, согласно результатам которого средний доход в разных сферах составляет:
  • США - 140 тыс. долларов (10,3 млн руб.) в год;
  • Великобритания - 80 тыс. долларов (5,8 млн руб.);
  • Россия - 20 тыс. долларов (1,4 млн руб.), или более 122 тыс. руб. в месяц.


Чтобы получать больше медианной зарплаты, понадобятся минимум 5 лет опыта программирования и 2-3 года работы с ML.

Машинное обучение курсы




Лукьянов Алексей
Лукьянов Алексей
Я нашел 10 курсов на март 2024


В мировом масштабе российский рынок Big Data небольшой, но растет быстрее глобального - минимум на 40% в год. По оценкам Ассоциации участников рынка больших данных, к 2024 г. его объем достигнет 300 млрд руб. Вырос спрос на специалистов по данным и машинному обучению (курсы помогут быстро получить возможность бороться с другими кандидатами за должности с привлекательными окладами).

1 место. Skillbox


Skillbox
Управление, Маркетинг, Аналитика, Программирование, Дизайн
Рейтинг:
5.5
Рейтинг Смотрим.ком

Плюсы

Данные собираются

Минусы

Данные собираются
      3
      Показать еще №

2 место. GeekBrains


GeekBrains
Маркетинг, Программирование, Дизайн
Рейтинг:
9.5
Рейтинг Смотрим.ком

Плюсы

Данные собираются

Минусы

Данные собираются
      3
      Показать еще №

3 место. Нетология


Нетология
Управление, Маркетинг, Аналитика, Программирование, Дизайн
Рейтинг:
Рейтинг Смотрим.ком

Плюсы

Данные собираются

Минусы

Данные собираются
      3
      Показать еще №

4 место. Otus


Otus
Управление, Программирование
Рейтинг:
Рейтинг Смотрим.ком

Плюсы

Данные собираются

Минусы

Данные собираются
      3
      Показать еще №

5 место. Skillfactory


Skillfactory
Аналитика, Программирование
Рейтинг:
Рейтинг Смотрим.ком

Плюсы

Данные собираются

Минусы

Данные собираются
      3
      Показать еще №