Тренувальний, затверджувальний та випробувальний набори
В машинному навчанні поширеною задачею є дослідження та побудова алгоритмів, здатних навчатися з даних та робити передбачування на них.[1] Такі алгоритми працюють, роблячи керовані даними передбачування або рішення[2] шляхом побудови математичної моделі з вхідних даних. Дані, які використовують для побудови остаточної моделі, зазвичай походять з декількох наборів даних. Зокрема, на різних етапах створення моделі зазвичай використовують три набори даних. Модель початково допасовують на тренува́льному набо́рі да́них (англ. training dataset),[3] який є набором прикладів, що використовують для допасовування параметрів моделі (наприклад, ваг з'єднань між нейронами в штучній нейронній мережі).[4] Модель (наприклад, нейронну мережу чи наївний баєсів класифікатор) тренують на тренувальному наборі даних, використовуючи якийсь метод керованого навчання, наприклад, використовуючи методи оптимізації, такі як градієнтний спуск або стохастичний градієнтний спуск. На практиці тренувальний набір даних часто складається з пар векторів (або скалярів) входу та відповідних векторів (або скалярів) виходу, де ключ відповіді зазвичай позначують як ціль (англ. target, або мітку, англ. label). Поточну модель проганяють на тренувальнім наборі даних та отримують результат, який потім порівнюють з ціллю для кожного вектору входу в тренувальнім наборі даних. На основі результату цього порівняння та конкретного використовуваного алгоритму навчання параметри моделі підганяють. Допасовування моделі може включати як обирання змінних, так й оцінювання параметрів. Далі цю допасовану модель використовують для передбачення відгуків для спостережень у другому наборі даних, званому затве́рджувальним набо́ром да́них (англ. validation dataset).[3] Затверджувальний набір даних забезпечує неупереджену оцінку допасованості моделі на тренувальному наборі даних при налаштовуванні гіперпараметрів моделі[5] (наприклад, числа прихованих вузлів (шарів та ширин шарів) у нейронній мережі[4]). Затверджувальні набори даних можливо використовувати для регуляризації шляхом ранньої зупинки (зупинки тренування, коли похибка на затверджувальному наборі даних починає зростати, оскільки це є ознакою перенавчання тренувального набору даних).[6] Ця проста процедура на практиці є ускладненою тим фактом, що похибка затверджувального набору даних може флуктувати протягом навчання, виробляючи декілька локальних мінімумів. Це ускладнення привело до створення багатьох спеціальних правил для вирішування, коли перенавчання справді почалося.[6] Нарешті, випро́бувальний набі́р да́них (англ. test dataset) — це набір даних, який використовують для забезпечення неупередженої оцінки допасованості остаточної моделі на тренувальному наборі даних.[5] Якщо дані випробувального набору ніколи не використовуються в тренуванні (наприклад, в перехреснім затверджуванні), то випробувальний набір також називають притри́маним набо́ром да́них (англ. holdout dataset). Тренувальний набір данихТренувальний набір даних (англ. training dataset) — це набір даних прикладів, які використовують під час процесу навчання, та використовують для допасовування параметрів (наприклад, ваг), наприклад, класифікатора.[7][8] Більшість підходів, які здійснюють пошук емпіричних взаємозв'язків у тренувальних даних, мають схильність до перенавчання цих даних, тобто, можуть виявляти та використовувати видимі взаємозв'язки в тренувальних даних, які в загальному випадку дійсними не є. Випробувальний набір данихВипробувальний набір даних (англ. test dataset) — це набір даних, що є незалежним від тренувального набору даних, але слідує тому же розподілові ймовірності, що й тренувальний. Якщо модель, допасована до тренувального набору даних, також добре допасовується й до випробувального набору даних, то було мінімальне перенавчання (див. рисунок нижче). Краща допасованість до тренувального набору даних, на противагу до випробувального набору даних, зазвичай вказує на перенавчання. Відтак, випробувальний набір є набором прикладів, які використовують лише для оцінювання продуктивності (тобто, узагальнюваності) повністю визначеного класифікатора.[7][8] ![]() Затверджувальний набір данихЗатверджувальний набір даних (англ. validation dataset) — це набір даних прикладів, який використовують для налаштовування гіперпараметрів (тобто, архітектури) класифікатора. Його іноді також називають розробницьким набором (англ. development set, "dev set"). До прикладів гіперпараметрів для штучних нейронних мереж належить число прихованих вузлів у кожному з шарів.[7][8] Він, як і випробувальний набір (як зазначено вище), повинен слідувати тому ж розподілові ймовірності, що й тренувальний набір даних. Щоби запобігати перенавчанню, коли будь-який параметр класифікації вимагає підлаштовування, необхідно мати затверджувальний набір даних на додачу до тренувального та випробувального наборів даних. Наприклад, якщо шукають найпридатніший класифікатор для заданої задачі, тренувальний набір даних використовують для тренування алгоритмів-кандидатів, затверджувальний набір використовують для порівнювання їхньої продуктивності й вирішування, який з них взяти, і, нарешті, випробувальний набір даних використовують для отримання характеристик продуктивності, таких як точність, чутливість, специфічність, F-міра тощо. Випробувальний набір діє гібридно: він є тренувальними даними, які використовують для випробування, але не є ані частиною низькорівневого тренування, ані частиною остаточного випробування. Спрощений процес застосування затверджувального набору даних для обирання моделі (як частини з-поміж тренувального, затверджувального та випробувального наборів даних) виглядає так:[8][9]
Цей метод застосовують в ранній зупинці, де моделі-кандидати є послідовними ітераціями однієї й тієї ж мережі, й де тренування припиняють, коли похибка на затверджувальному наборі показує зростання, обираючи попередню модель (ту, що з мінімальною похибкою). Притриманий набірЧастину первинного набору даних може бути відкладено, й використано як випробувальний набір: це є відомим як ме́тод притри́мування (англ. holdout method).[10] Плутанина в термінологіїТерміни випробувальний набір (англ. test set) та затверджувальний набір (англ. validation set), як в академічному середовищі, так і в промисловості, іноді використовують таким чином, що їхні значення міняються місцями. В помилковому застосуванні «випробувальний набір» стає розробницьким набором (англ. development set), а «затверджувальний набір» є незалежним набором, який використовують для оцінювання продуктивності повністю визначеного класифікатора.
Перехресне затверджуванняНабір даних може бути повторювано розбивано на тренувальний та затверджувальний набори: це є відомим як перехресне затверджування. Ці повторювані розбиття може бути виконувано різними способами, такими як поділ на 2 рівні набори значень та використання їх як тренувального/затверджувального, а потім як затверджувального/тренувального, або як повторюване вибирання випадкового піднабору як затверджувального набору даних.[джерело?] Для затверджування продуктивності моделі іноді використовують додатковий набір даних, притриманий від перехресного затверджування. Ієрархічна класифікаціяІншим прикладом підлаштовування параметрів є ієрархі́чна класифіка́ція (англ. hierarchical classification, іноді звана ро́зкладом про́стору зразкі́в, англ. instance space decomposition[12]), яка розбиває повну багатокласову задачу на набір менших задач класифікації. Вона слугує навчанню точніших понять через простіші межі класифікації в підзадачах, та окремі процедури обирання ознак для підзадач. При здійсненні розкладання класифікації центральним вибором є порядок поєднання менших кроків класифікації, званий шляхом класифікації (англ. classification path). Залежно від застосування, його можливо виводити з матриці невідповідностей, розкриванням причин типових помилок, та пошуком шляхів запобігання повторюванню їх системою в майбутньому. Наприклад,[13] на затверджувальному наборі видно класи, які система найчастіше взаємно плутає між собою, тоді розклад простору зразків виконують наступним чином: спершу класифікацію виконують серед добре розпізнаваних класів, а класи, розділювати які складно, розглядають як єдиний спільний клас, а тоді, як другий крок класифікації, цей спільний клас класифікують на ті два взаємно переплутувані класи. Комерційні інструментиДля створювання тренувальних даних існують комерційні інструменти, такі як Diffgram [Архівовано 15 серпня 2020 у Wayback Machine.] та Supervisely [Архівовано 18 липня 2020 у Wayback Machine.].[14] Див. такожПримітки
Посилання
|
Portal di Ensiklopedia Dunia