Генетическая оптимизация гиперпараметров нейросетей

Генетические алгоритмы
Генетическая оптимизация гиперпараметров нейросетей

Проект посвящён созданию системы автоматического подбора гиперпараметров нейросетей с использованием генетического алгоритма. Оптимизация проводится на примере датасета Wine, а также тестируется на нескольких архитектурах: MLP, CNN и RNN.

🧬 Как это работает:
🔹 Каждая «особь» кодирует набор параметров:
 • Количество слоёв сети
 • Размер скрытых слоёв
 • Dropout
 • Learning rate
🔹 Генетический алгоритм выполняет:
 • Турнирный отбор сильнейших моделей
 • Кроссовер гиперпараметров для поиска новых комбинаций
 • Случайную мутацию для разнообразия решений
🔹 Отслеживается точность каждой модели, сохраняется лучший результат и история поколений

📊 Результаты экспериментов:
✨ RNN достигла точности 100%
✨ MLP стабильно показывала ~1.0 на тренировке
⚠️ CNN показала худший результат из-за слабой наследуемости параметров
📈 Визуализирован прогресс эволюции по поколениям
📂 История эксперимента сохранена в .csv, лучшая модель — в .keras

💡 Особенности проекта:
✅ Полная воспроизводимость через фиксированные seed
✅ Поддержка визуализации процесса эволюции
✅ Возможность переноса весов и тестирования в средах OpenAI Gym
✅ Подходит для экспериментов с различными архитектурами и стратегиями отбора

Дополнительные изображения:

Изображение 1