Научная статья на тему 'Генетический алгоритм отбора признаков'

Генетический алгоритм отбора признаков Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
645
69
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
генетический алгоритм / отбор признаков / машинное обучение. / genetic algorithm / feature selection / machine learning

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Д. В. Исаев

Машинное обучение применяется во многих областях: от прогнозирования клиентского поведения до медицинской диагностики. Во всех случаях моделируются сложные взаимосвязей между объясняющими и целевыми переменными, которые нужно спрогнозировать. Отбор входных данных – это процесс поиска наиболее релевантных признаков, с помощью которых можно спрогнозировать целевую переменную. Методы отбора признаков могут использоваться для выявления и удаления ненужных, нерелевантных и избыточных данных, которые не улучшают или не снижают точность прогнозной модели. В этом работе мы рассмотрим, как выполнять отбор признаков с использованием генетического алгоритма.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

GENETIC ALGORITHM FOR FEATURE SELECTION

Machine learning is used in many areas: from predicting client behavior to medical diagnostics. In all cases, complex relationships between explanatory and integer variables that need to be predicted are modeled. Search for the most relevant features that can predict the target variable. Characteristic selection methods can be used to remove and delete unnecessary, irrelevant, and redundant data that does not improve or reduce the accuracy of the predictive model. We will consider genetic algorithms.

Текст научной работы на тему «Генетический алгоритм отбора признаков»

ГЕНЕТИЧЕСКИЙ АЛГОРИТМ ОТБОРА ПРИЗНАКОВ

GENETIC ALGORITHM FOR FEATURE SELECTION

УДК 004.8

Д.В. Исаев, аспирант, Финансовый университет при Правительстве Российской Федерации. г. Москва, Россия

D.V. Isaev, student, Financial University under the Government of the Russian Federation. Moscow, Russia

Аннотация: Машинное обучение применяется во многих областях: от прогнозирования клиентского поведения до медицинской диагностики. Во всех случаях моделируются сложные взаимосвязей между объясняющими и целевыми переменными, которые нужно спрогнозировать. Отбор входных данных - это процесс поиска наиболее релевантных признаков, с помощью которых можно спрогнозировать целевую переменную. Методы отбора признаков могут использоваться для выявления и удаления ненужных, нерелевантных и избыточных данных, которые не улучшают или не снижают точность прогнозной модели. В этом работе мы рассмотрим, как выполнять отбор признаков с использованием генетического алгоритма.

Abstract: Machine learning is used in many areas: from predicting client behavior to medical diagnostics. In all cases, complex relationships between explanatory and integer variables that need to be predicted are modeled. Search for the most relevant features that can predict the target variable. Characteristic selection methods can be used to remove and delete unnecessary, irrelevant, and redundant data that does not improve or reduce the accuracy of the predictive model. We will consider genetic algorithms.

Ключевые слова: генетический алгоритм; отбор признаков; машинное обучение.

Keywords: genetic algorithm; feature selection; machine learning.

Введение

Математически, выбор входных данных сформулирован как комбинаторная задача оптимизации. Если переменные задать как (1) -включение и (0) - исключение входных переменных, то количество различных комбинаций равнялось бы 2N, где N - количество признаков.

Этот процесс требует большой вычислительной работы и

соответственно времени. Поэтому нам нужны интеллектуальные методы, позволяющие на практике выбирать наиболее релевантные комбинации признаков.

Данная работа имеет следующую структуру: сначала будет описан генетический алгоритм отбора признаков, затем будет разобран наглядный пример на эталонном наборе данных, как он работает. В заключение будет проведен анализ полученных результатов.

Генетический алгоритм

Одним из наиболее продвинутых алгоритмов выбора признаков является генетический алгоритм. Генетический алгоритм - это метод оптимизации, основанный на биологическом процессе естественного отбора. Он основан на таких терминах, как мутация, скрещивание и отбор. Есть много статей об основных принципах использования генетического алгоритма, однако примеров использования генетического алгоритма в машинном обучении не так много.

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

Далее рассмотрим работу данного алгоритма на примере известного набора данных.

Применение алгоритма

В эталонном наборе данных Boston Housing имеется 13 признаков. При использовании генетического алгоритма каждый признак, который называется геном, может быть включен (1) или исключен (0) в процессе выбора функции.

Рисунок 1. Ген может иметь значение 1 (признак включена) или 0 (признак исключена). Список из 13 генов называется хромосомой. Хромосома содержит информацию о том, какая особенность включена, а какая исключена.

Рисунок 2. Хромосома, как список из 13 генов.

Популяция содержит несколько экземпляров разных хромосом. Это набор различных подмножеств признаков.

Рисунок 3. Популяция содержит несколько разных хромосом.

Первая популяция из 13 хромосом создается путем случайного исключения признаков. Можно произвольно взять вероятность 0,3 для взятия того или иного гена (признака). Чтобы не создавать хромосомы со всеми исключенными переменными нужно избегать больших вероятностей.

Нашей целью являются выбор такого набора признаков, который сводит к минимуму ошибку модели. Хромосомы сортируются по соответствующим им показателям точности модели. Эти два списка будут использованы в процессе отбора.

Следующий шаг - отбор. Мы выбираем n_best лучших хромосом в соответствии с оценками точности модели, чтобы наша популяция двигалась к лучшему решению, и случайным образом выбирали п_га^ хромосом, чтобы наш алгоритм оптимизации не застревал в локальном оптимуме.

Мы смешиваем хромосомы двух популяций. Эта операция называется скрещиванием и создает п_сЫШгеп для каждой пары хромосом.

Рисунок 4. Скрещивание: берется две хромосомы (родителей) и их гены смешиваются. Итак на этапе скрещивания смешивается гены ранее выбранных родителей n_best + п_га^.

Последняя операция - мутировать хромосомы. Хромосома немного

изменена, чтобы не слишком быстро сходиться к локальному оптимуму. Изменение предполагает случайное исключение объекта с малой вероятностью.

Рисунок 5. Мутация случайно исключает признаки.

Сначала хромосома для мутации выбиралась случайным образом с некоторой вероятностью, а затем каждый ген мог быть изменен с вероятностью 0,05. Эти вероятности не должны быть слишком большими, чтобы генетический алгоритм мог сходиться.

Итак, генетические операции: отбор, скрещивание и мутация повторяются, так что каждая популяция должна становиться все лучше и лучше с точки зрения точности модели. Точность модели лучше всего оценивать, как среднюю на кросс-валидации. Одна итерация называется поколением и может быть суммирована с рисунком ниже.

Рисунок 6. Отбор, скрещивание и мутация повторяются в каждом поколении В таблице ниже приведены результаты прогнозирования моделия других алгоритмов отбора признаков.

Таблица 1. Сравнение методов отбора признаков

метод

СУ МЗЕ

Количество выбранных функций

Генетический алгоритм 28,92 10

RFE 33,21 6

Важность

признака по 35,52 9

модели

Заключение

Для данного набора данных выбор признаков с помощью генетического алгоритма оказывается наилучшим. Это может быть объяснено с тем фактом, что проверяется относительно большое количество различных поднаборов признаков. Фактически, время выполнения генетического алгоритма может быть недостатком в случае более сложного набора данных, и другие методы, могут быть более подходящими.

Получить аналогичные или лучшие результаты можно, используя должным образом обученные нейронные сети или оценщики случайных лесов, без какого-либо отбора признаков. Однако для более сложной регрессии или классификации используется отбор признаков.

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

Как показали эксперименты, генетический алгоритм дал наибольшую точность. Однако в дальнейшем стоит попробовать модифицировать генетический алгоритм, чтобы исключить переобучение.

Список литературы:

1. FeatureSelector: отбор признаков для машинного обучения на Python // proglib URL: https://proglib.io/p/feature-selector/ (дата обращения: 05.05.2020).

2. Genetic algorithm in Machine Learning // dkopczyk.quantee.co.uk URL: https://dkopczyk.quantee.co.uk/genetic-algorithm/ (дата обращения: 05.05.2020).

3. Boston Housing // kaggle URL: https://www.kaggle.com/c/boston-housing (дата обращения: 05.05.2020).

4. Genetic algorithms for feature selection // neuraldesigner URL: https://www.neuraldesigner.com/blog/genetic_algorithms_for_feature_selecti on (дата обращения: 05.05.2020).

Bibliography:

1. FeatureSelector: selection of features for machine learning in Python // proglib URL: https://proglib.io/p/feature-selector/ (accessed 05.05.2020).

2. Genetic algorithm in Machine Learning // dkopczyk.quantee.co.uk URL: https://dkopczyk.quantee.co.uk/genetic-algorithm/ (accessed 05.05.2020).

3. Boston Housing // kaggle URL: https://www.kaggle.com/c/boston-housing (accessed 05.05.2020).

4. Genetic algorithms for feature selection // neuraldesigner URL: https://www.neuraldesigner.com/blog/genetic_algorithms_for_feature_selecti on (accessed 05.05.2020).

i Надоели баннеры? Вы всегда можете отключить рекламу.