Linearism › 정의·정리 › 최적화

최적화 정의·정리

29개. "쓰는 것"은 진술이나 증명에서 부르는 정의·정리이고, "쓰이는 곳"은 거꾸로 이 항목을 부르는 곳입니다. 용어로 이어진 관계는 흐리게 표시합니다.

OP.1 볼록집합과 볼록함수

정의 1.1

다음 꼴의 문제를 최적화 문제(optimization problem)라 합니다.

정의 1.3

집합 CC의 임의의 두 점 x,y\mathbf x, \mathbf y와 0≤θ≤10 \le \theta \le 1에 대해 θx+(1−θ)y∈C\theta\mathbf x + (1 - \theta)\mathbf y \in C이면 CC를 볼록집합(convex set)이라 합니다.

정리 1.5

볼록집합들의 교집합은 볼록집합입니다.

정의 1.6

볼록집합에서 정의된 ff가 모든 x,y\mathbf x, \mathbf y와 0≤θ≤10 \le \theta \le 1에 대해

정리 1.8 1계 조건

미분가능한 ff가 볼록일 필요충분조건은 모든 x,y\mathbf x, \mathbf y에 대해

정리 1.9 2계 조건

두 번 미분가능한 ff가 볼록일 필요충분조건은 모든 x\mathbf x에서 헤세 행렬 ∇2f(x)\nabla^2 f(\mathbf x)가 양의 준정부호(positive semidefinite, 모든 고윳값 ≥0\ge 0)인 것입니다. 일변수이면 f′′(x)≥0f''(x) \ge 0입니다.

정리 1.13

볼록집합 위의 볼록함수에서는 모든 국소 최솟값이 전역 최솟값입니다. 순볼록이면 최적해가 많아야 하나입니다.

OP.2 최적성 조건

정리 2.1

ff가 미분가능하고 x∗\mathbf x^*가 (제약 없는) 국소 최솟값이면 ∇f(x∗)=0\nabla f(\mathbf x^*) = \mathbf 0입니다.

정리 2.2 볼록이면 충분

ff가 볼록이고 미분가능하면, ∇f(x∗)=0\nabla f(\mathbf x^*) = \mathbf 0은 x∗\mathbf x^*가 전역 최솟값일 필요충분조건입니다.

정리 2.3

∇f(x∗)=0\nabla f(\mathbf x^*) = \mathbf 0일 때 헤세 행렬 H=∇2f(x∗)H = \nabla^2f(\mathbf x^*)에 대해

정리 2.5

AA가 대칭이고 양의 정부호일 때 f(x)=12x⊤Ax−b⊤xf(\mathbf x) = \frac12\mathbf x^\top A\mathbf x - \mathbf b^\top\mathbf x의 유일한 최솟값은 x∗=A−1b\mathbf x^* = A^{-1}\mathbf b이고, 최솟값은 −12b⊤A−1b-\frac12\mathbf b^\top A^{-1}\mathbf b입니다.

정의 2.7 강볼록성과 매끄러움

두 번 미분가능한 ff의 헤세 행렬 고윳값이 모든 점에서 m≤λ≤Lm \le \lambda \le L(m>0m > 0)이면, ff를 mm-강볼록(strongly convex)이고 LL-매끄럽다(smooth)고 합니다. 비 κ=L/m\kappa = L/m을 조건수(condition number)라 합니다.

OP.3 경사하강법의 수렴

정리 3.1 하강 보조정리

ff가 LL-매끄러우면(헤세 행렬의 고윳값 ≤L\le L) 모든 x,y\mathbf x, \mathbf y에 대해

따름정리 3.2

η≤1/L\eta \le 1/L로 경사하강법을 한 번 하면

f(xk+1)≤f(xk)−η2∥∇f(xk)∥2.f(\mathbf x_{k+1}) \le f(\mathbf x_k) - \frac{\eta}{2}\|\nabla f(\mathbf x_k)\|^2.

정리 3.3 볼록

ff가 볼록이고 LL-매끄러우며 η=1/L\eta = 1/L이면

f(xk)−f∗≤L∥x0−x∗∥22k.f(\mathbf x_k) - f^* \le \frac{L\|\mathbf x_0 - \mathbf x^*\|^2}{2k}.

정리 3.4 강볼록

ff가 mm-강볼록이고 LL-매끄러우며 η=1/L\eta = 1/L이면

f(xk)−f∗≤(1−1κ)k(f(x0)−f∗).f(\mathbf x_k) - f^* \le \left(1 - \frac1\kappa\right)^k(f(\mathbf x_0) - f^*).

OP.4 뉴턴 방법과 준뉴턴 방법

정의 4.1 뉴턴 방법

xk+1=xk−[∇2f(xk)]−1∇f(xk)\mathbf x_{k+1} = \mathbf x_k - [\nabla^2f(\mathbf x_k)]^{-1}\nabla f(\mathbf x_k).

정리 4.4

∇2f\nabla^2f가 최솟값 x∗\mathbf x^*에서 양의 정부호이고 립시츠 연속이면, x0\mathbf x_0가 충분히 가까울 때 상수 CC가 있어

OP.5 확률적 최적화와 Adam

정의 5.1 SGD

매 단계 데이터 BB개(미니배치)를 무작위로 뽑아 gk=1B∑i∈batch∇ℓi(θk)\mathbf g_k = \frac1B\sum_{i \in \text{batch}}\nabla\ell_i(\boldsymbol\theta_k)로 그래디언트를 어림하고 θk+1=θk−ηkgk\boldsymbol\theta_{k+1} = \boldsymbol\theta_k - \eta_k\mathbf g_k로 움직입니다.

정의 5.2 헤비볼 모멘텀

vk+1=βvk+gk,θk+1=θk−ηvk+1.\mathbf v_{k+1} = \beta\mathbf v_k + \mathbf g_k, \qquad \boldsymbol\theta_{k+1} = \boldsymbol\theta_k - \eta\mathbf v_{k+1}.

정의 5.3 Adam

모멘텀과 RMSProp을 합칩니다. β1=0.9\beta_1 = 0.9, β2=0.999\beta_2 = 0.999, ϵ=10−8\epsilon = 10^{-8}이 기본값입니다.

OP.6 라그랑주 승수와 KKT 조건

정리 6.1 라그랑주 승수

min⁡f(x)\min f(\mathbf x) s.t. hj(x)=0h_j(\mathbf x) = 0 (j=1,…,pj = 1, \dots, p)의 국소 최솟값 x∗\mathbf x^*에서 ∇hj(x∗)\nabla h_j(\mathbf x^*)들이 일차독립이면, 수 ν1,…,νp\nu_1, \dots, \nu_p가 있어

정리 6.3 KKT 조건

적당한 정칙 조건 아래에서 x∗\mathbf x^*가 국소 최솟값이면 λ∗,ν∗\boldsymbol\lambda^*, \boldsymbol\nu^*가 있어 다음 네 조건이 성립합니다.

OP.7 쌍대성

정의 7.1

라그랑주 쌍대 함수(Lagrange dual function)는

d(λ,ν)=inf⁡xL(x,λ,ν).d(\boldsymbol\lambda, \boldsymbol\nu) = \inf_{\mathbf x}\mathcal L(\mathbf x, \boldsymbol\lambda, \boldsymbol\nu).

정리 7.2 약한 쌍대성

λ≥0\boldsymbol\lambda \ge \mathbf 0이면 d(λ,ν)≤p∗d(\boldsymbol\lambda, \boldsymbol\nu) \le p^*입니다. 여기서 p∗p^*는 원문제의 최솟값입니다.

정리 7.3 슬레이터 조건

원문제가 볼록이고, 모든 부등식 제약을 엄격하게 만족하는 점(gi(x)<0g_i(\mathbf x) < 0)이 하나라도 있으면 d∗=p∗d^* = p^*(강한 쌍대성)입니다.

OP.8 선형계획법

정의 8.1

다음 꼴의 문제를 선형계획(linear program, LP)이라 합니다.

정리 8.3

선형계획에 최적해가 있고 실행 가능 영역에 꼭짓점이 있으면, 최적해 가운데 적어도 하나는 꼭짓점입니다.

정리 8.4 선형계획의 강한 쌍대성

원문제와 쌍대 문제 중 하나에 최적해가 있으면 다른 하나에도 있고, 두 최적값이 같습니다.