В течение последних 10-15 лет наблюдается бурный рост в области искусственных нейронных сетей. Классические сферы их применения – обработка изображений, звука и других данных высокой размерности. Однако в машинном обучении есть немало задач, где объем данных, поступающих на вход системы, невелик – например, моделирование редких явлений, обработка собранных вручную аналитических данных, анализ сигналов с низкочастотных датчиков и т.д.
В таких условиях важным этапом является тщательная работа с признаками («features»), на которых обучается система, и, в частности, генерация из имеющихся базовых признаков новых, которые позволят улучшить качество работы проектируемой системы. Для такой генерации обычно применяют ручные методы, но хорошей альтернативой является использование нейронных сетей, способных не только обучаться базовым математическим операциям, но и выявлять крайне сложные паттерны во входных данных.
В данной работе описан опыт использования многослойных нейронных сетей для генерации дополнительных признаков в условиях данных небольшой размерности, когда число базовых признаков составляет порядка одного-двух десятков. Для обучения моделей используются два датасета: реальный (на данных с регистраторов) и синтетический (на сгенерированных данных), который используется для обучения нейронной сети с целью последующей генерации дополнительных признаков.
Описание задачи и данных
Базовой задачей, для которой предназначалась разрабатываемая система машинного обучения, было предсказание выхода из строя промышленных электроустановок из-за накапливающегося количества некритических микропробоев между электрическими обмотками. Пробои имели спорадический характер и обуславливались наличием высоковольтных наводок и импульсных помех, возникающих в моменты включения и отключения другого оборудования.
Для исследования этого фактора на тестовом участке цепи был подключен регистратор, фиксирующий потенциалы на двух контрольных точках обмоток в каждый момент времени с частотой 50 кГц. Информация с регистратора была впоследствии обработана полуавтоматическим способом, и в результате была получена обучающая выборка, описывающая статистику зарегистрированных микропробоев в течение одной смены работы оборудования (8 часов). Первичный анализ проблемы показал, что из-за асимметричного характера системы пробои разных полярностей по-разному влияют на надёжность системы, и, кроме того, в значительной степени компенсируют друг друга. Поэтому в качестве целевой переменной был выбран следующий критерий: если баланс (т.е. разность между количеством зарегистрированных за смену микропробоев вида «1-2» и «2-1») превышает заданный порог T, то классификатор должен выдавать 1, в противном случае — 0. Для первого этапа исследований для порога T было выбрано нулевое значение, поскольку это обеспечивало хорошую балансировку классов.
Ниже приведена таблица признаков из собранного датасета. Кроме двух базовых объективных признаков (обработанные данные с регистратора), были также рассчитаны дополнительные признаки — экспертные оценки на основе эмпирических правил и накопленного опыта. В таблицу попали только те признаки, которые прошли предварительную проверку на вариативность.
Поле | Описание |
u1 | Среднее значение абсолютного потенциала в тестовой точке обмотки 1, усреднение по смене (8 часов). |
u2 | То же, для обмотки 2. |
exp_t | Экспертная оценка общего количества микропробоев (класса «1-2» и «2-1») для данной смены, на основе эмпирических правил. |
exp_b | То же, для итогового баланса (количество событий «1-2» минус «2-1»). |
exp_pb1 | Экспертная оценка вероятности, что итоговый баланс микропробоев превысит порог T. |
exp_pb2 | То же, для баланса < T. |
exp_pb0 | То же, для баланса =T (для некоторого типа установок такая ситуация вполне вероятна). |
y | Целевая переменная:
|
Всего в собранном датасете было 1376 наблюдений, и он был разбит на 2 части, по хронологическому принципу, гарантирующему отсутствие «утечек» информации из обучающей выборки в тестовую.
Выборка | Количество записей |
Train and validation part | 1040 |
Test part | 336 |
Для оценки качества работы модели была выбрана метрика AUC ROC — площадь под ROC-кривой. Данная метрика позволяет давать оценку качества классификации без выбора порога срабатывания (в отличие от других стандартных метрик: Accuracy, Precision, Recall, F1).
Визуализация объективных признаков
На рис. 1 приведено отображение точек из обучающей выборки в координатах двух главных признаков — u1 и u2. Цвет точки соответствует классу (красный — 0, аква — 1).
Из распределения точек видно, что данная задача классификации достаточно трудная.
Рис. 1
Модель 1: Подход через исходные признаки
В качестве базовой модели было решено использовать логистическую регрессию с нормализацией признаков. Причиной такого выбора явилось то, что в данной задаче важна хорошая откалиброванность модели, а альтернативные популярные методы на деревьях решений (Random Forest, XGBoost, LGBM и т.п.) сами по себе не обладают хорошей откалиброванностью, в отличие от логистической регрессии.
Результаты обучения модели показаны на рис. 2 (кривая ROC для тестовой выборки) и рис. 3 (контуры классификации в пространстве признаков u1, u2 и точки из обучающей выборки).
Полученное значение метрики AUC ROC 0.5532 превышает значение 0.5, соответствующее случайному угадыванию, т.е., несмотря на сложный датасет, модель смогла извлечь из данных полезные закономерности.
Рис. 2
Рис. 3
Модель 2: Добавление дополнительных признаков, сгенерированных вручную
На основании эмпирических правил было выдвинуто предположение, что для улучшения качества модели может помочь дополнительный признак — разность потенциалов u1 — u2. После добавления данного признака получились результаты, приведённые на рис. 4. Как видно, метрика качества немного улучшилась, до 0.5535.
Кроме данного признака, были также протестированы другие полиномиальные признаки 1-го и 2-го порядков, однако они не привели к улучшению качества модели.
Рис. 4
Модель 3: Генерация дополнительных признаков с помощью нейронной сети
Альтернативой для описанной выше ручной генерации признаков является использование искусственных нейронных сетей, преимуществом которых является то, что они могут обучиться весьма сложной функции, которую тяжело или невозможно описать аналитически. В нашем случае именно такая ситуация — в недетерминированных условиях целесообразно использовать дополнительный признак, описывающий баланс между двумя дискретными вероятностными процессами, параметры которых задаются признаками u1 и u2.
Чтобы реализовать данный подход, был сгенерирован синтетический датасет из 10000 примеров, где на входы x1 и x2 подавались случайные значения — параметры независимых Пуассоновских процессов, а целевая переменная рассчитывалась как бинарное условие: если баланс между числом событий в процессе1 и числом событий в процессе2 положительный, то целевая переменная равна 1, в противном случае — 0.
На данной синтетической выборке была обучена простая полносвязная нейронная сеть, архитектура которой показана на рис. 5.
Рис. 5
Далее, с помощью обученной нейросети была сгенерирована колонка дополнительного признака — отдельно для обучающей и тестовой выборок.
После обучения основной модели (Логистическая регрессия с нормализацией) значение метрики AUC ROC на тестовой выборке составило 0.5539, т.е. оказалось лучше, чем в Модели 2.
Выводы и перспективы
На рис. 6 приведена сводная диаграмма качества обучения для трёх описанных подходов.
Рис. 6
Полученные результаты показали, что исследуемая проблема достаточно сложная. Тем не менее, достигнутые показатели качества позволяют использовать эту систему в реальных условиях — для предсказания сроков проведения профилактических работ, предотвращающих выход оборудования из строя.
Из рассмотренных подходов наилучшим оказался вариант, когда с помощью отдельного синтетического датасета обучается небольшая нейронная сеть, которая затем используется для генерации дополнительных признаков в основной обучающей и тестовой выборках.
В дальнейшем целесообразно попробовать вместо логистической регрессии использовать алгоритмы на решающих деревьях, приняв дополнительные меры к калибровке выдаваемых оценок.
Кроме того, представляет интерес исследование разных архитектур нейросетей с точки зрения их способности представлять различные сложные функции.
В целом, подобные комбинированные системы (стандартный алгоритм машинного обучения + неглубокая нейронная сеть для обогащения признаков) целесообразно использовать в тех задачах, где простые подходы плохо работают из-за скрытых взаимосвязей между входными данными, а глубокие нейронные сети неприменимы из-за небольшой размерности данных. Примерами могут быть системы предсказания поломок оборудования, обнаружение аномалий, кредитный скоринг и другие подобные задачи.