Градієнтний спуск
Градієнтний спуск — це алгоритм оптимізації, який мінімізує функцію шляхом ітеративного коригування її параметрів у напрямку найкрутшого спаду. Він є фундаментальним у машинному навчанні, оскільки дозволяє моделям ефективно навчатися на даних.
Розуміння градієнтів
Градієнт функції відображає напрямок і крутість функції в заданій точці. Він показує, у який бік рухатися, щоб мінімізувати функцію.
Для простої функції:
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Це означає, що подальші оновлення незначні і знайдено мінімум.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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Це означає, що подальші оновлення незначні і знайдено мінімум.
Дякуємо за ваш відгук!