Как определить наиболее важные входные переменные в наборе данных? - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть программа нейронной сети, которая предназначена для ввода входных и выходных переменных и использования прогнозируемых данных для прогнозирования того, какие выходные переменные должны быть основаны на прогнозируемых данных.После запуска этой программы у меня будет выходной вектор вывода.Например, моя входная матрица состоит из 100 строк и 10 столбцов, а моя выходная матрица - это вектор со 100 значениями.Как определить, какая из моих 10 переменных (столбцов) оказала наибольшее влияние на мой результат?

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

1 Ответ

0 голосов
/ 28 февраля 2019

Если то, что вы хотите знать, это выбор модели , и это не так просто, как изучение соотношения ваших функций с вашей целью.Для более подробного и детального описания выбора модели я рекомендую вам прочитать главу 7 Элементы статистического обучения .Если вы ищете, как объяснить свою сеть , то вам также понравится, и я бы рекомендовал прочитать эту статью для начинающих, хотя я и выигралЯ не буду вдаваться в подробности.

Наивные подходы к выбору модели:

Существует несколько способов сделать это.
Наивный способ - оценить все возможные модели., поэтому каждая комбинация функций.Поскольку у вас есть 10 функций, это невыполнимо в вычислительном отношении.

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

Третий подход - противоположность.Начните с обучения модели всем функциям и последовательно отбрасывайте переменные (менее наивный подход - отбрасывать переменные, которые, по вашему мнению, имеют мало объяснительной силы), вычисляют ошибку на данных обучения и сравнивают, чтобы узнать, сохраняете ли вы функцию или нет.

Есть миллионы способов сделать это.Я раскрыл три самых простых, но, опять же, вы можете углубиться в эту тему и найти все виды различной информации (именно поэтому я настоятельно рекомендую вам прочитать эту главу :)).

...