[ENAI601] 08 — Quadratic Programming, 곡률과 제약에서 최소제곱·거리 문제까지

SERIES: ENAI601 Numerical Methods(8)

  1. [ENAI601] 01 — 벡터에서 정사영까지, 직교성이 계산을 바꾸는 이유
  2. [ENAI601] 02 — 행렬에서 PSD까지, 사라지는 방향과 복원하는 방법
  3. [ENAI601] 03 — Convex Set, 제약조건을 공간의 모양으로 읽기
  4. [ENAI601] 04 — Convex Function, 기울기의 변화에서 Hessian까지
  5. [ENAI601] 05 — Basic Optimization, 무엇을 어디에서 최소화할까?
  6. [ENAI601] 06 — Convex Optimization, Local에서 Global로 이어지는 이유
  7. [ENAI601] 07 — Linear Programming, 등고선과 꼭짓점에서 Chebyshev Center까지
  8. [ENAI601] 08 — Quadratic Programming, 곡률과 제약에서 최소제곱·거리 문제까지
이 글의 목차

앞 글의 Linear Programming에서는 목적함수가 affine이면 등고선이 평행하게 이동하고, 조건이 맞을 때 꼭짓점에서 최적값을 찾을 수 있다는 것을 보았다. 하지만 예측 오차의 제곱합이나 두 물체 사이 거리처럼 자연스러운 비용 함수에는 이차항이 등장한다.

Quadratic Programming(이차계획법, QP)은 affine 제약을 유지하면서 이런 비용을 다루는 단계다. 가능집합은 여전히 polyhedron이지만 목적함수의 곡률 때문에 최적점은 내부에도, 경계에도 놓일 수 있다. 따라서 꼭짓점만 검사하는 대신 Hessian의 PSD 조건과 제약을 고려한 최적성 조건을 함께 사용해야 한다.

작은 이차함수에서 시작해 왜 PP가 곡률을 결정하는지 확인하고, 제약이 있는 최소제곱과 두 다면체 사이 거리를 QP로 표현해 보자.

1. LP에서 QP로

LP는 목적함수가 affine이다.

fLP(x)=cTx+df_{\mathrm{LP}}(x)=c^Tx+d

QP는 이차항을 허용한다.

fQP(x)=12xTPx+qTx+rf_{\mathrm{QP}}(x)=\frac12x^TPx+q^Tx+r

여기서 P∈Rn×nP\in\mathbb R^{n\times n}는 대칭행렬, q∈Rnq\in\mathbb R^n는 벡터, r∈Rr\in\mathbb R는 상수다. 이 글의 rr은 앞의 LP 글에서 쓴 공의 반지름과 달리 목적함수의 상수항이다. 제약은 Affine Inequality/Equality(아핀 부등식·등식)로 표현한다. Gx≤hGx\le h는 각 행의 부등식을 모두 만족한다는 뜻이다.

Quadratic Programming(이차계획법, QP)은 목적함수에 이차항이 있는 최적화 문제다. 일반적인 QP가 모두 convex인 것은 아니다. 이 수업에서 주로 다루는 것은 P⪰0P\succeq0인 Convex QP(볼록 이차계획)다.

minimize⁡12xTPx+qTx+rsubject toGx≤h,Ax=b.\begin{aligned} \operatorname{minimize}\quad&\frac12x^TPx+q^Tx+r\\ \text{subject to}\quad&Gx\le h,\\ &Ax=b. \end{aligned}

교안 발췌 · Module 6 — Quadratic Program

minimize⁡x12xTPx+qTx+rsubject toGx≤h,Ax=b,P∈S+n.\begin{aligned} \operatorname{minimize}_{x}\quad&\frac12x^TPx+q^Tx+r\\ \text{subject to}\quad&Gx\le h,\quad Ax=b,\qquad P\in S_+^n. \end{aligned}

Quadratic objective function

Affine constraint functions

When P=0P=0, reduces to a linear program

S+nS_+^n은 n×nn\times n 실수 대칭 PSD 행렬들의 집합이다. 이 기호의 ++는 모든 원소가 양수라는 뜻이 아니다. 이차형식이 모든 방향에서 음수가 되지 않는다는 조건이다. P=0P=0이면 이차항이 사라져 LP가 된다.

Affine and quadratic objectives

그림의 왼쪽은 2x+12x+1, 오른쪽은 (x−2)2(x-2)^2다. 앞의 직선은 기울기가 항상 2지만, 뒤의 포물선은 x=2x=2를 기준으로 감소하다 증가한다. 같은 xx축 위에서도 목적함수의 모양이 달라지면 최적점을 찾는 관점이 달라진다.

차이: LP의 gradient는 일정하지만 QP의 gradient는 위치에 따라 달라진다. 따라서 QP의 최적점은 feasible set의 내부에 있을 수도 있다.

∇fLP(x)=c,∇fQP(x)=Px+q\nabla f_{\mathrm{LP}}(x)=c,\qquad \nabla f_{\mathrm{QP}}(x)=Px+q ∇2fQP(x)=P\nabla^2f_{\mathrm{QP}}(x)=P

왜 앞에 1/2이 붙고, 대칭성을 가정할까?

스칼라 xTPxx^TPx를 성분으로 쓰면 ∑i∑jpijxixj\sum_i\sum_jp_{ij}x_ix_j다. xkx_k로 미분할 때 i=ki=k인 항과 j=kj=k인 항이 모두 기여하므로

∇(xTPx)=(P+PT)x.\nabla(x^TPx)=(P+P^T)x.

따라서 대칭 PP에서는 ∇(xTPx)=2Px\nabla(x^TPx)=2Px이고, 앞의 1/21/2 덕분에 ∇f0=Px+q\nabla f_0=Px+q가 된다. 1/21/2는 제약을 바꾸기 위한 장치가 아니라 미분 결과를 간단하게 만드는 관례다.

대칭이 아닌 행렬 BB가 주어져도

xTBx=xT(B+BT2)xx^TBx=x^T\left(\frac{B+B^T}{2}\right)x

이므로 대칭 부분으로 같은 quadratic form을 나타낼 수 있다. 이때 Hessian은 BB 자체가 아니라 (B+BT)/2(B+B^T)/2다. 또 상수항 rr은 gradient와 최적점에는 영향을 주지 않지만, 최적값에는 더해져야 한다.

2. Quadratic Form과 고유값 복습

Quadratic Form(이차형식)은 벡터를 입력받아 하나의 실수를 만드는 식이다.

xTPxx^TPx

작은 예제로 시작하자.

P=[2004]P=\begin{bmatrix}2&0\\0&4\end{bmatrix} xTPx=2x12+4x22x^TPx=2x_1^2+4x_2^2

고유벡터와 고유값의 정의는 다음과 같다.

Pv=λvPv=\lambda v

고유벡터는 행렬 작용을 받아도 같은 직선 위에 있는 방향이다. 고유값은 그 방향에 적용되는 부호 있는 배율이다. 특히 단위 고유벡터에서는:

vTPv=λv^TPv=\lambda

따라서 이차함수의 각 고유벡터 방향 곡률은 고유값의 부호로 판별할 수 있다.

  • PD (positive definite): 모든 고유값이 양수. 이차 목적함수는 strictly convex.
  • PSD (positive semidefinite): 모든 고유값이 0 이상. 이차 목적함수는 convex이며, 반드시 strictly convex인 것은 아니다.
  • Indefinite: 양수와 음수 고유값이 공존. 이차함수는 convex하지 않다.
P⪰0  ⟺  zTPz≥0∀zP\succeq0\iff z^TPz\ge0\quad\forall z

Convex bowl vs saddle

그림의 왼쪽은 f=x12+2x22=12xTdiag⁡(2,4)xf=x_1^2+2x_2^2=\frac12x^T\operatorname{diag}(2,4)x다. 위에서 계산한 xTPxx^TPx 자체와는 1/21/2배 차이가 있다. 이 예의 PP는 PSD인 동시에 PD여서 바닥이 한 점인 그릇 모양이다. 모든 PSD 함수가 이런 그릇 모양은 아니다. 예를 들어 f=x12f=x_1^2는 x2x_2 방향으로 평평하다.

오른쪽은 f=x12−x22f=x_1^2-x_2^2이며 Hessian은 diag⁡(2,−2)\operatorname{diag}(2,-2)다. 한 방향으로는 위로 굽고 다른 방향으로는 아래로 굽는 Saddle(안장) 모양이다.

직접 계산: Eigenvalues

P=[3113]P=\begin{bmatrix}3&1\\1&3\end{bmatrix} det⁡(P−λI)=(3−λ)2−1=0\det(P-\lambda I)=(3-\lambda)^2-1=0 λ1=2,λ2=4\lambda_1=2,\qquad\lambda_2=4

따라서 PP는 PD다. (1,1)T/2(1,1)^T/\sqrt2 방향의 고유값은 4, (1,−1)T/2(1,-1)^T/\sqrt2 방향의 고유값은 2다. 같은 거리만큼 움직여도 전자의 방향에서 목적함수가 더 가파르게 휜다.

Hessian의 PSD가 왜 convexity를 판별할까?

점 xx에서 방향 vv를 따라 움직이는 한 변수 함수 g(t)=f0(x+tv)g(t)=f_0(x+tv)를 생각하면

g′′(t)=vTPv.g''(t)=v^TPv.

P⪰0P\succeq0이면 모든 방향에서 이 값이 0 이상이다. 어떤 직선으로 잘라도 함수가 아래로 굽지 않으므로 이차 목적함수가 convex다. 반대로 vTPv<0v^TPv<0인 방향이 있으면 그 직선 위에서는 아래로 굽기 때문에 전체 Rn\mathbb R^n에서 convex일 수 없다.

교안 발췌 · Module 6 — Quadratic Program, convexity

∇2f0(x)=P∈S+n(positive semidefinite).\nabla^2 f_0(x)=P\in S_+^n\quad\text{(positive semidefinite)}.

따라서 f0f_0가 전체 Rn\mathbb R^n에서 convex일 필요충분조건은 대칭 PP가 PSD인 것이다. 실제 제약이 특정 방향을 제거하는 특수한 경우와, 목적함수 자체를 전체 공간에서 판별하는 기준은 구별한다.

Convexity·존재·유일성은 다른 질문이다. P⪰0P\succeq0은 곡률에 관한 조건이다. 제약이 모순이면 feasible point가 없고, 비용이 아래로 무한히 감소할 수도 있다. P≻0P\succ0이면 무제약 QP는 유일한 최적점을 갖는다. 제약이 있을 때도 가능집합이 비어 있지 않은 닫힌 polyhedron이면 유일한 최적점이 존재하지만, 먼저 가능집합의 비어 있지 않음을 확인해야 한다.

3. QP 최적점은 꼭짓점이어야 할까?

그렇지 않다. LP의 affine objective 때문에 성립했던 꼭짓점 관련 논리를 QP에 적용하면 안 된다.

min⁡0≤x≤4(x−2)2\min_{0\le x\le4}(x-2)^2 x∗=2x^*=2

[0,4][0,4]는 양 끝점 0과 4를 포함하는 구간, 즉 0≤x≤40\le x\le4다. 최적점 2는 두 끝점 사이의 내부에 있다. 양 끝점의 비용은 각각 4지만 x=2x=2에서는 0이다. 따라서 꼭짓점 두 개만 검사하면 실제 해를 놓친다.

Interior optimum

주황색 구간은 허용되는 xx의 범위를 표시한다. 목적함수값이 0이어야 한다는 제약이 아니라, 그 구간 위에서 포물선의 높이를 가장 낮게 만드는 xx를 고르는 문제다.

4. Unconstrained QP — Gradient = 0

f0(x)=12xTPx+qTx+rf_0(x)=\frac12x^TPx+q^Tx+r

대칭 P에 대해:

∇f0(x)=Px+q\nabla f_0(x)=Px+q

Stationary point는 다음 방정식을 만족한다.

Px=−qPx=-q

P가 PD라면 유일한 해가 전역 최소점이다.

x∗=−P−1qx^*=-P^{-1}q

실전 계산에서는 역행렬을 직접 만들기보다 연립일차방정식을 푼다. 이 식을 쓰기 전에 PP가 가역인지 확인해야 한다.

P가 PSD이지만 singular라면?

Singular(특이)는 역행렬이 없다는 뜻이다. 이때 P−1P^{-1} 공식을 그대로 쓸 수 없다.

  • f(x1,x2)=x12f(x_1,x_2)=x_1^2는 P=diag⁡(2,0)P=\operatorname{diag}(2,0), q=0q=0인 convex QP다. x1=0x_1=0이면 어느 x2x_2에서도 최솟값 0이므로 최적점이 여러 개다.
  • f(x1,x2)=x12−x2f(x_1,x_2)=x_1^2-x_2는 같은 PP를 가지지만, x2x_2를 키우면 비용이 끝없이 줄어든다. PSD여도 최적점이 없다.

차이는 평평한 방향에 있는 선형항이다. 무제약 convex QP에서는 Px=−qPx=-q가 풀리면 그 해가 전역 최적점이고, 풀리지 않으면 유한한 최적값이 없다. 평평한 방향에 선형 감소 성분이 남으면 그쪽으로 계속 이동할 수 있기 때문이다.

예제

f(w)=(w−3)2+2f(w)=(w-3)^2+2 f′(w)=2w−6=0⟹w∗=3f'(w)=2w-6=0\quad\Longrightarrow\quad w^*=3

5. Constrained QP — Gradient가 0이 아닐 수 있다

min⁡x1,x2(x1−2)2+(x2−3)2subject tox1+x2≤4\begin{aligned} \min_{x_1,x_2}\quad &(x_1-2)^2+(x_2-3)^2\\ \text{subject to}\quad&x_1+x_2\le4 \end{aligned}

무제약 최적점 (2,3)은 제약을 위반한다. 목적함수는 (2,3)까지의 제곱 Euclidean distance이므로, 허용된 반공간에 가장 가까운 점은 경계 위에 있다.

경계에서:

x2=4−x1x_2=4-x_1 f0(x1)=(x1−2)2+(1−x1)2=2x12−6x1+5\begin{aligned} f_0(x_1)&=(x_1-2)^2+(1-x_1)^2\\ &=2x_1^2-6x_1+5 \end{aligned} 4x1−6=0⟹x1∗=1.5,x2∗=2.54x_1-6=0\Longrightarrow x_1^*=1.5,\quad x_2^*=2.5

QP optimum on boundary

두 축은 최적화 변수 x1,x2x_1,x_2다. 원 모양의 등고선마다 목적함수값이 일정하고, 초록색 영역이 x1+x2≤4x_1+x_2\le4를 만족하는 반공간이다. 중심 (2,3)(2,3)은 영역 밖에 있으며, 가장 작은 비용으로 영역에 닿는 점이 (1.5,2.5)(1.5,2.5)다. 그 비용은 0.50.5다.

Optimality Criterion 검증

먼저 후보점이 제약을 만족하는지 확인한다. 그다음 미분 가능한 convex 목적함수와 convex 가능집합 DD에서는 다음이 최적성의 필요충분조건이다.

(∇f0(x∗))T(y−x∗)≥0∀y∈D(\nabla f_0(x^*))^T(y-x^*)\ge0\qquad\forall y\in D

이번 예제에서는:

∇f0(x∗)=[−1−1]\nabla f_0(x^*)=\begin{bmatrix}-1\\-1\end{bmatrix} (∇f0(x∗))T(y−x∗)=4−y1−y2≥0(\nabla f_0(x^*))^T(y-x^*)=4-y_1-y_2\ge0

마지막 부등식은 모든 feasible yy가 y1+y2≤4y_1+y_2\le4를 만족하기 때문에 성립한다. 따라서 (1.5,2.5)(1.5,2.5)는 전역 최적점이다. 목적함수의 Hessian은 2I≻02I\succ0이므로 최적점도 유일하다.

여기서 gradient는 (−1,−1)T(-1,-1)^T로 0이 아니다. 감소 방향 −∇f0=(1,1)T-\nabla f_0=(1,1)^T로 움직이면 x1+x2x_1+x_2가 커져 제약을 위반한다. 최적점은 “모든 방향에서 평평한 점”이 아니라 허용된 다른 점으로 이동해도 비용을 줄일 수 없는 점이다.

이 예에서 경계까지의 Euclidean projection(유클리드 정사영)을 쓸 수 있는 이유는 목적함수가 (2,3)(2,3)까지의 거리 제곱이기 때문이다. 일반적인 P≻0P\succ0에서는 방향별 곡률이 달라지므로, 무제약 해를 임의로 잘라내거나 가장 가까운 Euclidean 점을 찾는 방식이 항상 해를 주지는 않는다.

6. Constrained Least Squares — 데이터 문제를 QP로

Constrained Least Squares(제약이 있는 최소제곱)는 예측 오차를 작게 만들면서 계수의 허용 범위를 지키는 문제다. 계수의 부호나 크기를 제한해야 하는 모델에서 나타난다.

교안 발췌 · Module 6 — Examples – Quadratic Program

Least squares problem with constraints (example: estimation of house values)

minimize⁡x ∥Ax−b∥22subject tol≤x≤u.\operatorname{minimize}_{x}\ \|Ax-b\|_2^2 \quad\text{subject to}\quad l\le x\le u.

교안의 xx는 추정할 계수 벡터다. 아래에서는 데이터의 feature(입력 특성)와 구별하기 위해 계수를 ww로 쓴다. 아래의 관측값 두 개는 설명용 예제이며 교안의 주택가격 데이터가 아니다.

데이터:

Feature xTarget y
12
23

Bias 없는 선형 모델은 다음과 같다.

y^=wx\hat y=wx

SSE(Sum of Squared Errors, 오차 제곱합)는 각 관측값과 예측값의 차이를 제곱해 더한 값이다.

f(w)=(w−2)2+(2w−3)2=5w2−16w+13\begin{aligned} f(w)&=(w-2)^2+(2w-3)^2\\ &=5w^2-16w+13 \end{aligned} f′(w)=10w−16=0⟹wfree∗=1.6f'(w)=10w-16=0\Longrightarrow w^*_{\mathrm{free}}=1.6

이제 계수의 허용 범위를 다음과 같이 제한하자.

0≤w≤10\le w\le1

모든 허용 ww에서 f′(w)=10w−16≤−6<0f'(w)=10w-16\le-6<0이므로 비용은 오른쪽으로 갈수록 감소한다. 더 이상 오른쪽으로 갈 수 없는 w∗=1w^*=1이 제한된 최적점이다. 원래 오차 제곱합은 무제약 해 w=1.6w=1.6에서 0.20.2, 제약 해 w=1w=1에서 22다. 제약을 추가하면 가능한 선택이 줄기 때문에 최소 오차가 커질 수 있다.

Constrained least squares

이 그림의 가로축은 최적화 변수 ww가 아니라 입력 feature xx다. 선택할 변수 ww는 직선의 기울기이며, 파란 실선과 주황 점선이 서로 다른 모델을 나타낸다. 회색 세로선은 무제약 모델의 예측과 관측 사이 잔차를 표시한다. 최소화하는 것은 어느 점의 높이가 아니라 이 잔차들의 제곱합이다.

행렬 전개: QP의 P, q, r을 직접 찾기

f0(w)=12∥Xw−y∥22f_0(w)=\frac12\|Xw-y\|_2^2 f0(w)=12(Xw−y)T(Xw−y)=12wTXTXw−wTXTy+12yTy\begin{aligned} f_0(w)&=\frac12(Xw-y)^T(Xw-y)\\ &=\frac12w^TX^TXw-w^TX^Ty+\frac12y^Ty \end{aligned}

QP 표준형과 비교:

P=XTX,q=−XTy,r=12yTyP=X^TX,\qquad q=-X^Ty,\qquad r=\frac12y^Ty

1/2 유무에 따른 계수 차이

방금 전개한 것은 12∥Xw−y∥22\frac12\|Xw-y\|_2^2다. 교안의 ∥Ax−b∥22\|Ax-b\|_2^2에는 앞의 1/21/2가 없다. 데이터 행렬과 벡터 이름을 X,yX,y로 통일하면 다음과 같다.

최소화하는 함수QP의 PPQP의 qqQP의 상수항 rr
12∥Xw−y∥22\frac12\|Xw-y\|_2^2XTXX^TX−XTy-X^Ty12yTy\frac12y^Ty
∥Xw−y∥22\|Xw-y\|_2^22XTX2X^TX−2XTy-2X^TyyTyy^Ty

두 행 모두 QP 표준 목적함수는 12wTPw+qTw+r\frac12w^TPw+q^Tw+r라는 관례에 맞춘 계수다. 목적함수 전체에 양수 2를 곱해도 최적점은 같지만 최적값은 2배가 된다.

작은 예제에서 X=(1,2)TX=(1,2)^T, y=(2,3)Ty=(2,3)^T이므로 XTX=5X^TX=5, XTy=8X^Ty=8, yTy=13y^Ty=13이다. 따라서 원래 SSE는 P=10P=10, q=−16q=-16, r=13r=13으로 표현된다.

상자 제약 l≤w≤ul\le w\le u는 w≤uw\le u, −w≤−l-w\le-l라는 affine inequalities로 바꾼다. y^=wx+b\hat y=wx+b처럼 절편을 포함하려면 데이터 행렬에 1로 된 열을 붙여 같은 방식으로 다룰 수 있다.

왜 PSD인가?

임의의 v에 대해:

vTXTXv=(Xv)T(Xv)=∥Xv∥22≥0v^TX^TXv=(Xv)^T(Xv)=\|Xv\|_2^2\ge0

따라서:

XTX⪰0X^TX\succeq0

Full Column Rank(열이 선형독립)이면 Xv=0Xv=0인 벡터는 v=0v=0뿐이다. 따라서 v≠0v\ne0이면 위 제곱 노름이 양수여서 XTX≻0X^TX\succ0이다. 반대로 열이 선형종속이면 v≠0v\ne0인데도 Xv=0Xv=0인 방향이 있고 그 방향에서는 계수를 움직여도 예측값이 변하지 않는다.

그러므로 XTXX^TX가 PD일 필요충분조건은 XX가 full column rank인 것이다. 다만 PP가 singular여도 제약이 평평한 방향의 움직임을 막으면 최적점이 유일할 수 있다. PSD 자체가 다중해를 강제하는 것은 아니다.

7. Distance Between Two Polyhedra — 두 번째 대표 QP 응용

두 Polyhedra(다면체) 사이 거리는 각각에서 점을 하나씩 골라 얻는 가장 작은 거리다. 두 집합을 고정해 두고 어느 두 점을 고를지를 최적화한다. 아래에서는 두 다면체가 비어 있지 않다고 가정한다.

교안도 이를 다음과 같이 QP의 응용으로 제시한다.

교안 발췌 · Module 6 — Examples – Quadratic Program, Distance between two polyhedra

minimize⁡x1,x2 ∥x1−x2∥22subject toA1x1≤b1,A2x2≤b2.\operatorname{minimize}_{x_1,x_2}\ \|x_1-x_2\|_2^2 \quad\text{subject to}\quad A_1x_1\le b_1,\quad A_2x_2\le b_2.

교안의 두 점 x1,x2x_1,x_2를 아래에서는 x,yx,y로 쓴다. 각 점의 좌표와 “첫 번째 점·두 번째 점”을 혼동하지 않기 위한 표기다.

두 집합:

P1={x∈Rn:A1x≤b1}P2={y∈Rn:A2y≤b2}\begin{aligned} P_1&=\{x\in\mathbb R^n:A_1x\le b_1\}\\ P_2&=\{y\in\mathbb R^n:A_2y\le b_2\} \end{aligned}

최적화 변수는 각각의 집합에서 고른 두 점 x, y다.

min⁡x,y∥x−y∥2subject toA1x≤b1,A2y≤b2.\begin{aligned} \min_{x,y}\quad&\|x-y\|_2\\ \text{subject to}\quad&A_1x\le b_1,\\ &A_2y\le b_2. \end{aligned}

거리는 항상 0 이상이므로 거리를 제곱해도 최적점의 집합은 변하지 않는다. 그러나 최적 목적함수값은 제곱된 값이므로 마지막에 제곱근을 취한다.

min⁡x,y ∥x−y∥22\boxed{\min_{x,y}\ \|x-y\|_2^2}

Two polyhedra shortest distance

작은 숫자 예제

P1=[0,1]×[0,1],P2=[3,4]×[2,3]P_1=[0,1]\times[0,1],\qquad P_2=[3,4]\times[2,3]

[a,b][a,b]는 양 끝점을 포함하는 구간이고, ×\times는 두 좌표의 조건을 함께 만족한다는 Cartesian Product(직접곱) 기호다. 예를 들어 P1P_1은 0≤x1≤10\le x_1\le1, 0≤x2≤10\le x_2\le1인 정사각형이다.

어떤 두 점을 골라도 첫 좌표 차이는 최소 2, 둘째 좌표 차이는 최소 1이다. 따라서 제곱 거리의 하한은 22+12=52^2+1^2=5다. 다음 쌍이 두 차이를 동시에 달성한다.

x∗=(1,1),y∗=(3,2)x^*=(1,1),\qquad y^*=(3,2) ∥x∗−y∗∥22=22+12=5\|x^*-y^*\|_2^2=2^2+1^2=5 dist⁡(P1,P2)=5\operatorname{dist}(P_1,P_2)=\sqrt5

꼭짓점 주의: 이 예제에서는 우연히 꼭짓점 쌍이 최적인 것이며, 일반적인 QP 최단거리 쌍이 꼭짓점일 필요는 없다.

두 벡터를 하나로 쌓는 Block Quadratic Form

두 점을 하나의 Optimization Variable(최적화 변수)로 합친다. 세로로 쌓는 것이므로 각 점이 nn차원일 때 새 변수는 2n2n차원이다.

z=[xy]∈R2nz=\begin{bmatrix}x\\y\end{bmatrix}\in\mathbb R^{2n}

거리 제곱을 전개하면:

∥x−y∥22=(x−y)T(x−y)=xTx−2xTy+yTy=zT[I−I−II]z\begin{aligned} \|x-y\|_2^2 &=(x-y)^T(x-y)\\ &=x^Tx-2x^Ty+y^Ty\\ &=z^T\begin{bmatrix}I&-I\\-I&I\end{bmatrix}z \end{aligned}

QP 표준 목적함수의 1/2에 맞추면:

P=2[I−I−II],q=0P=2\begin{bmatrix}I&-I\\-I&I\end{bmatrix},\qquad q=0

여기서 II는 n×nn\times n Identity Matrix(단위행렬)다. 대각선은 각 점의 자기 제곱 xTx,yTyx^Tx,y^Ty를 만들고, 두 비대각 블록 −I-I는 각각 −xTy,−yTx-x^Ty,-y^Tx를 만들어 교차항 −2xTy-2x^Ty가 된다.

제약조건은 Block Diagonal Matrix(블록 대각행렬)로 합친다. 첫 블록 행은 xx에 대한 제약만, 둘째는 yy에 대한 제약만 계산하도록 나머지 부분을 0으로 채운 것이다.

[A100A2]z≤[b1b2]\begin{bmatrix}A_1&0\\0&A_2\end{bmatrix}z \le \begin{bmatrix}b_1\\b_2\end{bmatrix}

PSD를 증명하자

임의의 z에 대해:

zTPz=2∥x−y∥22≥0z^TPz=2\|x-y\|_2^2\ge0

따라서 PP는 PSD이며 전체 문제는 convex QP다. 단, x=y≠0x=y\ne0인 벡터를 대입하면 z≠0z\ne0인데 이차형식이 0이므로 PP는 PD가 아니다. 행렬의 PD 여부는 모든 벡터에서 판별하므로, 이 검사용 벡터가 실제 두 집합의 제약을 만족할 필요는 없다.

이유를 기하학적으로도 볼 수 있다. 두 점을 같은 벡터 tt만큼 평행이동하면 (x+t)−(y+t)=x−y(x+t)-(y+t)=x-y여서 거리 목적함수는 변하지 않는다. 이 공통 이동이 이차형식의 평평한 방향이다. 그러나 실제 제약은 그런 이동을 막을 수 있다. 위 두 정사각형 예제에서는 PP가 singular여도 최단거리 쌍은 (1,1),(3,2)(1,1),(3,2)로 유일하다.

제곱 거리 QP의 최적값을 p∗p^*라고 기록했다면 실제 거리는 p∗\sqrt{p^*}다. 두 집합이 겹치면 공통점에서 x=yx=y를 골라 거리 0을 얻는다. 공통점이 여러 개라면 최적 쌍도 여러 개일 수 있다.

8. LP ↔ QP 대비

주제LPQP
ObjectivecTx+dc^Tx+d12xTPx+qTx+r\frac12x^TPx+q^Tx+r
Gradient일정한 ccPx+qPx+q
HessianZero matrixP
Convex 여부Affine objective라 항상 convex대칭 P의 PSD 확인 필요
Feasible setPolyhedronPolyhedron
최적점 위치최적점이 존재하고 극점이 있는 경우 극점 해 존재내부 혹은 경계; 꼭짓점에 한정하지 않음
증명 도구Optimality CriterionOptimality Criterion, PSD, 이후 KKT

9. 혼자 풀어 보는 확인 문제

1. 행렬의 교차항과 곡률 구분하기

P=[3113]P=\begin{bmatrix}3&1\\1&3\end{bmatrix}, q=0q=0, r=0r=0일 때 12xTPx\frac12x^TPx를 성분으로 전개하고 convexity를 판별해 보자.

정답과 해설 펼치기

정답: f(x)=32x12+x1x2+32x22f(x)=\frac32x_1^2+x_1x_2+\frac32x_2^2이고 strictly convex다.

행렬곱의 비대각 항은 x1x2x_1x_2와 x2x1x_2x_1 두 개다. 따라서 xTPx=3x12+2x1x2+3x22x^TPx=3x_1^2+2x_1x_2+3x_2^2이며 마지막에 전체를 1/21/2배 한다. PP의 고유값은 2, 4로 모두 양수여서 P≻0P\succ0다. 이차 목적함수의 Hessian은 PP이므로 strict convexity를 얻는다.

2. PSD와 최적점 존재는 같은 말일까?

f(x1,x2)=x12−x2f(x_1,x_2)=x_1^2-x_2를 전체 R2\mathbb R^2에서 최소화한다. 이 함수는 convex일까? 최적점도 있을까?

정답과 해설 펼치기

정답: Convex이지만 최적점은 없다.

Hessian은 diag⁡(2,0)⪰0\operatorname{diag}(2,0)\succeq0다. 하지만 x1=0x_1=0, x2=tx_2=t로 두면 f(0,t)=−t→−∞f(0,t)=-t\to-\infty다. Gradient 방정식은 (2x1,−1)T=0(2x_1,-1)^T=0인데 두 번째 성분을 0으로 만들 수 없다. 평평한 x2x_2 방향의 선형항이 비용을 끝없이 감소시킨다.

3. 경계 최적점에서 Gradient가 0이어야 할까?

5절 문제의 후보점 x∗=(1.5,2.5)x^*=(1.5,2.5)에서 gradient와 최적성 조건을 계산해 보자.

정답과 해설 펼치기

정답: Gradient는 (−1,−1)T≠0(-1,-1)^T\ne0이지만 전역 최적점이다.

먼저 1.5+2.5=41.5+2.5=4이므로 feasible하다. 모든 feasible yy는 y1+y2≤4y_1+y_2\le4를 만족하므로

(∇f0(x∗))T(y−x∗)=−(y1−1.5)−(y2−2.5)=4−y1−y2≥0.(\nabla f_0(x^*))^T(y-x^*)=-(y_1-1.5)-(y_2-2.5)=4-y_1-y_2\ge0.

목적함수와 가능집합이 convex이므로 이 조건이 전역 최적성을 보장한다. 무제약 최소점의 gradient 조건을 제약 문제에 그대로 강요하면 이 답을 잘못 배제하게 된다.

4. 최소제곱 앞의 1/2을 없애면?

f(w)=12∥Xw−y∥22f(w)=\frac12\|Xw-y\|_2^2를 g(w)=∥Xw−y∥22g(w)=\|Xw-y\|_2^2로 바꿀 때, QP의 P,q,rP,q,r와 최적점·최적값은 각각 어떻게 달라질까?

정답과 해설 펼치기

정답: P,q,rP,q,r는 모두 2배가 되고, 가능집합이 같으면 최적점은 같고 최적값은 2배다.

P=XTXP=X^TX, q=−XTyq=-X^Ty, r=12yTyr=\frac12y^Ty에서 P=2XTXP=2X^TX, q=−2XTyq=-2X^Ty, r=yTyr=y^Ty로 바뀐다. 목적함수 전체에 양수를 곱했으므로 두 점의 비용 대소관계는 변하지 않는다. 6절의 0≤w≤10\le w\le1 예에서는 두 함수 모두 w∗=1w^*=1이고, 최적값은 각각 1과 2다. 최적점과 최적값을 구분해야 이 계수 차이를 놓치지 않는다.

5. 거리 문제의 P는 왜 2M일까?

M=[I−I−II]M=\begin{bmatrix}I&-I\\-I&I\end{bmatrix}라 하자. 목적함수 ∥x−y∥22\|x-y\|_2^2를 QP 표준형으로 쓸 때 P=MP=M이라고 적으면 무엇이 달라질까?

정답과 해설 펼치기

정답: 표준형에 앞의 1/21/2가 있으므로 P=MP=M은 원래 거리 제곱의 절반을 최소화하는 식이다. 원래 목적값을 보존하려면 P=2MP=2M이어야 한다.

zTMz=∥x−y∥22z^TMz=\|x-y\|_2^2이므로 12zT(2M)z\frac12z^T(2M)z가 원래 식과 같다. P=MP=M이어도 최단거리 쌍은 같지만, 정사각형 예제의 최적값은 5가 아니라 5/25/2로 기록된다. 그 값을 그대로 제곱근 취하면 실제 거리를 잘못 계산한다.

10. 풀이 전후에 확인할 것

  • Quadratic form의 행렬곱을 성분으로 전개할 수 있다.
  • det⁡(P−λI)=0\det(P-\lambda I)=0으로 작은 행렬의 eigenvalues를 구한다.
  • PSD와 PD를 구분한다.
  • QP objective의 gradient / Hessian을 계산한다.
  • Convexity를 Hessian=PSD로 판별한다.
  • 제약조건 안의 최적해를 계산하고 Optimality Criterion으로 검증한다.
  • Least Squares의 (Xw−y)T(Xw−y)(Xw-y)^T(Xw-y)를 전개한다.
  • XTXX^TX가 PSD라는 증명을 재현한다.
  • 두 Polyhedra의 squared distance를 block matrix로 변환한다.
  • Polyhedra 거리 문제에서 P가 PSD이지만 PD는 아님을 설명한다.

11. QP가 다음 최적화 방법의 도구가 되는 이유

QP는 이차 비용을 가진 모델을 푸는 데 직접 쓰인다. 더 나아가 복잡한 비선형 목적함수도 현재 점 근처에서 2차 Taylor 모형으로 근사할 수 있다.

f(x+Δ)≈f(x)+∇f(x)TΔ+12ΔT∇2f(x)Δ.f(x+\Delta)\approx f(x)+\nabla f(x)^T\Delta+\frac12\Delta^T\nabla^2f(x)\Delta.

여기서 현재 점 xx를 고정하고 이동량 Δ\Delta를 변수로 보면 이차 목적함수가 된다. 수업에서는 이런 작은 이차 문제를 풀고 현재 점을 갱신하는 방식이 이후 수치 최적화 방법의 기반이 된다고 설명한다. 다만 일반 비선형 함수의 Hessian이 항상 PSD인 것은 아니므로, 이차 근사라는 사실만으로 convex QP가 되는 것은 아니다.

지금 단계에서는 세 가지를 구별하면 된다. PP는 곡률을, Px+qPx+q는 현재 위치의 gradient를, affine 제약은 이동 가능한 영역을 결정한다. 이 셋을 함께 봐야 내부·경계의 최적점과 최소제곱·거리 모델을 같은 원리로 해석할 수 있다.

출처와 보충 범위

  • ENAI601 Module 6 — Examples 교안, Quadratic Program 및 Examples – Quadratic Program 절. 교안 발췌는 원래의 표현·수식을 별도 블록에 표시했다.
  • 2026년 10월 7일 수업: QP의 Hessian과 PSD, 곡선 등고선, 제약 최소제곱, 두 다면체 사이 거리와 이차 근사를 활용한 후속 최적화 설명을 참고했다.
  • 제공된 QP 스터디 노트와 그림 6개를 바탕으로 정리했다. 그림의 구체적인 함수와 데이터 두 개, 반공간 제약의 최적점, 두 정사각형의 거리는 설명용 예제이며 교안의 원래 수치가 아니다.
  • 대칭 부분과 미분의 유도, singular PSD의 반례, 존재·유일성의 구분, 1/21/2 유무의 계수 비교와 확인 문제 해설은 개념을 연결하기 위한 보충 설명이다.