Sto imparando a selezionare le funzionalità. Vedo perché sarebbe importante e utile, per la costruzione di modelli. Ma concentriamoci sulle attività di apprendimento supervisionato (classificazione). Perché la selezione delle funzionalità è importante per le attività di classificazione?
Vedo molta letteratura scritta sulla selezione delle caratteristiche e sul suo utilizzo per l'apprendimento supervisionato, ma questo mi confonde. La selezione delle funzionalità riguarda l'identificazione delle funzioni da eliminare. Intuitivamente, gettare via alcune caratteristiche sembra controproducente: sta gettando via informazioni. Sembra che il lancio di informazioni non dovrebbe aiutare.
E anche se la rimozione di alcune funzionalità aiuta, se stiamo buttando via alcune funzionalità e poi alimentiamo il resto in un algoritmo di apprendimento supervisionato, perché dobbiamo farlo da soli, piuttosto che lasciare che l'algoritmo di apprendimento supervisionato lo gestisca? Se alcune funzionalità non sono utili, nessun algoritmo di apprendimento supervisionato decente non dovrebbe scoprirlo implicitamente e apprendere un modello che non utilizza tale funzionalità?
In modo così intuitivo, mi sarei aspettato che la selezione delle funzionalità fosse un esercizio inutile che non aiuta mai e che a volte può far male. Ma il fatto che sia così ampiamente usato e scritto mi fa sospettare che il mio intuito sia difettoso. Qualcuno può fornire qualche intuizione perché la selezione delle funzionalità è utile e importante quando si fa l'apprendimento supervisionato? Perché migliora le prestazioni dell'apprendimento automatico? Dipende da quale classificatore utilizzo?