제약이 있는 최적화, 등위선이 접하는 조건, 라그랑주 승수법, 여러 제약, 부등식 제약과 KKT 조건의 개요
“둘레가 정해진 직사각형 중 넓이가 가장 큰 것”, “예산 안에서 효용이 가장 큰 소비”, “확률의 합이 1이라는 조건에서 엔트로피가 가장 큰 분포”처럼, 실제 최적화 문제에는 조건(제약)이 붙습니다. 라그랑주 승수법은 제약을 없애지 않고도 이런 문제를 깔끔한 연립방정식으로 바꿉니다. 핵심 아이디어는 “최적점에서는 목적함수의 등위선과 제약 곡선이 접한다”는 그림 하나입니다.
6.1 제약이 있는 최적화
g(x,y)=c라는 조건(곡선) 위에서 f(x,y)를 최대 또는 최소로 하는 문제를 생각합니다.
제약을 풀어 변수 하나를 없앨 수 있으면(예: y=c−x) 미적분학 6장으로 풀립니다. 그러나 x2+y2=1처럼 풀기 번거롭거나, 변수가 많으면 다른 방법이 필요합니다.
6.2 접하는 조건
곡선 g=c를 따라 걸으며 f의 값을 본다고 합시다. 걷는 방향이 f의 등위선을 가로지르면 f가 커지거나 작아지는 중이므로 최적점이 아닙니다. 최적점에서는 곡선이 f의 등위선과 접합니다(같은 방향으로 갑니다).
두 곡선이 접하면 그 점에서의 법선이 평행합니다. f의 등위선의 법선은 ∇f, 곡선 g=c의 법선은 ∇g입니다(2장의 정리 2.10). 그러므로 최적점에서 ∇f=λ∇g입니다.
정리 6.1 (라그랑주 승수법).f와 g가 미분 가능하고, 제약 g(x)=c 위에서 f가 a에서 극값을 가지며 ∇g(a)=0이면
∇f(a)=λ∇g(a)
인 수 λ가 있습니다. λ를 라그랑주 승수(Lagrange multiplier)라 합니다.
실제 풀이는 미지수 x,y,λ에 대한 연립방정식
fx=λgx,fy=λgy,g(x,y)=c
를 풀고, 나온 후보들의 f 값을 비교하는 것입니다. 같은 말로, 라그랑지언(Lagrangian) L(x,y,λ)=f(x,y)−λ(g(x,y)−c)의 임계점을 찾는 것입니다. ∂L/∂λ=0이 제약 자체가 됩니다.
곧 λ는 “제약을 조금 느슨하게 하면 최적값이 얼마나 좋아지는가”입니다. 경제학에서는 자원의 그림자 가격, 물리에서는 제약을 유지하는 힘(예: 줄의 장력)입니다. 예제 6.2에서 원의 반지름을 바꾸면 f∗=5r이고, c=r2이므로 dcdf∗=2r5, r=1에서 25인데, 실제로 λ=2x1=25입니다.
6.4 여러 제약
제약이 g1=c1,…,gm=cm이면
∇f=λ1∇g1+⋯+λm∇gm.
예제 6.5 (최대 엔트로피). 확률 p1,…,pn(∑pi=1)에서 엔트로피 H=−∑pilnpi를 최대로 합니다. ∂pi∂H=−lnpi−1=λ이므로 모든 pi가 같은 값 e−1−λ이고, 합이 1이므로 pi=1/n입니다. 아무 정보가 없을 때 가장 “고른” 분포는 균등분포입니다. 평균이라는 제약을 하나 더 넣으면 같은 계산에서 pi∝e−βxi 꼴(볼츠만 분포, 소프트맥스)이 나옵니다.
6.5 부등식 제약과 KKT 조건
제약이 g(x)≤c(부등식)이면 두 경우가 있습니다.
최적점이 영역 안쪽(g<c)이면 제약이 없는 것과 같아서 ∇f=0.
최적점이 경계(g=c)이면 라그랑주 조건, 그리고 최소화일 때 λ≥0(제약이 실제로 막고 있다는 방향 조건).
두 경우를 한꺼번에 쓴 것이 KKT 조건(Karush–Kuhn–Tucker)입니다. ∇f+λ∇g=0, λ≥0, g≤c, λ(g−c)=0. 마지막 식(상보성)은 “제약이 걸려 있지 않으면 승수는 0”이라는 뜻입니다. 서포트 벡터 머신(SVM)에서 “서포트 벡터”는 바로 λ>0인, 경계에 걸린 데이터점입니다.
6.6 이 장의 요약
최적점에서 등위선과 제약이 접합니다: ∇f=λ∇g.
라그랑지언 L=f−λ(g−c)의 임계점을 찾습니다.
λ = 제약을 느슨하게 할 때 최적값의 변화율. 부등식 제약은 KKT 조건.
쓰이는 곳. 서포트 벡터 머신, 최대 엔트로피 모델과 소프트맥스의 유도, 강화학습의 제약 정책 최적화(TRPO의 KL 제약), 경제학의 효용 최대화, 물리의 제약 운동(라그랑주 역학)과 통계역학의 볼츠만 분포가 라그랑주 승수를 씁니다.