Как выбрать функции для нейронной сети?

16

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

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

Ответы:

16

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

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

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

Мэдисон Мэй
источник
Я всегда думал, чтобы сравнить значение для прогнозирования с функциями, вы говорите о корреляции между функциями. Применим ли ваш ответ и к моему делу? в теории я должен добавлять только новые функции, которые соотносятся со значением для прогнозирования, верно?
Маркодена
Это также ценный показатель - только что обновил мой ответ, чтобы исправить это.
Мэдисон, май,
Короче говоря, сильная корреляция со значением для прогнозирования является отличным признаком, но слабая корреляция со значением для прогнозирования не обязательно является плохим признаком.
Мэдисон, май,
Благодарю. Я пишу отчет, и я хотел показать линейные / нелинейные корреляции, чтобы оправдать особенности (даже до результатов). Есть ли смысл? Из вашего ответа я мог бы составить матрицу корреляций, но, возможно, это чепуха
marcodena
1
Я бы использовал нелинейные корреляции, но хорошо, спасибо
marcodena
0

Если вы используете sklearn, есть хорошая функция под названием model.feature_importances_. Попробуйте его с вашей моделью / новой функцией и посмотрите, поможет ли это. Также посмотрите здесь и здесь для примеров.

Aniket
источник