Визначте, що саме варіюється, а що є повторенням
Почніть із запитання: ви оцінюєте ефект ініціалізації навчання, порядку даних, розбиття train/test чи стохастичної генерації? Зерно керує генератором випадкових чисел; саме по собі воно не ідентифікує всі ці виміри. Зберігайте по одному рядку на кожен запуск і фіксуйте фактори, які справді змінювалися.
Десятиразовий повторний запуск детермінованого оцінювання того самого чекпойнта на тому самому корпусі не дає десяти незалежних навчань. Так само тисяча прогнозів від однієї моделі не замінює кількох навчань для оцінювання їхньої варіативності. Обирайте одиницю повторення відповідно до рішення.
Заздалегідь, до початку серії, зафіксуйте основну метрику, її напрям і мінімальний ефект, який виправдав би зміну. У наведених нижче прикладах вище значення є кращим, а ілюстративний корисний поріг становить 0,30 пункту за метрикою, що відображається від 0 до 100. Цей поріг випливає з рішення проєкту, а не з універсального статистичного правила.
Зіставляйте конфігурації за спільних умов
Для пари i запустіть базовий варіант A і кандидат B на тому самому розбитті даних і за передбачених спільних умов. Потім обчисліть dᵢ = score(Bᵢ) − score(Aᵢ). Зіставлення спирається на відповідність, визначену до отримання результатів; воно не полягає в тому, щоб потім об’єднувати схожі за значенням оцінки.
Використання того самого списку зерен може допомогти впорядкувати пари, але дві архітектури можуть по-різному споживати випадкові числа. Окремо оголошуйте зерна ініціалізації, даних і генерації, якщо ваш код їх розрізняє. Також зберігайте розбиття або їхні ідентифікатори: спільне ціле число не доводить, що дані було пройдено однаково.
Якщо пара містить збій, збережіть обидва статуси й поясніть, як її буде оброблено. Не порівнюйте середнє п’яти успішних кандидатів із середнім шести базових варіантів, не зазначивши зміну сукупності.
Технічні джерела: NIST — відповідність між парними спостереженнями
Зберігайте застереження щодо зерна та детермінізму
PyTorch зазначає, що повністю відтворювані результати не гарантуються між версіями, платформами або запусками на CPU й GPU, навіть за однакового зерна. Його посібник розрізняє контроль генераторів і контроль недетермінованих операцій. Записуйте версії та застосовані опції, а не зводьте середовище до позначки «зерно зафіксовано».
Детермінований запуск слугує, зокрема, для відтворення поведінки за заданих умов. Він не доводить, що модель стійка до інших ініціалізацій чи даних. І навпаки, розбіжність між двома ідентичними перезапусками варта діагностики, перш ніж тлумачити її як ефект кандидата.
Зберігайте ту саму політику детермінізму для обох варіантів. Якщо ви змінюєте її, щоб діагностувати помилку, позначте цю серію окремо. Експериментальний результат має залишатися прив’язаним до умов, у яких його було отримано.
Технічні джерела: PyTorch 2.14 — відтворюваність і контроль випадковості
Обчислений приклад: п’ять парних різниць
Ось п’ять вигаданих пар, призначених для обчислення, без виконаного навчання. Зерна є прикладами ідентифікаторів. Базовий варіант і кандидат використовують тут той самий протокол порівняння. Оцінки подано за шкалою до 100; різниці — це пункти, а не відносні відсотки.
Середнє різниць дорівнює (0,4 + 0,3 + 0,1 + 0,5 + 0,1) / 5 = 0,28 пункту. Їхня медіана становить 0,30 пункту, а розмах — від 0,10 до 0,50. Вибіркове стандартне відхилення різниць становить приблизно 0,179 пункту за знаменника n − 1. Усі п’ять знаків додатні, але амплітуда залишається значною порівняно із середнім приростом.
| Ілюстративне зерно | Базовий варіант A | Кандидат B | B − A |
|---|---|---|---|
| 17 | 71,0 | 71,4 | +0,4 |
| 29 | 71,6 | 71,9 | +0,3 |
| 43 | 71,3 | 71,4 | +0,1 |
| 71 | 70,8 | 71,3 | +0,5 |
| 101 | 71,8 | 71,9 | +0,1 |
Читайте інтервал, не надаючи йому надмірного значення
Щоб проілюструвати звичайне обчислення, припустімо, що різниці між парами незалежні та походять із приблизно нормального розподілу. 95-відсотковий інтервал Стьюдента для їхнього середнього використовує тут чотири ступені свободи: 0,28 ± 2,776 × 0,080, тобто приблизно [0,058; 0,502] пункту. Лише з п’ятьма парами форму розподілу важко оцінити; обчислення не робить цих припущень істинними.
Цей інтервал у прикладі лежить вище нуля, але він охоплює корисний поріг, встановлений на 0,30 пункту. Тому він не підтверджує вимогливе правило «середній виграш перевищує 0,30 пункту». Позитивна різниця може залишатися занадто малою або занадто невизначеною, щоб виправдати зміну.
Інтервал на 95 % описує процедуру покриття за її припущеннями, а не ймовірність 95 %, прив’язану до параметра після обчислення. Тут він охоплює лише варіацію, представлену парами, а не автоматично іншу предметну область, інший корпус чи майбутнє обладнання.
Якщо ви використовуєте SciPy, ttest_rel порівнює пов’язані вибірки та пропонує довірчий інтервал. Порядок масивів визначає знак: для B − A поставте B першим. Зберігайте значення та використаний метод, а не лише p-значення.
Технічні джерела: NIST — довірчий інтервал для середнього · SciPy 1.18 — ttest_rel та інтервал різниць
Підготувати рішення та наступні повторення
Результат прикладу — «корисний виграш не встановлено», а не «кандидат непотрібний». Залежно від вартості зміни ви можете зберегти базовий варіант, продовжити збір даних або перевірити суттєвішу модифікацію. Оголосіть це правило до того, як побачите серію. Нижня межа вище вашого корисного порогу додатково підтримала б впровадження, за умови що решта протоколу є валідною.
Плануйте повторення виходячи з потрібної точності та очікуваної варіативності, із запасом на невдачі. Не існує кількості зерен, яка універсально гарантує висновок. Пілотний запуск може допомогти оцінити розсіювання; збережіть його дослідницький статус, а потім зафіксуйте процедуру підтвердження.
Уникайте перегляду після кожної пари з наступним зупиненням, щойно результат стає сприятливим, використовуючи інтервал, розрахований на фіксовану кількість. Виберіть кількість і аналіз заздалегідь або відповідний послідовний метод. Додавання спроб лише до невдалого кандидата також змінює баланс порівняння.
Не плутати варіативність навчання та оцінювання на корпусі
Серія зерен на фіксованому тестовому наборі показує варіацію навчань на цьому наборі. Вона сама по собі не вимірює невизначеність, пов’язану з вибором тестових прикладів. Якщо ваше питання стосується також розбиттів чи предметних областей, передбачте план, який варіює ці виміри, не змішуючи їх в одному лічильнику повторень.
Тримайте фінальне оцінювання осторонь від вибору моделей. Вибір серед багатьох варіантів на тому самому тесті сприяє тим, які виглядають добре випадково. Підгрупи та додаткові метрики мають прояснювати рішення, з видимою їхньою кількістю та дослідницьким статусом.
Фінальний вивід об’єднує сирі бали, пари, різниці, розсіювання, метод інтервалу та рішення щодо корисного порогу. Додайте невдачі та межі узагальнення. Тоді ви зможете пояснити, чому розбіжність видається вам достатньою, недостатньою чи ще невизначуваною.
Технічні джерела: scikit-learn — тримати тест поза вибором моделі
Практичні питання
Чи достатньо п’яти зерен для вибору?
П’ять зерен можуть слугувати для першого спостереження, але вони не гарантують достатньої точності. Потрібна кількість залежить від варіативності та найменшого корисного ефекту. Розгляньте сирі різниці та невизначеність; результат, що залишається невизначуваним, вимагає краще розрахованого протоколу, а не магічного числа.
Чи доводить інтервал, що містить нуль, еквівалентність?
Інтервал, що містить нуль, не доводить еквівалентності. Він також може бути сумісним із значними виграшами чи втратами. Щоб підтвердити практичну еквівалентність, заздалегідь зафіксуйте прийнятний запас і використайте аналіз, придатний для цього питання, з достатньою точністю для його розгляду.
Чи можу я опублікувати лише найкраще зерно?
Найкраще зерно описує сприятливий відбір, а не типову продуктивність процедури. Публікуйте весь набір запланованих повторень і правило вибору поставленої моделі. Якщо цю найкращу модель потрібно оцінити, використайте фінальне оцінювання, яке не слугувало для її вибору.