40 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Задание
Используя код из пункта «Регуляризация и сеть прямого распространения» из методички (стр. 228), сгенерируйте определенный тип данных и сравните на нем 3 модели (по варианту). Постройте графики, отобразите качество моделей, объясните полученные результаты.
## Задание по варианту
Генерируемы данные: make_moons (noise=0.3, random_state=rs)
Модели:
* Линейную регрессию
* Многослойный персептрон с 10-ю нейронами в скрытом слое (alpha = 0.01)
* Персептрон
## Решение
### Запуск программы
Для запуска программы необходимо запустить файл main.py, содержащий код программы
### Используемые технологии
Программа использует следующие библиотеки:
- numpy - библиотека для работы с массивами и матрицами.
- matplotlib - библиотека для создания графиков и визуализации данных.
- sklearn - библиотека для машинного обучения и анализа данных.
### Что делает программа
Программа генерирует один из 100 случайных наборов данных. Данные состоят из двух полукругов для работы с алгоритмами кластеризации и классификации
Показывает окно с графиком и результаты работы моделей.
### Тесты
тесты проводились на наборах данных с 1 по 5
Результаты берутся из результатов работы модели на тестовых данных
Набор данных - Линейная регрессия - Многослойный персептрон - Персептрон
1 - 0.535 - 0.875 - 0.775
2 - 0.454 - 0.9 - 0.85
3 - 0.548 - 0.9 - 0.9
4 - 0.58 - 0.85 - 0.825
5 - 0.545 - 0.862 - 0.825
Из результатов видно, что модель линейной регрессии показала себя хуже всего. Следом идет персептрон. И лучший результат показала модель многослойного персептрона с 10-ю нейронами в скрытом слое
При увеличении объема генерируемых данных с 200 до 2000, можно заметить что результаты остались примерно на том же уровне
Набор данных - Линейная регрессия - Многослойный персептрон - Персептрон
1 - 0.565 - 0.903 - 0.78
2 - 0.534 - 0.919 - 0.82
3 - 0.541 - 0.909 - 0.742
4 - 0.524 - 0.856 - 0.845
5 - 0.568 - 0.873 - 0.802
Тесты с дополнительным увеличением объема данных, изменений в результатах не показали
Из результатов можно сделать вывод, что наиболее подходящей моделью для данного типа генерируемых данных из оттестированных моделей является Многослойный персептрон
Разница в результатах работы персептрона и многослойного персептрона имеется из-за того что многослойный персептрон имеет более сложную структуру, чем простой персептрон, и может обучаться более сложным функциям. Кроме того, многослойный персептрон используя несколько скрытых слоев, изучает более сложные зависимости между входными и выходными данными.