НАУЧНО-ТЕХНИЧЕСКИИ ВЕСТНИК ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ, МЕХАНИКИ И ОПТИКИ январь-февраль 2024 Том 24 № 1 http://ntv.ifmo.ru/
SCIENTIFIC AND TECHNICAL JOURNAL OF INFORMATION TECHNOLOGIES, MECHANICS AND OPTICS
l/ITMO
ISSN 2226-1494 (print) ISSN 2500-0373 (online)
Fh ,„,4 V1MN1 htt;;,f ;; ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ, МЕХАНИКИ И ОПТИКИ
January-February 2024 vol. 24 No 1 http://ntv.ifmo.ru/en/ n
doi: 10.17586/2226-1494-2024-24-1-156-164 УДК 004.85
Использование технологий машинного обучения при решении задачи классификации сигналов мониторинга инфразвукового фона
Иван Николаевич Фролов1, Николай Георгиевич Кудрявцев2, Варвара Юрьевна Сафонова3, Дмитрий Владимирович Кудин4Н
i'2'3 Горно-Алтайский государственный университет, Горно-Алтайск, 649000, Российская Федерация 4 Геофизический центр Российской академии наук, Москва, 119296, Российская Федерация
1 [email protected], https://orcid.org/0000-0001-9176-6965
2 [email protected], https://orcid.org/0000-0003-1327-5188
3 [email protected], https://orcid.org/0000-0002-8043-4014
4 [email protected], https://orcid.org/0000-0002-9174-224X
Аннотация
Введение. Широко известно, что среди звуковых сигналов, порождаемых природными и техногенными явлениями, наиболее долгоживущими являются волны частотой менее 20 Гц, именуемые инфразвуком. Это свойство позволяет отслеживать путем инфразвукового мониторинга возникновение высокоэнергетических событий в региональных масштабах на расстоянии до 200-300 км. Вместе с тем выделение полезных инфразвуковых сигналов из фонового шума является нетривиальной задачей при обработке сигналов в реальном времени и постфактум. В работе предлагается новый метод классификации специфических сигналов в данных инфразвукового мониторинга с использованием перестановочной энтропии Шеннона и векторов распределения частот встречаемости перестановок последовательных выборочных значений ранга 3 (количество элементов перестановки). Метод. Для оценки применимости предлагаемого энтропийного метода классификации использованы два метода машинного обучения — метод случайных лесов и классический нейросетевой подход. Методы реализованы на языке Python с использованием библиотек Scikit-lean, TensorFlow и Keras. Выполнена оценка качества классификации по сравнению с традиционным частотным методом выделения классов, основанном на использовании преобразования Фурье. Распознавание проведено на подготовленных данных инфразвукового мониторинга на территории Республики Алтай. Основные результаты. Результаты вычислительного эксперимента по разделению пяти классов сигналов показали, что классификация предложенным методом дает одинаковые результаты распознавания нейронной сетью. При этом по сравнению с частотной классификацией исходных данных точность распознавания составила 51-58 %. Для метода случайных лесов точность распознавания частотных классов равна 51 %, а для метода перестановочной энтропии — 45 %. Обсуждение. Анализ результатов вычислительного эксперимента показал конкурентноспособность метода классификации перестановочной энтропии при распознавании инфразвуковых сигналов. Предлагаемый метод реализуется значительно проще при поточной обработке сигнала в низкопотребляющих микроконтроллерных системах. Планируется дальнейшая апробация метода на пунктах регистрации инфразвуковых сигналов, а также в составе системы обработки данных инфразвукового мониторинга для выделения событий в реальном режиме времени. Ключевые слова
машинное обучение, модель случайного леса, искусственная нейронная сеть, инфразвук, перестановочная
энтропия, классификация фрагментов временных рядов
Благодарности
Исследование выполнено за счет средств гранта Российского научного фонда и Министерства образования и науки Республики Алтай № 23-21-10087.
Ссылка для цитирования: Фролов И.Н., Кудрявцев Н.Г., Сафонова В.Ю., Кудин Д.В. Использование технологий машинного обучения при решении задачи классификации сигналов мониторинга инфразвукового фона // Научно-технический вестник информационных технологий, механики и оптики. 2024. Т. 24, № 1. С. 156-164. doi: 10.17586/2226-1494-2024-24-1-156-164
© Фролов И.Н., Кудрявцев Н.Г., Сафонова В.Ю., Кудин Д.В., 2024
Using machine learning technologies to solve the problem of classifying infrasound
background monitoring signals
Ivan N. Frolov1, Nikolai G. Kudryavtsev2, Varvara Yu. Safonova3, Dmitry V. Kudin4H
1,2,3 Gorno-Altaisk State University (GASU), Gorno-Altaisk, 649000, Russian Federation 4 Geophysical Center of The Russian Academy of Sciences (GCRAS), Moscow, 119296, Russian Federation
1 [email protected], https://orcid.org/0000-0001-9176-6965
2 [email protected], https://orcid.org/0000-0003-1327-5188
3 [email protected], https://orcid.org/0000-0002-8043-4014
4 [email protected], https://orcid.org/0000-0002-9174-224X
Abstract
It is widely known that among sound signals generated by natural and anthropogenic phenomena, the most long-lived are waves of frequency less than 20 Hz, called infrasound. This property allows tracking at a distance by infrasound monitoring the occurrence of high-energy events on regional scales (up to 200-300 km). At the same time, the separation of useful infrasound signals from background noise is a non-trivial task in real-time and post-facto signal processing. In this paper we propose a new method for classification of specific signals in infrasound monitoring data using Shannon permutation entropy and vectors of frequency distribution of occurrence frequencies of permutations of consecutive sample values of rank 3 (number of permutation elements). To evaluate the validity of the proposed entropy-based classification method, two machine learning methods — random forest method and classical neural network approach — implemented in Python language using Scikit-lean, TensorFlow and Keras libraries were used. The classification quality was evaluated against the traditional frequency-based method of class extraction based on Fourier transform. Recognition was performed on the prepared infrasound monitoring data in the Altai Republic. The results of computational experiment on the separation of 5 classes of signals showed that classification by the proposed method gives the same results of recognition by neural network with in comparison with frequency classification of the original data; the recognition accuracy was 51-58 %. For the random forests method, the recognition accuracy of frequency classes was slightly higher: 51 % vs. 45 % for classes using the permutation entropy method. The analysis of the results of the computational experiment shows sufficient competitiveness of the method of classification by permutation entropy in the recognition of infrasound signals. In addition, the proposed method is much easier to implement for inline signal processing in low-consumption microcontroller systems. The next step is to test the method at infrasound signal registration points and as part of the infrasound monitoring data processing system for real-time event detection. Keywords
machine learning, random forest model, artificial neural network, infrasound, permutation entropy, classification of
time series fragments
Acknowledgements
The research was carried out using a grant from the Russian Science Foundation (RSF) and the Ministry of Education and Science of the Altai Republic No. 23-21-10087.
For citation: Frolov I.N., Kudryavtsev N.G., Safonova V.Yu., Kudin D.V. Using machine learning technologies to solve the problem of classifying infrasound background monitoring signals. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2024, vol. 24, no. 1, pp. 156-164 (in Russian). doi: 10.17586/2226-1494-2024-24-1-156-164
Введение
Многие события как природного, так и техногенного характера (сейсмическая или грозовая активность, извержения вулканов, лесные пожары, метеороиды, падение фрагментов ракет, химические и ядерные взрывы и т. п.) сопровождаются возникновением инфраз-вуковых волн, которые благодаря своим физическим характеристикам могут быть обнаружены на значительных расстояниях от источника событий. Мониторинг инфразвуковой обстановки позволяет исследовать, а иногда даже и предсказывать некоторые катастрофические явления. Для этого необходимо научиться принимать решения о наличии или отсутствии в исследуемых фрагментах временных рядов сигналов с заданными характеристиками, т. е. решать задачу классификации исходных данных. Одним из подходов к разработке автоматических классификаторов является использование методов машинного обучения.
Так, в работе [1] содержатся результаты исследования использования глубокого обучения со сверточ-ными нейронными сетями (Cable News Network, CNN)
для классификации сигналов электроэнцефалографии (ЭЭГ) при депрессии. Исследована эффективность метода CNN в сравнении с другими методами классификации и проанализирована его производительность на наборе данных сигналов ЭЭГ пациентов, страдающих депрессией. Результаты исследования показали, что CNN демонстрирует высокую точность классификации и может быть эффективным инструментом для диагностики депрессии на основе сигналов ЭЭГ.
Работа [2] посвящена исследованию методов классификации данных ЭЭГ с использованием техник машинного обучения. В работе рассмотрено применение различных алгоритмов машинного обучения для классификации сигналов ЭЭГ, таких как метод опорных векторов, случайный лес, нейронные сети и другие. Выполнен сравнительный анализ эффективности различных методов классификации на примере реальных данных ЭЭГ.
Разработчики методов машинного обучения в своих работах обращают особое внимание на важность подготовки наборов данных, подаваемых на вход выбранной модели машинного обучения. В большинстве работ в
качестве данных, подаваемых на вход применяемых моделей машинного обучения, исследователи используют векторы, полученные в результате преобразования Фурье.
Например, в работе [3] произведен анализ сигналов ЭЭГ пациентов с диагнозом эпилепсия, посредством которых в дальнейшем созданы обучающие датасеты для различных моделей нейронных сетей. С помощью применения языка Python, реализованы традиционные методы классификации, которые используют частотные данные исследований ЭЭГ, полученные путем извлечения признаков при помощи анализа Фурье с учетом диапазонов частот.
В [4] исследована возможность различения фокальных и нефокальных судорог на основе анализа сигналов ЭЭГ. Предложено применять метод скользящего режима сингулярного спектрального анализа с использованием спектра Фурье для обработки данных ЭЭГ и выделения характеристик, отличающих фокальные и нефокальные судороги.
В [5] описаны результаты исследования по классификации сигналов ЭЭГ посредством нейронной сети и последующему распознаванию признаков эпилепсии. Для классификации фокальных и нефокальных сигналов ЭЭГ предложен подход, основанный на частотной области (биспектр). Биспектр определяется как преобразование Фурье тройной корреляционной функции и используется для характеристики нелинейности и сбора информации, которая подходит для различения сигналов ЭЭГ.
Таким образом, изучение цифровых технологий, позволяющих автоматизировать решение задач классификации исследуемых явлений, позволяет выделить в качестве основных методов машинного обучения модели логистической регрессии, случайных лесов и искусственные нейронные сети [1-11]. Окончательный выбор подходящих для настоящей работы методов машинного обучения был определен после ознакомления с результатами экспериментов, описанных в работе [7], в которой авторами была проведена классификация акустических сигналов на примере шумов сердца. Классификация осуществлялась по особенностям спектра звукового сигнала с помощью методов логистической регрессии, случайных лесов и с использованием искусственной нейронной сети. Для каждого метода выполнен расчет метрики точности, полноты, F1, матрицы ошибок, а также время, затраченное на обучение и тестирование модели. В результате было установлено превосходство нейронной сети над методами случайного леса и логистической регрессии при классификации акустических сигналов. Отдельно отмечено, что доля неверно классифицированных больных сердец от общего количества больных сердец в тестовой выборке для искусственной нейронной сети составила всего 19 % (против 76 % и 31 % для методов логистической регрессии и случайных лесов). Исследователи установили, что улучшить качество распознавания патологий сердца по его звуковым характеристикам можно, увеличив объем набора данных, как больных, так и здоровых сердец, а также оценив важность признаков, применяемых при построении модели и используя при-
знаки с большим качественным показателем. Кроме того, рассмотрена возможность применения CNN для повышения качества результатов классификации акустических сигналов.
В результате проведенного анализа авторы настоящей работы решили исследовать возможность использования метода случайных лесов и искусственных нейронных сетей, в качестве наиболее подходящих для разработки технологии классификации инфразвуковых сигналов. При этом для повышения эффективности вычислительных процедур, применяемых при подготовке классифицируемых наборов, было предложено использовать перестановочную энтропию Шеннона и векторы распределения частот встречаемости (оценок вероятности встречаемости) перестановок последовательных выборочных значений анализируемого временного ряда для n = 3 [12].
Цель работы — изучение возможности и получение сравнительных оценок эффективности использования метода случайных лесов и метода искусственных нейронных сетей при различных подходах к подготовке классифицируемых наборов в процессе решения задачи определения местоположения фрагментов временного ряда, содержащих инфразвуковые сигналы, имеющие заданные характеристики.
Метод
Современные технологии позволяют исследовать окружающий мир, используя возможности вычислительного эксперимента, который предполагает программную реализацию цифровых моделей исследуемых объектов или процессов, выполненных с высокой степенью детализации.
Для проведения вычислительного эксперимента использован язык программирования Python. С целью создания прогнозирующего классификатора на базе метода случайных лесов применены функции библиотеки Scikit-learn. Для реализации модели прогнозирующего классификатора на базе искусственных нейронных сетей использованы библиотеки TensorFlow и Keras. Особенности применения библиотеки Scikit-learn описаны в разделе «Основные результаты».
При подготовке классифицируемых наборов использованы специальные функции из библиотек Ordpy и Scipy. Для визуализации исследуемых фрагментов временных рядов применена библиотека Matplotlib.
В качестве первого метода машинного обучения, выбранного для исследования, был использован метод случайного леса. Благодаря своей высокой точности, простоте применения и защите от переобучения, данный метод является подходящим при проведении исследований и обработке любых объемов информации [2, 7].
Второй рассмотренный метод — нейронная сеть. В процессе эксперимента был выбран готовый класс нейронной сети, включающий все необходимые переменные и функции. Используемая нейронная сеть содержала четыре слоя. Первый или входной слой X соответствовал 7 классам входных признаков. Второй и третий внутренние слои H1 и H2 содержали по 10 нейронов. На выходе был определен слой Z, состоя-
щий из пяти классификаторов. На том основании, что выбранная нейронная сеть представляет собой классический вариант нейронной сети, был использован классический вариант функций прямого и обратного распространений ошибок.
Основные результаты
Для проведения вычислительного эксперимента по сравнительному анализу прогнозирующих классификаторов, реализованных на базе методов машинного обучения, на первом шаге экспертной группой были выделены и описаны пять хорошо различимых классов выборочных фрагментов временных рядов, содержащих данные инфразвукового мониторинга. В качестве иллюстрации получены графики классифицируемых сигналов во временной области и спектры этих же сигналов в частотной области. Введем названия классов и их буквенные обозначения: шум (пп); сигнал-шум ^п); хороший сигнал плохой сигнал смешанный сигнал
Подготовим обучающие наборы. Один набор1 — «энтропийный» содержал 100 векторов по 20 на каж-
дый распознаваемый класс. При этом компоненты (координаты) векторов представляли собой информацию о 7 признаках (первые 6 признаков — оценки вероятностей «встречаемости» соответствующих перестановок для п = 3 в заданном фрагменте временного ряда, 7-ой признак — значение «сложности» фрагмента временного ряда, которое вычисляется как дополнение до единицы значения энтропии Шеннона данного фрагмента). 8-ая компонента вектора обозначала тип распознаваемого класса. Второй набор2 — «частотный», основанный на использовании преобразования Фурье. Любой вектор из этого набора содержал 10 признаков (фактически пять пар «частота-амплитуда», имеющих наибольшие значения амплитуд в спектре классифицируемого сигнала).
В первой части вычислительного эксперимента выполним применение и оценку точности метода случайных лесов.
Стандартная задача машинного обучения на начальном этапе предполагает подготовку и загрузку набора данных. Приведем фрагмент программного кода и пять строк из загруженного списка данных:
dataset = pd.read_csv(Ycontent/dataset_entropycsv', header = None) dataset.columns = ['p1','p2','p3','p4','p5','p6','p7','class_type'] print('CnucoK данных: ' + str(dataset.shape)) Список данных: (100, 8)
p1 p2 p3 p4 p5 p6 p7 class type
0 0.28163 0.11077 0.11044 0.10543 0.10585 0.28588 0.0577 bs
1 0.22336 0.13832 0.13557 0.14757 0.15033 0.20485 0.0109 bs
2 0.22272 0.14464 0.14014 0.13413 0.13864 0.21972 0.0137 bs
3 0.23183 0.13409 0.14160 0.12281 0.11654 0.25313 0.0266 bs
4 0.24525 0.13038 0.13138 0.12738 0.12621 0.23941 0.0255 bs
Представленные в листинге p1-p7 данные являются классифицируемыми признаками, подающимися на вход модели машинного обучения, classtype — предопределенный класс в тестовой и тренировочной выборке.
Далее каждому текстовому обозначению распознаваемого класса сопоставлено число, а все признаки объединены в один «вектор». Таким образом, каждый «вектор» признаков будет принадлежать какому-либо классу, обозначенному в виде числа:
factor = pd.factorize(dataset['class_type']) dataset.classtype = factor[0] define = factor[1]
#Классы 0 - bs, 1 - ds, 2 - gs, 3 - nn, 4 - sn
Данное действие необходимо при подготовке данных, поскольку метод случайных лесов библиотеки Scikit-learn может работать только с числовыми обозначениями классов [13].
На следующем шаге все «векторы» и соответствующие им значения классов в отдельных списках были
1 [Электронный ресурс]. https://cloud.mail.ru/public/rft2/ bDr8X5Xsq (дата обращения: 28.11.2023).
объединены и подготовлен тестовый и тренировочный наборы данных для обучения модели. Обучающая выборка была использована для «настройки» параметров применяемой модели, а тестовая выборка — для оценки качества обученной модели. Отметим, что в отдельных случаях применяют дополнительную выборку — проверочную (УаЫаЫоте/). Данная выборка нужна для нахождения наилучших гиперпараметров модели, т. е. таких параметров, которые не могут быть оптимизированы в процессе обучения модели, но влияют на ее качество. Например, в качестве гиперпараметров могут выступать скрытые слои в нейронной сети, скорость обучения моделей и любые другие параметры, которые можно настроить в «ручном» режиме.
Набор данных принято делить на обучающую и тестовую выборки, в соотношении 70/30 или 80/20, где большая часть используется для обучения модели. Также разделение данных должно выполняться случайным образом, для исключения возможности попадания более «качественных» или «необычных» значений в одну из выборок. В результате обеспечивается более точная оценка качества модели. Для обучения модели
2 [Электронный ресурс]. https://cloud.mail.ru/public/dSqH/ NjgfkMpUX (дата обращения: 28.11.2023).
на относительно небольшой выборке данных можно применить метод перекрестной проверки Cross-Validation. Данный метод позволяет распределить сравнительно небольшие данные более эффективно, чем, например, деление 80/20. Отметим, что в настоящей работе не использован метод Cross-Validation, так как цель описываемого вычислительного эксперимента заключается не в максимальном улучшении каких-либо методов, а в сравнении полученных результатов при «прочих равных условиях» [14].
Еще одним немаловажным моментом при подготовке обучающей выборки является тот факт, что распределение данных по классам должно быть сбалансировано, т. е. какой-либо из классов не желательно представлять значительно меньшим количеством данных. Соблюдение этого правила позволит значительно повысить качество обучения и точность модели [15].
После подготовки и разделения выборки данных выполняется масштабирование признаков. Данный шаг очень важен в машинном обучении, так как он «помогает» алгоритму быстро найти наилучшее решение. Например, представленный в библиотеке Scikit-leam метод StandartScaler просто преобразует данные для их центрирования, удаляя среднее значение каждой функции, а затем масштабирует ее делением непостоянных характеристик на их стандартное отклонение. После этого можно осуществить обучение модели. Опытным путем определим следующие важные параметры для обучения модели методом случайного леса класса RandomForestClassifier библиотеки Scikit-leam:
— nestimators: количество деревьев в случайной классификации леса. Так как при значительном росте количества деревьев в диапазоне более 12 наблюдается незначительный рост точности модели [2], определим число деревьев в случайном лесу равным 12;
— criterion: функция потерь, которая используется для измерения качества разделения данных. Из трех возможных вариантов при выборе энтропии Шеннона были получены лучшие результаты, чем при выборе
Джини;
— randomstate: контроль случайности начальной загрузки выборок, используемых при построении деревьев.
Приведем фрагмент кода, который демонстрирует этапы подготовки тестового и тренировочного наборов, масштабирование, задание гиперпараметров и запуск обучения модели:
X = dataset.iloc[:,0:7].values y = dataset.iloc[:,7].values
Xtrain, Xtest, ytrain, ytest = train_test_split(X, y,
testsize = 0.2, random state = 42)
XXtest = Xtest
scaler = StandardScaler()
Xtrain = scalerfit_transform(X_train)
Xtest = scaler. transform(Xtest)
classifier = RandomForestClassifier(n_estimators = 12, criterion = 'entropy',
random state = 42, oob_score=True) classifier.fit(X_train, y_train)
В результате выполнения приведенного фрагмента кода объект classifier является обученной моделью вида «случайный лес».
Следующим шагом произведем оценки производительности и точности данной модели. Оценку эффективности обучаемой модели разделим на следующие этапы.
Этап 1. Выполнение прогнозирования классов для выборки тестовых данных.
Этап 2. Выполнение обратного преобразования числовых сопоставлений классов в текстовый эквивалент, которое состоит из:
— создания словаря для сопоставления таблиц из класса в текст;
— преобразования таблицы данных из числовых классов в текстовые;
— оценки производительности классификатора с использованием матрицы неточностей.
В качестве примера приведем оценку точностей обученных моделей для наборов данных, подготовленных с помощью «энтропийного» и «частотного» наборов.
Возьмем проверочный вектор класса gs для «энтропийного» набора
[0.31617,0.08727,0.09371,0.09227, 0.08655, 0.32403, 0.0941]
и для «частотного» набора
[27.225,137.364,27.258,397.07,27.291,278.729,27.324, 265.731,27.357,92.933].
Рассмотрим программную реализацию проверочной процедуры:
#Матрица неточностей
prlnt(pd.crosstab(y_test, y_pred, rownames=['Actual class'],
colnames=['Predlcted Class'])) #Точность модели prlnt(classlfler.oob_score_) #Предсказанный класс
observation = [[0.31617, 0.08727, 0.09371, 0.09227, 0.08655, 0.32403, 0.0941]] print(classlfler.predlct(observatlon)) #Вывод "важности" каждого признака prlnt(llst(zlp(dataset.columns[0:7], classlfier.feature_ lmportancesj)).
Получим вид результатов для «энтропийного» набора:
Матрица неточностей: Predicted Class bs ds gs nn sn Actual class
bs 3 1 0 1 0
ds 1 1 1 0 2
gs 1 1 1 0 0
nn 0 0 0 3 1
sn 1 1 0 1 0
Точность модели: 0.4 #40%
Предсказанный класс: [4]
Процент важности каждого признака: [('p1',0.13),('p2',0.18),('p3',0.16),('p4',0.12), (p5',0.14), Cp6',0.11),Cp7',0.16)]
Приведем результаты для «частотного» набора.
Матрица неточностей: Predicted Class bs ds gs nn sn Actual class
bs 3 2 0 0 0
ds 0 3 2 0 0
gs 0 1 2 0 0
nn 0 0 0 4 0
sn 0 1 1 0 1
Точность модели: 0.4625 #46% Предсказанный класс: [2]
Процент важности каждого признака: [('p1', 0.04), ('p2', 0.20), ('p3', 0.05), ('p4', 0.22), ('p5', 0.03), ('p6', 0.15), ('p7', 0.05), ('p8', 0.14), ('p9', 0.07), ('p10', 0.05)]
Для сохранения обученной модели используем библиотеку joblib, с помощью которой можно сохранить и в дальнейшем загрузить какой-либо объект программы. В данном случае сохранен настроенный и обученный объект класса метода случайного леса RandomForestClassifier:
#Сохранение модели
joblib.dump(classifier, 'randomforestmodel.pkl')
Таким образом, обученная модель может использоваться для предварительной классификации выборки инфразвуковых сигналов, после чего можно производить отбор «полезных» данных для дальнейшей обработки.
Рассмотрим метод машинного обучения на основе искусственной нейронной сети. Подготовка обучающей выборки данных этого метода не отличается от метода случайного леса, поэтому описание данного шага аналогично. Функция прямого распространения заключается в прямом проходе через все слои нейронной сети с прогнозированием выхода для каждой эпохи. После этого, на основе разницы между спрогнозированным выходом и фактическими данными уже в процессе обратного распространения, производится обновление весов. Функция обратного распространения ошибки позволяет обновлять веса узлов нейронной сети и определять их важность для системы в целом. После выбора класса и задания структуры сети можно начать обучение нейросети и оценить точность данной модели.
Далее, подобно методу случайных лесов, опытным путем определим гиперпараметры для обучения и проведем сборку модели и ее обучение:
#Создаем модель сети model = Sequential()
model.add(Dense(1000, activation='relu', kernel_ initializer='he_normal',
kernel_regularizer=regularizers.l2(0.01), input_shape=(n_features,)))
model.add(Dense(1000, activation='relu', kernel_ initializer='he_normal',
kernel_regularizer=regularizers.l2(0.01))) #Функция активации - softmax model.add(Dense(10, activation='softmax')) #Сборка модели
model.compile(optimizer='adam', loss='sparse_ categoricalcrossentropy',
metrics=['accuracy']) #Автоматическая остановка и сохранение модели при достижении наилучших
# параметров в процессе обучения callbacks = [EarlyStopping(monitor="accuracy", patience=45, mode='max'),
ModelCheckpoint(filepath="best_model.h5", monitor="accuracy", save_best_only=True)] #Запуск обучения и тренировки модели model.fit(X_train, y_train, epochs = 1000, batch_ size=32000, verbose=0,
callbacks=callbacks, validation_data=(X_test,
y_test))
Приведем полученные результаты для «энтропийного» обучающего набора:
Точность модели: 0.55
Время обучения и тренировки:
1/1 [= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ] - 0s 96ms/step Предсказанный класс: (class =2)
На рис. 1 показано графическое представление отчета о качестве работы нейросетевой модели с «энтропийным» обучающим и тестовым наборами. При этом оценка точности вычисляется как отношение суммы правильно-положительных и правильно-отрицательных прогнозов к общему количеству прогнозов. Данное отношение на графике представлено в виде дробного числа, принимающего значение от 0 до 1 (ось ординат, рис. 1, b). Отметим, что оценка точности модели выполняется как для обучающих наборов (в процессе обучения), так и для тестовых (проверочных) наборов. В последнем случае говорят о процедуре тестирования или валидации. Вычисление отношения количества неправильных прогнозов к общему количеству прогнозов, умноженное на 100 позволяет оценивать потерю или ошибку при прогнозировании, формируя таким образом функцию потерь (ось ординат, рис. 1, a). В англоязычных источниках функцию потерь обозначают на графиках как Error Loss или просто Error. При этом надо иметь в виду, что уменьшение потерь с увеличением количества эпох при обучении (тренировке) говорит о
40
N= ox
Я
&30
20
\ \\ \4 \\ \\ \\ — Потеря на тренировке — Потеря на тестировании
\\ \N \4 V \\ X\ \\ X\ M \\ v. V.
20 40
Эпоха
60
20 40
Эпоха
Рис. 1. Результаты для «энтропийного» обучающего набора: функции потерь на обучающем и тестовом наборах (a); функции оценок точности для обучающего и тестового наборов (b) Flg. 1. Results for the entropy-based training set: error loss trend on the training and test sets (a); accuracy estimation trend for
training and test sets (b)
Эпоха
Эпоха
Рис. 2. Результаты для «частотного» обучающего набора: функции потерь на обучающем и тестовом наборах (a); функции оценок точности для обучающего и тестового наборов (b) Flg. 2. Results for the frequency-based training set: error loss trend on the training and test sets (a); accuracy estimation trend for
training and test sets (b)
хорошей динамике процесса обучения, который можно продолжать до тех пор, пока график функции потерь не станет параллелен оси абсцисс. Динамика, показывающая уменьшение значений функции потерь при тестировании (валидации), характеризует способность модели к «обобщению» новых данных.
Рассмотрим результаты работы нейронной сети при работе с «частотным» обучающим набором. На рис. 2 показано графическое представление отчета о качестве работы нейросети.
Точность модели: 0.5
Время обучения и тренировки:
1/1 [= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ] - 73ms/step Предсказанный класс: (с1а&ч'=2)
В результате выполненного вычислительного эксперимента, можно сказать, что при обучении моделей использованы одинаковые по объему выборки данных, полученные на основании инфразвукового мониторинга в количестве 20 значений для каждого из пяти заданных классов. В итоге метод случайных лесов на «энтропийной» обучающей выборке набрал точность 45 %. Искусственная нейронная сеть при тонких настройках гиперпараметров получила точность в интервале от 51 до 58 %. Для сравнения эксперимент был повторен для «частотной» обучающей выборки. По результатам обучения, точность метода случайных лесов составила 51 %, а нейронная сеть показала такие же результаты — от 51 до 58 %.
Заключение
Результаты проведенного вычислительного эксперимента говорят о том, что выбор признаков методом
перестановочной энтропии работает, но объем самой выборки для обучающего набора стоит существенно увеличивать, поскольку по мере увеличения обучающего набора данных повышается точность обучаемой модели при распознавании.
Кроме того, результаты эксперимента позволяют отметить, что при практически одинаковом качестве распознавания «энтропийных» и «частотных» классифицируемых наборов, особенно для нейросетевой
модели, использование «энтропийного» подхода позволяет реализовать более простую, а следовательно, и более эффективную вычислительную процедуру на этапе предварительной подготовки данных.
В дальнейшем планируется провести исследование работоспособности «энтропийного» подхода при реализации прогнозирующих классификаторов для большего числа классов распознаваемых сигналов с учетом повышения качества распознавания.
Литература
1. Sandheep P., Vineeth S., Poulose M., Subha D.P. Performance analysis of deep learning CNN in classification of depression EEG signals // Proc. of the TENCON 2019 — 2019 IEEE Region 10 Conference (TENCON). 2019. P. 1339-1344. https://doi.org/10.1109/ TENCON.2019.8929254
2. Heyden M. Classification of EEG data using machine learning techniques: Master's thesis. Department of Automatic Control, Lund University, 2016.
3. Guerrero M.C., Parada J.S., Espitia H.E. EEG signal analysis using classification techniques: Logistic regression, artificial neural networks, support vector machines, and convolutional neural networks // Heliyon. 2021. V. 7. N 6. P. e07258. https://doi. org/10.1016/j.heliyon.2021.e07258
4. Siddharth T., Tripathy R., Pachori R. Discrimination of focal and non-focal seizures from EEG signals using sliding mode singular spectrum analysis // IEEE Sensors Journal. 2019. V. 19. N 24. P. 12286-12296. https://doi.org/10.1109/JSEN.2019.2939908
5. Sharma R., Sircar P., Pachori R.B. A new technique for classification of focal and nonfocal EEG signals using higher-order spectra // Journal of Mechanics in Medicine and Biology. 2019. V. 19. N 1. P. 1940010. https://doi.org/10.1142/S0219519419400104
6. Narayan Y. SEMG signal classification using KNN classifier with FD and TFD features // Materials Today: Proceedings. 2021. V. 37. Part 2. P. 3219-3225. https://doi.org/10.1016/j.matpr. 2020.09.089
7. Shi Y., Davaslioglu K., Sagduyu Y.E., Headley W.C., Fowler M., Green G. Deep learning for RF signal classification in unknown and dynamic spectrum environments // Proc. of the 2019 IEEE International Symposium on Dynamic Spectrum Access Networks (DySPAN). 2019. P. 1-10. https://doi.org/10.1109/ DySPAN.2019.8935684
8. Shaker A.M., Tantawi M., Shedeed H.A., Tolba M.F. Generalization of convolutional neural networks for ECG classification using generative adversarial networks // IEEE Access. 2020. V. 8. P. 3559235605. https://doi.org/10.1109/ACCESS.2020.2974712
9. Donmez H., Ozkurt N. Emotion classification from EEG signals in convolutional neural networks // Proc. of the 2019 Innovations in Intelligent Systems and Applications Conference (ASYU). 2019. P. 1-6. https://doi.org/10.1109/ASYU48272.2019.8946364
10. Кузин Д.А., Стаценко Л.Г., Анисимов П.Н., Смирнова М.М. Применение методов машинного обучения для классификации акустических сигналов по спектральным характеристикам // Известия СПбГЭТУ ЛЭТИ. 2021. № 3. С. 48-54.
11. Wu Y., Zhang J., Chen X., Zou S., Yang M. Research on the recognition of infrasound signal of nuclear explosion by SVM and CNN // IOP Conference Series: Earth and Environmental Science. 2020. V. 610. P. 012010. https://doi.org/10.1088/1755-1315/610/1/012010
12. Traversaro F., Redelico F.O., Risk M.R., Frery A.C., Rosso O.A. Bandt-Pompe symbolization dynamics for time series with tied values: A data-driven approach // Chaos. 2018. V. 28. N 7. P. 075502. https://doi.org/10.1063/L5022021
13. Константинов А.В., Лештаев В.С. Подготовка признакового пространства нейросетевой модели для классификации сейсмо-акустических событий системы PROGNOZ-ADS // 5-я конференция Международной научной школы академика РАН К.Н. Трубецкого «Проблемы и перспективы комплексного освоения и сохранения земных недр», 14-18 ноября 2022, Москва. М.: ИПКОН РАН, 2022. C. 108-112.
14. Jiao S., Geng B., Li Y., Zhang Q., Wang Q. Fluctuation-based reverse dispersion entropy and its applications to signal classification //
References
1. Sandheep P., Vineeth S., Poulose M., Subha D.P. Performance analysis of deep learning CNN in classification of depression EEG signals. Proc. of the TENCON 2019 — 2019 IEEE Region 10 Conference (TENCON), 2019, pp. 1339-1344. https://doi. org/10.1109/TENCON.2019.8929254
2. Heyden M. Classification of EEG data using machine learning techniques. Master's thesis. Department of Automatic Control, Lund University, 2016.
3. Guerrero M.C., Parada J.S., Espitia H.E. EEG signal analysis using classification techniques: Logistic regression, artificial neural networks, support vector machines, and convolutional neural networks. Heliyon, 2021, vol. 7, no. 6, pp. e07258. https://doi. org/10.1016/j.heliyon.2021.e07258
4. Siddharth T., Tripathy R., Pachori R. Discrimination of focal and non-focal seizures from EEG signals using sliding mode singular spectrum analysis. IEEE Sensors Journal, 2019, vol. 19, no. 24, pp. 12286-12296. https://doi.org/10.1109/JSEN.2019.2939908
5. Sharma R., Sircar P., Pachori R.B. A new technique for classification of focal and nonfocal EEG signals using higher-order spectra. Journal of Mechanics in Medicine and Biology, 2019, vol. 19, no. 1, pp. 1940010. https://doi.org/10.1142/S0219519419400104
6. Narayan Y. SEMG signal classification using KNN classifier with FD and TFD features. Materials Today: Proceedings, 2021, vol. 37, part 2, pp. 3219-3225. https://doi.org/10.1016/j.matpr.2020.09.089
7. Shi Y., Davaslioglu K., Sagduyu Y.E., Headley W.C., Fowler M., Green G. Deep learning for RF signal classification in unknown and dynamic spectrum environments. Proc. of the 2019 IEEE International Symposium on Dynamic Spectrum Access Networks (DySPAN), 2019, pp. 1-10. https://doi.org/10.1109/ DySPAN.2019.8935684
8. Shaker A.M., Tantawi M., Shedeed H.A., Tolba M.F. Generalization of convolutional neural networks for ECG classification using generative adversarial network. IEEE Access, 2020, vol. 8, pp. 3559235605. https://doi.org/10.1109/ACCESS.2020.2974712
9. Donmez H., Ozkurt N. Emotion classification from EEG signals in convolutional neural networks. Proc. of the 2019 Innovations in Intelligent Systems and Applications Conference (ASYU), 2019, pp. 1-6. https://doi.org/10.1109/ASYU48272.2019.8946364
10. Kuzin D.A., Statsenko L.G., Anisimov P.N., Smirnova M.M. Applying machine learning methods to acoustic signal classification using spectrum characteristics. Proceedings of Saint Petersburg Electrotechnical University, 2021, no. 3, pp. 48-54. (in Russian)
11. Wu Y., Zhang J., Chen X., Zou S., Yang M. Research on the recognition of infrasound signal of nuclear explosion by SVM and CNN. IOP Conference Series: Earth and Environmental Science, 2020, vol. 610, pp. 012010. https://doi.org/10.1088/1755-1315/610/1/012010
12. Traversaro F., Redelico F.O., Risk M.R., Frery A.C., Rosso O.A. Bandt-Pompe symbolization dynamics for time series with tied values: A data-driven approach. Chaos, 2018, vol. 28, no. 7, pp. 075502. https://doi.org/10.1063/L5022021
13. Konstantinov A.V., Leshtaev V.S. Preparing the feature space of a neural network model for the classification of seismoacoustic events of the PROGNOZ-ADS system. Proc. of the 5th conference of the International Scientific School of Academician K.N. Trubetskoy from the Russian Academy of Sciences "Problems and prospects for the integrated development and conservation of the earth interior". Moscow, IPKON RAS, 2022, pp. 108-112. (in Russian)
14. Jiao S., Geng B., Li Y., Zhang Q., Wang Q. Fluctuation-based reverse dispersion entropy and its applications to signal classification. Applied
Applied Acoustics. 2021. V. 175. P. 107857. https://doi.org/10.1016/j. apacoust.2020.107857 15. Кузнецов И.А. Методы и алгоритмы машинного обучения для предобработки и классификации слабоструктурированных текстовых данных в научных рекомендательных системах: диссертация на соискание ученой степени кандидата технических наук. М.: МИФИ, 2019. 127 c.
Acoustics, 2021, vol. 175, pp. 107857. https://doi.org/10.1016/j. apacoust.2020.107857 15. Kuznetcov I.A. Machine learning methods and algorithms for preprocessing and classification of semi-structured text data in scientific recommendation systems. Dissertation for the degree of candidate of technical sciences. Moscow, MEPhI, 2019, 127 p. (in Russian)
Авторы
Фролов Иван Николаевич — инженер-программист, ГорноАлтайский государственный университет, Горно-Алтайск, 649000, Российская Федерация, https://orcid.org/0000-0001-9176-6965, хйп@ bk.ru
Кудрявцев Николай Георгиевич — кандидат технических наук, старший научный сотрудник, Горно-Алтайский государственный университет, Горно-Алтайск, 649000, Российская Федерация, sc 57204835030, https://orcid.org/0000-0003-1327-5188, [email protected] Сафонова Варвара Юрьевна — ассистент, Горно-Алтайский государственный университет, Горно-Алтайск, 649000, Российская Федерация, sc 57222578674, https://orcid.org/0000-0002-8043-4014, [email protected]
Кудин Дмитрий Владимирович — кандидат технических наук, старший научный сотрудник, Геофизический центр Российской академии наук, Москва, 119296, Российская Федерация, sc 56025952800, https://orcid.org/0000-0002-9174-224X, [email protected]
Статья поступила в редакцию 01.12.2023 Одобрена после рецензирования 08.01.2024 Принята к печати 26.01.2024
Authors
Ivan N. Frolov — Software Engineer, Gorno-Altaisk State University (GASU), Gorno-Altaisk, 649000, Russian Federation, https://orcid. org/0000-0001-9176-6965, [email protected]
Nikolai G. Kudryavtsev — PhD, Senior Researcher, Gorno-Altaisk State University (GASU), Gorno-Altaisk, 649000, Russian Federation, sc 57204835030, https://orcid.org/0000-0003-1327-5188, [email protected]
Varvara Yu. Safonova — Assistant, Gorno-Altaisk State University (GASU), Gorno-Altaisk, 649000, Russian Federation, sc 57222578674, https://orcid.org/0000-0002-8043-4014, [email protected]
Dmitry V. Kudin — PhD, Senior Researcher, Geophysical Center of The Russian Academy of Sciences (GCRAS), Moscow, 119296, Russian Federation, sc 56025952800, https://orcid.org/0000-0002-9174-224X, [email protected]
Received 01.12.2023
Approved after reviewing 08.01.2024
Accepted 26.01.2024
Работа доступна по лицензии Creative Commons «Attribution-NonCommercial»