Выберите лучшие функции, комбинируя отдельные методы выбора функций

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

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

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

Выбор ансамбля

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

Методы ансамбля

Методы ансамбля основаны на системах голосования.

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

1. Граф Борда

Borda Count — одна из самых известных систем голосования. Это довольно просто и дает оценку каждой функции на основе общей суммы отдельных рангов методов выбора функций.

Затем он вычитает этот балл из общего количества функций. Таким образом, самая сильная функция будет иметь максимальный ранг N, где N – это функции.

Простая формула для расчета числа Борда:

гдеj = 1, 2, …, N — методы выбора признаков, а rj(f) — ранг признака в соответствии с j метод.

Подсчет Борда можно увидеть со многими именами, такими как линейная агрегация, среднее среднее ранжирование и ранговая агрегация.

2. Взаимное ранжирование

Взаимный рейтинг основан на вычислении окончательного рейтинга r(f) функции f в соответствии со следующим уравнением:

Он эквивалентен среднему гармоническому рангу и иначе известен как обратная ранговая позиция.

3. Мгновенный сток

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

Для машинного обучения методы выбора функций — это избиратели, а функции — кандидаты. На выборах побеждает кандидат, набравший большинство голосов первого предпочтения, т.е. более 50% голосов.
При отсутствии такого кандидата снимается кандидат, набравший наименьшее количество голосов. и его место занимает следующий предпочтительный кандидат.

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

4. Кондорсе

Этот метод выбирает победителя из списков рангов предпочтения и относится к категории парного сравнения.

Признак, который «выигрывает» все остальные среди методов отбора признаков в битвах один на один, называется победителем Кондорсе. Для применения метода Кондорсе необходимо создать таблицу T размерности n × n, где n — количество признаков.

Таблица обнуляется и инициализируются сравнения признаков. Если характеристика fi предпочтительнее (то есть имеет более высокий рейтинг) по сравнению с характеристикой fj, то в ячейку ti, j добавляется '1'. . После заполнения таблицы T для каждого элемента победитель между двумя функциями определяется следующим образом:

Если ti,j › n/2, то выигрывает признак fi, иначе выигрывает признак fj, при этом между ними может быть ничья.

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

В случае ничьей их рейтинг будет случайным.

5. Кумбс

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

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

Для оставшихся функций происходит новый раунд, и процесс продолжается до тех пор, пока он не будет завершен.

6. Баклин

Это еще одна система, основанная на избрании победителя, набравшего большинство голосов.

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

Процедура повторяется до тех пор, пока хотя бы одна функция не наберет большинство голосов.

Когда эта функция найдена, она добавляется в окончательный объединенный список. Затем Баклин снова запускается, пока все функции не будут ранжированы в этом окончательном списке.

Является ли выбор ансамблевых признаков лучшим?

Я сравнил 12 методов выбора отдельных признаков и 6 методов ансамбля, описанных выше, в 8 наборах данных для задачи классификации (как видно из бумаги).
Результаты доступны в следующей таблице:

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

Согласно таблице, лучшим методом является Reciprocal Ranking, который имеет большой отрыв почти в 1,4 позиции от второго метода (SHAP).
Все ансамблевые методы, кроме Кумбса, превосходят базовый уровень без выбора признаков и достигают высокой производительности. .

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

Однако, если вы ищете сильный индивидуальный метод, используйте SHAP.

Не знаете, что читать дальше? Вот два варианта:





Поддерживать связь

➥Подпишитесь на меня в Medium для получения большего количества подобного контента.
➥Давайте подключимся в LinkedIn.
➥Проверьте мой GitHub.