Машинное обучение вики
Advertisement

Генетический алгоритм моделирует процесс естественного отбора. Подмножеству признаков ставим в соответствие некоторый бинарный вектор где значит что -й признак входит в признаковое подпространство и значит что не входит (вектор является упрощенной математической моделью ДНК). Далее определяем операции кроссовера и мутации.

  • Одноточечный (singlepoint) кроссовер — , где - выбирается случайно от до .
  • Двуточечный (two point) кроссовер — , где - выбираются случайным образом .
  • Равномерный кроссовер — , где или с вероятностью .
  • Мутация , где с вероятностью и с вероятностью .

Далее генерируем случайный набор из бинарных векторов. И генерируем "новое поколение": берем из набора случайные пары векторов и скрещиваем их при помощи кроссовера, после чего мутируем получившегося потомка. Из всех получившихся признаков (и старое и новое поколение) находим оптимальных (дающих наилучший результат при обучении). После чего уже для них повторяем алгоритм до сходимости или по количеству итераций. - параметр алгоритма.

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

Advertisement