Важливим моментом у статистичному машинному навчанні є те, що гарантій немає . Коли ви оцінюєте результативність за допомогою витриманого набору, це лише оцінка . Оцінки можуть бути помилковими.
Це потребує певного звикання, але це щось, з чим вам доведеться комфортно. Коли ви кажете "Що робити, якщо продуктивність насправді погіршиться?", Відповідь впевнена, що це може статися. Фактична ефективність може бути гіршою, ніж ви оцінили / прогнозували. Це може бути і краще. І те й інше можливо. Це неминуче. Існує якась притаманна невиправна невизначеність.
Коли ви оцінюєте ефективність за допомогою проведеного тестового набору, ви використовуєте дані минулого, щоб спробувати передбачити майбутні показники. Як кажуть, минулі результати не є гарантією майбутніх результатів . Це факт життя, який ми просто маємо прийняти.
Ви не можете дозволити цьому знерухомити вас. Те, що можна зробити гірше, ніж ви передбачили, не є причиною уникати використання в виробництві моделі, навченої за даними. Зокрема, це також можливо зробити погано, якщо ви цього не зробите. Можливо, що модель, навчена за всіма даними (поїзд + перевірка + тест), буде гіршою, ніж модель, що навчається лише на частині поїзда + перевірка. Можливо також, що буде краще. Отже, замість того, щоб шукати гарантію, ми повинні запитати себе: що дає нам найкращі шанси на успіх? Що, швидше за все, є найбільш ефективним?
І в цьому випадку, коли ви хочете розгорнути виробництво, найкраще, що ви можете зробити, - це використовувати всі доступні вам дані. З точки зору очікуваної продуктивності використання всіх даних не гірше, ніж використання деяких даних, і, можливо, краще. Отже, ви можете також використовувати всі доступні вам дані для навчання моделі під час створення виробничої моделі. Все ще може йти погано - завжди можна стати нещасливим, коли застосовувати статистичні методи - але це дає найкращий шанс, щоб справи йшли добре.
Зокрема, стандартна практика така:
Запишіть частину своїх даних у витриманий тестовий набір. Немає жорсткого правила про те, яку фракцію використовувати, але, наприклад, ви можете залишити 20% для тестового набору, а решту 80% зберегти для тренування та перевірки. У нормі всі розбиття повинні бути випадковими.
Далі, використовуйте дані тренінгу та валідації, щоб спробувати декілька архітектур та гіперпараметрів, експериментуючи, щоб знайти найкращу модель, яку ви можете. Візьміть 80%, збережені для тренування та валідації, і розділіть його на навчальний набір та набір валідацій, а також тренуйте модель, використовуючи навчальний набір, а потім виміряйте її точність на наборі перевірки. Якщо ви використовуєте перехресну перевірку, ви будете робити це розділення багато разів і середнє значення результатів набір перевірки; якщо ви цього не зробите, ви зробите один розрив (наприклад, 70% / 30% розбиття на 80%, або щось подібне) і оціните ефективність набору для перевірки. Якщо у вас є багато гіперпараметрів, які потрібно спробувати, зробіть це один раз для кожного встановленого параметрами гіперпараметра. Якщо у вас є багато архітектур, які потрібно спробувати, зробіть це для кожної архітектури-кандидата. Ви можете повторити це, використовуючи те, що ви
Після того, як ви щасливі, ви заморожуєте вибір архітектури, гіперпараметрів тощо. Тепер ваше експериментування закінчено. Після того, як ви потрапили на цю точку, ви більше ніколи не можете спробувати будь-які інші варіанти (не отримуючи новий тестовий набір) - тому не натискайте на цю точку, поки не будете впевнені, що готові.
Коли ви будете готові, ви тренуєте модель на повному наборі навчання + перевірка (що на 80%), використовуючи архітектуру та гіперпараметри, які ви вибрали раніше. Потім виміряйте його точність на проведеному тестовому наборі. Це ваша оцінка / прогноз щодо того, наскільки точним буде цей підхід моделювання. Ви отримуєте тут єдиний номер. Це число таке, що воно є: якщо ви цим не задоволені, ви не можете повернутися до кроків 1 і 2 і зробити більше експериментів; це було б недійсним.
Нарешті, для використання у виробництві ви можете навчити модель на всьому наборі даних, навчання + валідація + тестовий набір та ввести його у виробниче використання. Зауважте, що ви ніколи не вимірюєте точність цієї виробничої моделі, оскільки у вас немає інших даних для цього; Ви вже використали всі дані. Якщо ви хочете оцінити, наскільки добре вона буде виконана, ви маєте право використовувати орієнтовну точність з кроку 4 як прогнозування того, наскільки добре це буде виконано у виробництві, оскільки це найкращий доступний прогноз його майбутніх показників. Як завжди, гарантій немає - це лише найкраща можлива оцінка з огляду на доступну нам інформацію. Це, безумовно, можливо, що це може зробити гірше, ніж ви передбачили, або краще, ніж ви передбачили - це завжди правда.