All about

이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다.



Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다.





Taylor series expansion


Unconstrained univariate optimization 에 대해서 정리하기 위해선 먼저 Taylor series(테일러 급수), Taylor series expansion(테일러 급수 전개) 를 알아야 합니다. 여기선 이를 간략하게 정리하고 넘어가겠습니다. 테일러 급수의 증명과 같은 더 자세한 내용은 따로 검색해주시길 부탁드립니다.


테일러 급수는 함수를 급수 형태로 근사(혹은 표현)하는 것입니다. 매끄러운 함수(smooth function, 무한번 미분이 가능한 함수) f(x) 를 테일러 급수를 통해 표현하면 아래와 같습니다.







Unconstrained univariate optimization


Unconstrained univariate optimization 를 풀어서 해석하면 제한조건이 없는, 변수가 한가지인 경우의 최적화입니다.


어떤 조건이 주어졌을 때 x* 가 local minimum 이 되는지 풀어보겠습니다.


1) Cost function f(x) 가 Univariate 하고 모든 구간에서 2번 미분이 가능하다고 가정하겠습니다.


x* 가 local minimum 일 경우, f(x) 는 최소 2번 미분이 가능하므로 x* 에서 f(x) 를 Taylor expansion 을 적용하면




왜 마지막 항이 x*+tε 인지에 대한 증명은 테일러 근사의 오차항에 대한 정리를 찾아보시기 바랍니다.


어찌됬던 여기서 활용하고자 하는 것은 f(x*+ε) 을 테일러 급수 전개를 한 부분입니다.


만일 f' 과 f'' 이 x* 에서 연속이고 f'(x*) < 0 이라고 가정하면(위에서 f 는 모든 구간에서 연속이고 2번 미분 가능하다는 가정도 했었습니다.)




위와 같은 식이 성립하게 됩니다. f'(x*) 가 음수라면 앞에 ε 를 곱한 εf'(x*) 는 당연히 음수가 되고, 뒤따라 오는 항은 ε 이 아주 작은 값이기 때문에 이를 제곱한 ε^2 가 붙어 있으므로 f''(x*+tε) 가 음수이건 양수이건 전체에 대한 영향이 아주 미미하기 때문입니다.




이렇게 되면 f(x*+tε) 를 전개한 우측변의 식이 f(x*) 에서 음수값을 더한것이 되므로




위처럼 f(x*) 가 local minimum 이 아니게 됩니다. 따라서 f'(x*) >0 일 경우 f(x*) 은 local minimum 이 아님이 증명되었습니다.


f'(x*) >0 의 경우 f(x*) 이 local minimum 이 되지 못함은 ε* 의 부호만 바꾸어서 똑같은 방법으로 증명할 수 있습니다.


따라서 f'(x*) = 0  이어야만 f(x*) 가 local minimum 이 될 수 있습니다.




이제 f(x*) 가 local minimum 이면 f'(x*) = 0 인 것을 알았습니다. 처음 테일러 급수 전개한 것을 정리하면 f'(x*) 를 지울 수 있습니다.




f'' 가 x* 에서 연속이기 때문에 f''(x*) < 0 이라고 가정하면, x∈Nbh(x*) 일때 f''(x) 는 f''(x*) 와 아주아주아주 가깝기 때문에 f''(x) 또한 음수일 것입니다. 그렇기 때문에 ε 이 충분히 작다면 f''(x*+tε) 또한 x*+tε∈Nbh(x*) 일 것이기 때문에 f''(x*+tε) < 0 임을 알 수 있습니다.




이제 윗윗 수식을 정리하면




f''(x*+tε) 가 음수라면 f(x*+ε) < f(x*) 가 되기 때문에 x* 는 local minimum 이 아니게 됩니다. 따라서 f''(x*) 가 양수일때 x* 가 local minimum 이게 됩니다.





두번 연속으로 미분 가능한 univariate function f(x) 에서 f(x*) 가 local minimum 이라면 f'(x*) = 0, f''(x*) ≥ 0 임을 확인했습니다. 이 명제의 역을 생각해보겠습니다.


f'(x*) = 0, f''(x*) ≥ 0 일때 x* 는 local minimum 인가? 답은 아닙니다.


예를 들어 f(x) = x^3 의 경우 f'(0) = 0, f''(0) ≥ 0 이지만, f(0) 가 minimum value 라고 생각 할 수 없습니다.




위에서 적었던 Taylor expansion 을 다시 생각해보겠습니다.





위에서 f(x*) 가 local minimum 일 때 f''(x*) ≥ 0 임을 증명한 것과 과정은 매우 유사합니다. 따라서 설명을 덧붙이진 않겠습니다. 다만 주의할 것은 부등호의 종류가 ≥, > 로 f''(x*) = 0 을 포함하는가 아닌가에 차이가 있습니다.


부등호의 종류가 다른 것은 f''(x*) ≥ 0 일 경우 Nbh(x*) 에서 f'' 이 음수인 x 가 존재할 수 있기 때문입니다.


결과적으로 f'(x*) = 0, f''(x*) > 0 이라면 x* 가 local minimum 임을 알 수 있습니다.


이를 명제 관계로 정리하면 다음과 같습니다.





공유하기

facebook twitter kakaoTalk kakaostory naver band
loading