Градієнтний спуск
Градієнтний спуск — це алгоритм оптимізації, який мінімізує функцію шляхом ітеративного коригування її параметрів у напрямку найкрутшого спаду. Він є фундаментальним у машинному навчанні, оскільки дозволяє моделям ефективно навчатися на даних.
Розуміння градієнтів
Градієнт функції відображає напрямок і крутість функції в заданій точці. Він показує, у який бік рухатися, щоб мінімізувати функцію.
Для простої функції:
J(θ)=θ2Похідна (градієнт) дорівнює:
∇J(θ)=dθd(θ2)=2θЦе означає, що для будь-якого значення θ градієнт показує, як змінити θ, щоб спуститися до мінімуму.
Формула градієнтного спуску
Правило оновлення ваги:
θ←θ−α∇J(θ)Де:
- θ — параметр моделі;
- α — швидкість навчання (розмір кроку);
- ∇J(θ) — градієнт функції, яку потрібно мінімізувати.
Для нашої функції:
θnew=θold−α(2θold)Це означає, що ми оновлюємо θ ітеративно, віднімаючи масштабований градієнт.
Поступовий рух – візуальний приклад
Приклад із початковими значеннями: θ=3, α=0.3
- θ1=3−0.3(2×3)=3−1.8=1.2;
- θ2=1.2−0.3(2×1.2)=1.2−0.72=0.48;
- θ3=0.48−0.3(2×0.48)=0.48−0.288=0.192;
- θ4=0.192−0.3(2×0.192)=0.192−0.115=0.077.
Після декількох ітерацій ми наближаємося до θ=0, мінімуму.
Коефіцієнт навчання – обираємо α розумно
- Занадто велике α – перепригування, відсутність збіжності;
- Занадто мале α – надто повільна збіжність;
- Оптимальне α – баланс швидкості та точності.
Коли зупиняється градієнтний спуск?
Градієнтний спуск зупиняється, коли:
∇J(θ)≈0Це означає, що подальші оновлення незначні і знайдено мінімум.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Градієнтний спуск
Свайпніть щоб показати меню
Градієнтний спуск — це алгоритм оптимізації, який мінімізує функцію шляхом ітеративного коригування її параметрів у напрямку найкрутшого спаду. Він є фундаментальним у машинному навчанні, оскільки дозволяє моделям ефективно навчатися на даних.
Розуміння градієнтів
Градієнт функції відображає напрямок і крутість функції в заданій точці. Він показує, у який бік рухатися, щоб мінімізувати функцію.
Для простої функції:
J(θ)=θ2Похідна (градієнт) дорівнює:
∇J(θ)=dθd(θ2)=2θЦе означає, що для будь-якого значення θ градієнт показує, як змінити θ, щоб спуститися до мінімуму.
Формула градієнтного спуску
Правило оновлення ваги:
θ←θ−α∇J(θ)Де:
- θ — параметр моделі;
- α — швидкість навчання (розмір кроку);
- ∇J(θ) — градієнт функції, яку потрібно мінімізувати.
Для нашої функції:
θnew=θold−α(2θold)Це означає, що ми оновлюємо θ ітеративно, віднімаючи масштабований градієнт.
Поступовий рух – візуальний приклад
Приклад із початковими значеннями: θ=3, α=0.3
- θ1=3−0.3(2×3)=3−1.8=1.2;
- θ2=1.2−0.3(2×1.2)=1.2−0.72=0.48;
- θ3=0.48−0.3(2×0.48)=0.48−0.288=0.192;
- θ4=0.192−0.3(2×0.192)=0.192−0.115=0.077.
Після декількох ітерацій ми наближаємося до θ=0, мінімуму.
Коефіцієнт навчання – обираємо α розумно
- Занадто велике α – перепригування, відсутність збіжності;
- Занадто мале α – надто повільна збіжність;
- Оптимальне α – баланс швидкості та точності.
Коли зупиняється градієнтний спуск?
Градієнтний спуск зупиняється, коли:
∇J(θ)≈0Це означає, що подальші оновлення незначні і знайдено мінімум.
Дякуємо за ваш відгук!