Обучение на больших данных

Материал из Викиконспекты
Версия от 09:36, 14 января 2021; 2.63.101.188 (обсуждение) (Порядок работы и Методы обработки)
Перейти к: навигация, поиск
Эта статья находится в разработке!

Обучение на больших данных — раздел машинного обучения, специализирующийся на построении моделей, обрабатывающих большие объёмы данных, т. н. "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.