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

bookГрадієнтний спуск

Note
Визначення

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

Розуміння градієнтів

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

Для простої функції:

J(θ)=θ2J(\theta) = \theta^2

Похідна (градієнт) дорівнює:

J(θ)=ddθ(θ2)=2θ\nabla J(\theta) = \frac{d}{d \theta}\left(\theta^2\right)= 2\theta

Це означає, що для будь-якого значення θθ градієнт показує, як змінити θθ, щоб спуститися до мінімуму.

Формула градієнтного спуску

Правило оновлення ваги:

θθαJ(θ)\theta \larr \theta - \alpha \nabla J(\theta)

Де:

  • θ\theta — параметр моделі;
  • α\alpha — швидкість навчання (розмір кроку);
  • J(θ)\nabla J(\theta) — градієнт функції, яку потрібно мінімізувати.

Для нашої функції:

θnew=θoldα(2θold)\theta_{\text{new}} = \theta_{\text{old}} - \alpha\left(2\theta_{old}\right)

Це означає, що ми оновлюємо θθ ітеративно, віднімаючи масштабований градієнт.

Поступовий рух – візуальний приклад

Приклад із початковими значеннями: θ=3\theta = 3, α=0.3\alpha = 0.3

  1. θ1=30.3(2×3)=31.8=1.2;\theta_1 = 3 - 0.3(2 \times 3) = 3 - 1.8 = 1.2;
  2. θ2=1.20.3(2×1.2)=1.20.72=0.48;\theta_2 = 1.2 - 0.3(2 \times 1.2) = 1.2 - 0.72 = 0.48;
  3. θ3=0.480.3(2×0.48)=0.480.288=0.192;\theta_3 = 0.48 - 0.3(2\times0.48) = 0.48 - 0.288 = 0.192;
  4. θ4=0.1920.3(2×0.192)=0.1920.115=0.077.\theta_4 = 0.192 - 0.3(2 \times 0.192) = 0.192 - 0.115 = 0.077.

Після декількох ітерацій ми наближаємося до θ=0θ=0, мінімуму.

Коефіцієнт навчання – обираємо α розумно

  • Занадто велике  α\ \alpha – перепригування, відсутність збіжності;
  • Занадто мале  α\ \alpha – надто повільна збіжність;
  • Оптимальне  α\ \alpha – баланс швидкості та точності.

Коли зупиняється градієнтний спуск?

Градієнтний спуск зупиняється, коли:

J(θ)0\nabla J (\theta) \approx 0

Це означає, що подальші оновлення незначні і знайдено мінімум.

question mark

Якщо градієнт J(θ)∇J(θ) дорівнює нулю, що це означає?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

Can you explain how to choose a good learning rate?

What happens if the gradient never reaches zero?

Can you show a real-world example where gradient descent is used?

Awesome!

Completion rate improved to 1.96

bookГрадієнтний спуск

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

Note
Визначення

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

Розуміння градієнтів

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

Для простої функції:

J(θ)=θ2J(\theta) = \theta^2

Похідна (градієнт) дорівнює:

J(θ)=ddθ(θ2)=2θ\nabla J(\theta) = \frac{d}{d \theta}\left(\theta^2\right)= 2\theta

Це означає, що для будь-якого значення θθ градієнт показує, як змінити θθ, щоб спуститися до мінімуму.

Формула градієнтного спуску

Правило оновлення ваги:

θθαJ(θ)\theta \larr \theta - \alpha \nabla J(\theta)

Де:

  • θ\theta — параметр моделі;
  • α\alpha — швидкість навчання (розмір кроку);
  • J(θ)\nabla J(\theta) — градієнт функції, яку потрібно мінімізувати.

Для нашої функції:

θnew=θoldα(2θold)\theta_{\text{new}} = \theta_{\text{old}} - \alpha\left(2\theta_{old}\right)

Це означає, що ми оновлюємо θθ ітеративно, віднімаючи масштабований градієнт.

Поступовий рух – візуальний приклад

Приклад із початковими значеннями: θ=3\theta = 3, α=0.3\alpha = 0.3

  1. θ1=30.3(2×3)=31.8=1.2;\theta_1 = 3 - 0.3(2 \times 3) = 3 - 1.8 = 1.2;
  2. θ2=1.20.3(2×1.2)=1.20.72=0.48;\theta_2 = 1.2 - 0.3(2 \times 1.2) = 1.2 - 0.72 = 0.48;
  3. θ3=0.480.3(2×0.48)=0.480.288=0.192;\theta_3 = 0.48 - 0.3(2\times0.48) = 0.48 - 0.288 = 0.192;
  4. θ4=0.1920.3(2×0.192)=0.1920.115=0.077.\theta_4 = 0.192 - 0.3(2 \times 0.192) = 0.192 - 0.115 = 0.077.

Після декількох ітерацій ми наближаємося до θ=0θ=0, мінімуму.

Коефіцієнт навчання – обираємо α розумно

  • Занадто велике  α\ \alpha – перепригування, відсутність збіжності;
  • Занадто мале  α\ \alpha – надто повільна збіжність;
  • Оптимальне  α\ \alpha – баланс швидкості та точності.

Коли зупиняється градієнтний спуск?

Градієнтний спуск зупиняється, коли:

J(θ)0\nabla J (\theta) \approx 0

Це означає, що подальші оновлення незначні і знайдено мінімум.

question mark

Якщо градієнт J(θ)∇J(θ) дорівнює нулю, що це означає?

Select the correct answer

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

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

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

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