Вибір тренувальних та валідаційних даних

Розділ: Штучний інтелект

📌 Про що ця тема


Тут перевіряють, як правильно поділити набір даних для навчання моделі штучного інтелекту (машинного навчання) так, щоб вона добре працювала не лише на знайомих, а й на нових даних. Ключове поняття — поділ даних на тренувальну, валідаційну та тестову вибірки й уникнення перенавчання.


📖 Головне


• Тренувальні дані (training set) — на них модель безпосередньо навчається, підбираючи свої параметри (ваги).

• Валідаційні дані (validation set) — на них перевіряють модель під час налаштування, щоб обрати найкращі гіперпараметри й не допустити перенавчання. Модель на них НЕ навчається.

• Тестові дані (test set) — остаточна незалежна перевірка якості вже готової моделі. Використовуються один раз у кінці.

• Типовий поділ: приблизно 70% тренувальні, 15% валідаційні, 15% тестові (або 80/20, 60/20/20 — пропорції орієнтовні).

• Головна вимога: вибірки не повинні перетинатися — одні й ті самі приклади не можна одночасно використовувати для навчання й перевірки.

• Дані мають бути репрезентативними — відображати всі класи й ситуації, які трапляться реально. Якщо якийсь клас відсутній у тренуванні, модель його не розпізнає.

• Перед поділом дані часто перемішують (shuffle), щоб вибірки були збалансованими й не залежали від порядку запису.

• Перенавчання (overfitting) — модель «зазубрила» тренувальні дані, добре працює на них, але погано на нових. Ознака: висока точність на тренуванні й низька на валідації.

• Недонавчання (underfitting) — модель надто проста, погано працює навіть на тренувальних даних.

• Крос-валідація — спосіб перевірки, коли дані ділять на k частин і по черзі одну з них роблять валідаційною, а решту тренувальними; результати усереднюють.


🔢 Як це працює на прикладі


Є набір із 1000 зображень котів і собак.

Крок 1. Перемішуємо зображення, щоб коти й собаки були рівномірно розподілені.

Крок 2. Ділимо: 700 — тренувальні, 150 — валідаційні, 150 — тестові.

Крок 3. Навчаємо модель на 700 зображеннях.

Крок 4. Перевіряємо на 150 валідаційних: якщо точність на тренуванні 98%, а на валідації 70% — це перенавчання, треба спростити модель або додати даних.

Крок 5. Коли результат задовільний, робимо фінальну перевірку на 150 тестових — це чесна оцінка реальної якості.


⚠️ Типові помилки


• Плутають валідаційні й тестові дані: валідація — для налаштування під час роботи, тест — одноразова фінальна оцінка.

• Перевіряють модель на тих самих даних, на яких навчали, — оцінка виходить завищеною й несправжньою.

• Забувають перемішати дані, і в одну вибірку потрапляє лише один клас.

• Вважають високу точність на тренуванні ознакою хорошої моделі, ігноруючи перенавчання.

• Беруть надто маленьку вибірку, яка не представляє всі випадки.


🎯 Що завчити напамʼять


• Три види вибірок: тренувальна (навчання), валідаційна (налаштування), тестова (фінальна оцінка).

• Орієнтовні пропорції: 70/15/15 або 80/20.

• Перенавчання = добре на тренуванні, погано на нових даних.

• Вибірки не перетинаються; дані перемішують і роблять репрезентативними.


🧠 Перевір себе


1. Для чого потрібна валідаційна вибірка?

2. Що таке перенавчання і як його помітити?

3. Чому не можна оцінювати модель на тренувальних даних?

4. Навіщо перемішувати дані перед поділом?


Відповіді: 1 — для налаштування моделі й вибору гіперпараметрів без навчання на цих даних; 2 — модель добре працює на тренувальних даних і погано на нових; помітно за високою точністю на тренуванні й низькою на валідації; 3 — оцінка буде завищеною, бо модель уже «бачила» ці приклади; 4 — щоб класи рівномірно розподілились між вибірками й результат не залежав від порядку даних.

Перевірити себе на практиці

Прочитати — половина справи. Далі потрібні завдання цієї ж теми з розбором кожної відповіді: саме на них видно, чи справді тема закрита.