Я учусь о выборе функций. Я понимаю, почему это важно и полезно для построения моделей. Но давайте сосредоточимся на контролируемых задачах обучения (классификации). Почему выбор характеристик важен для задач классификации?
Я вижу много литературы, написанной о выборе функций и их использовании для обучения под наблюдением, но это меня озадачивает. Выбор функции заключается в определении того, какие функции следует выбросить. Интуитивно понятно, что отбрасывание некоторых функций кажется самоубийственным: это выбрасывание информации. Кажется, что выбрасывание информации не должно помочь.
И даже если удаление некоторых функций действительно помогает, если мы отбрасываем некоторые функции, а затем вводим остальные в алгоритм контролируемого обучения, почему мы должны делать это сами, а не позволять алгоритму контролируемого обучения обрабатывать его? Если какая-то функция бесполезна, не должен ли какой-либо приличный алгоритм обучения под наблюдением неявно обнаруживать это и изучать модель, которая не использует эту функцию?
Так что интуитивно я ожидал, что выбор функций будет бессмысленным упражнением, которое никогда не помогает, а иногда и может причинить вред. Но тот факт, что он так широко используется и написан, заставляет меня подозревать, что моя интуиция ошибочна. Может ли кто-нибудь представить какую-то интуицию, почему выбор функций полезен и важен при обучении под наблюдением? Почему это улучшает производительность машинного обучения? Зависит ли это от того, какой классификатор я использую?