Вопрос о вычитании среднего значения в поезде / действительном / тестовом наборе

11

Я делаю предварительную обработку данных и собираюсь создать Convonets на моих данных после.

Мой вопрос: скажем, у меня есть общие наборы данных со 100 изображениями, я вычислял среднее значение для каждого из 100 изображений, а затем вычитал его из каждого из изображений, затем делил его на набор обучающих и проверочных данных, и я делаю то же самое шаги для обработки на данном наборе тестов, но кажется, что это неправильный способ сделать это по этой ссылке: http://cs231n.github.io/neural-networks-2/#datapre

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

Я предполагаю, что автор говорит, что не вычисляйте среднее значение и не вычитайте его в пределах каждого изображения, а вычисляйте среднее значение всего набора изображений (то есть (image1 + ... + image100) / 100) и вычитайте среднее значение для каждый из изображения.

Я не совсем понимаю, кто-нибудь может объяснить? а также, возможно, объяснить, почему то, что я делал, неправильно (если это действительно так).

Сэм
источник
Добро пожаловать в сообщество. Пожалуйста, смотрите мой ответ ниже.
usεr11852

Ответы:

6

Предположим, у вас есть 100 изображений; 90 - тренировочные данные и 10 - тестовые данные.

Авторы правильно утверждают, что использование целого образца 100 изображений для вычисления образца означает, что неверно. Это потому, что в этом случае у вас будет утечка информации. Информация из ваших элементов «вне выборки» будет перенесена в ваш тренировочный набор. В частности, для оценки , если вы используете 100 вместо 90 изображений, вы даете своему тренировочному набору более осмысленное среднее значение, чем оно должно было бы иметь. В результате ваша ошибка обучения будет потенциально ниже, чем должна быть.μ^μ^

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

usεr11852
источник
Спасибо за ответ, это имеет смысл. И да, я вычисляю среднее значение для каждого изображения, так что предполагаемый должен фактически рассчитываться по всем 90 тренировочным изображениям, а не по каждому отдельному изображению? Есть причина почему? Разве я не могу центрировать каждый отдельный образ в тренировочном наборе 90? μ^
Сэм
1
Оценка должна представлять собой само изображение. Если вы центрируете каждый в отдельности, то центрирование, которое вы делаете, не контролирует какой-либо общий тренд во всей выборке. μ^
usεr11852
@ usεr11852 Почему более информированное означает вред нашей модели? Это не приведет к тому, что информация «переменной отклика вне выборки» каким-либо образом повлияет на наше обучение, верно? Так почему же ошибка поезда будет низкой?
GeneX
1
Достоверная информация никогда не «повредит модели»; после того, как мы решим, какую модель использовать (основываясь на некоторой схеме повторной выборки / удержания), мы обучим окончательную модель всем данным . Тем не менее, при обучении, если мы оценим используя весь набор данных, эта дополнительная информация будет отражать нереальные хорошие идеи. Это может привести к более низким ошибкам тестирования, чем ожидалось, именно потому, что мы знаем что-то о данных тестов, которые иначе мы не смогли бы использовать во время обучения. ( Пример : скажем, мы разрабатываем модель физической активности. Наши данные включают подростков, взрослых и пожилых людей и (продолжение)μ^
usεr11852
... по счастливой случайности все пожилые люди попадают на тестовую площадку. Если мы вычислим средний возраст только в нашем тренировочном наборе, мы, очевидно, получим меньший средний возраст, чем тот, который имеет вся наша выборка. Использование этого явно предвзятого среднего возраста, вероятно, приведет к ухудшению характеристик модели, Aесли Aне будет распространяться на разные возрасты. Если мы вычислим средний возраст во всем наборе данных, мы получим более представительный средний возраст. Если мы теперь используем этот беспристрастный средний возраст в модели, Aмы, вероятно, получим лучшую производительность, чем раньше, несмотря на то, что Aне будем хорошо обобщать для разных возрастов.)
usεr11852