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

bookЗавдання: Автоматичне Налаштування Гіперпараметрів

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

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

RandomizedSearchCV(
    estimator=model, 
    param_distributions=randomized_parameters, 
    n_iter=number_of_models_to_test,  # Number of random combinations to evaluate
    scoring='accuracy',  # Evaluation metric
    random_state=42,  # Ensures reproducibility
)
  • estimator: модель для оптимізації (наприклад, MLPClassifier);
  • param_distributions: словник, де ключі — це назви гіперпараметрів, а значення — списки для вибірки;
  • n_iter: визначає, скільки випадкових комбінацій буде протестовано. Більше значення підвищує ймовірність знаходження оптимальної комбінації, але потребує більше обчислень;
  • scoring: визначає метрику оцінювання (наприклад, 'accuracy' для класифікації).
Завдання

Swipe to start coding

Ваша мета — налаштувати гіперпараметри багатошарового перцептрона (MLP) за допомогою методу RandomizedSearchCV з бібліотеки scikit-learn.

Дотримуйтесь наступних кроків:

  1. Визначте сітку параметрів param_distributions:
  • 'hidden_layer_sizes': включає три конфігурації — (20, 20), (25, 25), та (30, 30);
  • 'learning_rate_init': включає значення 0.02, 0.01, та 0.005;
  • 'max_iter': включає значення 10, 30, та 50.
  1. Ініціалізуйте модель за допомогою MLPClassifier().
  2. Застосуйте RandomizedSearchCV:
  • Використовуйте визначену модель mlp як estimator;
  • Використовуйте визначену сітку param_distributions;
  • Встановіть n_iter=4, щоб обмежити кількість комбінацій параметрів;
  • Використовуйте 'accuracy' як метрику оцінки;
  • Встановіть random_state=1 для відтворюваності.
  1. Навчіть випадковий пошук на тренувальних даних і виведіть найкращі знайдені параметри.
  2. Навчіть найкращу модель на повних тренувальних даних і оцініть її точність на тренувальній та тестовій вибірках.

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

close

Awesome!

Completion rate improved to 4

bookЗавдання: Автоматичне Налаштування Гіперпараметрів

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

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

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

RandomizedSearchCV(
    estimator=model, 
    param_distributions=randomized_parameters, 
    n_iter=number_of_models_to_test,  # Number of random combinations to evaluate
    scoring='accuracy',  # Evaluation metric
    random_state=42,  # Ensures reproducibility
)
  • estimator: модель для оптимізації (наприклад, MLPClassifier);
  • param_distributions: словник, де ключі — це назви гіперпараметрів, а значення — списки для вибірки;
  • n_iter: визначає, скільки випадкових комбінацій буде протестовано. Більше значення підвищує ймовірність знаходження оптимальної комбінації, але потребує більше обчислень;
  • scoring: визначає метрику оцінювання (наприклад, 'accuracy' для класифікації).
Завдання

Swipe to start coding

Ваша мета — налаштувати гіперпараметри багатошарового перцептрона (MLP) за допомогою методу RandomizedSearchCV з бібліотеки scikit-learn.

Дотримуйтесь наступних кроків:

  1. Визначте сітку параметрів param_distributions:
  • 'hidden_layer_sizes': включає три конфігурації — (20, 20), (25, 25), та (30, 30);
  • 'learning_rate_init': включає значення 0.02, 0.01, та 0.005;
  • 'max_iter': включає значення 10, 30, та 50.
  1. Ініціалізуйте модель за допомогою MLPClassifier().
  2. Застосуйте RandomizedSearchCV:
  • Використовуйте визначену модель mlp як estimator;
  • Використовуйте визначену сітку param_distributions;
  • Встановіть n_iter=4, щоб обмежити кількість комбінацій параметрів;
  • Використовуйте 'accuracy' як метрику оцінки;
  • Встановіть random_state=1 для відтворюваності.
  1. Навчіть випадковий пошук на тренувальних даних і виведіть найкращі знайдені параметри.
  2. Навчіть найкращу модель на повних тренувальних даних і оцініть її точність на тренувальній та тестовій вибірках.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

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

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

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

single

some-alt