IIS_2023_1/antonov_dmitry_lab_6
DmitriyAntonov 5865c2147c реади1
2023-10-08 15:38:58 +04:00
..
screens реади 2023-10-08 15:37:46 +04:00
dataset.csv реади 2023-10-08 15:37:46 +04:00
lab6.py реади 2023-10-08 15:37:46 +04:00
README.md реади1 2023-10-08 15:38:58 +04:00

Лаб 6 Нейронная сеть

Использовать нейронную сеть MLPClassifier по варианту для данных из датасета курсовой Predict students' dropout and academic success (отсев студентов), самостоятельно сформулировав задачу. Оценить, насколько хорошо она подходит для решения сформулированной вами задачи.

Вариант 3

Нейронная сеть MLPClassifier

Запуск

Выполнением скрипта файла (вывод в консоль).

Задача регрессии

Для прогнозирования отсева учащихся и набора данных об успеваемости спрогнозируйте отсев используя нейронную сеть для признаков 'Curricular units 2nd sem (approved)' - (Учебные блоки 2-го семестра (утверждены)) 'Curricular units 2nd sem (grade)' - (Учебные блоки 2-го семестра (класс)) 'Tuition fees up to date' - (Стоимость обучения")

Описание модели:

"MLPClassifier" - это тип искусственной нейронной сети прямого действия, которая широко используется для задач классификации. Объяснение некоторых ключевых параметров:

  1. hidden_layer_sizes:
  • Этот параметр определяет количество нейронов в каждом скрытом слое и количество скрытых слоев в сети.
  • Это кортеж, где каждый элемент представляет количество нейронов в определенном скрытом слое.
  • Например, hidden_layer_sizes=(100, 100) означает, что есть два скрытых слоя, причем первый слой
  • содержит 100 нейронов, а второй слой также содержит 100 нейронов.
  1. activation:
  • Этот параметр определяет функцию активации для скрытых слоев. Функция активации привносит нелинейность в сеть, позволяя ей изучать сложные паттерны.
  • Распространенные варианты включают:
  • "identity": линейная функция активации (обычно не используется на практике).
  • "logistic": сигмовидная логистическая функция
  • "tanh": гиперболическая касательная функция
  • "relu": Выпрямленная линейная единица измерения
  1. solver:
  • Этот параметр определяет алгоритм, используемый для оптимизации весов нейронной сети.
  • Распространенные варианты включают:
  • `adam": оптимизатор на основе стохастического градиента, сочетающий идеи RMSProp и Momentum.
  • `sgd": Стохастический градиентный спуск.
  • `lbfgs": алгоритм Бройдена-Флетчера-Гольдфарба-Шанно с ограниченной памятью.
  1. alpha:
  • Параметр штрафа L2 (условие регуляризации). Это помогает предотвратить переобучение, наказывая за большие веса.
  • Более высокие значения "альфа" приводят к более сильной регуляризации.
  1. max_iter:
  • Максимальное количество итераций для тренировочного процесса. Этот параметр помогает предотвратить бесконечное обучение модели.
  1. learning_rate:
  • График скорости обучения для обновления веса. Он определяет размер шага, с которым веса обновляются во время тренировки.
  • Опции включают 'constant', 'invscaling', и 'adaptive'.
  1. random_state:
  • Начальное значение, используемое генератором случайных чисел. Установка начального значения гарантирует воспроизводимость результатов.
  1. batch_size:
  • Количество образцов, использованных в каждой мини-партии во время обучения. Это влияет на скорость конвергенции и использование памяти.
  1. early_stopping:
  • Если установлено значение "True", обучение прекратится, если оценка проверки не улучшится. Это помогает предотвратить переобучение.
  1. validation_fraction:
  • Доля обучающих данных, которую следует отложить в качестве валидационного набора для ранней остановки.

Результат:

Из прошлой лабораторной точность регрессии для вышеперечисленных признаков составила 0.6256 (alpha = 0.01) Точность нейронной сети для вышеперечисленных признаков составила 72.32% (при изменении описанных выше параметров оценка не улучается) На примере тех же самых признаков нейронная сеть обеспечивает лучшее качество предсказания отсева студентов.

Результат