Эволюция - это изменение наследственных характеристик биологических популяций на протяжении последующих поколений. В 1859 году Чарльз Дарвин опубликовал свою книгу под названием Происхождение видов, которая представляет собой научную литературу по теории эволюции. Эволюционная теория казалась такой простой, но такой мощной, но нам потребовалось много времени, чтобы ее открыть. Исследователи искусственного интеллекта всегда пытались имитировать природу, например, Нейронные сети. Это похоже на то, как работает мозг, и этот метод помог решить множество проблем в различных областях. Исследователи искусственного интеллекта снова выступили и попытались подражать природе в другой раз. На этот раз это эволюционная теория, получившая название генетических алгоритмов.

Генетические алгоритмы - Введение

Как сказал Чарльз Дарвин: «Выживает не сильнейший из видов и не самый умный, а тот, который лучше всего реагирует на изменения», помня об этом, и исследователи ИИ создали алгоритм, который постоянно изменяется в соответствии с приспособленностью. функция. Генетические алгоритмы соответствуют естественному отбору, то есть только те виды, которые могут адаптироваться к изменениям в окружающей среде, способны выживать, воспроизводиться и переходить к следующему поколению.

Как работают генетические алгоритмы?

Генетические алгоритмы выполняются в несколько этапов, как показано на блок-схеме выше.

1. Инициализация

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

На изображении выше гены представлены в виде двоичных значений единиц и нулей. Эти двоичные значения составляют хромосому, а они, в свою очередь, составляют популяцию.

2. Фитнес-функция

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

3. Выбор

Люди отбираются на основе их показателей физической подготовки, и эти подходящие люди передают свои гены следующему поколению и производят потомство. Шансы быть отобранными для размножения прямо пропорциональны фитнес-функции человека.

4. Кроссовер

Кроссовер - это процесс спаривания между двумя выбранными особями, процесс показывает, как гены передаются потомству.

Предположим, два родителя считаются подходящими людьми, их гены могут быть переданы с помощью метода одноточечного кроссовера, который представлен на изображении выше. Гены обоих родителей делятся пополам и рекомбинируются.

Также могут быть взяты множественные точки кроссовера, и гены могут быть разделены по этим линиям, а затем рекомбинированы для получения потомства.

5. Мутация

Мутация - это процесс, при котором изменяются гены случайно выбранных потомков. Это вносит некоторую непредсказуемость в алгоритм, а также гарантирует, что алгоритм не застрянет в бесконечном цикле пересечений и выборок.

Произвольно выбранные биты / гены изменяются, как показано на изображении выше.

Вышеупомянутые шаги продолжаются до тех пор, пока не будет достигнуто условие остановки или пока алгоритм не сойдется. Давайте возьмем пример проблемы машинного обучения, чтобы лучше их понять. Я полагаю, вы знаете о наборе данных MNIST, давайте рассмотрим эту проблему и попробуем классифицировать рукописные цифры в наборе данных MNIST с использованием генетического алгоритма.

TPOT

TPOT (Tree-based Pipeline Optimization Technique) - это библиотека Python, которая автоматизирует конвейеры машинного обучения с помощью генетического программирования, библиотека имеет начальную популяцию различных моделей, обеспечивающих приличную точность. Затем он использует генетическое программирование для выбора тех моделей, которые работают с большей точностью, а также изменяет гиперпараметр модели, чтобы выбрать лучшую модель с лучшими гиперпараметрами. Обратной стороной этого является то, что на обучение данных уходит огромное количество времени.

Код

Выход

Как видно из вышеприведенных выходных данных, после 10 поколений генетический алгоритм смог найти линейную модель SVC, которая представляет собой машину опорных векторов с указанными гиперпараметрами, обеспечивающую наивысшую точность. Точность на тестовом наборе 98%.

Интересный факт

Антенна космического корабля, показанная на изображениях выше, была найдена эволюционным компьютером, она была разработана для создания наилучшей диаграммы направленности. Эта антенна называется развитой антенной.