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

bookНейронна Мережа з Використанням Scikit-Learn

Робота з нейронними мережами може бути досить складною, особливо якщо ви намагаєтеся створити їх з нуля. Замість ручного кодування алгоритмів і формул, можна використовувати готові інструменти, такі як бібліотека sklearn.

Переваги використання sklearn

  1. Простота використання: немає необхідності глибоко занурюватися в деталі кожного алгоритму. Можна просто застосовувати готові методи та класи;

  2. Оптимізація: бібліотека sklearn оптимізована для продуктивності, що може скоротити час навчання моделі;

  3. Розгорнута документація: sklearn надає розгорнуту документацію з прикладами використання, що значно прискорює процес навчання;

  4. Сумісність: sklearn добре інтегрується з іншими популярними бібліотеками Python, такими як numpy, pandas та matplotlib.

Перцептрон у sklearn

Для створення такої ж моделі, як у цьому розділі, можна використати клас MLPClassifier з бібліотеки sklearn. Основні параметри такі:

  • max_iter: визначає максимальну кількість епох для навчання;
  • hidden_layer_sizes: задає кількість нейронів у кожному прихованому шарі у вигляді кортежу;
  • learning_rate_init: встановлює швидкість навчання для оновлення ваг.
Note
Примітка

За замовчуванням MLPClassifier використовує функцію активації ReLU для прихованих шарів. Для бінарної класифікації вихідний шар фактично такий самий, як і той, що ви реалізували.

Наприклад, за допомогою одного рядка коду можна створити перцептрон з двома прихованими шарами по 10 нейронів у кожному, використовуючи не більше ніж 100 епох для навчання та швидкість навчання 0.5:

from sklearn.neural_network import MLPClassifier

model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Note
Примітка

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

Як і у нашій реалізації, навчання моделі полягає лише у виклику методу fit():

model.fit(X_train, y_train)

Щоб отримати прогнозовані мітки (наприклад, на тестовій вибірці), достатньо викликати метод predict():

y_pred = model.predict(X_test)
Завдання

Swipe to start coding

Ваша мета — створити, навчити та оцінити перцептрон з такою ж структурою, як і той, який ви реалізували раніше, але використовуючи бібліотеку sklearn:

  1. Ініціалізуйте перцептрон із 100 епохами навчання, двома прихованими шарами по 6 нейронів у кожному та швидкістю навчання 0.01 (встановіть параметри саме в такому порядку).
  2. Навчіть модель на тренувальних даних.
  3. Отримайте передбачення на тестовій вибірці.
  4. Обчисліть точність моделі на тестовій вибірці.

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you explain what the `MLPClassifier` is used for?

What do the parameters like `max_iter` and `hidden_layer_sizes` mean in practice?

How do I interpret the results from `model.predict()`?

close

Awesome!

Completion rate improved to 4

bookНейронна Мережа з Використанням Scikit-Learn

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

Робота з нейронними мережами може бути досить складною, особливо якщо ви намагаєтеся створити їх з нуля. Замість ручного кодування алгоритмів і формул, можна використовувати готові інструменти, такі як бібліотека sklearn.

Переваги використання sklearn

  1. Простота використання: немає необхідності глибоко занурюватися в деталі кожного алгоритму. Можна просто застосовувати готові методи та класи;

  2. Оптимізація: бібліотека sklearn оптимізована для продуктивності, що може скоротити час навчання моделі;

  3. Розгорнута документація: sklearn надає розгорнуту документацію з прикладами використання, що значно прискорює процес навчання;

  4. Сумісність: sklearn добре інтегрується з іншими популярними бібліотеками Python, такими як numpy, pandas та matplotlib.

Перцептрон у sklearn

Для створення такої ж моделі, як у цьому розділі, можна використати клас MLPClassifier з бібліотеки sklearn. Основні параметри такі:

  • max_iter: визначає максимальну кількість епох для навчання;
  • hidden_layer_sizes: задає кількість нейронів у кожному прихованому шарі у вигляді кортежу;
  • learning_rate_init: встановлює швидкість навчання для оновлення ваг.
Note
Примітка

За замовчуванням MLPClassifier використовує функцію активації ReLU для прихованих шарів. Для бінарної класифікації вихідний шар фактично такий самий, як і той, що ви реалізували.

Наприклад, за допомогою одного рядка коду можна створити перцептрон з двома прихованими шарами по 10 нейронів у кожному, використовуючи не більше ніж 100 епох для навчання та швидкість навчання 0.5:

from sklearn.neural_network import MLPClassifier

model = MLPClassifier(max_iter=100, hidden_layer_sizes=(10,10), learning_rate_init=0.5)
Note
Примітка

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

Як і у нашій реалізації, навчання моделі полягає лише у виклику методу fit():

model.fit(X_train, y_train)

Щоб отримати прогнозовані мітки (наприклад, на тестовій вибірці), достатньо викликати метод predict():

y_pred = model.predict(X_test)
Завдання

Swipe to start coding

Ваша мета — створити, навчити та оцінити перцептрон з такою ж структурою, як і той, який ви реалізували раніше, але використовуючи бібліотеку sklearn:

  1. Ініціалізуйте перцептрон із 100 епохами навчання, двома прихованими шарами по 6 нейронів у кожному та швидкістю навчання 0.01 (встановіть параметри саме в такому порядку).
  2. Навчіть модель на тренувальних даних.
  3. Отримайте передбачення на тестовій вибірці.
  4. Обчисліть точність моделі на тестовій вибірці.

Рішення

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

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

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

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

single

some-alt