Тема: РЕАЛИЗАЦИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ И СПОСОБЫ УПРАВЛЕНИЯ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И ОБОЗНАЧЕНИЙ 5
ВВЕДЕНИЕ 6
1 Анализ предметной области 8
1.1 Г енетические алгоритмы 8
1.2 Описание методов селекции в генетических алгоритмах 10
1.4.1 Метод рулетки 10
1.4.2 Метод стохастической универсальной выборки 12
1.4.3 Ранговый отбор 13
1.4.4 Турнирный отбор 14
1.4.5 Отбор устойчивого состояния 16
1.3 Описание методов скрещивания в генетическом алгоритме 17
1.5.1 Одноточечное скрещивание 17
1.5.2 Двухточечное скрещивание 18
1.5.3 Равномерное скрещивание 18
1.4 Описание методов мутации в генетическом алгоритме 19
1.6.1 Мутация инверсией 19
1.6.2 Мутация обменом 20
1.5 Градиентный спуск 20
1.6 Преимущества генетического алгоритма перед градиентным спуском 22
1.7 Выводы 24
2 Реализация генетических алгоритмов 25
2.1 Используемый язык программирования 25
2.1.1 Возможности реализации генетических алгоритмов на языке
программирования C++ 25
2.1.2 Возможности реализации генетических алгоритмов на языке
программирования Python 26
2.1.3 Сравнительный анализ языков программирования 27
2.2 Используемые библиотеки 29
2.3 Используемая среда разработки 30
2.4 Описание обучающей выборки 31
2.5 Описание структуры нейронной сети 33
2.6 Описание программы генетического алгоритма 36
2.7 Описание программы градиентного спуска 41
2.8 Выводы 44
3 Анализ результатов 45
3.1 Результаты обучения нейронной сети с помощью генетических
алгоритмов 45
3.2 Результаты обучения нейронной сети с помощью градиентного
спуска 57
3.3 Выводы 59
ЗАКЛЮЧЕНИЕ 60
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 61
ПРИЛОЖЕНИЕ А Листинг программы 64
Приложение А.1 Файл Genetic_algorithm.py 65
Приложении А.2 Файл Gradient_Descent.py 70
ПРИЛОЖЕНИЕ Б Презентация 76
📖 Введение
С ростом популярности машинного обучения остро встаёт вопрос оптимизации этого процесса, с целью получить большую эффективность за меньшее время обучения. Большое внимание в данном вопросе имеет метод оптимизации функции потерь. Наряду с градиентного спуском, стохастическим градиентным спуском, адаптивного момента, имитацией отжига, одним из таких методов является генетический алгоритм.
Выбор метода оптимизации функции потерь является очень важным этапом машинного обучения. Каждый метод имеет свои преимущества и недостатки из-за чего нет единого решения и в каждой отдельной задаче тот или иной метод проявляет себя по-разному. В том случае, если специалист решил воспользоваться генетическими алгоритмами в данном вопросе, тогда требуется настроить все параметры генетического алгоритма. Благодаря широкому набору параметров и различных методов генетические алгоритмы позволяют решать более широкий круг задач, чем аналогичные методы оптимизации функции.
В данной работе генетические алгоритмы будут применены в задаче обучения искусственной нейронной сети в качестве метода оптимизации функции потерь. Также будет выполнено сравнение эффективности обучения нейронной сети при использовании различных методов отбора, скрещивания и мутации генетического алгоритма. Выполнив обучение нейронной сети, будет составлена сводная таблица по результатам, позволяющая оценить значение и влияние на результат каждого метода. Затем будет выполнено обучение идентичной нейронной сети с помощью градиентного спуска для сравнения результатов обучения нейронной сети с помощью генетического алгоритма с градиентным спуском в данной задаче.
✅ Заключение
Применение генетического алгоритма в обучении нейронных сетей обосновывается его преимуществами по сравнению с другими оптимизационными методами:
• обширная область поиска,
• устойчивость к локальным оптимумам,
• имеется возможность распараллелить процесс,
• область применения шире, чем у аналогичных методов.
Полученные результаты обладают научной ценностью. Ценность заключается в перспективе дальнейших исследований в области генетических алгоритмов. Поставленные в работе научные и практические задачи выполнены полностью.





