Optimization

우리가 어떤 선택을 할 때 Feature들을 바탕으로 선택을 한다. 예를 들어 점심 메뉴를 고를 떄 '어제의 메뉴', '지금 컨디션', '지금 날씨'등을 고려한다. 우리는 항상 최적의 만족을 얻기위해 스스로 최적화를 진행한다.

우리는 Non-linear한 상황에서 미분을 한다.

Newton's Method

부드러운 함수의 $f(x) = 0$의 해를 찾는다고 하자. (여기서는 $J(\theta) = 0$ 라고 볼 수 있다.). Cost Function에 적용하면 $f'(x) = 0$을 찾는 경우로 생각할 수도 있다.

임의의 점을 잡아서 해당 점의 접선을 구한다. 접선이 $y = 0$과 만나는 점을 새로운 점으로 잡는다. 계속 Update하면 $f(x) = 0$인 $x$로 수렴한다. 식으로 쓰면

$$ x^{t+1} = x^t -\frac{f(x^t)}{f'(x^t)} $$

어떤 한 점을 잡아서 위 식을 Update한다.

한계

함수가 Convex하지 않으면 엉뚱한 점으로 수렴할 수 있다. 즉, Curvature를 고려하지 않는다.

해가 여러 개인 경우에는 초기값에 따라 찾는 해가 달라질 수 있다.

Gauss-Newton Method

Newton Method을 연립방정식으로 확장하고 Curvature를 고려한 방법이다.

$n$개의 Feature와 $m$개의 Sample이 있다고 할 때, Cost Function을 아래와 같이 표현할 수 있다.

$$ X = (x_1, x_2, \dots, x_n)\\ F(X) = (f_1(X), f_2(X), \dots, f_m(X) ) $$

라고 두자. 여기서 $F(X)=0$에 가깝도록 $X$를 계속 업데이트한다. Newton법을 적용하기 위해 $F$를 미분하게 되는데 이게 Jacobian Matrix의 형태를 띄게 된다. 여기다가 Newton Method를 적용해보자.

$$

\left.J(X)=\left[\begin{array}{ccc} \frac{\partial f_{1}}{\partial x_{1}} & \cdots & \frac{\partial f_{1}}{\partial x_{n}} \\ \vdots & \ddots & \vdots \\ \frac{\partial f_{m}}{\partial x_{1}} & \cdots & \frac{\partial f_{m}}{\partial x_{n}} \end{array}\right] \quad\right\rangle \quad X^{t+1}=X^{t}-\frac{F\left(X^{k}\right)}{J\left(X^{k}\right)}

$$

여기서 $F/J$를 직접할 수는 없다. $JP = F$를 만족시키는 $P$를 구해서 계산한다.