Обучение на больших данных
Обучение на больших данных — раздел машинного обучения, специализирующийся на построении моделей, обрабатывающих большие объёмы данных, т. н. "big data" или "большие данные".
Содержание
Основные понятия
Сам термин "большие данные" - часто трактуется очень неоднозначно, т. к. в ходе истории компьютерной техники объём данных и носителей этих данных возрастал в геометрической прогрессии. 50 лет назад жёсткий диск на 5 мегабайт нельзя было поднять без помощи автопогрузчика. В наши же дни маленькая коробочка весом в полкило может вмещать до нескольких терабайт данных (а то и десятков терабайт), а данные, хранящиеся на различных серверах можно исчислять петабайтами. Поэтому вопрос, какие же данные считать большими, довольно запутанный.
В качестве универсального решения было принято так, что те данные, которые невозможно уместить на одном сервере, можно называть "большими". Но это далеко не все признаки "больших" данных. В наше время на серверных кластерах информация постоянно двигается, существует понятие "поток данных", генерируется много новой информации, и всё это постоянно записывается и перезаписывается. Из-за этого возникает ряд проблем.
Особенности и трудности работы с большими данными
При работе с большими данными важно помнить некоторые их особенности:
- Данных очень много. Поэтому необходимо хранилище соответствующего размера, которое, как правило, является распределённым;
- Любая попытка обработать большие данные целиком скорее всего приведёт к очень длительному ожиданию результата, если обработка происходит традиционными способами (например, чтение массива в цикле);
- В связи с большим потоком данных, конечный их набор постоянно изменяется, поэтому необходимо анализировать данные особым образом. Так, чтобы своевременно актуализировать информацию о них;
Также стоит отметить, что в связи с большой популярностью "больших данных", эта сфера очень быстро развивается, постоянно появляются всё новые технологии и инструменты для работы. Для бизнеса это приводит к дополнительным материальным затратам, т. к. крайне важно "идти в ногу со временем". Для специалистов по "большим данным" это так же приводит к дополнительным трудностям, т. к. необходимо крайне быстро овладевать этими новыми технологиями.
Правило VVV
Чтобы массив информации обозначить приставкой «big» он должен обладать следующими признаками:
- Volume (Объем) – данные измеряются по физической величине и занимаемому пространству на цифровом носителе. К «big» относят массивы свыше 150 Гб в сутки.
- Velocity (Скорость, обновление ) – информация регулярно обновляется и для обработки в реальном времени необходимы интеллектуальные технологии больших данных.
- Variety (Разнообразие) – информация в массивах может иметь неоднородные форматы, быть структурированной частично, полностью и скапливаться бессистемно. Например, социальные сети используют большие данные в виде текстов, видео, аудио, финансовых транзакций, картинок и прочего.
В современных системах рассматриваются два дополнительных фактора:
- Variability (Изменчивость) – потоки данных могут иметь пики и спады, сезонности, периодичность. Всплески неструктурированной информации сложны в управлении, требует мощных технологий обработки.
- Value (Значение данных) – информация может иметь разную сложность для восприятия и переработки, что затрудняет работу интеллектуальным системам. Например, массив сообщений из соцсетей – это один уровень данных, а транзакционные операции – другой. Задача машин определить степень важности поступающей информации, чтобы быстро структурировать.
Порядок работы с большими данными
Чтобы эффективно обрабатывать и анализировать большие данные, существуют такие инструменты как "аналитические модели". Такие модели способны строить гипотезы на основе больших данных, искать в них зависимости и закономерности - всю самую полезную для большинства бизнес-задач информацию. Для этого большие данные проходят через несколько этапов:
1. чистка данных (data cleaning) – поиск и исправление ошибок в первичном наборе информации, например, ошибки ручного ввода (опечатки), некорректные значения с измерительных приборов из-за кратковременных сбоев и т.д.;
2. генерация предикторов (feature engineering) – переменных для построения аналитических моделей;
3. построение и обучение аналитической модели (model selection) для предсказания целевой (таргетной) переменной. Так проверяются гипотезы о зависимости таргетной переменной от предикторов;
На практике это помогает решить множество задач. Например, проанализировать, как связаны отказы оборудования с условиями подачи напряжения, или определить вероятность своевременного возврата кредита частным заемщиком.
Методы обработки больших данных
К основным методам сбора и анализа больших данных относят следующие:
- Data Mining – обучение ассоциативным правилам, классификация, кластерный и регрессионный анализ;
- краудсорсинг — категоризация и обогащение данных народными силами, т.е. с добровольной помощью сторонних лиц;
- смешение и интеграция разнородных данных, таких как, цифровая обработка сигналов и обработка естественного языка;
- машинное обучение, включая искусственные нейронные сети, сетевой анализ, методы оптимизации и генетические алгоритмы;
- распознавание образов;
- прогнозная аналитика;
- имитационное моделирование;
- пространственный и статистический анализ;
- визуализация аналитических данных — рисунки, графики, диаграммы, таблицы.
В данной статье детально рассмотрим метод машинного обучения с помощью Spark ML.