Изменения

Перейти к: навигация, поиск

Стохастический градиентный спуск

110 байт добавлено, 17:40, 18 октября 2020
Псевдокод
$i =$ rand() % $l$ <font color=green> # случайно выбрать элемент, по которому будет считаться градиент </font>
$\varepsilon = \mathscr{L}_i({\bf w})$ <font color=green> # вычислить потерю </font>
${\bf w} = {\bf w} - h \nabla \mathscr{L}_i({\bf w})$ <font color=green># обновить вектор весов в направлении градиентаантиградиента</font>
$\overline{Q} = \lambda\varepsilon + (1 - \lambda)\overline{Q}$ <font color=green># оценить функционал</font>
'''return''' w
== Регуляризация ==
Основным способом уменьшить переобучение является [[РегулярищацияРегуляризация|регуляризация]]<sup>[на 28.01.19 не создан]</sup>, т.е. сокращение весов. Будем штрафовать за увеличение нормы вектора весов, для этого перепишем функцию потерь $\tilde{\mathscr{L}}_i({\bf w}) = \mathscr{L}_i({\bf w}) + \dfrac{\tau}{2}||w||^2 = \mathscr{L}_i({\bf w}) + \dfrac{\tau}{2} \sum\limits_{j=1}^nw_j^2 \rightarrow \min\limits_w$, где $\tau$ $-$ коэффициент регуляризации.
Тогда градиент будет следующим: $\nabla \tilde{\mathscr{L}}_i({\bf w}) = \nabla \mathscr{L}_i({\bf w}) + \tau {\bf w}$, а градиентный шаг будет выглядеть так: ${\bf w} = {\bf w}(1 - h\tau) - h\nabla \mathscr{L}_i({\bf w})$.
== Источники информации ==
*[http://www.machinelearning.ru/wiki/images/5/53/Voron-ML-Lin-SG.pdf Метод К.В. Воронцов {{---}} Линейные методы классификации и регрессии: метод стохастического градиента] $-$ презентация Воронцова*[https://www.youtube.com/watch?v=4BKQ3GZR32w&list=PLJOzdkh8T5kp99tGTEFjH_b9zqEQiiBtC&index=4 Метод Курс "Машинное обучение" {{---}} Линейные методы классификации: метод стохастического градиента{{---}} К.В. Воронцов] $-$ запись лекции Воронцова*[https://en.wikipedia.org/wiki/Logistic_regression Wikipedia {{---}} Logistic regression] $-$ Wikipedia*[https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.SGDClassifier.html#sklearn.linear_model.SGDClassifier.decision_function sklearn.linear_model.SGDClassifier] ${{---$ }} описание алгоритма на scikit-learn.org]
[[Категория: Машинное обучение]]
Анонимный участник

Навигация