Машинное обучение это ветвь искусственного интеллекта, у которого основная идея в том, чтобы машина не только следовала предписанном алгоритму, а могла обучаться и принимать решения сама.
Большую часть машинного обучения можно разделить на обучение с учителем (supervised learning) и обучение без учителя (unsupervised learning).[1] Обучение с учителем здесь - это непосредственное вмешательство человека в обучающие наборы данных и сам процесс обучения . Здесь у нас есть данные, на основании которых нужно что-то предсказать, и некоторые гипотезы. Если обучаться без учителя , то имеются только данные, и у них необходимо найти свойства.
Задача классификации: разделение множества наблюдений на желаемые классы, каждое значений наблюдения относят к определенной группе на основе какого свойства. Пример: определение болезни человека в медицине, кредитный скоринг в банковской сфере (принять решение о выдаче кредита), оптическое распознавание текстов и тд.
Выбор алгоритма сильно зависит от структуры и величины объема данных. Таким образом, выбор правильного алгоритма может быть неочевиден до того момента, пока не будут протестированы возможные варианты и не будет найден верный путь методом проб и ошибок.
Но каждый алгоритм обладает и недостатками и преимуществами, которые можно использовать в качестве инструкции для выбора наиболее подходящего под ситуацию.
Подготовка набора данных для обучения и тестирования сети
В качестве набора данных был сформирован набор данных, позволяющий предсказать успеваемость студента вуза на основании 4ёх характеристик:
Уровень образования родителей;
Средний балл школьного аттестата
Значение рейтинга оконченной школы;
Набранный балл на вступительном экзамене
Результатом классификации может быть: плохая успеваемость, средняя успеваемость и хорошая успеваемость, а именно 3 класса успеваемости.
Датасет представлен 80 строками данных дробных чисел, из которых 75% - обучающая выборка, 25 % - выборка валидации[2]:
Пример датасета на рисунке 1:
Рисунок 1. Датасет
В требовании к сети будет использовано 800 эпох и скорость обучения 0,05.
Моделирование и обучение
Цель моделирования– исследование влияния архитектуры сети на точность получаемых результатов.
Рисунок SEQ Рисунок \* ARABIC 2-Ахитектура 1 сети
Для анализа эффективности архитектуры, будет применено 3 варианта строения, первая схема разработанной нейронной сети приведена на рисунке 2 3 в ней 3 слоя , 1 входной , 1 скрытый с 4 нейронами и 1 выходной:
Необходимо обучить нейросеть на имеющихся данных. Для этого указываем несколько параметров: epochs = 800- количество эпох, learning_rate = 0.05- скорость обучения сети .
Исследованиерезультатов
Было проведено тестирование трех архитектур на одних и тех же данных. Ниже в таблице приведена сравнительная характеристика показаний трех архитектур по стоимости, точности на обучающих данных и тестовых[3].
Арх-ра |
Опис-е |
Ст. / об. |
Точ./ об. |
Ст. / т. |
Точ. / Т. |
1 |
3 слоя 4-3-3 |
0,568 |
0,64 |
0,3946 |
0,733 |
2 |
3 слоя 4-4-3 |
0,3238 |
0,758 |
0,468 |
0,8064 |
3 |
4 слоя 4-4-4-3 |
0,234 |
0,879 |
0,398 |
0,8185 |
Где:
Арх-ра – одна из протестированных архитектур
Опис-е – описание строения слоев и кол-ва нейронов в каждой протестированной архитектуре
Ст. об. – значение функции стоимости на обучающем наборе данных;
Точ. об. – значение точности на обучающем наборе данных;
Ст. т. – значение функции стоимости на тестовом наборе данных;
Точ. т. Значение точности на тестовом наборе данных;
Из результатов обучения и тестирования моделей, представленных в таблице 1, можно сделать вывод, что наибольшую точность дает модель №3 – 81% [4]
Модели №1 и №2 имеют точность, равную 73% и 80% соответственно. Архитектура 3-й сети изображена на рисунке 3
Рисунок 3. Архитектура 3 нейронной сети
Функция стоимости в исследовании тестируется путем многократного запуска модели нейронной для сравнения предполагаемых прогнозов с фактическими - известными значениями. На рисунке 3 изображена функция стоимости обучающего набора и тестового набора данных самой эффективной архитектуры, как мы видим из графика , обе кривые показывают удовлетворяющий результат.
Рисунок 3-Функция стоимости 3 архитектуры
Из вышесказанного можно сделать вывод, что тестирование наиболее эффективной архитектуры прошло успешно.
При проведении регрессии тренировочного набора данных была разработана сеть с 2 скрытыми слоями и увеличена точность предсказания успеваемости исследуемого объекта. Однако недостаточно высокая точность предсказания, а именно ошибка в 20 % случаев говорит о необходимости увеличения объема данных для обучения нейронной сети, и если позволяют ресурсы, то и увеличения количества итераций алгоритма обучения[5].
Заключение
Важным аспектом являлась задача рассмотреть архитектуры нейронных сетей и провести их сравнительный анализ. По итогам исследования можно сделать заключение, что основной целью машинного обучения является правильно подобранный метод анализа данных и корректно сформированная архитектура нейронной сети, в том числе количество нейронов на входе и в скрытых слоях, от всех этих аспектов зависит эффективность сети и ее достоверность.
Литература
1. Л.И.Воронова, В.И.Воронов Machine Learning: регрессионные методы интеллектуального анализа данных: учебное пособие / МТУСИ.– М., 2017.- 92с.
2. Вьюгин В.В. Математические основы машинного обучения и прогнозирования. Москва, МЦНМО, 2018. -384 с.
3. Головко В. А. Нейронные сети: обучение, организация и применение. - М.: ИПР- ЖР, 2001.
4. PythonRu [Электронный ресурс]. – Режим доступа: https://pythonru.com/biblioteki/osnovnye-vozmozhnosti-biblioteki-python-imaging-library-pillow-pil (дата обращения 20.01.21)
5. Толмашов О. П., Михайлов А. С. Разработка алгоритма машинного обучения //Постулат. – 2018. – №. 9.