Я пытаюсь выбрать 3 функции из набора данных 24 * 461. моя проблема в части поколения. после кроссировки новая хромосома может иметь более трех 1 и, следовательно, более трех переменных. на этапе мутации, когда нуль изменяется на один, количество выбранных признаков больше 3. Любая помощь будет принята с благодарностьюКак использовать Генетический алгоритм в Matlab для выбора определенного количества функций?
1
A
ответ
0
Общей методикой решения этой проблемы является наложение «штрафа», в котором любая хромосома которые имеют более трех 1, добавлен штраф. Например, если у хромосомы есть пять 1, добавьте 2x к шкале соответствия хромосоме. В этом случае любая хромосома, которая имеет более трех 1, постепенно удаляется из популяции и позволяет другим (имеющим трех или менее 1) индивидуумов поддерживать в популяции.