Отбор характеристик и соотношение точности классификации

10

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

Например, если у вас есть характеристики A, B, C, D, E, и если они ранжируются следующим образом D,B,C,E,A, то вы вычисляете точность, используя D, D, Bзатем D, B, C, затем D, B, C, E... пока ваша точность не начнет уменьшаться. Как только он начинает уменьшаться, вы перестаете добавлять функции.

Example1

В примере 1 (выше) вы выбираете элементы F, C, D, Aи отбрасываете другие элементы, поскольку они снижают вашу точность.

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

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

Example2

В таком сценарии, как вы выбираете свои функции? Вы только выбираете Fи бросаете все остальное? Есть ли у вас идеи, почему точность будет уменьшаться, а затем увеличиваться?

Паулина
источник

Ответы:

4

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

В вашем случае я не могу увидеть, какой метод вы используете для выбора функции, но при условии, что вы не учитываете многомерный характер зависимости функции. Скажем, у вас есть N функций, вероятная причина того, что точность вашей модели падает после n главных функций, но улучшается за счет добавления n + k (где n <k <N, когда объекты располагаются в порядке убывания, основанном на получении информации), из-за зависимость (больше релевантности и меньше избыточности) от лучших n и k функций. Однофакторный выбор признаков не обязательно дает оптимальную точность модели, когда функции взаимозависимы и не являются взаимоисключающими. С философской точки зрения набор оптимальных характеристик аналогичен цитате Аристотеля: «Целое больше, чем сумма его частей»!

Для оптимального выбора функции я часто использую пакет Caret на Rязыке, в котором можно сделать выбор функции с использованием рекурсивного исключения функций (RFE) среди нескольких других подходов. Существует также пакет под названием mRMRe для выбора функций на основе максимальной релевантности и минимальной избыточности.

Бест,
Самир

Samir
источник
Я составлял ответ с мобильного и не понимал, что предыдущие два ответа очень похожи! Моя ошибка в том, что я не комментирую и отвечаю отдельно.
Самир
Ваша точка зрения о лишних функциях нацелена на. Я проверил, и я могу подтвердить, что 3 функции с высоким информационным приростом действительно избыточны (тесно связаны друг с другом). Это объясняет, почему точность падает при совместном использовании этих функций: после первой функции дополнительная функция не добавляет новое «измерение данных» в мой набор данных, а вместо этого создает шум, потому что они только «повторяют» то, что классификаторы уже знают, спасибо первая особенность. Другие функции, однако, с меньшим выигрышем информации, добавляют новое измерение данных.
Полина
1

О конкретном вопросе

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

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

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

Рассмотреть возможность рекурсивного удаления

Метод, который вы используете, может быть не самым стабильным. Вам следует подумать о том, чтобы попробовать что-то вроде рекурсивного исключения признаков (RFE), метода-оболочки, в котором вы строите классификатор, ранжируете все функции, удаляете худшие и перестраиваете модель на оставшихся объектах. Затем вы повторите метод снова. Это будет иметь тенденцию быть более стабильным ... и вы должны ожидать разные рейтинги каждый раз.

Дисперсия также является критическим фактором

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

Javierfdr
источник
1

Вам необходимо удалить как лишние, так и нерелевантные функции из вашего набора данных. Видно, что в вашем наборе данных есть нерелевантные и избыточные функции.

Я рекомендую вам взглянуть на алгоритм выбора функции минимальной избыточности (MRMR). Это очень популярный и мощный фильтр перед тренировкой модели.

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

Это также возможно, но это приведет к более сложной модели.

Rapry
источник
1

Обычно существует три класса алгоритмов выбора признаков.

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

  • Методы обертки, различные подмножества функций которых выбираются с помощью определенных алгоритмов. Затем мы вписываемся в классификационную или регрессионную модель, чтобы оценить каждый выбор и выбрать тот, который лучше всего подходит для фитнеса. Некоторыми примерами являются Генетический алгоритм выбора объектов, оптимизация Монте-Карло для выбора объектов, пошаговый выбор вперед / назад.

  • Встроенные методы, которые позволяют самой модели выбирать функции, имеющие лучший вклад в пригодность модели. Типичными являются ЛАССО, регрессия гребня.

Вот отличная статья в деталях введения в выбор функций .

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