Утилита Genetic Algorithm реализует поиск наиболее информативных признаков сигнала ЭЭГ с помощью генетического алгоритма (англ. Genetic Algorithm, далее по тексту - ГА). Целью отбора признаков является исключение «шумовых» признаков и повышение точности алгоритмов классификации.
В качестве входных данных утилита принимает файлы формата XML Features с признаковым описанием объектов обучающей и тестовой выборки, а также текстовый файл с истинными метками классов для объектов тестовой выборки (если эти метки не содержатся в XML файле). Далее с помощью ГА утилита осуществляет перебор подмножеств признаков с целью поиска наиболее информативного из них.
Каждое подмножество признаков задается с помощью бинарного вектора Β∈{0,1}^L (хромосомы особи), где L – мощность полного набора признаков, значение «1» в i-той позиции вектора указывает на то, что i-тый признак включается в рассматриваемое подмножество, а значение «0» - что признак не включается в подмножество. Мерой информативности подмножества признаков служит качество разделения классов, достижимое на обучающей выборке, построенной с использованием данного подмножества. В свою очередь, для оценки качества разделения классов в утилите Genetic Algorithm предусмотрена возможность выбора одного классификаторов:
- ν-SVM классификатор (модификация метода опорных векторов, предусматривающая допуск ошибок на обучающей выборке);
- метод k ближайших соседей;
- многослойный персептрон;
- комитет ν-SVM классификаторов, построенных с разными значениями параметра ν;
- классификатор на основе расстояния Махаланобиса.
Пользователю доступны следующие настройки генетического алгоритма:
- размер популяции;
- число поколений;
- вероятность скрещивания;
- способ мутации (по умолчанию применяется оператор равномерной генной мутации);
- вероятность мутации (начальное, минимальное и максимальное значение вероятности);
- способ включения потомков в популяцию (полное замещение особей, замещение наименее приспособленных особей, замещение случайно выбранных особей);
- применение элитизма.
В приложении реализован вариант поиска с контролем переобучения. Перед запуском итераций генетического алгоритма обучающая выборка разбивается в отношении 4:1 на два подмножества: собственно обучающую выборку и контрольную выборку. Приспособленность особей оценивается путем построения и последующего тестирования выбранного пользователем классификатора на сокращенной обучающей выборке. По завершению каждого поколения ГА дополнительно определяется вероятность правильной классификации на контрольной и тестовой выборке. В качестве итогового решения приложение принимает подмножество признаков, на котором достигнута максимальная точность классификации на контрольной выборке. Результаты поиска выводятся на экран.