Я знаю, что нет четкого ответа на этот вопрос, но давайте предположим, что у меня огромная нейронная сеть с большим количеством данных, и я хочу добавить новую функцию ввода. «Лучший» способ - проверить сеть с помощью новой функции и увидеть результаты, но есть ли способ проверить, полезна ли эта функция НЕПРАВИЛЬНО? Как меры корреляции ( http://www3.nd.edu/~mclark19/learn/CorrelationComparison.pdf ) и т. Д.?
16
Ответы:
Очень сильная корреляция между новой функцией и существующей функцией является довольно хорошим признаком того, что новая функция предоставляет мало новой информации. Низкая корреляция между новой функцией и существующей функцией, вероятно, предпочтительнее.
Сильная линейная корреляция между новым признаком и прогнозируемой переменной является хорошим признаком того, что новый признак будет полезен, но отсутствие высокой корреляции не является обязательным признаком плохого признака, поскольку нейронные сети не ограничиваются линейными комбинациями. переменных.
Если новая функция была создана вручную из комбинации существующих функций, рассмотрите возможность ее исключения. Прелесть нейронных сетей заключается в том, что для разработки и обработки объектов не требуется много функций - функции изучаются промежуточными слоями. Когда бы ни было возможно, предпочтите особенности обучения к разработке их.
источник
Если вы используете sklearn, есть хорошая функция под названием model.feature_importances_. Попробуйте его с вашей моделью / новой функцией и посмотрите, поможет ли это. Также посмотрите здесь и здесь для примеров.
источник