Почему для генетических алгоритмов требуется больше памяти, чем для других методов машинного обучения?

В настоящее время я изучаю генетические алгоритмы. Возникает вопрос: «Почему для генетических алгоритмов требуется больше памяти, чем для других методов машинного обучения, таких как деревья решений?» Я не могу найти ответы, даже в гугле. Кто-нибудь может дать и объяснить ответ?


person ImonBayazid    schedule 11.07.2014    source источник
comment
Генетические алгоритмы запускают симуляции, и многие из них. Если вы не создаете своих потомков один за другим (не стандартно), у вас будут большие популяции, все в памяти (если вы не записываете в файл). Запуск симуляций на этих потомках может быть очень интенсивным, особенно когда у вас есть много функций, которые вы хотите протестировать.   -  person JDong    schedule 11.07.2014
comment
Он находится в статье Википедии. См. второй маркированный абзац в разделе «Ограничения», начинающийся с «Генетические алгоритмы» плохо масштабируются с увеличением сложности; предложение после этого является ответом.   -  person Ken White    schedule 11.07.2014


Ответы (3)


Генетические алгоритмы имитируют процесс естественного отбора, чтобы «развить» решение сложной задачи оптимизации. Как правило, алгоритм работает, сначала генерируя несколько случайных «индивидуумов» (то есть решений проблемы, которую вы пытаетесь решить) и вычисляя их «пригодность» с помощью функции пригодности. Затем отбираются более приспособленные особи, чтобы выжить и, возможно, обменяться «ДНК» посредством «размножения», чтобы произвести следующее поколение особей. Затем этот процесс повторяется до тех пор, пока не будет достигнуто условие остановки, которым может быть достигнут достаточный уровень приспособленности или достигнуто максимальное количество поколений. Фитнес-функции обычно являются очень сложными функциями, поскольку они должны обрабатывать все «черты» человека и выводить фитнес (возможно, в виде скаляра). Для многих задач это невозможно с точки зрения алгоритмической сложности, поэтому вместо этого используется аппроксимация пригодности. В любом случае итеративный характер ГА, сложность функции пригодности и тот факт, что в любой момент времени в оперативной памяти представлено большое количество людей, делают алгоритм требовательным.

person Treker    schedule 11.07.2014

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

GA более гибок, но SA — это хорошая техника, которая отлично работает для многих проблем с использованием ограниченных ресурсов.

person Francisco Yepes Barrera    schedule 12.07.2014

Основная причина, по которой генетическим алгоритмам требуется больше памяти, заключается в том, что им необходимо поддерживать всю популяцию решений. Другие методы поиска, такие как восхождение на холм, поиск табу, поиск луча и имитация отжига, имеют дело только с одним решением за раз. Так, если, например, для представления решения требуется мегабайт ОЗУ, ГА с размером совокупности 100 потребует 100 мегабайт ОЗУ для представления своей совокупности решений.

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

person seaotternerd    schedule 15.09.2014