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

bookНалаштування гіперпараметрів

Гіперпараметри в нейронних мережах

Нейронні мережі, включаючи перцептрони, мають кілька гіперпараметрів, які впливають на їхню продуктивність. На відміну від параметрів моделі (наприклад, ваг і зміщень), гіперпараметри встановлюються до початку навчання. Основні гіперпараметри в перцептронах включають:

  • Кількість прихованих шарів і нейронів у кожному шарі: визначає здатність моделі вивчати складні закономірності. Занадто мала кількість нейронів призводить до недонавчання, а надто велика — до перенавчання;

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

  • Кількість епох навчання: визначає, скільки разів модель переглядає навчальні дані. Більша кількість епох дозволяє краще навчитися, але надмірна кількість може призвести до перенавчання.
Note
Примітка

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

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

Налаштування гіперпараметрів

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

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

1234567891011121314151617181920212223
from sklearn.neural_network import MLPClassifier from sklearn.metrics import accuracy_score import numpy as np import warnings # Ignore warnings warnings.filterwarnings("ignore") import os os.system('wget https://codefinity-content-media.s3.eu-west-1.amazonaws.com/f9fc718f-c98b-470d-ba78-d84ef16ba45f/section_2/data.py 2>/dev/null') from data import X_train, y_train, X_test, y_test np.random.seed(10) # Tweak hyperparameters here model = MLPClassifier(max_iter=100, hidden_layer_sizes=(6, 6), learning_rate_init=0.01, random_state=10) model.fit(X_train, y_train) y_pred_train = model.predict(X_train) y_pred_test = model.predict(X_test) # Comparing train set accuracy and test set accuracy train_accuracy = accuracy_score(y_train, y_pred_train) test_accuracy = accuracy_score(y_test, y_pred_test) print(f'Train accuracy: {train_accuracy:.3f}') print(f'Test accuracy: {test_accuracy:.3f}')
copy

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

Навчання нейронної мережі зазвичай відбувається ітеративно:

  1. Визначення моделі з початковими гіперпараметрами;
  2. Навчання моделі на тренувальній вибірці;
  3. Оцінка якості на тестовій вибірці;
  4. Коригування гіперпараметрів (наприклад, кількість шарів, швидкість навчання);
  5. Повторення процесу до досягнення бажаної якості.

Таке ітеративне вдосконалення забезпечує хорошу здатність моделі до узагальнення на нових даних.

1. Який із наведених є гіперпараметром, а не параметром моделі?

2. Занадто велика швидкість навчання, найімовірніше, призведе до:

question mark

Який із наведених є гіперпараметром, а не параметром моделі?

Select the correct answer

question mark

Занадто велика швидкість навчання, найімовірніше, призведе до:

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

What are some best practices for hyperparameter tuning in neural networks?

Can you explain the difference between grid search and random search?

How do I know if my model is overfitting or underfitting?

Awesome!

Completion rate improved to 4

bookНалаштування гіперпараметрів

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

Гіперпараметри в нейронних мережах

Нейронні мережі, включаючи перцептрони, мають кілька гіперпараметрів, які впливають на їхню продуктивність. На відміну від параметрів моделі (наприклад, ваг і зміщень), гіперпараметри встановлюються до початку навчання. Основні гіперпараметри в перцептронах включають:

  • Кількість прихованих шарів і нейронів у кожному шарі: визначає здатність моделі вивчати складні закономірності. Занадто мала кількість нейронів призводить до недонавчання, а надто велика — до перенавчання;

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

  • Кількість епох навчання: визначає, скільки разів модель переглядає навчальні дані. Більша кількість епох дозволяє краще навчитися, але надмірна кількість може призвести до перенавчання.
Note
Примітка

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

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

Налаштування гіперпараметрів

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

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

1234567891011121314151617181920212223
from sklearn.neural_network import MLPClassifier from sklearn.metrics import accuracy_score import numpy as np import warnings # Ignore warnings warnings.filterwarnings("ignore") import os os.system('wget https://codefinity-content-media.s3.eu-west-1.amazonaws.com/f9fc718f-c98b-470d-ba78-d84ef16ba45f/section_2/data.py 2>/dev/null') from data import X_train, y_train, X_test, y_test np.random.seed(10) # Tweak hyperparameters here model = MLPClassifier(max_iter=100, hidden_layer_sizes=(6, 6), learning_rate_init=0.01, random_state=10) model.fit(X_train, y_train) y_pred_train = model.predict(X_train) y_pred_test = model.predict(X_test) # Comparing train set accuracy and test set accuracy train_accuracy = accuracy_score(y_train, y_pred_train) test_accuracy = accuracy_score(y_test, y_pred_test) print(f'Train accuracy: {train_accuracy:.3f}') print(f'Test accuracy: {test_accuracy:.3f}')
copy

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

Навчання нейронної мережі зазвичай відбувається ітеративно:

  1. Визначення моделі з початковими гіперпараметрами;
  2. Навчання моделі на тренувальній вибірці;
  3. Оцінка якості на тестовій вибірці;
  4. Коригування гіперпараметрів (наприклад, кількість шарів, швидкість навчання);
  5. Повторення процесу до досягнення бажаної якості.

Таке ітеративне вдосконалення забезпечує хорошу здатність моделі до узагальнення на нових даних.

1. Який із наведених є гіперпараметром, а не параметром моделі?

2. Занадто велика швидкість навчання, найімовірніше, призведе до:

question mark

Який із наведених є гіперпараметром, а не параметром моделі?

Select the correct answer

question mark

Занадто велика швидкість навчання, найімовірніше, призведе до:

Select the correct answer

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

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

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

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