Участник: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)
Вход:
-  
- обучающая выборка
 -  
- темп обучения
 -  
- параметр сглаживания функционала
 
Выход:
-  Вектор 
 

