Wiem, że nie ma jednoznacznej odpowiedzi na to pytanie, ale załóżmy, że mam ogromną sieć neuronową z dużą ilością danych i chcę dodać nową funkcję na wejściu. „Najlepszym” sposobem byłoby przetestowanie sieci za pomocą nowej funkcji i zobaczenie wyników, ale czy istnieje metoda sprawdzania, czy funkcja JEST NIEPRAWDOPODOBNIE? Jak miary korelacji ( http://www3.nd.edu/~mclark19/learn/CorrelationComparison.pdf ) itp.?
16
Odpowiedzi:
Bardzo silna korelacja między nową i istniejącą funkcją jest dość dobrym znakiem, że nowa funkcja zapewnia niewiele nowych informacji. Prawdopodobnie preferowana jest niska korelacja między nową funkcją a istniejącymi funkcjami.
Silna korelacja liniowa między nową cechą a przewidywaną zmienną jest dobrym znakiem, że nowa cecha będzie cenna, ale brak wysokiej korelacji nie jest konieczny, oznaką słabej cechy, ponieważ sieci neuronowe nie są ograniczone do kombinacji liniowych zmiennych.
Jeśli nowa funkcja została ręcznie zbudowana z połączenia istniejących funkcji, rozważ jej pominięcie. Piękno sieci neuronowych polega na tym, że niewiele wymaga inżynierii cech i przetwarzania wstępnego - funkcje są uczone przez warstwy pośrednie. O ile to możliwe, wolą funkcje edukacyjne niż je opracowywać.
źródło
Jeśli używasz sklearn, dostępna jest dobra funkcja o nazwie model.feature_importances_. Wypróbuj swój model / nową funkcję i sprawdź, czy to pomoże. Zobacz także tutaj i tutaj przykłady.
źródło