|
Параметры Популяция - Population и Поколения - Generations определяют, как много усилий алгоритм затрачивает на поиск. Схема работы генетического алгоритма такова. Берется случай- ный набор, популяция битовых строк (в нашем случае отдельный бит, соответствующий каждому входу, показывает, учитывать или нет соответствующую входную переменную) и оценивается степень их пригодности (т.е. качество получаемых решений). Затем плохие строки исключаются из рассмотрения, а из оставшихся порождаются новые строки с помощью искусственных генетических операций мутации и скрещивания. Таким образом, возникает новая популя- ция, и весь процесс повторяется, порождая все новые поколения, а в конце его отбирается наилучший экземпляр. Параметр Популяция - Population задает объем популяции индивидуумов, а параметр Поко- ления - Generations определяет, сколько раз будет повторен цикл от- бора порождения-оценки. Произведение этих двух чисел равно об- щему числу операций оценивания, которые алгоритм должен будет выполнить, и каждое оценивание включает построение PNN или GRNN сети и ее тестирование на контрольном множестве. При построении PNN или GRNN сети необходимо выбрать ко- эффициент сглаживания (Smoothing). В общем случае следует само- стоятельно провести ряд экспериментов со всей совокупностью входных переменных, строя PNN или GRNN сети с различными ко- эффициентами сглаживания, и выбрать подходящее значение. К сча- стью, сети PNN и GRNN не слишком чувствительны к точному вы- бору коэффициента сглаживания, и в нашем случае вполне подойдет значение по умолчанию. Как уже говорилось, иногда бывает полезно уменьшить число входов даже ценой некоторой потери точности, поскольку это улучшает способности сети к обобщению и уменьшает размер сети и время счета. Можно создать дополнительный стимул к исключению лишних переменных, назначив «штраф» за элемент (Unit Penalty). Это число будет умножаться на количество элементов, и результат будет прибавляться к уровню ошибки при оценке качества сети. Та- ким образом, будут штрафоваться большие по размеру сети. Обычно значения этого параметра (если он используется) берутся в интерва- ле 0,01-0,001. В нашей задаче дополнительные переменные не несут никакой информации и действительно будут ухудшать качество сети, поэтому нет необходимости специально задавать еще и штраф за элемент. |
if gte vml |