한눈에 보기
최적화에는 두 종류가 있어요. 14.7은 "아무 제약 없이" 최고·최저를 찾았죠. 그런데 현실에서는 대개 조건이 붙어요 — "예산 100만 원 안에서", "가중치의 크기를 1로 고정하고". 이렇게 g(x, y) = k라는 제약 위에서 f의 최대·최소를 찾는 게 이 절이에요. 도구 이름은 라그랑주 승수법(Lagrange multipliers)이고, 핵심 아이디어는 놀랍도록 기하적이에요: 최적점에서 두 그래디언트가 나란해져요.
- 제약 g(x,y)=k 위에서 f의 최대·최소 찾기
- 핵심 조건 \nabla f = \lambda\nabla g — 두 그래디언트가 평행
- \lambda(라그랑주 승수)와 g=k를 연립해서 후보점 찾기
먼저 알아야 할 것
개념 설명
제약 최적화란
f(x, y)를 아무 데서나 최대로 만드는 게 아니라, g(x, y) = k를 만족하는 점들 위에서만 최대로 만드는 문제예요. 제약식 g(x,y)=k는 xy평면에 하나의 곡선을 그려요(예: x^2+y^2=1이면 단위원). 우리는 그 곡선 위를 걸어다니면서 f가 가장 커지는(작아지는) 지점을 찾는 거예요. 자유롭게 온 평면을 돌아다니는 게 아니라, 정해진 길 위만 다니는 거죠.
왜 그래디언트가 평행인가
제약곡선 위를 걸으면서 f 값을 본다고 해봐요. f의 등고선들을 낮은 값부터 높은 값까지 지도에 그려두고요. 걷다 보면 등고선을 하나씩 가로지르며 f 값이 오르내려요. 그런데 등고선을 가로지르는 동안은 아직 더 높은 등고선으로 넘어갈 여지가 있어요 — 최대가 아니에요.
f가 최대가 되는 순간은, 제약곡선이 어떤 등고선을 가로지르지 않고 살짝 스치는(접하는) 바로 그 지점이에요. 거기서는 곡선을 따라 조금 움직여도 더 높은 등고선으로 못 넘어가거든요. 두 곡선이 접한다는 건 그 점에서 접선 방향이 같다는 뜻이고, 접선이 같으면 그에 수직인 방향도 같아요. 그런데 등고선에 수직인 건 \nabla f, 제약곡선에 수직인 건 \nabla g죠(둘 다 14.6). 그래서 최적점에서 \nabla f와 \nabla g는 같은 방향(또는 정반대) — 즉 평행해요. 평행하다는 걸 식으로 쓰면 한쪽이 다른 쪽의 상수배, 곧
예요. 이 상수 \lambda("람다")가 라그랑주 승수예요. 단, 이 논리는 그 점에서 \nabla g \ne \mathbf{0}일 때 이야기예요. \nabla g = \mathbf{0}인 특이한 점이 제약곡선 위에 있으면 이 연립으로는 안 잡히니, 그런 점은 따로 후보에 넣어 확인해요.
수식 하나하나 뜯어보기
성분으로 풀어 쓰면 \nabla f = \lambda\nabla g는 방정식 두 개(f_x = \lambda g_x, f_y = \lambda g_y)가 되고, 여기에 제약 g=k까지 더해 미지수 x, y, \lambda 세 개에 방정식 세 개를 연립하면 돼요. 변수가 3개든 n개든 이 조건은 토씨 하나 안 바뀌어요 — \nabla f = \lambda\nabla g에 제약식을 더해 미지수 n+1개, 방정식 n+1개를 연립할 뿐이에요. SVM이 수천 차원의 가중치 공간에서 쓰는 것도 정확히 이 식이에요.
손으로 따라가는 예제
단위원 x^2 + y^2 = 1 위에서 f(x, y) = x + y의 최댓값을 구해봐요.
여기서 제약은 g(x, y) = x^2 + y^2 = 1(즉 k=1)이에요.
- 그래디언트 두 개: \nabla f = \langle 1,\ 1\rangle, \nabla g = \langle 2x,\ 2y\rangle.
- \nabla f = \lambda\nabla g를 성분별로: 1 = \lambda\cdot 2x, 1 = \lambda\cdot 2y.
- 두 식에서 2\lambda x = 2\lambda y이니 x = y예요. (1 = 2\lambda x에서 \lambda = 0이면 1 = 0이 되어 모순이니 \lambda \ne 0이고, 안심하고 양변을 2\lambda로 나눌 수 있어요 — 변수로 나눌 땐 이렇게 0인 경우를 먼저 배제해요.)
- 제약식에 넣기: x^2 + x^2 = 1 → x^2 = \tfrac12 → x = \pm\tfrac{1}{\sqrt2}. 그러니 후보는 \big(\tfrac{1}{\sqrt2}, \tfrac{1}{\sqrt2}\big)와 \big(-\tfrac{1}{\sqrt2}, -\tfrac{1}{\sqrt2}\big) 두 개예요.
- f 값을 비교: 앞점은 f = \tfrac{1}{\sqrt2} + \tfrac{1}{\sqrt2} = \sqrt2, 뒷점은 -\sqrt2.
그래서 최댓값은 \sqrt2(점 \big(\tfrac{1}{\sqrt2}, \tfrac{1}{\sqrt2}\big)에서), 최솟값은 -\sqrt2예요. 원 위를 한 바퀴 도는 동안 x+y가 가장 커지는 곳이 바로 45도 방향의 그 점이라는 게 딱 맞죠.
흔한 헷갈림
핵심 정리
- 제약 g(x,y)=k 위에서 f의 최대·최소를 찾는 게 라그랑주 승수법이에요.
- 최적점에서는 두 그래디언트가 평행: \nabla f = \lambda\nabla g. 등고선이 제약곡선에 접하는 순간이거든요.
- 풀이 = \nabla f = \lambda\nabla g와 g=k를 연립(x, y, \lambda 세 미지수) → 후보 다 구해 f 값 비교.
- 뒤에서 다시 만나는 곳: 이걸로 14장 편미분이 끝나요. 다음 15장부터는 다중적분으로 넘어가, 곡면 아래 부피나 영역 위 평균 같은 걸 여러 겹 적분으로 구해요. 그리고 이 절의 \nabla f = \lambda\nabla g는 나중에 SVM·정규화를 공부할 때 다시 만나요.