Питання про віднімання середнього значення на поїзді / дійсному / тестовому комплекті


11

Я роблю попередню обробку даних і після цього збираюся створювати конвонети на своїх даних.

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

" Загальна помилка . Важливий момент, який слід зробити про попередню обробку, полягає в тому, що будь-яка статистика попередньої обробки (наприклад, середні дані) повинна бути обчислена лише на навчальних даних, а потім застосована до даних перевірки / тестування. Наприклад, обчислення середнього значення та віднімання його від кожне зображення в усьому наборі даних, а потім розділення даних на розбивки поїздів / вал / тестів було б помилкою, натомість середнє значення повинно обчислюватися лише за навчальними даними, а потім віднімати однаково від усіх розщеплень (поїзд / вал / тест). "

Я здогадуюсь, що говорить автор, це те, що не обчислюйте середнє значення і не віднімайте його у кожному зображенні, а обчислюйте середнє значення загального набору зображень (тобто (image1 + ... + image100) / 100) і віднімайте середнє значення на кожен із зображень.

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


Ласкаво просимо до спільноти. Будь ласка, дивіться мою відповідь нижче.
usεr11852

Відповіді:


6

Припустимо, у вас є 100 зображень; 90 - це дані тренувань і 10 - дані тестування.

Автори правильно стверджують, що використання всього 100 зразка зображення для обчислення середньої вибірки неправильно. Це тому, що в цьому випадку ви мали б витік інформації. Інформація з ваших "позабіржових" елементів буде переміщена до вашого навчального набору. Зокрема, для оцінки , якщо ви використовуєте 100 замість 90 зображень, ви дозволяєте вашому навчальному набору мати більш усвідомлене значення, ніж воно також повинно мати. Як результат, ваша помилка в навчанні може бути потенційно нижчою, ніж повинна бути.μ^μ^

Оціночне значення є загальним для всієї процедури навчання / перевірки / тестування. Те саме слід використовувати для центрування всіх ваших даних. (Я згадую про це пізніше, тому що у мене є легке враження, що ви використовуєте середнє значення кожного окремого зображення для центрування цього зображення.)μ^μ^


Дякую за відповідь, це має сенс. І так, я обчислюю середнє значення для кожного зображення, тож оціночне значення насправді має бути обчислене на цілих 90 навчальних зображень замість кожного зображення? Будь-яка причина чому? Чи не можу я зосереджувати кожен окремий образ у навчальному наборі 90? μ^
Сем

1
Оцінка має бути самим зображенням. Якщо ви центрируєте кожне окремо, то центрування не контролює жодних загальних тенденцій у всій вибірці. μ^
usεr11852

@ usεr11852 Чому більш поінформований означає шкодити нашій моделі? Це не призвело б до того, що інформація "змінної відповіді поза вибіркою", жодним чином не втручається в наше навчання, правда? То чому б помилка поїзда була низькою?
GeneX

1
Дійсна інформація ніколи не «зашкодить моделі»; вирішивши, яку модель використовувати (на основі деякої схеми перекомпонування / затримки), ми будемо тренувати остаточну модель за всіма даними . Тим не менше, коли ми будемо оцінювати за допомогою всього набору даних, ця додаткова інформація буде відображати нереально хороші уявлення. Це може призвести до менших помилок тесту, ніж очікувалося саме тому, що ми знаємо щось про дані тестів, які інакше ми б не змогли використати під час навчання. ( Приклад : Скажімо, ми розробляємо модель фізичної активності. До наших даних належать підлітки, дорослі та літні люди (продовження)μ^
usεr11852

... якимось диваком всі літні люди потрапляють у тестовий набір. Якщо обчислити середній вік лише у нашому навчальному наборі, ми, очевидно, отримаємо нижчий середній вік, ніж той, що має весь наш зразок. Використання цього очевидно упередженого середнього віку, ймовірно, погіршить Aпродуктивність моделі, якщо Aвона не буде добре узагальнена для різних віків. Якщо обчислити середній вік у цілому наборі даних, ми отримаємо представницький середній вік. Якщо зараз ми будемо використовувати цей неупереджений середній вік у моделі, Aми, мабуть, отримаємо кращі показники, ніж раніше, незважаючи на те, що вони Aне
підходять загалом
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.