劣勾配を用いた最適化

subgradient methods

凸関数f:RdRf: \mathbb{R}^d \rightarrow \mathbb{R}の最小化を目指す.
gRd\bm{g} \in \mathbb{R}^dを,点xRd\bm{x} \in \mathbb{R}^dにおける劣微分の元(劣勾配)とする.すなわち,任意のyRd\bm{y} \in \mathbb{R}^dについて以下を満たす.

f(y)f(x)+g,yx \begin{aligned} f(y) \geq f(x) + \langle \bm{g}, \bm{y} - \bm{x} \rangle \end{aligned}

多分ffが凸関数じゃないと,劣微分が空集合な点が存在してしまう.
以下のようにx\bm{x}を更新することにする.

xx+ηg \begin{aligned} \bm{x} \leftarrow \bm{x} + \eta \bm{g} \end{aligned}

今,g,x+ηgx=ηg20\langle \bm{g}, \bm{x} + \eta \bm{g} - \bm{x} \rangle = \eta \|\bm{g}\|^2 \geq 0なら,f(x+ηg)f(x)f(\bm{x} + \eta \bm{g}) \geq f(\bm{x})なので,η<0\eta < 0とすれば,f(x+ηg)<f(x)f(\bm{x} + \eta \bm{g}) < f(\bm{x})となり,この更新式で目的関数は単調に減少していく.

Written with StackEdit.

0 件のコメント:

コメントを投稿

機械学習の問題設定

機械学習の問題設定 機械学習の問題設定を見直したのでメモ. ( Ω , F , P ) (\Omega, \mathcal{F}, P) ( Ω , F , P ) : ベースとなる確率空間 ( X , F X ) (\mathcal...