Constrained optimization

이번 글에서는 제약조건이 있는 최적화 문제를 다룬다. 특히 Lagrangian function, Lagrangian duality, Karush-Kuhn-Tucker (KKT) conditions가 각각 어떤 역할을 하는지 살펴보고, 이를 hard-margin support vector machine(SVM)에 적용한다.

핵심 흐름은 다음과 같다.

SVM은 이 흐름이 특히 잘 드러나는 예시이다. dual을 풀면 support vector가 자동으로 선택되고, 그 결과로 원래 classifier를 복원할 수 있다.


1. General form of a constrained optimization problem

다음과 같은 minimization problem을 생각하자.

여기서 는 optimization variable이고, 는 목적함수이다. 는 inequality constraint, 는 equality constraint이다.

제약조건을 모두 만족하는 점들의 집합을 feasible set이라고 하며,

로 쓴다. 원래 문제의 최적값은

이다.

제약이 없다면 미분가능한 함수의 최적점을 찾을 때 을 이용할 수 있다. 하지만 constrained problem에서는 최적점이 feasible region의 경계에 놓일 수 있다. 이때는 가 0일 필요가 없고, 목적함수의 기울기와 활성화된 제약조건의 기울기가 서로 균형을 이룬다. Lagrangian과 KKT conditions는 이 균형을 표현하는 도구이다.


2. Lagrangian function

각 inequality constraint에 multiplier 를, 각 equality constraint에 multiplier 를 붙인다. Lagrangian function은

이다.

여기서 inequality multiplier는 반드시

이어야 한다. 반면 equality multiplier 에는 부호 제약이 없다.

그 이유는 feasible한 에 대해

이므로, 일 때

가 되기 때문이다. 즉, feasible point에서 Lagrangian은 원래 목적함수의 값을 넘지 않는다.

또 다른 관점에서, 부등식 제약 하나 는

로 표현할 수 있다. 제약을 만족하면 multiplier를 으로 두어 값이 이 되고, 제약을 위반하면 multiplier를 무한히 키워 penalty를 무한대로 만들 수 있다.

따라서 primal problem은 다음의 saddle-point 형태로도 볼 수 있다.


3. Lagrangian duality

Lagrangian에서 먼저 에 대해 최솟값을 취한 함수를 Lagrangian dual function이라고 한다.

그러면 dual problem은

가 된다. dual의 최적값을 라고 하자.

고정된 에 대해 는 에 대한 affine function이다. 그리고 는 그러한 affine functions의 pointwise minimum이다. 따라서 원래 , , 가 어떤 형태이든 는 항상 concave하다.

3.1 Weak duality

모든 feasible 와 모든 에 대해

가 성립한다. 따라서

이다. 이것이 weak duality이다.

동일한 사실을 minimax inequality로 쓰면,

가 된다. 왼쪽이 dual problem, 오른쪽이 primal problem이다.

3.2 Strong duality

일반적으로는 일 수 있다. 하지만 목적함수와 inequality constraints가 convex이고 equality constraints가 affine이며 Slater condition이 만족되면,

가 성립한다. 이를 strong duality라고 한다.

Slater condition은 대략적으로 말해, affine이 아닌 convex inequality constraints를 모두 strict하게 만족하는 feasible point가 존재한다는 조건이다. convex optimization에서 strong duality는 primal과 dual을 같은 최적값을 향하는 두 관점으로 만들어 준다.


4. KKT conditions

KKT conditions는 constrained problem의 최적해가 만족해야 하는 조건들을 모아 둔 것이다. 다음 convex problem을 생각하자.

적절한 constraint qualification, 예를 들어 Slater condition이 성립한다고 하자. 그러면 최적해 와 multipliers 는 다음을 만족한다.

4.1 Primal feasibility

원래 제약을 실제로 만족해야 한다.

4.2 Dual feasibility

부등식 제약의 multiplier는 음수가 될 수 없다.

4.3 Stationarity

이는 Lagrangian을 에 대해 미분한 조건,

과 같다. unconstrained optimization의 이 제약조건까지 포함하도록 확장된 모습이다.

4.4 Complementary slackness

각 inequality constraint마다 다음 둘 중 하나가 성립한다.

즉, 느슨한 제약은 최적해를 직접 밀지 않으며, 양의 multiplier를 가진 제약은 최적해에서 정확히 활성화되어 있다.

convex problem에서는 feasible한 점과 multipliers가 KKT conditions를 만족하면, 그 점은 전역 최적해이다. KKT conditions는 최적성을 검증하는 도구일 뿐 아니라, 실제 알고리즘이 어떤 제약이 활성화되어야 하는지 찾아가는 기준이 된다.


5. Hard-margin support vector machine

SVM은 constrained optimization과 duality가 실제로 어떻게 쓰이는지 보여 주는 대표적인 예시이다.

훈련 데이터가

로 주어졌다고 하자. 여기서

선형 classifier의 score function은

이고, prediction은

로 한다.

결정 경계는

이다. 는 이 hyperplane에 수직인 normal vector이다.

5.1 Margin과 primal problem

동일한 decision boundary는 를 양의 상수배해도 바뀌지 않는다. 이 scale freedom을 이용해 가장 가까운 데이터의 functional margin을 로 정규화하면,

가 된다.

두 support planes는

이며, 그 사이의 전체 폭은

이다. 따라서 최대 margin classifier는 다음 primal problem으로 쓸 수 있다.

목적함수는 convex이고 제약은 affine이다. 또한 데이터가 strictly linearly separable하면 strict feasibility가 가능하므로 strong duality를 적용할 수 있다.


6. Deriving the SVM dual

SVM의 제약을

로 쓴다. 각 제약에 multiplier 를 붙이면 Lagrangian은

가 된다.

dual function을 구하려면 에 대해 을 최소화한다. 먼저 에 대해 미분하면,

따라서

다음으로 에 대해 미분하면,

즉,

이 조건이 만족되지 않으면 는 제한 없는 변수이므로 이 가 된다. 따라서 이 식은 dual의 equality constraint로 남는다.

를 제거하면 hard-margin SVM dual은

이다.

이 문제는 concave quadratic maximization problem이다. 데이터는 오직 inner product 를 통해서만 등장한다.

equality constraint는 계수 하나를 제거해서 처리할 수도 있다. 예를 들어 이면,

다만 원래의 조건 는 남은 변수들에 대한 새로운 linear inequality로 바뀐다. 실제 SVM solver는 이 제약을 보존하면서 dual objective를 증가시키도록 를 반복 갱신한다.


7. SVM KKT conditions and support vectors

SVM에 KKT conditions를 적용하면 다음과 같다.

상보성 조건은 support vector의 의미를 설명한다.

즉, 양의 를 가진 데이터는 정확히 margin boundary 위에 있다. 반대로

마진보다 바깥에 충분히 멀리 있는 점은

를 형성하는 데 직접 기여하지 않는다.

따라서 support vector는 미리 선택하는 점이 아니다. 모든 훈련 점에 대해 를 두고 dual problem을 풀었을 때, 최종적으로 으로 남은 점이 support vector가 된다.

KKT 조건을 점별로 보면 다음과 같이 정리할 수 있다.

여기서 첫 번째 행에서 이면 primal feasibility를 위반한다. 두 번째 행에서 이면 complementary slackness를 위반한다. 실제 algorithm은 이러한 KKT 위반을 줄이도록 multipliers를 조정한다.


8. Recovering the classifier from the dual solution

dual problem을 풀어 를 얻으면, 먼저

로 를 복원한다.

그다음 인 support vector 하나를 고른다. 이 점은 margin 위에 있으므로

을 이용하면,

실제 수치 계산에서는 여러 support vector에서 이 값을 구해 평균내면 오차를 줄일 수 있다.

새 점 에 대한 prediction은

여기서 인 항은 사라진다. 즉, prediction에도 support vector만 직접 남는다.


9. A two-point example

1-dimensional data 두 개를 생각하자.

primal constraints는

이다. 따라서

를 최소화하려면

이다. primal optimal value는

dual equality constraint는

따라서 로 둘 수 있고,

dual objective는

미분하면

이므로

따라서

두 multiplier가 모두 양수이므로, 두 점 모두 support vector이다.


10. Summary

constrained optimization에서는 단순히 목적함수의 gradient를 으로 두는 것만으로 충분하지 않다. feasible region의 경계에서 최적점이 나올 수 있기 때문이다.

Lagrangian은 제약을 multipliers와 함께 목적함수 안에 넣고, dual function은 그러한 Lagrangian으로부터 primal optimal value의 lower bound를 만든다. weak duality는 항상 성립하며, convexity와 Slater condition 같은 조건 아래에서는 strong duality가 성립한다.

KKT conditions는 primal feasibility, dual feasibility, stationarity, complementary slackness를 함께 요구한다. convex problem에서는 이 조건들이 최적해를 완전히 특징지을 수 있다.

hard-margin SVM에서는 KKT conditions를 통해 다음 사실이 나온다.

즉, dual optimization은 classifier를 만들기 위한 계수 를 찾는 동시에, 결정 경계를 실제로 결정하는 support vector를 찾아내는 과정이다.


References

  • OPT_2026_lecture15_note.pdf: Lagrangian duality, weak duality, strong duality
  • OPT_2026_lecture16_note.pdf: KKT conditions, saddle-point interpretation, primal-dual methods
  • Constrained Optimization.pdf: constrained optimization 발표 자료
  • logistic_regression_svm_notes.pdf: hard-margin SVM, SVM dual, KKT conditions, classifier recovery