SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
Методы оптимизации больших сумм
функций
Д. А. Кропотов
ВМК МГУ, группа Байесовских методов
p BA)yesgroup.ru|(
Конференция Data Fest2, 6 марта 2016 г.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
1 / 24
Задача оптимизации больших сумм функций
Рассмотрим задачу
F(w) :=
1
N
N
i=1
fi(w) → min
w∈RD
(1)
Многие задачи из машинного обучения сводятся к этой задаче,
например, линейная и логистическая регрессия, условные
случайные поля, глубинные нейросети и проч.
Случай «больших данных»:
N 1.
Предположения:
все функции fi непрерывно дифференцируемы и сильно выпуклы
градиенты fi удовлетворяют условию Липшица:
fi(w) − fi(u) 2 ≤ L w − u 2 , ∀w, u ∈ RD
.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
2 / 24
Градиентный спуск (GD)
Итерация метода:
wk+1 = wk − αk F(w) = wk − αk
1
N
N
i=1
fi(wk) (2)
Свойства:
Длина шага αk подбирается путём неточного решения задачи
F(wk − α F(wk)) → min
α
Метод сходится с линейной скоростью
F(wk) − F(w∗) = O(Ck
)
Здесь 0 < C < 1.
Стоимость итерации O(ND).
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
3 / 24
Стохастический градиентный спуск (SGD) [Robbins and Monro,
1951]
Итерация метода:
wk+1 = wk − αk fik
(wk), (3)
где ik ∈ {1, . . . , N} – случайно выбираемый номер компоненты.
Направление оптимизации является несмещённой оценкой F(wk):
Eik
fik
(wk) =
1
N
N
i=1
fi(wk) = F(wk).
Низкие стоимость итерации O(D) и требования по памяти O(D);
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
4 / 24
Стохастический градиентный спуск (SGD) [Robbins and Monro,
1951]
Для сходимости шаг αk выбирается как
∞
k=1
αk = ∞,
∞
k=1
α2
k < ∞. (4)
В частности, метод не сходится для константного шага.
В силу отсутствия доступа к функции F(w), шаг αk выбирается с
помощью априорной стратегии, удовлетворяющей условиям (4):
αk =
α0
kτ
, τ ∈ (0.5, 1].
На практике параметры α0, τ приходится подбирать по сетке.
Скорость сходимости метода сублинейная: EF(wk) − F(w∗) = O(1/k).
Отсутствие обоснованного критерия останова.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
5 / 24
Траектория SGD
Рассмотрим задачу восстановления линейной регрессии в двухмерном
пространстве:
F(w) =
1
N
N
i=1
(yi − xT
i w)2
→ min
w∈R2
.
траектория SGD траектория в окр. опт.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
6 / 24
Скорости сходимости GD vs. SGD
Невязка rk = F(wk) − F(w∗). Зависимость log(rk) от номера
итерации k:
Motivation for New Methods
FG method has O(n) cost with O(ρt
) rate.
SG method has O(1) cost with O(1/t) rate.
Stochastic vs. deterministic methods
• Goal = best of both worlds: linear rate with O(1) iteration cost
hybrid
log(excesscost)
stochastic
deterministic
time
It is possible to have linear rate with O(1) cost?
Reza Babanezhad, Mohamed Ahmed, Mark Schmidt Advances in the Minimization of Finite Sums
Цель: гибридный метод со стоимостью итерации, не зависящей от N
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
7 / 24
Стохастический средний градиент (SAG) [Schmidt et al., 2013]
Шаг метода:
wk+1 = wk − αkgk, (5)
где gk – «средний» градиент:
gk =
1
N
N
i=1
fi(vk
i ), (6)
который обновляется в итерациях как:
gk = gk−1 +
1
N
fik
(wk) −
1
N
yk−1
ik
. (7)
Память: O(ND) для хранения yk
i := fi(vk
i ), где vk
i = последняя
точка, в которой вычислялась fi.
Скорость сходимости: линейная, O(Ck), где C ∈ (0, 1).
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
8 / 24
Подбор длины шага αk
Скорость сходимости SAG
Для константного шага αk = 1/16L метод SAG сходится как
EF(wk) − F(w∗) ≤ 1 − min
µ
16L
,
1
8N
k
C0.
Метод автоматически адаптируется к константе сильной выпуклости µ.
На практике: αk = 1/L.
Адаптивная процедура для L:
Инициализировать L.
Увеличивать L, пока для wk+1 = wk − 1
L gk не выполнится
fik
(wk+1) ≤ fik
(wk) + fik
(wk)T
(wk+1 − wk) +
L
2
wk+1 − wk
2
.
Уменьшить L между итерациями.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
9 / 24
Критерий останова
Для градиентного спуска критерий останова F(wk) < ε.
Для метода SAG при wk → w∗ верно, что gk → F(wk).
Поэтому для метода SAG в качестве критерия останова можно
взять gk < ε.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
10 / 24
Сравнение SAG с другими методами
Задача логистической регрессии. Данные quantum (N=50000, D=78) и
rcv1 (N=697641, D=47236).
SAG Compared to FG and SG Methods
quantum (n = 50000, p = 78) and rcv1 (n = 697641, p = 47236)
0 10 20 30 40 50
10
−12
10
−10
10
−8
10
−6
10
−4
10
−2
10
0
Effective Passes
ObjectiveminusOptimum
AFG
L−BFGS
SG
ASG
IAG
SAG−LS
0 10 20 30 40 50
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
AFG
L−BFGS
SG
ASG
IAG
SAG
−LS
SAG starts fast and stays fast.
Mark Schmidt Minimzing Finite Sums with the SAG Algorithm
SAG Compared to FG and SG Methods
quantum (n = 50000, p = 78) and rcv1 (n = 697641, p = 47236)
0 10 20 30 40 50
10
−12
10
−10
10
−8
10
−6
10
−4
10
−2
10
0
Effective Passes
ObjectiveminusOptimum
AFG
L−BFGS
SG
ASG
IAG
SAG−LS
0 10 20 30 40 50
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
AFG
L−BFGS
SG
ASG
IAG
SAG
−LS
SAG starts fast and stays fast.
Mark Schmidt Minimzing Finite Sums with the SAG AlgorithmД.А. Кропотов Оптимизация больших сумм функций Data Fest2
11 / 24
SAG: уменьшение памяти
Исходный алгоритм SAG требует O(ND) памяти.
Варианты сокращения памяти:
Использовать мини-батчи:
F(w) =
1
N
N
i=1
fi(w) =
1
M
M
j=1
M
N
i∈Mj
fi(w)
Память сокращается до O(MD), стоимость итерации
увеличивается до O(DN/M).
Линейные модели: fi(w) := φi(xi w) для некоторого xi ∈ RD.
Градиенты имеют специальную структуру: fi(w) = φi(xi w)xi;
Вместо полного градиента fi(w) достаточно хранить одно число
φi(xi w);
Память сокращается от O(N).
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
12 / 24
SAG: неравномерный выбор компонент
Длина шага αk и скорость сходимости метода определяется
константой L для F(w), где L = max1≤i≤N Li, Li – константа
Липшица для функции fi;
При выборе компонент с вероятностью, пропорциональной Li,
можно уменьшить константу L с maxi Li до ¯L = i Li/N:
F(w) =
1
N
N
i=1
fi(w) =
1
i Li
N
i=1
Li
j=1
¯L
fi(x)
Li
.
При таком подходе компонента с большим значением Li
выбирается чаще.
Для обеспечения сходимости выбор компонент надо осуществлять
по правилу: с вероятностью 0.5 выбирать из равномерного
распределения, с вероятностью 0.5 выбирать с вероятностями
Li/ j Lj.
Для генерации с вероятностями Li/ j Lj существует алгоритм
со сложностью O(log N)
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
13 / 24
SAG: неравномерный выбор компонент
protein (n = 145751, p = 74) and sido (n = 12678, p = 4932)
0 10 20 30 40 50
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
Effective Passes
ObjectiveminusOptimum
IAG
AGD
L−BFGS
SG−C
ASG−C
PCD−L
DCA
SAG
0 10 20 30 40 50
10
−6
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
Effective Passes
ObjectiveminusOptimum
IAG
AG
D
L−BFG
S
SG−C
ASG−C
PCD−L
DCA
SAG
Datasets where SAG had the worst relative performance.
Mark Schmidt Minimzing Finite Sums with the SAG Algorithm
protein (n = 145751, p = 74) and sido (n = 12678, p = 4932)
0 10 20 30 40 50
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
Effective Passes
ObjectiveminusOptimum
IAGAGD
L−BFGS SG−C
ASG−C
PCD−L
DCA
SAG
0 10 20 30 40 50
10
−6
10
−5
10
−4
10
−3
10
−2
10
−1
10
0
Effective Passes
ObjectiveminusOptimum
IAG
AG
D
L−BFG
S
SG−C
ASG−C
PCD−L
DCA
SAG
Datasets where SAG had the worst relative performance.
Mark Schmidt Minimzing Finite Sums with the SAG Algorithm
SAG with Non-Uniform Sampling
protein (n = 145751, p = 74) and sido (n = 12678, p = 4932)
0 10 20 30 40 50
10
−20
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
IAG
AGDL−BFGS SG−C
ASG−C
PCD−L
DCA
SAG
SAG−LS
(Lipschitz)
0 10 20 30 40 50
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
IAG AGD L−BFGS
SG−C ASG−C
PCD−L
DCA
SAG
SAG−LS
(Lipschitz)
Lipschitz sampling helps a lot.
SAG with Non-Uniform Sampling
protein (n = 145751, p = 74) and sido (n = 12678, p = 4932)
0 10 20 30 40 50
10
−20
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
IAG
AGDL−BFGS SG−C
ASG−C
PCD−L
DCA
SAG
SAG−LS
(Lipschitz)
0 10 20 30 40 50
10
−15
10
−10
10
−5
10
0
Effective Passes
ObjectiveminusOptimum
IAG AGD L−BFGS
SG−C ASG−C
PCD−L
DCA
SAG
SAG−LS
(Lipschitz)
Lipschitz sampling helps a lot.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
14 / 24
SAG: резюме
Метод SAG:
Является стохастическим методом оптимизации, стоимость
итерации которого не зависит от N;
Обладает линейной скоростью сходимости;
Автоматически адаптируется к константе сильной выпуклости;
Не требует настройки параметров пользователем (длина шага
выбирается автоматически с помощью адаптивной процедуры
подбора L);
Имеет обоснованный критерий останова;
Имеет высокие требования по памяти O(ND);
Имеет обобщения на случай разреженных данных,
регуляризаторов специального вида, «нестеризации» и проч.
[Schmidt et al., 2013]
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
15 / 24
Stochastic Variance Reduced Gradient (SVRG) [Johnson and Zhang,
2013]
Пусть известен F(˜w) для некоторой точки ˜w. Итерация SVRG:
gk = fik
(wk) − fik
(˜w) + F(˜w),
wk+1 = wk − αkgk.
Направление dk является несмещённой оценкой F(wk):
Eik
dk = Eik
fik
(wk) − fik
(˜w) + F(˜w) =
= F(wk) − F(˜w) + F(˜w) = F(wk).
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
16 / 24
Общая схема SVRG
Инициализация ˜w0;
Для s = 0, 1, 2, . . .
ds = 1
N
N
i=1 fi( ˜ws);
w0 = ˜ws;
Для k = 1, 2, . . . , m
Случайно выбрать ik из {1, 2, . . . , N};
wk = wk−1 − αk( fik (wk−1) − fik ( ˜ws) + ds)
˜ws+1 = wm;
Достаточно хранить только ds и ˜ws. Требуемая память: O(D),
сложность внутренней итерации: O(D).
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
17 / 24
SVRG: детали
Метод SVRG имеет линейную скорость сходимости для
константного шага αk;
На практике αk = 1/L, где L подбирается адаптивно;
Для ускорения метода рекомендуется выбирать компоненты fi с
вероятностями, пропорциональными Li;
Критерий останова ds < ε;
На практике m = 2N;
Величину N для подсчёта F(˜w) можно снизить за счёт
использования увеличивающихся батчей [Babanezhad et al., 2015].
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
18 / 24
Пример работы SVRG
A PROXIMAL STOCHASTIC GRADIENT METHOD 2071
0 10 20 30 40 50
number of effective passes
10−15
10−12
10−9
10−6
10−3
100
objectivegap:P(xk)−P
Prox-SG
RDA
Prox-FG
Prox-AFG
Prox-SAG
Prox-SVRG
Prox-SDCA
0 10 20 30 40 50
number of effective passes
0
5000
10000
15000
20000
25000
30000
NNZsinxk
Prox-SG
RDA
Prox-FG
Prox-AFG
Prox-SAG
Prox-SVRG
Prox-SDCA
Fig. 4. Comparison of different methods on the rcv1 data set.
10−6
10−4
10−2
100
P(xk)−P
Prox-FG
Prox-AFG 10−1
100
101
P(xk)−P
Prox-FG
Prox-AFG
Prox-SG
RDA
Prox-SAG
Prox-SDCA
Prox-SVRG
Prox-SVRG2
0 10 20 30 40 50
number of effective passes
10−15
10−12
objecti
Prox-SAG
Prox-SVRG
Prox-SDCA
5
Fig. 4. Comparison of different meth
0 10 20 30 40 50
number of effective passes
10−14
10−12
10−10
10−8
10−6
10−4
10−2
100
objectivegap:P(xk)−P
Prox-FG
Prox-AFG
Prox-SG
RDA
Prox-SAG
Prox-SDCA
Prox-SVRG
Prox-SVRG2
1
1
1
1
objectivegap:P(xk)−P
Fig. 5. Comparison of different methods on c
complexity analysis. While the complexity of
tablished, its performance is among the best.
under the 1-regularization, RDA, Prox-SDCA,
rect NNZs quickly, followed by Prox-SVRG anД.А. Кропотов Оптимизация больших сумм функций Data Fest2
19 / 24
Шкалирование градиентного спуска
Градиентный спуск: wk+1 = wk − 1
L F(wk);
µ ≈ L µ L
– f convex with L-Lipschitz-continuous gradient
– Minimum attained at θ∗
• Algorithm:
θt = θt−1 −
1
L
f′
(θt−1)
• Algorithm:
θt = θt−1 −
1
L
f′
(θt−1)
Метод Ньютона: wk+1 = wk − αkH−1
k F(wk), Hk = 2F(wk).
Аппроксимации H−1
k F(wk):
квази-ньютоновские методы;
L-BFGS;
безгессианные методы.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
20 / 24
Добавление шкалирования в стохастические методы
SGD + шкалирование:
wk+1 = wk − Bk fik
(wk).
Такое шкалирование не изменяет сублинейную скорость сходимости
SGD, даже при Bk = 2F(wk)−1! [Bousquet and Bottou, 2008]
SAG + шкалирование:
wk+1 = wk − Bkgk.
Метод L-BFGS приближённо оценивает 2F(wk)−1gk с помощью
истории {yj, sj}k−1
j=k−m, где
yj = F(wj+1) − F(wj), sj = wj+1 − wj.
При замене F(wj) на градиент по батчу 1
|I| i∈I fi(wj) качество
L-BFGS аппроксимации значительно ухудшается! [Byrd at el., 2015]
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
21 / 24
SVRG + L-BFGS [Kolte et al., 2015]
Обозначим ˜ys = ds − ds−1, ˜us = ˜ws − ˜ws−1.
Инициализация ˜w0;
Для s = 0, 1, 2, . . .
ds = 1
N
N
i=1 fi( ˜ws);
w0 = ˜ws;
Выбрать Hk с помощью L-BFGS по данным {˜yj, ˜uj}s−1
j=s−l;
Для k = 1, 2, . . . , m
Случайно выбрать ik из {1, 2, . . . , N};
gk = fik (wk−1) − fik ( ˜ws) + ds;
wk = wk−1 − αkH−1
k gk
˜ws+1 = wm;
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
22 / 24
Пример работы SVRG + L-BFGS
80 100 120 140 160 180 200
passes through the data
(a)
10 20 30 40 50 60 70 80 90 100
10−12
10−11
10−10
10−9
10−8
10−7
passes through the data
log-s
SVRG
SVRG+I
SVRG+II
SLBFGS
LBFGS
(b)
20 40 60 80 100 120 140 160 180 200
10−15
10−13
10−11
10−9
10−7
10−5
10−3
10−1
passes through the data
log-suboptimality
SVRG
SVRG+I
SVRG+II
SLBFGS
LBFGS
(c)
optimality vs number of passes through the data for (a) mnist dataset, (b) covtype
dataset
g and optimization of minibatch size can be incorporated for further performance
accuracy solution. Though SVRG+II updates the Hessi
SLBFGS, the disadvantage of using an outdated approx
due to the use of exact gradient differences.
Dataset n p Dataset n
mnist 60000 717 covtype 581012
Table 1: Datasets used in experiments, obtained from
20 40 60 80 100 120 140 160 180 200
10−4
10−3
10−2
10−1
100
passes through the data
log-suboptimality
SVRG
SVRG+I
SVRG+II
SLBFGS
LBFGS
(a)
10−1
10−1
10−1
10−
10−
10−
10−
10−
10−
10−
10−
10−
10
log-suboptimality
−9
10−7
10−5
10−3
10−1
uboptimality
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
23 / 24
Заключение
Метод SGD является неэффективным из-за медленной
сублинейной скорости сходимости и чувствительности к
пользовательским параметрам;
За счёт использования памяти метод SAG устраняет все основные
недостатки SGD: он имеет линейную скорость сходимости и не
требует настройки параметров;
Метод SVRG является аналогом SAGа, но при этом использует
значительно меньше памяти;
За счёт вычисления внутри SVRG полных градиентов этот метод
допускает эффективное добавление информации второго порядка;
Выбор метода оптимизации зависит от кол-ва допустимых
проходов по выборке:
При одном проходе (онлайн-оптимизация) стохастический
градиент является оптимальным методом;
При нескольких десятках проходах преимущество имеют методы
типа SAG и SVRG;
При нескольких сотнях проходов обычные методы оптимизации
могут оказаться самыми эффективными.
Д.А. Кропотов Оптимизация больших сумм функций Data Fest2
24 / 24

Mais conteúdo relacionado

Mais procurados

Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Technosphere1
 
L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияTechnosphere1
 
20090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture0220090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture02Computer Science Club
 
Методы обучения линейных моделей
Методы обучения линейных моделейМетоды обучения линейных моделей
Методы обучения линейных моделейAlex
 
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Nikolay Grebenshikov
 
L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблейTechnosphere1
 
20110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture0320110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture03Computer Science Club
 
Программирование: от сложного к простому
Программирование: от сложного к простомуПрограммирование: от сложного к простому
Программирование: от сложного к простомуNikolay Grebenshikov
 
Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Technosphere1
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Technosphere1
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Technosphere1
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Technosphere1
 
20081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-0620081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-06Computer Science Club
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программированиеFedor Tsarev
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программированиеFedor Tsarev
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Technosphere1
 
04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепцииFedor Tsarev
 
Куда уходит память?
Куда уходит память?Куда уходит память?
Куда уходит память?Dmitriy Dumanskiy
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Technosphere1
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Technosphere1
 

Mais procurados (20)

Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
 
L3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессияL3: Линейная и логистическая регрессия
L3: Линейная и логистическая регрессия
 
20090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture0220090913 algorithmsfornphardproblems kulikov_lecture02
20090913 algorithmsfornphardproblems kulikov_lecture02
 
Методы обучения линейных моделей
Методы обучения линейных моделейМетоды обучения линейных моделей
Методы обучения линейных моделей
 
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
Лекция №16. Поиск подстрок. Предмет "Структуры и алгоритмы обработки данных"
 
L11: Метод ансамблей
L11: Метод ансамблейL11: Метод ансамблей
L11: Метод ансамблей
 
20110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture0320110403 quantum algorithms_vyali_lecture03
20110403 quantum algorithms_vyali_lecture03
 
Программирование: от сложного к простому
Программирование: от сложного к простомуПрограммирование: от сложного к простому
Программирование: от сложного к простому
 
Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети"
 
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
 
Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"Лекция №3 "Различные алгоритмы кластеризации"
Лекция №3 "Различные алгоритмы кластеризации"
 
Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes" Лекция №5 "Обработка текстов, Naive Bayes"
Лекция №5 "Обработка текстов, Naive Bayes"
 
20081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-0620081026 structuralcomplexitytheory lecture05-06
20081026 structuralcomplexitytheory lecture05-06
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программирование
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программирование
 
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
Лекция №2 "Задача кластеризации и ЕМ-алгоритм"
 
04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции
 
Куда уходит память?
Куда уходит память?Куда уходит память?
Куда уходит память?
 
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
 
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
 

Destaque

Дмитрий Бугайченко, Одноклассники. Анализ данных в социальных сетях на практике
Дмитрий Бугайченко, Одноклассники. Анализ данных в социальных сетях на практикеДмитрий Бугайченко, Одноклассники. Анализ данных в социальных сетях на практике
Дмитрий Бугайченко, Одноклассники. Анализ данных в социальных сетях на практикеMail.ru Group
 
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...Mail.ru Group
 
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...Mail.ru Group
 
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...Mail.ru Group
 
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...Mail.ru Group
 
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016Mail.ru Group
 
Михаил Бурцев, МФТИ, основатель DeepHack, «Последние хиты глубокого обучения»
Михаил Бурцев, МФТИ, основатель DeepHack, «Последние хиты глубокого обучения»Михаил Бурцев, МФТИ, основатель DeepHack, «Последние хиты глубокого обучения»
Михаил Бурцев, МФТИ, основатель DeepHack, «Последние хиты глубокого обучения»Mail.ru Group
 
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтовАлександр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтовMail.ru Group
 
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»Mail.ru Group
 
Владимир Гулин, Mail.Ru Group, Learning to rank using clickthrough data
Владимир Гулин, Mail.Ru Group, Learning to rank using clickthrough dataВладимир Гулин, Mail.Ru Group, Learning to rank using clickthrough data
Владимир Гулин, Mail.Ru Group, Learning to rank using clickthrough dataMail.ru Group
 
Роман Чеботарев — КРОК — ICBDA2016
Роман Чеботарев — КРОК — ICBDA2016Роман Чеботарев — КРОК — ICBDA2016
Роман Чеботарев — КРОК — ICBDA2016rusbase
 
2015 pdf-marc smith-node xl-social media sna
2015 pdf-marc smith-node xl-social media sna2015 pdf-marc smith-node xl-social media sna
2015 pdf-marc smith-node xl-social media snaMarc Smith
 
Making the invisible visible through SNA
Making the invisible visible through SNAMaking the invisible visible through SNA
Making the invisible visible through SNAMYRA School of Business
 
Social Network Analysis for Competitive Intelligence
Social Network Analysis for Competitive IntelligenceSocial Network Analysis for Competitive Intelligence
Social Network Analysis for Competitive IntelligenceAugust Jackson
 
Social network analysis
Social network analysisSocial network analysis
Social network analysisSohom Ghosh
 
Text Analysis of Social Networks: Working with FB and VK Data
Text Analysis of Social Networks: Working with FB and VK DataText Analysis of Social Networks: Working with FB and VK Data
Text Analysis of Social Networks: Working with FB and VK DataAlexander Panchenko
 
Social Network Analysis (SNA) and its implications for knowledge discovery in...
Social Network Analysis (SNA) and its implications for knowledge discovery in...Social Network Analysis (SNA) and its implications for knowledge discovery in...
Social Network Analysis (SNA) and its implications for knowledge discovery in...ACMBangalore
 
Using Social Network Analysis to Assess Organizational Development Initiatives
Using Social Network Analysis to Assess Organizational Development InitiativesUsing Social Network Analysis to Assess Organizational Development Initiatives
Using Social Network Analysis to Assess Organizational Development InitiativesStephanie Richter
 
Text analytics in Python and R with examples from Tobacco Control
Text analytics in Python and R with examples from Tobacco ControlText analytics in Python and R with examples from Tobacco Control
Text analytics in Python and R with examples from Tobacco ControlBen Healey
 

Destaque (20)

Дмитрий Бугайченко, Одноклассники. Анализ данных в социальных сетях на практике
Дмитрий Бугайченко, Одноклассники. Анализ данных в социальных сетях на практикеДмитрий Бугайченко, Одноклассники. Анализ данных в социальных сетях на практике
Дмитрий Бугайченко, Одноклассники. Анализ данных в социальных сетях на практике
 
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
Ростислав Яворский, Высшая Школа Экономики, «Как использовать анализ сетевых ...
 
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
Иван Лобов, Data-Centric Alliance, «Текущие тенденции в сфере исследования гл...
 
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
 
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
 
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
 
Михаил Бурцев, МФТИ, основатель DeepHack, «Последние хиты глубокого обучения»
Михаил Бурцев, МФТИ, основатель DeepHack, «Последние хиты глубокого обучения»Михаил Бурцев, МФТИ, основатель DeepHack, «Последние хиты глубокого обучения»
Михаил Бурцев, МФТИ, основатель DeepHack, «Последние хиты глубокого обучения»
 
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтовАлександр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
Александр Щусь, Mail.Ru Group, Детектирование взломов почтовых аккаунтов
 
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»
 
Владимир Гулин, Mail.Ru Group, Learning to rank using clickthrough data
Владимир Гулин, Mail.Ru Group, Learning to rank using clickthrough dataВладимир Гулин, Mail.Ru Group, Learning to rank using clickthrough data
Владимир Гулин, Mail.Ru Group, Learning to rank using clickthrough data
 
Роман Чеботарев — КРОК — ICBDA2016
Роман Чеботарев — КРОК — ICBDA2016Роман Чеботарев — КРОК — ICBDA2016
Роман Чеботарев — КРОК — ICBDA2016
 
Social Networks at Scale
Social Networks at ScaleSocial Networks at Scale
Social Networks at Scale
 
2015 pdf-marc smith-node xl-social media sna
2015 pdf-marc smith-node xl-social media sna2015 pdf-marc smith-node xl-social media sna
2015 pdf-marc smith-node xl-social media sna
 
Making the invisible visible through SNA
Making the invisible visible through SNAMaking the invisible visible through SNA
Making the invisible visible through SNA
 
Social Network Analysis for Competitive Intelligence
Social Network Analysis for Competitive IntelligenceSocial Network Analysis for Competitive Intelligence
Social Network Analysis for Competitive Intelligence
 
Social network analysis
Social network analysisSocial network analysis
Social network analysis
 
Text Analysis of Social Networks: Working with FB and VK Data
Text Analysis of Social Networks: Working with FB and VK DataText Analysis of Social Networks: Working with FB and VK Data
Text Analysis of Social Networks: Working with FB and VK Data
 
Social Network Analysis (SNA) and its implications for knowledge discovery in...
Social Network Analysis (SNA) and its implications for knowledge discovery in...Social Network Analysis (SNA) and its implications for knowledge discovery in...
Social Network Analysis (SNA) and its implications for knowledge discovery in...
 
Using Social Network Analysis to Assess Organizational Development Initiatives
Using Social Network Analysis to Assess Organizational Development InitiativesUsing Social Network Analysis to Assess Organizational Development Initiatives
Using Social Network Analysis to Assess Organizational Development Initiatives
 
Text analytics in Python and R with examples from Tobacco Control
Text analytics in Python and R with examples from Tobacco ControlText analytics in Python and R with examples from Tobacco Control
Text analytics in Python and R with examples from Tobacco Control
 

Semelhante a Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации больших сумм функций»

Факторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахФакторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахromovpa
 
20081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-1020081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-10Computer Science Club
 
О-символика
О-символикаО-символика
О-символикаDEVTYPE
 
ИНТЕГРАЛ ТАЛБАЙ /Integral/
 ИНТЕГРАЛ ТАЛБАЙ /Integral/ ИНТЕГРАЛ ТАЛБАЙ /Integral/
ИНТЕГРАЛ ТАЛБАЙ /Integral/Khishighuu Myanganbuu
 
20081123 structuralcomplexitytheory lecture11-12
20081123 structuralcomplexitytheory lecture11-1220081123 structuralcomplexitytheory lecture11-12
20081123 structuralcomplexitytheory lecture11-12Computer Science Club
 
"Сеть - это компьютер. Снова" Бахтерев Михаил, ИММ УрО РАН
"Сеть - это компьютер. Снова" Бахтерев Михаил, ИММ УрО РАН"Сеть - это компьютер. Снова" Бахтерев Михаил, ИММ УрО РАН
"Сеть - это компьютер. Снова" Бахтерев Михаил, ИММ УрО РАНit-people
 
Semantic web и продукционная модель знаний
Semantic web  и продукционная модель знанийSemantic web  и продукционная модель знаний
Semantic web и продукционная модель знанийYury Katkov
 
Semantic web и продукционная модель знаний
Semantic web  и продукционная модель знанийSemantic web  и продукционная модель знаний
Semantic web и продукционная модель знанийYury Katkov
 
Проблемы построения интеллектуальных агентов реального времени
Проблемы построения интеллектуальных агентов реального времениПроблемы построения интеллектуальных агентов реального времени
Проблемы построения интеллектуальных агентов реального времениIrene Pochinok
 
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...AIST
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09Computer Science Club
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09Computer Science Club
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04Computer Science Club
 
Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Technopark
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовMikhail Kurnosov
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.sharikdp
 
Разведочный анализ данных: создание графиков в системе R
Разведочный анализ данных: создание графиков в системе RРазведочный анализ данных: создание графиков в системе R
Разведочный анализ данных: создание графиков в системе RSergey Mastitsky
 

Semelhante a Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации больших сумм функций» (20)

Факторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системахФакторизационные модели в рекомендательных системах
Факторизационные модели в рекомендательных системах
 
20081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-1020081116 structuralcomplexitytheory lecture09-10
20081116 structuralcomplexitytheory lecture09-10
 
О-символика
О-символикаО-символика
О-символика
 
ИНТЕГРАЛ ТАЛБАЙ /Integral/
 ИНТЕГРАЛ ТАЛБАЙ /Integral/ ИНТЕГРАЛ ТАЛБАЙ /Integral/
ИНТЕГРАЛ ТАЛБАЙ /Integral/
 
20081123 structuralcomplexitytheory lecture11-12
20081123 structuralcomplexitytheory lecture11-1220081123 structuralcomplexitytheory lecture11-12
20081123 structuralcomplexitytheory lecture11-12
 
"Сеть - это компьютер. Снова" Бахтерев Михаил, ИММ УрО РАН
"Сеть - это компьютер. Снова" Бахтерев Михаил, ИММ УрО РАН"Сеть - это компьютер. Снова" Бахтерев Михаил, ИММ УрО РАН
"Сеть - это компьютер. Снова" Бахтерев Михаил, ИММ УрО РАН
 
Синтез функциональных программ при помощи метода дедуктивных таблиц
Синтез функциональных программ при помощи метода дедуктивных таблицСинтез функциональных программ при помощи метода дедуктивных таблиц
Синтез функциональных программ при помощи метода дедуктивных таблиц
 
Semantic web и продукционная модель знаний
Semantic web  и продукционная модель знанийSemantic web  и продукционная модель знаний
Semantic web и продукционная модель знаний
 
Semantic web и продукционная модель знаний
Semantic web  и продукционная модель знанийSemantic web  и продукционная модель знаний
Semantic web и продукционная модель знаний
 
Проблемы построения интеллектуальных агентов реального времени
Проблемы построения интеллектуальных агентов реального времениПроблемы построения интеллектуальных агентов реального времени
Проблемы построения интеллектуальных агентов реального времени
 
p01.pdf
p01.pdfp01.pdf
p01.pdf
 
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...
Елена Захаренко и Евгений Альтман - Быстрый алгоритм оценки движения полным п...
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09
 
Matrixnet
MatrixnetMatrixnet
Matrixnet
 
20110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture0920110409 quantum algorithms_vyali_lecture09
20110409 quantum algorithms_vyali_lecture09
 
20101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture0420101007 proof complexity_hirsch_lecture04
20101007 proof complexity_hirsch_lecture04
 
Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1Алгоритмы и структуры данных осень 2013 лекция 1
Алгоритмы и структуры данных осень 2013 лекция 1
 
Лекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмовЛекция 11. Методы разработки алгоритмов
Лекция 11. Методы разработки алгоритмов
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.
 
Разведочный анализ данных: создание графиков в системе R
Разведочный анализ данных: создание графиков в системе RРазведочный анализ данных: создание графиков в системе R
Разведочный анализ данных: создание графиков в системе R
 

Mais de Mail.ru Group

Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Mail.ru Group
 
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...Mail.ru Group
 
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинДругая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинMail.ru Group
 
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Mail.ru Group
 
Управление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовУправление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовMail.ru Group
 
DAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга СвиридоваDAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга СвиридоваMail.ru Group
 
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...Mail.ru Group
 
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...Mail.ru Group
 
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidiaRAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidiaMail.ru Group
 
WebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоWebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоMail.ru Group
 
AMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковAMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковMail.ru Group
 
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила СтрелковКак мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила СтрелковMail.ru Group
 
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Mail.ru Group
 
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиМетапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиMail.ru Group
 
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru GroupКак не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru GroupMail.ru Group
 
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Mail.ru Group
 
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Mail.ru Group
 
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Mail.ru Group
 
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Mail.ru Group
 
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Mail.ru Group
 

Mais de Mail.ru Group (20)

Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
 
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
 
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинДругая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
 
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
 
Управление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовУправление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон Викторов
 
DAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга СвиридоваDAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга Свиридова
 
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
 
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
 
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidiaRAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
 
WebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоWebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий Остапенко
 
AMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковAMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей Пешков
 
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила СтрелковКак мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
 
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
 
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиМетапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
 
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru GroupКак не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
 
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
 
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
 
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
 
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
 
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
 

Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации больших сумм функций»

  • 1. Методы оптимизации больших сумм функций Д. А. Кропотов ВМК МГУ, группа Байесовских методов p BA)yesgroup.ru|( Конференция Data Fest2, 6 марта 2016 г. Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 1 / 24
  • 2. Задача оптимизации больших сумм функций Рассмотрим задачу F(w) := 1 N N i=1 fi(w) → min w∈RD (1) Многие задачи из машинного обучения сводятся к этой задаче, например, линейная и логистическая регрессия, условные случайные поля, глубинные нейросети и проч. Случай «больших данных»: N 1. Предположения: все функции fi непрерывно дифференцируемы и сильно выпуклы градиенты fi удовлетворяют условию Липшица: fi(w) − fi(u) 2 ≤ L w − u 2 , ∀w, u ∈ RD . Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 2 / 24
  • 3. Градиентный спуск (GD) Итерация метода: wk+1 = wk − αk F(w) = wk − αk 1 N N i=1 fi(wk) (2) Свойства: Длина шага αk подбирается путём неточного решения задачи F(wk − α F(wk)) → min α Метод сходится с линейной скоростью F(wk) − F(w∗) = O(Ck ) Здесь 0 < C < 1. Стоимость итерации O(ND). Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 3 / 24
  • 4. Стохастический градиентный спуск (SGD) [Robbins and Monro, 1951] Итерация метода: wk+1 = wk − αk fik (wk), (3) где ik ∈ {1, . . . , N} – случайно выбираемый номер компоненты. Направление оптимизации является несмещённой оценкой F(wk): Eik fik (wk) = 1 N N i=1 fi(wk) = F(wk). Низкие стоимость итерации O(D) и требования по памяти O(D); Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 4 / 24
  • 5. Стохастический градиентный спуск (SGD) [Robbins and Monro, 1951] Для сходимости шаг αk выбирается как ∞ k=1 αk = ∞, ∞ k=1 α2 k < ∞. (4) В частности, метод не сходится для константного шага. В силу отсутствия доступа к функции F(w), шаг αk выбирается с помощью априорной стратегии, удовлетворяющей условиям (4): αk = α0 kτ , τ ∈ (0.5, 1]. На практике параметры α0, τ приходится подбирать по сетке. Скорость сходимости метода сублинейная: EF(wk) − F(w∗) = O(1/k). Отсутствие обоснованного критерия останова. Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 5 / 24
  • 6. Траектория SGD Рассмотрим задачу восстановления линейной регрессии в двухмерном пространстве: F(w) = 1 N N i=1 (yi − xT i w)2 → min w∈R2 . траектория SGD траектория в окр. опт. Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 6 / 24
  • 7. Скорости сходимости GD vs. SGD Невязка rk = F(wk) − F(w∗). Зависимость log(rk) от номера итерации k: Motivation for New Methods FG method has O(n) cost with O(ρt ) rate. SG method has O(1) cost with O(1/t) rate. Stochastic vs. deterministic methods • Goal = best of both worlds: linear rate with O(1) iteration cost hybrid log(excesscost) stochastic deterministic time It is possible to have linear rate with O(1) cost? Reza Babanezhad, Mohamed Ahmed, Mark Schmidt Advances in the Minimization of Finite Sums Цель: гибридный метод со стоимостью итерации, не зависящей от N Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 7 / 24
  • 8. Стохастический средний градиент (SAG) [Schmidt et al., 2013] Шаг метода: wk+1 = wk − αkgk, (5) где gk – «средний» градиент: gk = 1 N N i=1 fi(vk i ), (6) который обновляется в итерациях как: gk = gk−1 + 1 N fik (wk) − 1 N yk−1 ik . (7) Память: O(ND) для хранения yk i := fi(vk i ), где vk i = последняя точка, в которой вычислялась fi. Скорость сходимости: линейная, O(Ck), где C ∈ (0, 1). Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 8 / 24
  • 9. Подбор длины шага αk Скорость сходимости SAG Для константного шага αk = 1/16L метод SAG сходится как EF(wk) − F(w∗) ≤ 1 − min µ 16L , 1 8N k C0. Метод автоматически адаптируется к константе сильной выпуклости µ. На практике: αk = 1/L. Адаптивная процедура для L: Инициализировать L. Увеличивать L, пока для wk+1 = wk − 1 L gk не выполнится fik (wk+1) ≤ fik (wk) + fik (wk)T (wk+1 − wk) + L 2 wk+1 − wk 2 . Уменьшить L между итерациями. Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 9 / 24
  • 10. Критерий останова Для градиентного спуска критерий останова F(wk) < ε. Для метода SAG при wk → w∗ верно, что gk → F(wk). Поэтому для метода SAG в качестве критерия останова можно взять gk < ε. Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 10 / 24
  • 11. Сравнение SAG с другими методами Задача логистической регрессии. Данные quantum (N=50000, D=78) и rcv1 (N=697641, D=47236). SAG Compared to FG and SG Methods quantum (n = 50000, p = 78) and rcv1 (n = 697641, p = 47236) 0 10 20 30 40 50 10 −12 10 −10 10 −8 10 −6 10 −4 10 −2 10 0 Effective Passes ObjectiveminusOptimum AFG L−BFGS SG ASG IAG SAG−LS 0 10 20 30 40 50 10 −15 10 −10 10 −5 10 0 Effective Passes ObjectiveminusOptimum AFG L−BFGS SG ASG IAG SAG −LS SAG starts fast and stays fast. Mark Schmidt Minimzing Finite Sums with the SAG Algorithm SAG Compared to FG and SG Methods quantum (n = 50000, p = 78) and rcv1 (n = 697641, p = 47236) 0 10 20 30 40 50 10 −12 10 −10 10 −8 10 −6 10 −4 10 −2 10 0 Effective Passes ObjectiveminusOptimum AFG L−BFGS SG ASG IAG SAG−LS 0 10 20 30 40 50 10 −15 10 −10 10 −5 10 0 Effective Passes ObjectiveminusOptimum AFG L−BFGS SG ASG IAG SAG −LS SAG starts fast and stays fast. Mark Schmidt Minimzing Finite Sums with the SAG AlgorithmД.А. Кропотов Оптимизация больших сумм функций Data Fest2 11 / 24
  • 12. SAG: уменьшение памяти Исходный алгоритм SAG требует O(ND) памяти. Варианты сокращения памяти: Использовать мини-батчи: F(w) = 1 N N i=1 fi(w) = 1 M M j=1 M N i∈Mj fi(w) Память сокращается до O(MD), стоимость итерации увеличивается до O(DN/M). Линейные модели: fi(w) := φi(xi w) для некоторого xi ∈ RD. Градиенты имеют специальную структуру: fi(w) = φi(xi w)xi; Вместо полного градиента fi(w) достаточно хранить одно число φi(xi w); Память сокращается от O(N). Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 12 / 24
  • 13. SAG: неравномерный выбор компонент Длина шага αk и скорость сходимости метода определяется константой L для F(w), где L = max1≤i≤N Li, Li – константа Липшица для функции fi; При выборе компонент с вероятностью, пропорциональной Li, можно уменьшить константу L с maxi Li до ¯L = i Li/N: F(w) = 1 N N i=1 fi(w) = 1 i Li N i=1 Li j=1 ¯L fi(x) Li . При таком подходе компонента с большим значением Li выбирается чаще. Для обеспечения сходимости выбор компонент надо осуществлять по правилу: с вероятностью 0.5 выбирать из равномерного распределения, с вероятностью 0.5 выбирать с вероятностями Li/ j Lj. Для генерации с вероятностями Li/ j Lj существует алгоритм со сложностью O(log N) Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 13 / 24
  • 14. SAG: неравномерный выбор компонент protein (n = 145751, p = 74) and sido (n = 12678, p = 4932) 0 10 20 30 40 50 10 −5 10 −4 10 −3 10 −2 10 −1 10 0 Effective Passes ObjectiveminusOptimum IAG AGD L−BFGS SG−C ASG−C PCD−L DCA SAG 0 10 20 30 40 50 10 −6 10 −5 10 −4 10 −3 10 −2 10 −1 10 0 Effective Passes ObjectiveminusOptimum IAG AG D L−BFG S SG−C ASG−C PCD−L DCA SAG Datasets where SAG had the worst relative performance. Mark Schmidt Minimzing Finite Sums with the SAG Algorithm protein (n = 145751, p = 74) and sido (n = 12678, p = 4932) 0 10 20 30 40 50 10 −5 10 −4 10 −3 10 −2 10 −1 10 0 Effective Passes ObjectiveminusOptimum IAGAGD L−BFGS SG−C ASG−C PCD−L DCA SAG 0 10 20 30 40 50 10 −6 10 −5 10 −4 10 −3 10 −2 10 −1 10 0 Effective Passes ObjectiveminusOptimum IAG AG D L−BFG S SG−C ASG−C PCD−L DCA SAG Datasets where SAG had the worst relative performance. Mark Schmidt Minimzing Finite Sums with the SAG Algorithm SAG with Non-Uniform Sampling protein (n = 145751, p = 74) and sido (n = 12678, p = 4932) 0 10 20 30 40 50 10 −20 10 −15 10 −10 10 −5 10 0 Effective Passes ObjectiveminusOptimum IAG AGDL−BFGS SG−C ASG−C PCD−L DCA SAG SAG−LS (Lipschitz) 0 10 20 30 40 50 10 −15 10 −10 10 −5 10 0 Effective Passes ObjectiveminusOptimum IAG AGD L−BFGS SG−C ASG−C PCD−L DCA SAG SAG−LS (Lipschitz) Lipschitz sampling helps a lot. SAG with Non-Uniform Sampling protein (n = 145751, p = 74) and sido (n = 12678, p = 4932) 0 10 20 30 40 50 10 −20 10 −15 10 −10 10 −5 10 0 Effective Passes ObjectiveminusOptimum IAG AGDL−BFGS SG−C ASG−C PCD−L DCA SAG SAG−LS (Lipschitz) 0 10 20 30 40 50 10 −15 10 −10 10 −5 10 0 Effective Passes ObjectiveminusOptimum IAG AGD L−BFGS SG−C ASG−C PCD−L DCA SAG SAG−LS (Lipschitz) Lipschitz sampling helps a lot. Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 14 / 24
  • 15. SAG: резюме Метод SAG: Является стохастическим методом оптимизации, стоимость итерации которого не зависит от N; Обладает линейной скоростью сходимости; Автоматически адаптируется к константе сильной выпуклости; Не требует настройки параметров пользователем (длина шага выбирается автоматически с помощью адаптивной процедуры подбора L); Имеет обоснованный критерий останова; Имеет высокие требования по памяти O(ND); Имеет обобщения на случай разреженных данных, регуляризаторов специального вида, «нестеризации» и проч. [Schmidt et al., 2013] Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 15 / 24
  • 16. Stochastic Variance Reduced Gradient (SVRG) [Johnson and Zhang, 2013] Пусть известен F(˜w) для некоторой точки ˜w. Итерация SVRG: gk = fik (wk) − fik (˜w) + F(˜w), wk+1 = wk − αkgk. Направление dk является несмещённой оценкой F(wk): Eik dk = Eik fik (wk) − fik (˜w) + F(˜w) = = F(wk) − F(˜w) + F(˜w) = F(wk). Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 16 / 24
  • 17. Общая схема SVRG Инициализация ˜w0; Для s = 0, 1, 2, . . . ds = 1 N N i=1 fi( ˜ws); w0 = ˜ws; Для k = 1, 2, . . . , m Случайно выбрать ik из {1, 2, . . . , N}; wk = wk−1 − αk( fik (wk−1) − fik ( ˜ws) + ds) ˜ws+1 = wm; Достаточно хранить только ds и ˜ws. Требуемая память: O(D), сложность внутренней итерации: O(D). Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 17 / 24
  • 18. SVRG: детали Метод SVRG имеет линейную скорость сходимости для константного шага αk; На практике αk = 1/L, где L подбирается адаптивно; Для ускорения метода рекомендуется выбирать компоненты fi с вероятностями, пропорциональными Li; Критерий останова ds < ε; На практике m = 2N; Величину N для подсчёта F(˜w) можно снизить за счёт использования увеличивающихся батчей [Babanezhad et al., 2015]. Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 18 / 24
  • 19. Пример работы SVRG A PROXIMAL STOCHASTIC GRADIENT METHOD 2071 0 10 20 30 40 50 number of effective passes 10−15 10−12 10−9 10−6 10−3 100 objectivegap:P(xk)−P Prox-SG RDA Prox-FG Prox-AFG Prox-SAG Prox-SVRG Prox-SDCA 0 10 20 30 40 50 number of effective passes 0 5000 10000 15000 20000 25000 30000 NNZsinxk Prox-SG RDA Prox-FG Prox-AFG Prox-SAG Prox-SVRG Prox-SDCA Fig. 4. Comparison of different methods on the rcv1 data set. 10−6 10−4 10−2 100 P(xk)−P Prox-FG Prox-AFG 10−1 100 101 P(xk)−P Prox-FG Prox-AFG Prox-SG RDA Prox-SAG Prox-SDCA Prox-SVRG Prox-SVRG2 0 10 20 30 40 50 number of effective passes 10−15 10−12 objecti Prox-SAG Prox-SVRG Prox-SDCA 5 Fig. 4. Comparison of different meth 0 10 20 30 40 50 number of effective passes 10−14 10−12 10−10 10−8 10−6 10−4 10−2 100 objectivegap:P(xk)−P Prox-FG Prox-AFG Prox-SG RDA Prox-SAG Prox-SDCA Prox-SVRG Prox-SVRG2 1 1 1 1 objectivegap:P(xk)−P Fig. 5. Comparison of different methods on c complexity analysis. While the complexity of tablished, its performance is among the best. under the 1-regularization, RDA, Prox-SDCA, rect NNZs quickly, followed by Prox-SVRG anД.А. Кропотов Оптимизация больших сумм функций Data Fest2 19 / 24
  • 20. Шкалирование градиентного спуска Градиентный спуск: wk+1 = wk − 1 L F(wk); µ ≈ L µ L – f convex with L-Lipschitz-continuous gradient – Minimum attained at θ∗ • Algorithm: θt = θt−1 − 1 L f′ (θt−1) • Algorithm: θt = θt−1 − 1 L f′ (θt−1) Метод Ньютона: wk+1 = wk − αkH−1 k F(wk), Hk = 2F(wk). Аппроксимации H−1 k F(wk): квази-ньютоновские методы; L-BFGS; безгессианные методы. Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 20 / 24
  • 21. Добавление шкалирования в стохастические методы SGD + шкалирование: wk+1 = wk − Bk fik (wk). Такое шкалирование не изменяет сублинейную скорость сходимости SGD, даже при Bk = 2F(wk)−1! [Bousquet and Bottou, 2008] SAG + шкалирование: wk+1 = wk − Bkgk. Метод L-BFGS приближённо оценивает 2F(wk)−1gk с помощью истории {yj, sj}k−1 j=k−m, где yj = F(wj+1) − F(wj), sj = wj+1 − wj. При замене F(wj) на градиент по батчу 1 |I| i∈I fi(wj) качество L-BFGS аппроксимации значительно ухудшается! [Byrd at el., 2015] Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 21 / 24
  • 22. SVRG + L-BFGS [Kolte et al., 2015] Обозначим ˜ys = ds − ds−1, ˜us = ˜ws − ˜ws−1. Инициализация ˜w0; Для s = 0, 1, 2, . . . ds = 1 N N i=1 fi( ˜ws); w0 = ˜ws; Выбрать Hk с помощью L-BFGS по данным {˜yj, ˜uj}s−1 j=s−l; Для k = 1, 2, . . . , m Случайно выбрать ik из {1, 2, . . . , N}; gk = fik (wk−1) − fik ( ˜ws) + ds; wk = wk−1 − αkH−1 k gk ˜ws+1 = wm; Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 22 / 24
  • 23. Пример работы SVRG + L-BFGS 80 100 120 140 160 180 200 passes through the data (a) 10 20 30 40 50 60 70 80 90 100 10−12 10−11 10−10 10−9 10−8 10−7 passes through the data log-s SVRG SVRG+I SVRG+II SLBFGS LBFGS (b) 20 40 60 80 100 120 140 160 180 200 10−15 10−13 10−11 10−9 10−7 10−5 10−3 10−1 passes through the data log-suboptimality SVRG SVRG+I SVRG+II SLBFGS LBFGS (c) optimality vs number of passes through the data for (a) mnist dataset, (b) covtype dataset g and optimization of minibatch size can be incorporated for further performance accuracy solution. Though SVRG+II updates the Hessi SLBFGS, the disadvantage of using an outdated approx due to the use of exact gradient differences. Dataset n p Dataset n mnist 60000 717 covtype 581012 Table 1: Datasets used in experiments, obtained from 20 40 60 80 100 120 140 160 180 200 10−4 10−3 10−2 10−1 100 passes through the data log-suboptimality SVRG SVRG+I SVRG+II SLBFGS LBFGS (a) 10−1 10−1 10−1 10− 10− 10− 10− 10− 10− 10− 10− 10− 10 log-suboptimality −9 10−7 10−5 10−3 10−1 uboptimality Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 23 / 24
  • 24. Заключение Метод SGD является неэффективным из-за медленной сублинейной скорости сходимости и чувствительности к пользовательским параметрам; За счёт использования памяти метод SAG устраняет все основные недостатки SGD: он имеет линейную скорость сходимости и не требует настройки параметров; Метод SVRG является аналогом SAGа, но при этом использует значительно меньше памяти; За счёт вычисления внутри SVRG полных градиентов этот метод допускает эффективное добавление информации второго порядка; Выбор метода оптимизации зависит от кол-ва допустимых проходов по выборке: При одном проходе (онлайн-оптимизация) стохастический градиент является оптимальным методом; При нескольких десятках проходах преимущество имеют методы типа SAG и SVRG; При нескольких сотнях проходов обычные методы оптимизации могут оказаться самыми эффективными. Д.А. Кропотов Оптимизация больших сумм функций Data Fest2 24 / 24