등식과 부등식 제약조건이 있는 일반적인 최적화 문제에 대해서
KKT 조건(Karush-Kuhn-Tucker conditions)은 다음과 같다.
여기서 1번과 2번항인 stationarity와 primal constraints 조건은 등식 제약조건만 있는 최적화문제의 경우와 동일한 것으로서, 최적화 변수
의 그래디언트가
3번과 4번항은 부등식 제약조건에서 나타나는 추가적인 조건이다.
만약 최적해
3번항은 부등식 제약조건에 관련된 라그랑지 곱수는 음수(마이너스)가 되면 안된다는 조건으로서 듀얼 제약조건이라고 한다. 프라이멀(primal)과 듀얼(dual)이라는 용어가 나왔는데 이에 대해서는 다음에 알아보기로 하고, 여기서는 KKT 조건을 최적화 예제에 적용해 보기로 하자.
다음과 같이 등식 및 부등식 제약조건을 갖는 최적화 문제가 있다.
사실 이 문제는 그림을 그려 보면 해를 쉽게 구할 수 있다.

그림에서 검은색 동심원은
KKT 조건을 적용해 보는 것이 본 예제의 목적이므로 KKT 조건을 적용해서 동일한 최적해를 도출할 수 있는지 살펴보자. 먼저 문제를 표준형으로 바꾼다.
라그랑지안은 다음과 같다.
KKT 조건식은 다음과 같다.
3개의 complementary slackness 조건이 있는데
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
이 중에서 (1), (3), (4)번이 실행 가능한(feasible) 해이며 그 중에서 함수를 최소화하는 최적해는 (1)번으로서
이 최적해는 앞서 그림을 그려서 구한 해와 동일함을 알 수 있다.
'AI 수학 > 최적화' 카테고리의 다른 글
다변수 함수의 연쇄법칙 (Chain Rule) (1) | 2021.03.23 |
---|---|
[KKT 조건 - 3] 프라이멀 문제와 듀얼 문제 (0) | 2021.02.17 |
[KKT 조건 - 1] 등식과 부등식 제약조건이 있는 최적화 문제 (0) | 2021.01.14 |
최소화의 필요조건과 충분조건 (0) | 2021.01.10 |
SGD에서 데이터를 무작위로 추출해야 하는 이유 (1) | 2021.01.04 |
댓글