УДК 004.89
Пальмов С.В., к.тн., доцент
доцент
кафедра информационных систем и технологий
ФГБОУ ВО ПГУТИ доцент
кафедра информационных технологий ФГБОУ ВО «СамГТУ» Россия, Самара
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ МАШИННОГО ОБУЧЕНИЯ ДЛЯ СТУДЕНТОВ ВУЗОВ
Аннотация: В настоящее время достаточно остро стоит вопрос импортозамещения в IT. Вузы, реализующие образовательные программы в указанной сфере, вынуждены искать замену привычным продуктам. Одно из решений данной проблемы - самостоятельная разработка. Целью работы являлось создание программного обеспечения, которое может быть использовано для проведения лабораторных работ по дисциплинам, связанным с изучением алгоритмов машинного обучения. Использовались методы стохастического градиентного спуска, высокоуровневого программирования и сравнительного анализа. Заявленное программное обеспечение было разработано и протестировано; получены положительные результаты, подтверждающие возможность его практического использования.
Ключевые слова: стохастический градиентный спуск, искусственный интеллект, Python, машинное обучение, классификация.
Palmov S. V., candidate of technical sciences, associate professor
associate professor Department of Information Systems and Technologies State University of Telecommunications and Informatics
associate professor Department of Information Technologies Samara State Technical University
Russia, Samara
SOFTWARE FOR UNIVERSITY STUDENTS BASED ON MACHINE
LEARNING
Abstract: The import substitution issue in IT sector has become highly relevant nowadays, leading universities which offer educational programs in this field to search for the usual products alternatives. One possible solution to
the problem is self-development. In this paper, we aimed to create software that can be used for laboratory work in disciplines related to the study of machine learning algorithms. Authors utilized methods of stochastic gradient descent, high-level programming, and comparative analysis to develop the software. It was tested, and positive results have been obtained, confirming the possibility of this solution practical usage.
Keywords: stochastic gradient descent, artificial intelligence, Python, machine learning, classification.
Введение
В настоящее время в РФ реализуются мероприятия по импортозамещению. Одним из важных направлений является сфера информационных технологий. Вузы, которые готовят специалистов в данной области, также вынуждены вносить изменения в пул используемых программных средств. Одним из способов выхода из сложившейся ситуации является разработка необходимых решений силами образовательной организации. Следовательно, можно утверждать, что статья, посвященная рассмотрению вопроса самостоятельного создания приложения для обучения студентов, будет актуальной.
Цель работы была сформулирована так: создание программного обеспечения, которое может быть использовано для проведения лабораторных работ по дисциплинам, связанным с изучением алгоритмов машинного обучения.
Методы и исследование
В работе были использованы следующие методы.
Стохастический градиентный спуск (Stochastic Gradient Descent) [1] -это метод оптимизации, который применяется в ситуациях, когда градиентный спуск может функционировать медленно или неэффективно. В отличие от обычной версии алгоритма, работающей на всем наборе данных, рассматриваемый вариант оперирует случайно выбранными небольшими подмножествами, называемых пакетами (или мини-пакетами). Поэтому, обучение выполняется быстрее, так как каждый пакет содержит только часть данных, что уменьшает количество вычислений и заметно сокращает время, затрачиваемое на построение модели.
Язык высокоуровневого программирования Python. С его помощью было реализовано заявленное программное обеспечение (ПО) «Классификатор «Градиентный спуск» (см. рис.1-3).
Сравнительный анализ применялся для оценки качества работы ПО.
«Градиентный спуск» предоставляется следующие возможности:
• Построение классификатора (математической модели) на основе стохастического градиентного спуска
• Сохранение созданного / загрузка существующего классификатора
• Классификация новых данных с сохранением результатов в текстовый файл
• Режим тестирования классификатора (оценка качества работы на основе наборов данных с известными значениями целевого показателя)
0 Классификатор "Градиентный спуск" Главное меню
Настройка модели Задание режима работы
Функция потерь; hinge Штраф; |1Г~
Альфа: 0,0001
LI-коэффициент: 0,15 у-перехват:
Да
Макс, кол-во итераций: 10ОО
Останов: 0,001
Перемещать: Да
Выводить подробную статистику: 0
Эпсилон: Рандомизировать: Скорость обучения: Начальная скорость обучения: Показатель для скорости обучения: Ранняя остановка: Набор для ранней остановки: Число итераций без изменений: Вычислять средние веса:
□ X
0.1 Нет
optimal v
[м 0.5
Нет v
|0.1
Нет
Рис. 1. Интерфейс ПО. Настройка модели
$ Классификатор "Градиентный спуск" — □ X
Главное меню
Настройка модели Задание режима работы
Протестировать модель на наборе с известными значениями зависимой переменной!
Рис. 2. Интерфейс ПО. Задание режима работы
Главное меню
Создать классификатор Применить классификатор Сохранить классификатор Загрузить классификатор
Рис. 3. Интерфейс ПО. Главное меню Результаты исследования
Для демонстрации возможностей ПО был проведен эксперимент. Исходными данными послужил набор «Голосование депутатов конгресса» [2], значения полей которого были перекодированы в числовой формат. Использовалась перекрестная проверка с к, равным трем; метрика оценки качества - вероятность (Р).
Было выполнено девять прогонов ПО (по числу значений параметра «Функция потерь» [3]: «hinge», «log loss», «modified huber», «squared hinge», «perceptron», «squared error», «huber», «epsilon insensitive», «squared epsilon insensitive»). Результаты представлены в табл. 1.
Таблица 1. Результаты эксперимента
Функция потерь P
hinge 0,9379
log loss 0,9356
modified huber 0,9448
squared hinge 0,9356
perceptron 0,9356
squared error 0,6253
huber 0,6690
epsilon insensitive 0,5471
squared epsilon insensitive 0,5333
Заключение
Как видно из представленных результатов, классификаторы, созданные с использованием первых пяти функций, показали лучшее качество, заметно отличающееся от остальных. Следовательно, последняя четверка значений не является предпочтительной для обработки указанного набора данных. Таким образом, представленное ПО позволяет реализовывать изучение возможностей определенного класса алгоримов машинного обучения. Это обстоятельство указывает на то, что цель работы достигнута.
Использованные источники:
1. Никулин, В. Н. Алгоритмы на основе метода стохастического градиентного спуска для рекомендательных систем / В. Н. Никулин, М. Г. Петик // Общество, наука, инновации (НПК - 2015): Всероссийская ежегодная научно-практическая конференция: Сборник материалов: Общеуниверситетская секция, БФ, ХФ, ФСА, ФАМ, ЭТФ, ФАВТ, ФПМТ, ФЭМ, ФГСН, ЮФ, Киров, 13-24 апреля 2015 года / ФГБОУ ВПО «Вятский государственный университет». - Киров: Вятский государственный университет, 2015. - С. 2033-2034.
2. Пальмов, С. В. Сравнение классификационных возможностей алгоритмов С4.5 и С5.0 / С. В. Пальмов, А. А. Мифтахова // Инфокоммуникационные технологии. - 2015. - Т. 13, № 4. - С. 467-471. -Б01 10.18469Ш.2015.13.4.18.
3. Сивак, М. А. Построение робастных нейронных сетей с различными функциями потерь / М. А. Сивак, В. С. Тимофеев // Системы анализа и обработки данных. - 2021. - № 2(82). - С. 67-82. - Б01 10.17212/27822001-2021-2-67-82.