Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Оцінювання Моделі | Нейронна Мережа з Нуля
Вступ до нейронних мереж

bookОцінювання Моделі

Розподіл даних

Після навчання нейронної мережі необхідно оцінити її ефективність на невідомих даних. Це дозволяє зрозуміти, чи дійсно модель навчилася корисним закономірностям, чи лише запам’ятала навчальні дані. Для цього датасет розділяють на дві частини:

  • Навчальна вибірка: ця частина даних використовується для навчання нейронної мережі, дозволяючи їй коригувати ваги та зміщення за допомогою зворотного поширення помилки;
  • Тестова вибірка: після навчання модель оцінюється на цій окремій вибірці, щоб виміряти, наскільки добре вона узагальнює нові, невідомі приклади.

Типове співвідношення — 80% навчання / 20% тестування, хоча воно може змінюватися залежно від розміру та складності датасету.

Розділення на навчальну та тестову вибірки зазвичай виконується за допомогою функції train_test_split() з модуля sklearn.model_selection:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)

Параметр test_size визначає частку датасету, яка буде використана як тестова вибірка. Наприклад, якщо встановити test_size=0.1, то 10% даних буде використано для тестування, а решта 90% — для навчання.

Якщо модель добре працює на навчальних даних, але погано — на тестових, це може свідчити про перенавчання: модель запам’ятала навчальну вибірку замість того, щоб навчитися узагальнювати закономірності. Мета — досягти високої точності на тестових даних при збереженні гарної здатності до узагальнення.

Після навчання моделі необхідно кількісно оцінити її ефективність за допомогою метрик. Вибір метрики залежить від конкретного завдання класифікації.

Метрики класифікації

Для задач класифікації можна використовувати кілька ключових метрик для оцінки прогнозів моделі:

  • точність;
  • точність позитивних прогнозів (precision);
  • повнота (recall);
  • F1-міра.

Оскільки перцептрон виконує бінарну класифікацію, створення матриці плутанини допоможе краще зрозуміти ці метрики.

Note
Визначення

Матриця плутанини — це таблиця, яка підсумовує ефективність класифікації моделі шляхом порівняння прогнозованих міток із фактичними. Вона дає уявлення про кількість правильних і неправильних прогнозів для кожного класу (1 і 0).

Точність (Accuracy) визначає частку правильно класифікованих зразків від загальної кількості. Якщо модель правильно класифікує 90 із 100 зображень, її точність становить 90%.

accuracy=correctall=TP+TNTP+TN+FP+FN\text{accuracy} = \frac {\text{correct}} {\text{all}} = \frac {TP + TN} {TP + TN + FP + FN}

Хоча точність є корисною метрикою, вона не завжди дає повну картину—особливо для незбалансованих наборів даних. Наприклад, у наборі, де 95% зразків належать до одного класу, модель може досягти 95% точності, просто завжди передбачаючи більшість класу—без реального навчання. У таких випадках більш інформативними можуть бути precision, recall або F1-міра.

Precision (прецизійність) — це відсоток правильно передбачених позитивних випадків серед усіх передбачених позитивних. Ця метрика особливо важлива, коли помилкові позитивні результати є дорогими, наприклад, при виявленні спаму або шахрайства.

precision=correct positivepredicted positive=TPTP+FP\text{precision} = \frac {\text{correct positive}} {\text{predicted positive}} = \frac {TP} {TP + FP}

Recall (чутливість) визначає, яку частку реальних позитивних випадків модель правильно ідентифікує. Висока recall є критичною у ситуаціях, коли потрібно мінімізувати кількість пропущених позитивних випадків, наприклад, у медичній діагностиці.

recall=correct positiveall positive=TPTP+FN\text{recall} = \frac {\text{correct positive}} {\text{all positive}} = \frac {TP} {TP + FN}

F1-міра — це гармонійне середнє точності та повноти, що забезпечує збалансовану оцінку, коли важливі як хибнопозитивні, так і хибнонегативні результати. Це корисно, коли набір даних є незбалансованим, тобто один клас зустрічається значно частіше за інший.

F1=2×precision×recallprecision+recall\text{F1} = \frac {2 \times \text{precision} \times \text{recall}} {\text{precision} + \text{recall}}

1. Яка основна мета розділення вашого набору даних на тренувальну та тестову вибірки?

2. Чому F1-міра може бути кращою за точність на незбалансованому наборі даних?

question mark

Яка основна мета розділення вашого набору даних на тренувальну та тестову вибірки?

Select the correct answer

question mark

Чому F1-міра може бути кращою за точність на незбалансованому наборі даних?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 11

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain what a confusion matrix is and how to interpret it?

How do I choose which metric to use for my classification problem?

Can you give examples of when to prioritize precision over recall, or vice versa?

Awesome!

Completion rate improved to 4

bookОцінювання Моделі

Свайпніть щоб показати меню

Розподіл даних

Після навчання нейронної мережі необхідно оцінити її ефективність на невідомих даних. Це дозволяє зрозуміти, чи дійсно модель навчилася корисним закономірностям, чи лише запам’ятала навчальні дані. Для цього датасет розділяють на дві частини:

  • Навчальна вибірка: ця частина даних використовується для навчання нейронної мережі, дозволяючи їй коригувати ваги та зміщення за допомогою зворотного поширення помилки;
  • Тестова вибірка: після навчання модель оцінюється на цій окремій вибірці, щоб виміряти, наскільки добре вона узагальнює нові, невідомі приклади.

Типове співвідношення — 80% навчання / 20% тестування, хоча воно може змінюватися залежно від розміру та складності датасету.

Розділення на навчальну та тестову вибірки зазвичай виконується за допомогою функції train_test_split() з модуля sklearn.model_selection:

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=...)

Параметр test_size визначає частку датасету, яка буде використана як тестова вибірка. Наприклад, якщо встановити test_size=0.1, то 10% даних буде використано для тестування, а решта 90% — для навчання.

Якщо модель добре працює на навчальних даних, але погано — на тестових, це може свідчити про перенавчання: модель запам’ятала навчальну вибірку замість того, щоб навчитися узагальнювати закономірності. Мета — досягти високої точності на тестових даних при збереженні гарної здатності до узагальнення.

Після навчання моделі необхідно кількісно оцінити її ефективність за допомогою метрик. Вибір метрики залежить від конкретного завдання класифікації.

Метрики класифікації

Для задач класифікації можна використовувати кілька ключових метрик для оцінки прогнозів моделі:

  • точність;
  • точність позитивних прогнозів (precision);
  • повнота (recall);
  • F1-міра.

Оскільки перцептрон виконує бінарну класифікацію, створення матриці плутанини допоможе краще зрозуміти ці метрики.

Note
Визначення

Матриця плутанини — це таблиця, яка підсумовує ефективність класифікації моделі шляхом порівняння прогнозованих міток із фактичними. Вона дає уявлення про кількість правильних і неправильних прогнозів для кожного класу (1 і 0).

Точність (Accuracy) визначає частку правильно класифікованих зразків від загальної кількості. Якщо модель правильно класифікує 90 із 100 зображень, її точність становить 90%.

accuracy=correctall=TP+TNTP+TN+FP+FN\text{accuracy} = \frac {\text{correct}} {\text{all}} = \frac {TP + TN} {TP + TN + FP + FN}

Хоча точність є корисною метрикою, вона не завжди дає повну картину—особливо для незбалансованих наборів даних. Наприклад, у наборі, де 95% зразків належать до одного класу, модель може досягти 95% точності, просто завжди передбачаючи більшість класу—без реального навчання. У таких випадках більш інформативними можуть бути precision, recall або F1-міра.

Precision (прецизійність) — це відсоток правильно передбачених позитивних випадків серед усіх передбачених позитивних. Ця метрика особливо важлива, коли помилкові позитивні результати є дорогими, наприклад, при виявленні спаму або шахрайства.

precision=correct positivepredicted positive=TPTP+FP\text{precision} = \frac {\text{correct positive}} {\text{predicted positive}} = \frac {TP} {TP + FP}

Recall (чутливість) визначає, яку частку реальних позитивних випадків модель правильно ідентифікує. Висока recall є критичною у ситуаціях, коли потрібно мінімізувати кількість пропущених позитивних випадків, наприклад, у медичній діагностиці.

recall=correct positiveall positive=TPTP+FN\text{recall} = \frac {\text{correct positive}} {\text{all positive}} = \frac {TP} {TP + FN}

F1-міра — це гармонійне середнє точності та повноти, що забезпечує збалансовану оцінку, коли важливі як хибнопозитивні, так і хибнонегативні результати. Це корисно, коли набір даних є незбалансованим, тобто один клас зустрічається значно частіше за інший.

F1=2×precision×recallprecision+recall\text{F1} = \frac {2 \times \text{precision} \times \text{recall}} {\text{precision} + \text{recall}}

1. Яка основна мета розділення вашого набору даних на тренувальну та тестову вибірки?

2. Чому F1-міра може бути кращою за точність на незбалансованому наборі даних?

question mark

Яка основна мета розділення вашого набору даних на тренувальну та тестову вибірки?

Select the correct answer

question mark

Чому F1-міра може бути кращою за точність на незбалансованому наборі даних?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 11
some-alt