2

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

+0

Afaik, люди применяют стандартизацию для всего набора данных. Но я задал аналогичный вопрос [здесь] (http://stats.stackexchange.com/questions/212597/standardization-in-neural-network-online-training), потому что это не так просто в онлайн-учебном сценарии. – davidhigh

ответ

1

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

Позвольте мне связать вас с good course на Deep-Learning и показать вам цитату (оба из Andrej Karpathy):

Общие ловушкой. Важным моментом для предварительной обработки является то, что любая статистика предварительной обработки (например, среднее значение данных) должна вычисляться только на данные обучения, а затем применяться к данным проверки/тестирования. Например. вычисление среднего значения и вычитание его из каждого изображения по всему набору данных, а затем разделение данных на расщепления train/val/test было бы ошибкой. Вместо этого среднее значение должно вычисляться только по данным обучения, а затем вычитаться одинаково из всех расщеплений (train/val/test).

+0

Блестящий! Прочитал бы это. Я понял, что утечка была реальной, когда модель, которую я тренировал по набору данных, который был стандартизирован до сегрегации данных поезда и валидации, выдает тревожную точность 98% на предсказания тестового набора. Это было слишком хорошо, чтобы быть правдой. –