Участник:Ruzik/Песочница
Материал из MachineLearning.
Строка 8: | Строка 8: | ||
==Метод стохастического градиента (Stochastic Gradient)== | ==Метод стохастического градиента (Stochastic Gradient)== | ||
''Градиентные методы'' - это широкий класс оптимизационных алгоритмов, используемых не только в машинном обучении. | ''Градиентные методы'' - это широкий класс оптимизационных алгоритмов, используемых не только в машинном обучении. | ||
- | Здесь градиентный подход будет рассмотрен в качестве способа подбора вектора синаптических весов w в линейном классификаторе (ссылка). | + | Здесь градиентный подход будет рассмотрен в качестве способа подбора вектора синаптических весов <tex>w</tex> в линейном классификаторе (ссылка). |
Пусть <tex>y^*: \: X \to Y</tex> - целевая зависимость, известная только на объектах обучающей выборки: | Пусть <tex>y^*: \: X \to Y</tex> - целевая зависимость, известная только на объектах обучающей выборки: | ||
<tex>X^l \, = \, (x_i,y_i)_{i=1}^l, \; y_i \, = \, y^*(x_i)</tex>. | <tex>X^l \, = \, (x_i,y_i)_{i=1}^l, \; y_i \, = \, y^*(x_i)</tex>. | ||
Строка 17: | Строка 17: | ||
где <tex>L(a,y)</tex> - заданная функция потерь. | где <tex>L(a,y)</tex> - заданная функция потерь. | ||
- | Для минимизации применим метод градиентного спуска. Это пошаговый алгоритм, на каждой итерации которого вектор w изменяется в направлении наибольшего убывания функционала Q (то есть в направлении антиградиента): | + | Для минимизации применим метод градиентного спуска. Это пошаговый алгоритм, на каждой итерации которого вектор <tex>w</tex> изменяется в направлении наибольшего убывания функционала <tex>Q</tex> (то есть в направлении антиградиента): |
::<tex>w \, {:=} \, w \, - \, \eta \nabla Q(w)</tex>, | ::<tex>w \, {:=} \, w \, - \, \eta \nabla Q(w)</tex>, | ||
где <tex>\eta</tex> - положительный параметр, называемый ''темпом обучения (learning rate)''. | где <tex>\eta</tex> - положительный параметр, называемый ''темпом обучения (learning rate)''. | ||
Возможно 2 основных подхода к реализации градиентного спуска: | Возможно 2 основных подхода к реализации градиентного спуска: | ||
- | * ''Пакетный (batch)'', когда на каждой итерации обучающая выборка просматривается целиком, и только после этого изменяется w. Это требует больших вычислительных затрат. | + | * ''Пакетный (batch)'', когда на каждой итерации обучающая выборка просматривается целиком, и только после этого изменяется <tex>w</tex>. Это требует больших вычислительных затрат. |
* ''Стохастический (stochastic/online)'', когда на каждой итерации алгоритма из обучающей выборки каким-то (случайным) образом выбирается только один объект. Таким образом вектор w настраивается на каждый вновь выбираемый объект. | * ''Стохастический (stochastic/online)'', когда на каждой итерации алгоритма из обучающей выборки каким-то (случайным) образом выбирается только один объект. Таким образом вектор w настраивается на каждый вновь выбираемый объект. | ||
Версия 11:56, 3 января 2010
Метод стохастического градиента (Stochastic Gradient)
Градиентные методы - это широкий класс оптимизационных алгоритмов, используемых не только в машинном обучении. Здесь градиентный подход будет рассмотрен в качестве способа подбора вектора синаптических весов в линейном классификаторе (ссылка). Пусть - целевая зависимость, известная только на объектах обучающей выборки: .
Найдём алгоритм , аппроксимирующий зависимость . Согласно принципу минимизации эмпирического риска для этого достаточно решить оптимизационную задачу: , где - заданная функция потерь.
Для минимизации применим метод градиентного спуска. Это пошаговый алгоритм, на каждой итерации которого вектор изменяется в направлении наибольшего убывания функционала (то есть в направлении антиградиента):
- ,
где - положительный параметр, называемый темпом обучения (learning rate).
Возможно 2 основных подхода к реализации градиентного спуска:
- Пакетный (batch), когда на каждой итерации обучающая выборка просматривается целиком, и только после этого изменяется . Это требует больших вычислительных затрат.
- Стохастический (stochastic/online), когда на каждой итерации алгоритма из обучающей выборки каким-то (случайным) образом выбирается только один объект. Таким образом вектор w настраивается на каждый вновь выбираемый объект.
Алгоритм Stochastic Gradient (SG)
Вход:
- - обучающая выборка
- - темп обучения
- - параметр сглаживания функционала
Выход:
- Вектор