В первой лабораторной работе мы реализуем многослойный перцептрон на языке python (можно использовать другой) с использованием библиотеки для алгебраических вычислений.
- Реализовать многослойный перцептрон
- Оценить его работу
- Реализовать многослойный перцептрон:
- Предусмотреть возможность выбора количества слоёв
- Предусмотреть возможность выбора функции активации для каждого слоя
- Предусмотреть возможность выбора функции потерь
- Допускается использование библиотек для работы с алгеброй (numpy на python).
- Саму реализацию нужно декомпозировать на отдельные классы:
- Класс слоя прямого распространения (аффинное преобразование: WX+b), где задаётся количество нейронов на слое
- Классы слоёв, представляющих собой функций активации: Linear, ReLU, Tanh, Sigmoid
- Класс сети прямого распространения, принимающий список слоёв
- Класс оптимизатора (градиентный спуск). Т.е. способ оптимизации не вшит в сеть, он задаётся “снаружи”.
- С помощью разработанной сети решить задачи классификации и регрессии. В качестве датасетов можно использовать:
- Оценить качество с помощью:
- MAE, R2, MSE, MAPE решение задачи регрессии
- Accuracy, Precision, Recall, F1-score решение задачи классификации
- Для оценки лучше использовать sklearn
- Сеть реализована согласно требованиям, произведена декомпозиция реализации на классы
- Сеть работает, выдаёт ответы
- Качество оценено предложенными метриками
- На классификации работает не хуже LogisticRegression
- На регрессии работает не хуже LinearRegression