19-07 Projected Newton method
What’s wrong with projected Newton?
\(h\)가 convex set \(C\)의 indicator function \(h = I_c(x)\)일 때 문제는 다음과 같이 정의될 수 있다.
\[\min_{x} \ g(x) \quad \text{subject to} \quad x \in C\]
따라서, \(h(x) = I_c(x)\)이면 proximal gradient descent는 projected gradient descent가 된다. 즉, projected gradient descent는 proximal gradient descent의 special case이다.
\(h(x) = I_c(x)\)일 때 proximal Newton의 경우엔 어떠한가? 이 경우 update 식은 다음과 같이 정의된다.
\[\begin{align} z^{+} & =\underset{z \in C}{\text{argmin}} \ \frac{1}{2} \parallel x - H^{-1} \nabla g(x) - z \parallel_H^2 \\\\ &= \underset{z \in C}{\text{argmin}} \ \nabla g(x)^T (z - x) + \frac{1}{2} (z - x)^T H (z - x) \\\\ \end{align}\]
\(H = I\)이면 \(x - \nabla g(x)\)를 set \(C\)에 projection한 결과가 되지만, 일반적인 \(H \neq I\)에 대해서는 projection이 아니다. (\(H = I\)이면 \(l_2\)-norm이 되기 때문에 H-norm이 아닌 \(l_2\)-norm 이었다면 projection이 되었을 것이다.) 따라서, projected Newton method는 proximal Newton method의 special case가 아니다.
Projected Newton for box constraints
특별한 경우 box constraint를 갖는 문제에 대해 projected Newton를 적용할 수 있다. (Bertsekas, 1982; Kim et al., 2010; Schmidt et al., 2011).
문제가 다음과 같다고 하자.
\[\min_{x} \ g(x) \quad \text{subject to} \quad l \le x \le u\]
Projected Newton method의 시작 점 \(x^{(0)}\)와 작은 상수 \(\epsilon \gt 0\)라고 할 때 다음 단계를 반복한다 (\(k = 1, 2, 3, ...\)).
- 단계1: Binding set을 정의한다.
\begin{align} B_{k-1} & = \{ i : x_i^{(k-1)} \le l_i + \epsilon \quad \text{and} \quad \nabla_i g(x^{(k-1)}) \gt 0 \} \quad \cup \quad \{ i : x_i^{(k-1)} \ge u_i - \epsilon \quad \text{and} \quad \nabla_i g(x^{(k-1)}) \lt 0 \} \end{align}
최적화 step에서 이 변수들을 box constraint의 경계로 밀어낸다. 이들을 점점 더 많이 밀어낼수록 목적 함수는 줄어든다.
- 단계2: Free set \(F_{k-1} = \left\{1,....,n \right\} \backslash B_{k-1}\)을 정의한다.
- 단계3: Free variable을 따라서 Hessian의 주요 submatrix의 inverse를 정의한다.
\[S^{(k-1)} = [(\nabla^2 g(x^{(k-1)}))_{F_{k-1}}]^{-1}\]
- 단계4: Fee variable을 따라 Newton step을 실행하고 projection을 한다.
\[\begin{align} x_{(k)} = P_{[l, u]} \left( x^{(k-1)} - t_k \begin{bmatrix} S^{(k-1)} & 0 \\ 0 & I \end{bmatrix} \begin{bmatrix} \nabla F_{k-1} g(x^{(k-1)}) \\ \nabla B_{k-1} g(x^{(k-1)}) \end{bmatrix} \right) \end{align}\]
여기서 \(P_{[l,u]}\)는 \([l, u] = [l_1, u_1] \times \cdots [l_n, u_n]\)로의 projection이다.
행렬식을 보면 free variable에 대해서는 Newton step을 실행하지만 binding variable의 경우 변하지 않는 것을 알 수 있다. 또한, projection은 box 범위 밖에 있는 점들에 대해서 각 좌표에 대해 적절한 \(l_i\) 또는 \(u_i\)를 지정해주는 간단한 작업이다.
이 방법은 문제가 매우 크고 (ex, 차원이 큰 경우) 대부분의 variable이 boundary 근처에 있어서 free set이 매우 작을 때 최적화를 하는 방법이다.
어떤 종류의 문제가 box constraint를 갖는가? 다음과 같이 이런 종류의 문제는 매우 많은 것으로 알려져 있다.
- Nonnegative least squares
- Support vector machine dual
- Graphical lasso dual
- Fused lasso (total variation denoising) dual
Convergence properties
- Bertsekas (1982)는 적절한 가정하에 projected Newton으로 유한번 반복을 하면 적절한 binding constraints를 찾을 수 있다는 것을 보였다. 그러면, free variable에 대해 Newton’s method와 같아진다.
- Bertsekas (1982)는 또한 superlinear convergence를 증명하였다.
- Kim et al. (2010), Schmidt et al. (2011)은 BFGS-style update를 사용한 projected quasi-Newton method를 제안했다.