Как и при решении реальных практических задач, в ходе решения задач путём ML возникают различные этапы. Каждый из этих этапов имеет свою специфику и набор возможностей, которые лежат перед специалистом. Выделим следующие этапы работы:
-
работа с данными – этот этап предназначен для того, чтобы собрать все необходимые данные для обучения и обработать их необходимым образом;
-
работа с данными – этот этап предназначен для того, чтобы собрать все необходимые данные для обучения и обработать их необходимым образом;
-
работа с результатами – окончательный этап, при котором анализируются результаты работы и формируются выводы.
При этом на практике эти этапы вполне могут располагаться нелинейно: после проведения экспериментов с моделью или анализа результатов может потребоваться к прошлому этапу, чтобы что-то изменить.
Поскольку область ML сформирована вокруг обучения на данных, вопрос выбора данных и работы с ними является одним из центральных. Аналогично тому, как человек может получить неверное представление о чём-то в процессе обучения, так и обучение моделей ML на основе некорректных примеров может привести к неправильным выводам и результатам. При работе с данными выделяют такие элементы как:
-
сбор данных – первый этап работы с данными, во время которого накапливаются данные из одного или нескольких источников;
-
снижение размерности данных – т.к. не все накопленные данные могут быть необходимы, то некоторые признаки могут быть сразу отброшены;
-
аннотирование данных – этап, во время которого данные помечаются метками, тэгами или подписями. Этот этап необходим в основном для аудио- и видеоданных, текстов естественного языка и графических данных;
-
трансформация данных – собранные данные могут быть представлены не в том виде, в которым необходимо. Для достижения удобного вида используется:
-
приведение данных к единому формату – сбор данных из различных источников может привести к тому, что используются различные форматы данных, что неудобно;
-
преобразование категориальных значений к количественным;
-
нормализация данных – приведение значений признаков к иному числовому представлению путём их масштабирования;
-
-
очистка данных – в некоторых случаях часть данных наблюдений может отсутствовать или быть некорректной, что требует удаления неполных наблюдений или их исправления;
-
аугментация данных – иногда собранных данных не хватает для работы, например, когда данных одних классов значительно меньше, чем данных других классов. В таком случае на основе имеющихся данных генерируются новые, которые пополняют общий набор данных;
-
разделение данных – для работы с моделью важно не только иметь набор данных для обучения, но и набор данных, на которых модель не обучалась, используемый для проверки показателей модели. Разделение данных может происходить как случайным образом, так и путём намеренного выделения некоторых наблюдений, например, при помощи эксперта, знающего специфику предметной области.
Очистка данных (англ. data cleansing или data cleaning) может происходить различным образом. Возможны такие методы очистки данных как:
-
удаление данных – в случае обнаружение некорректных наблюдений, они удаляются из набора данных, тем самым их влияние на работу модели отсутствует. Однако удаление наблюдений несёт риск того, что теперь модели не будет хватать данных для обобщённого обучения;
-
исправление данных – возможно проанализировать имеющиеся корректные данные, после чего на их основе модифицировать требуемые наблюдения.
Нормализация данных (англ. data normalization) также может происходить путём применения различных методов. Применяются такие методы как:
-
стандартизированная оценка (z-оценка);
-
приведение к диапазону:
-
приведение к диапазону [0, 1];
-
приведение к диапазону [-1, 1];
-
приведение к произвольному диапазону;
-
-
отсечение;
-
логарифмирование.
Стандартизированная оценка – метод, при котором распределение данных нормализируется для достижения нулевого значения математического ожидания и единичного среднеквадратичного отклонения:
где x – значение изменяемого параметра, μ – среднее значение для распределения данного параметра в выборке, σ – среднеквадратичное отклонение распределения данного параметра в выборке, xscaled – новое значение параметра.
Приведение к диапазону – метод нормализации, при котором диапазон данных приводится к требуемому. Для произвольного диапазона [a, b] используются формулы:
где x – значение изменяемого параметра, xmin – минимальное значение данного параметра в выборке, xmax – максимальное значение данного параметра в выборке, xscaled – новое значение параметра.
где x – значение изменяемого параметра, a – левая граница диапазона, b – правая граница диапазона, xstd – значение, полученное по формуле (2), xscaled – новое значение параметра.
Соответственно, приведение к диапазону [0, 1] получается из формул путём подстановки минимального и максимального значений признака:
Приведение к диапазону [-1, 1] получается аналогично:
Приведение к диапазону [-1, 1] обычно используется для данных, которые уже отцентрированы относительно нуля или являются разреженными.
Отсечение – метод, в ходе применения которого экстремальные значения (превышающие некоторый порог, установленный специалистом) заменяются некоторым другим граничным значением. Этот метод может применяться после других методов: например, после применения стандартизированной оценки можно отсечь значения, лежащие вне диапазона μ+-3σ.
Логарифмирование – метод нормализации, при котором все значения масштабируются путём вычисления десятичного логарифма:
где x – значение изменяемого параметра, xscaled – новое значение параметра.
Авторы материала: Анохов Д. А., Гужов С.В.
Автор: ASUTP_MPEI