본문 바로가기
AI 수학/최적화

최소화의 필요조건과 충분조건

by 깊은대학 2021. 1. 10.

다음과 같이 제약조건이 없는 일반적인 함수의 최적화 문제에서,

 

minxf(x)

 

함수 f(x)x에서 로컬(local) 최소값이 되기 위한 필요조건(necessary condition)은 x=x에서 계산한 f의 그래디언트(gradient)가 0이 되는 것이다.

 

xf(x)=0

 

위 조건을 x이 최소점이 되기 위한 1차(first order) 필요조건이라고 한다.

사실 위 조건은 로컬 최대점에서도 성립한다. 그럼 또 다른 필요조건이 필요할까, 그리고 충분조건(sufficient condition)은 무엇일까.

 

 

어떤 점 x를 기준으로 xxϵ을 만족하는 모든 x에 대해서 f(x)f(x)0인 어떤 값 ϵ>0이 존재한다면, x를 로컬 최소점이라고 한다.

 

 

로컬 최소점에서 가까운 점을 x=x+ϵd라고 할 때 f(x)x를 기준으로 테일러 시리즈로 전개하면 다음과 같다.

 

f(x)=f(x+ϵd)=f(x)+ϵ(xf(x))Td+ϵ22dTx2f(x)d+O(ϵ3)

 

여기서 x2f(x)x=x에서 계산한 x에 대한 f의 헤시안(Hessian) 행렬이다. xf(x)=0이므로 극소 크기 ϵ>0에 대해서 위 식은 다음과 같이 된다.

 

f(x)f(x)ϵ2=12dTx2f(x)d+O(ϵ)0

 

극한 ϵ0을 취하면 dTx2f(x)d0이 되므로

 

x2f(x)0

 

이 되어야 한다. 즉 x=x에서 계산한 x에 대한 f의 헤시안이 준정정(positive semi-definite) 행렬이 되어야 한다.

따라서 x이 로컬 최소점이라면 다음 식이 성립한다.

 

xf(x)=0x2f(x)0

 

위 식을 x가 최소점이 되기 위한 2차(second order) 필요조건이라고 한다.

 

 

하지만 1차 필요조건과 2차 필요조건을 만족한다고 해서 x가 로컬 최소점이 된다는 보장은 없다. 아래 그림이 그 예다.

 

 

다시 테일러 시리즈를 이용하여 어떤 점 x 근방에서 f(x)를 전개해 보자.

 

f(x)f(x)=(xf(x))T(xx)+12(xx)Tx2f(x)(xx)+O(xx3)

 

여기서 xf(x)=0이고 x2f(x)의 최소 고유값(eigenvalue)이 λ>0이라면, 위 식은 다음과 같이 된다.

 

f(x)f(x)λ2xx2+O(xx3)=(λ2+O(xx) xx2

 

만약 xx가 매우 작다면 λ2에 비해서 O(xx)은 무시할 수 있으므로

 

f(x)f(x)0

 

이 된다. 따라서 다음과 같이 정리할 수 있다.

만약 어떤 점 x에서 다음 식이 성립하면,

 

xf(x)=0x2f(x)>0

 

x는 로컬 최소점이 된다. 위 식을 x가 최소점이 되기 위한 2차 충분조건이라고 한다.

여기서 x2f(x)가 정정행렬(positive definite)이면, 즉 x2f(x)>0이면 x2f(x)의 모드 고유값이 양(plus)의 값임을 이용하였다.

 

 

 

댓글