Утилита Genetic Algorithm реализует поиск наиболее информативных признаков сигнала ЭЭГ с помощью генетического алгоритма (англ. Genetic Algorithm, далее по тексту - ГА). Целью отбора признаков является исключение «шумовых» признаков и повышение точности алгоритмов классификации.

В качестве входных данных утилита принимает файлы формата XML Features с признаковым описанием объектов обучающей и тестовой выборки, а также текстовый файл с истинными метками классов для объектов тестовой выборки (если эти метки не содержатся в XML файле). Далее с помощью ГА утилита осуществляет перебор подмножеств признаков с целью поиска наиболее информативного из них.

Каждое подмножество признаков задается с помощью бинарного вектора Β∈{0,1}^L (хромосомы особи), где L – мощность полного набора признаков, значение «1» в i-той позиции вектора указывает на то, что i-тый признак включается в рассматриваемое подмножество, а значение «0» - что признак не включается в подмножество. Мерой информативности подмножества признаков служит качество разделения классов, достижимое на обучающей выборке, построенной с использованием данного подмножества. В свою очередь, для оценки качества разделения классов в утилите Genetic Algorithm предусмотрена возможность выбора одного классификаторов:

  • ν-SVM классификатор (модификация метода опорных векторов, предусматривающая допуск ошибок на обучающей выборке);
  • метод k ближайших соседей;
  • многослойный персептрон;
  • комитет ν-SVM классификаторов, построенных с разными значениями параметра ν;
  • классификатор на основе расстояния Махаланобиса.

Пользователю доступны следующие настройки генетического алгоритма:

  • размер популяции;
  • число поколений;
  • вероятность скрещивания;
  • способ мутации (по умолчанию применяется оператор равномерной генной мутации);
  • вероятность мутации (начальное, минимальное и максимальное значение вероятности);
  • способ включения потомков в популяцию (полное замещение особей, замещение наименее приспособленных особей, замещение случайно выбранных особей);
  • применение элитизма.

В приложении реализован вариант поиска с контролем переобучения. Перед запуском итераций генетического алгоритма обучающая выборка разбивается в отношении 4:1 на два подмножества: собственно обучающую выборку и контрольную выборку. Приспособленность особей оценивается путем построения и последующего тестирования выбранного пользователем классификатора на сокращенной обучающей выборке. По завершению каждого поколения ГА дополнительно определяется вероятность правильной классификации на контрольной и тестовой выборке. В качестве итогового решения приложение принимает подмножество признаков, на котором достигнута максимальная точность классификации на контрольной выборке. Результаты поиска выводятся на экран.