Chapter 14

기울기 벡터와 최적화

13장의 편도함수는 동쪽과 북쪽, 두 방향의 기울기만 알려 주었습니다. 그런데 산에서 길을 잃은 등산객이 묻는 것은 "어느 쪽이 가장 가파른가", "어느 쪽으로 가면 높이가 그대로인가"입니다. 놀랍게도 편도함수 두 개를 벡터로 묶기만 하면 모든 방향의 기울기가 내적 하나로 나옵니다. 이 벡터가 그래디언트입니다. 그래디언트는 가장 가파른 오르막을 가리키고, 등고선에 수직이며, 그 길이가 최대 기울기입니다. 이 장은 그래디언트로 곡면의 꼭대기·바닥·고개를 찾고 분류하며, 제약이 있는 최적화(라그랑주 승수)와 컴퓨터가 수백만 변수의 함수를 최소화하는 방법(경사 하강법)까지 갑니다.

이 수식이 없었다면스스로 배우는 신경망

음성 인식, 번역, 이미지 분류 모델은 수백만~수천억 개의 가중치를 가진 함수입니다. "학습"이란 훈련 데이터에 대한 오차 E(w1,…,wn)E(w_1, \dots, w_n)를 가장 작게 만드는 가중치를 찾는 일이고, 변수가 이렇게 많으면 모든 조합을 시험하거나 ∇E=0\nabla E = \mathbf{0}을 손으로 푸는 것은 불가능합니다.

그 대신 쓰는 방법은 1847년 코시가 연립 방정식을 풀기 위해 제안한 아이디어와 같습니다. 지금 서 있는 곳에서 그래디언트를 계산해 가장 가파른 내리막 방향으로 조금 걷고, 이를 반복합니다. 오차 역전파는 그래디언트를 연쇄 법칙(13장)으로 효율적으로 계산하는 방법일 뿐이고, 실제로 가중치를 움직이는 것은 이 장의 경사 하강법입니다.

오차 함수 E(w₁, …, wₙ)→변수 수백만 개→그래디언트 ∇E와 경사 하강→학습된 모델

방향 도함수: 아무 방향의 기울기

북동쪽으로 걸으면 얼마나 오르나

지형 z=f(x,y)z = f(x, y)에서 fxf_x는 동쪽, fyf_y는 북쪽으로 걸을 때의 기울기입니다. 등산로가 북동쪽으로 나 있다면 그 길의 경사는 얼마일까요? 방향마다 새로 극한을 계산해야 할까요?

정의 14.1 (방향 도함수) 단위 벡터 u=(u1,u2)\mathbf{u} = (u_1, u_2) (∣u∣=1|\mathbf{u}| = 1) 방향으로의 ff의 방향 도함수(directional derivative)는
Duf(a,b)=lim⁡h→0f(a+hu1, b+hu2)−f(a,b)hD_{\mathbf{u}}f(a, b) = \lim_{h \to 0}\frac{f(a + hu_1,\, b + hu_2) - f(a, b)}{h}
이다. u=(1,0)\mathbf{u} = (1, 0)이면 fxf_x, u=(0,1)\mathbf{u} = (0, 1)이면 fyf_y가 된다. 단위 벡터를 쓰는 이유는 hh가 실제로 걸은 거리가 되게 하기 위해서다.
정리 14.2 (방향 도함수 = 그래디언트와의 내적) ff가 (a,b)(a, b)에서 미분 가능하면
Duf(a,b)=fx(a,b) u1+fy(a,b) u2=∇f(a,b)⋅u,∇f=(fx, fy).D_{\mathbf{u}}f(a, b) = f_x(a, b)\,u_1 + f_y(a, b)\,u_2 = \nabla f(a, b)\cdot\mathbf{u}, \qquad \nabla f = (f_x,\, f_y).
벡터 ∇f\nabla f("델 에프", "그래드 에프")를 ff의 그래디언트(gradient)라 한다. 변수가 nn개이면 ∇f=(∂f/∂x1,…,∂f/∂xn)\nabla f = (\partial f/\partial x_1, \dots, \partial f/\partial x_n).

증명. g(h)=f(a+hu1,b+hu2)g(h) = f(a + hu_1, b + hu_2)라 하면 Duf=g′(0)D_{\mathbf{u}}f = g'(0)이다. 경로 x=a+hu1x = a + hu_1, y=b+hu2y = b + hu_2에 대해 연쇄 법칙(정리 13.11)을 쓰면 g′(0)=fx⋅u1+fy⋅u2g'(0) = f_x\cdot u_1 + f_y\cdot u_2. ∎

미분 가능성이 중요합니다. 13장의 xy/(x2+y2)xy/(x^2 + y^2)처럼 편도함수만 있는 함수에서는 이 공식이 틀린 답을 줍니다. 미분 가능하면 두 숫자 fx,fyf_x, f_y가 무한히 많은 방향의 기울기를 모두 결정합니다. 곡면이 그 점 근처에서 평면이기 때문입니다.

예제 14.1 (방향 도함수 계산) f(x,y)=x2y+y3f(x, y) = x^2y + y^3의 점 (1,2)(1, 2)에서 벡터 v=(3,4)\mathbf{v} = (3, 4) 방향의 방향 도함수를 구하라.
  1. 단위 벡터로: ∣v∣=5|\mathbf{v}| = 5이므로 u=(3/5,4/5)\mathbf{u} = (3/5, 4/5). 이 단계를 빼먹으면 답이 5배가 된다.
  2. 그래디언트: fx=2xy=4f_x = 2xy = 4, fy=x2+3y2=13f_y = x^2 + 3y^2 = 13, ∇f(1,2)=(4,13)\nabla f(1, 2) = (4, 13).
  3. 내적: Duf=4⋅35+13⋅45=12+525=12.8D_{\mathbf{u}}f = 4\cdot\tfrac35 + 13\cdot\tfrac45 = \tfrac{12 + 52}{5} = 12.8.
  4. 비교: 같은 점에서 가장 큰 방향 도함수는 ∣∇f∣=16+169=185≈13.60|\nabla f| = \sqrt{16 + 169} = \sqrt{185} \approx 13.60 (다음 절). u\mathbf{u}가 ∇f\nabla f와 이루는 각이 작아(약 19.8°) 최댓값에 가깝다.
SIMULATOR

방향 도함수 나침반

점과 방향 손잡이를 끌어 보세요
Duf vs 방향 각 θ (°)
∇f—
u (θ)—
Duf = ∇f·u—
정의로 (h = 10−4)—
해볼 것: ① 예제 14.1의 점 (1, 2)에서 u = (0.6, 0.8)로 맞추면 12.8이 나옵니다. ② 손잡이를 한 바퀴 돌리면 아래 그래프가 진폭 |∇f|인 코사인 곡선을 그립니다. 최댓값은 ∇f 방향, 0은 그와 수직인 두 방향입니다. ③ '최대 방향으로'를 누른 뒤 등고선과 비교해 보세요. 모델: ∇f는 중심 차분으로 계산하고, 그림에서는 길이를 줄여 그립니다. 사영 길이 = Duf.

그래디언트: 가장 가파른 방향, 등고선에 수직

정리 14.2의 내적을 각도로 쓰면 그래디언트의 세 가지 성질이 한꺼번에 나옵니다. θ\theta를 ∇f\nabla f와 u\mathbf{u} 사이의 각이라 하면

Duf=∇f⋅u=∣∇f∣ ∣u∣cos⁡θ=∣∇f∣cos⁡θ.D_{\mathbf{u}}f = \nabla f\cdot\mathbf{u} = |\nabla f|\,|\mathbf{u}|\cos\theta = |\nabla f|\cos\theta.
정리 14.3 (최대 증가 방향) ff가 미분 가능하고 ∇f(a)≠0\nabla f(\mathbf{a}) \ne \mathbf{0}이면
  1. DufD_{\mathbf{u}}f의 최댓값은 ∣∇f∣|\nabla f|이고, u=∇f/∣∇f∣\mathbf{u} = \nabla f/|\nabla f|일 때(θ=0\theta = 0) 얻는다. 이것이 가장 가파른 오르막 방향(direction of steepest ascent)이다.
  2. 최솟값은 −∣∇f∣-|\nabla f|이고, u=−∇f/∣∇f∣\mathbf{u} = -\nabla f/|\nabla f|에서 얻는다(가장 가파른 내리막).
  3. u⊥∇f\mathbf{u} \perp \nabla f(θ=90°\theta = 90°)이면 Duf=0D_{\mathbf{u}}f = 0. 이 방향으로는 높이가 순간적으로 변하지 않는다.

증명. −1≤cos⁡θ≤1-1 \le \cos\theta \le 1이고 등호는 각각 θ=π\theta = \pi, θ=0\theta = 0에서만 성립한다(코시–슈바르츠 부등식). ∎

정리 14.4 (그래디언트는 등위선에 수직) ff가 미분 가능하고 r(t)\mathbf{r}(t)가 등위선 f(x,y)=kf(x, y) = k 위의 미분 가능한 곡선이면, 그 곡선의 접선 벡터 r′(t)\mathbf{r}'(t)는 ∇f(r(t))\nabla f(\mathbf{r}(t))와 수직이다.

증명. 곡선 위에서 f(r(t))=kf(\mathbf{r}(t)) = k이므로 양변을 tt로 미분하면 연쇄 법칙으로 ∇f⋅r′(t)=0\nabla f\cdot\mathbf{r}'(t) = 0. ∎

높음 −∇f (내리막) ∇f 접선: Duf = 0 Duf = |∇f| cos θ ∇f u 사영 길이 = Duf θ
그림 14-1. 왼쪽: 그래디언트는 등고선에 수직이고 높은 쪽을 가리킨다. 그림의 점에서 산꼭대기가 안쪽이므로 ∇f는 안쪽(아래)을 향한다. 등고선의 접선 방향으로는 방향 도함수가 0이다. 오른쪽: 방향 도함수는 ∇f를 u 방향으로 사영한 길이다.
예제 14.2 (등산객의 선택) 산의 높이가 z=1000−0.005x2−0.01y2z = 1000 - 0.005x^2 - 0.01y^2 (m, x는 동쪽, y는 북쪽, 단위 m)이다. 등산객이 (60,40)(60, 40)에 있다.
  1. 높이 z=1000−18−16=966z = 1000 - 18 - 16 = 966 m. 그래디언트 ∇z=(−0.01x,−0.02y)=(−0.6,−0.8)\nabla z = (-0.01x, -0.02y) = (-0.6, -0.8), ∣∇z∣=1|\nabla z| = 1.
  2. 가장 가파른 오르막은 (−0.6,−0.8)(-0.6, -0.8) 방향이고, 그 기울기는 1 (45°). 정상 (0,0)(0, 0)을 곧장 향하는 방향 (−60,−40)/5200≈(−0.83,−0.55)(-60, -40)/\sqrt{5200} \approx (-0.83, -0.55)와 다르다. 타원형 산에서는 가장 가파른 길이 정상을 똑바로 가리키지 않는다.
  3. 동쪽 (1,0)(1, 0)으로 걸으면 Duz=−0.6D_{\mathbf{u}}z = -0.6: 1 m 걸을 때 0.6 m 내려간다(경사각 arctan⁡0.6≈31°\arctan 0.6 \approx 31°).
  4. 높이를 유지하려면 ∇z\nabla z에 수직인 ±(0.8,−0.6)\pm(0.8, -0.6) 방향, 즉 등고선을 따라 걷는다.
SIMULATOR

그래디언트 장과 최급 경로

빈 곳을 눌러 공을 놓아 보세요
경로
화살표 길이
출발점—
출발점의 ∇f—
도착점 (높이)—
해볼 것: ① 화살표가 모든 곳에서 등고선을 직각으로 가로지르는지 확인하세요. ② '두 봉우리'에서 내리막 공을 여러 곳에 놓으면 출발점에 따라 다른 골짜기(가장자리)나 고개로 갑니다. 오르막 공은 출발점에 따라 다른 봉우리에 오릅니다. ③ '안장'의 원점 근처에서는 화살표가 짧아지고(|∇f| → 0) 방향이 갑자기 바뀝니다. 모델: 경로는 dr/ds = ±∇f/|∇f| (단위 속력)를 RK4로 적분, |∇f| < 10−3이거나 화면을 벗어나면 멈춥니다.

등위면의 접평면

정리 14.4는 변수가 셋이어도 그대로입니다. F(x,y,z)=kF(x, y, z) = k인 등위면 위의 모든 곡선에 대해 ∇F⋅r′(t)=0\nabla F\cdot\mathbf{r}'(t) = 0이므로, 그래디언트는 등위면 위 모든 접선 방향과 수직입니다. 즉 ∇F\nabla F가 곡면의 법선 벡터(normal vector)이고, 이것으로 접평면을 바로 쓸 수 있습니다.

정리 14.5 (등위면의 접평면) FF가 미분 가능하고 등위면 F(x,y,z)=kF(x, y, z) = k 위의 점 P0=(x0,y0,z0)P_0 = (x_0, y_0, z_0)에서 ∇F(P0)≠0\nabla F(P_0) \ne \mathbf{0}이면 P0P_0에서의 접평면은
Fx(P0)(x−x0)+Fy(P0)(y−y0)+Fz(P0)(z−z0)=0,F_x(P_0)(x - x_0) + F_y(P_0)(y - y_0) + F_z(P_0)(z - z_0) = 0,
법선은 r(t)=P0+t ∇F(P0)\mathbf{r}(t) = P_0 + t\,\nabla F(P_0)이다. 그래프 z=f(x,y)z = f(x, y)는 F=f(x,y)−z=0F = f(x, y) - z = 0인 등위면이므로 ∇F=(fx,fy,−1)\nabla F = (f_x, f_y, -1)이고, 이것은 13장의 접평면 공식과 같다.
예제 14.3 (타원체의 접평면) 타원체 x24+y2+z29=3\dfrac{x^2}{4} + y^2 + \dfrac{z^2}{9} = 3 위의 점 (−2,1,−3)(-2, 1, -3)에서 접평면과 법선을 구하라.
  1. 점 확인: 4/4+1+9/9=34/4 + 1 + 9/9 = 3. ✓
  2. ∇F=(x/2,  2y,  2z/9)=(−1,  2,  −2/3)\nabla F = (x/2,\; 2y,\; 2z/9) = (-1,\; 2,\; -2/3).
  3. 접평면: −(x+2)+2(y−1)−23(z+3)=0-(x + 2) + 2(y - 1) - \tfrac23(z + 3) = 0. 양변에 −3-3을 곱해 정리하면 3x−6y+2z+18=03x - 6y + 2z + 18 = 0. 점을 넣으면 −6−6−6+18=0-6 - 6 - 6 + 18 = 0. ✓
  4. 법선: (x,y,z)=(−2,1,−3)+t(−1,2,−23)(x, y, z) = (-2, 1, -3) + t(-1, 2, -\tfrac23). 이 방향은 원점에서 점으로 가는 방향 (−2,1,−3)(-2, 1, -3)과 평행하지 않다. 구가 아니면 법선은 중심을 지나지 않는다.
SIMULATOR

타원체 위의 법선과 접평면

끌어서 돌리기
점 P₀—
∇F (F = x²/a² + y²/b² + z²/c²)—
법선과 반지름 방향 사이 각—
해볼 것: ① '구로 만들기'를 누르면 법선(빨강)과 원점에서 그은 반지름(점선)이 겹칩니다(각 0°). ② 반축을 서로 다르게 하면 둘이 갈라집니다. 길쭉한 방향의 옆면에서 각이 가장 큽니다. ③ 곡면을 돌려 접평면이 곡면에 닿기만 하고 뚫지 않는 것을 확인하세요(타원체는 볼록하니까요). 모델: 점은 (a cos λ cos φ, b cos λ sin φ, c sin λ), 법선은 ∇F = (2x/a², 2y/b², 2z/c²)를 정규화해 그립니다.

극값과 안장점: 헤세 행렬로 분류하기

평평한 곳이 다 바닥은 아니다

공정 수율 Y(T,p)Y(T, p)를 온도와 압력의 함수로 모델링했습니다. 수율이 최대인 조건을 찾으려면 어디를 봐야 할까요? 일변수처럼 기울기가 0인 곳을 찾으면 되지만, 2차원에는 꼭대기와 바닥 말고 고개(한 방향으로는 꼭대기, 다른 방향으로는 바닥)라는 세 번째 종류가 있습니다.

정의 14.6 (극값과 임계점) (a,b)(a, b) 근처의 모든 점에서 f(x,y)≤f(a,b)f(x, y) \le f(a, b)이면 f(a,b)f(a, b)는 극댓값, ≥\ge이면 극솟값이다. ∇f(a,b)=0\nabla f(a, b) = \mathbf{0}이거나 편도함수가 없는 점을 임계점이라 하고, 임계점인데 극값이 아닌 점, 즉 어느 방향으로는 올라가고 어느 방향으로는 내려가는 점을 안장점(saddle point)이라 한다.
정리 14.7 (페르마 정리의 다변수 판) ff가 (a,b)(a, b)에서 극값을 갖고 편도함수가 있으면 ∇f(a,b)=0\nabla f(a, b) = \mathbf{0}.

증명. g(x)=f(x,b)g(x) = f(x, b)는 x=ax = a에서 일변수 극값을 가지므로 g′(a)=fx(a,b)=0g'(a) = f_x(a, b) = 0. fyf_y도 같다. ∎ 극값이면 접평면이 수평이라는 뜻이다. 역은 성립하지 않는다(안장점).

임계점의 종류를 가리려면 2차 항을 봐야 합니다. 임계점에서 1차 항이 사라지므로 2차 테일러 전개(12장의 다변수 판)는

f(a+h,b+k)≈f(a,b)+12(fxxh2+2fxyhk+fyyk2)=f(a,b)+12 hTH h,H=[fxxfxyfxyfyy].f(a + h, b + k) \approx f(a, b) + \tfrac12\left(f_{xx}h^2 + 2f_{xy}hk + f_{yy}k^2\right) = f(a, b) + \tfrac12\,\mathbf{h}^{\mathsf T}H\,\mathbf{h}, \qquad H = \begin{bmatrix}f_{xx} & f_{xy}\\ f_{xy} & f_{yy}\end{bmatrix}.
HH를 헤세 행렬(Hessian matrix)이라 한다. 클레로 정리(13장)로 대칭 행렬이다. 이차 형식 hTHh\mathbf{h}^{\mathsf T}H\mathbf{h}의 부호가 모든 방향에서 양수인지, 음수인지, 섞여 있는지가 임계점의 종류를 정한다.
정리 14.8 (2계 편도함수 판정) ff의 2계 편도함수가 (a,b)(a, b) 근처에서 연속이고 ∇f(a,b)=0\nabla f(a, b) = \mathbf{0}이라 하자. 판별식(discriminant) D=fxxfyy−fxy2=det⁡HD = f_{xx}f_{yy} - f_{xy}^2 = \det H에 대해
  1. D>0D > 0이고 fxx>0f_{xx} > 0이면 극소.
  2. D>0D > 0이고 fxx<0f_{xx} \lt 0이면 극대.
  3. D<0D \lt 0이면 안장점.
  4. D=0D = 0이면 이 판정으로는 알 수 없다.

증명 아이디어. A=fxx≠0A = f_{xx} \ne 0일 때 완전제곱하면 Ah2+2Bhk+Ck2=A(h+BAk)2+AC−B2Ak2=A(h+BAk)2+DAk2Ah^2 + 2Bhk + Ck^2 = A\left(h + \tfrac{B}{A}k\right)^2 + \tfrac{AC - B^2}{A}k^2 = A\left(h + \tfrac{B}{A}k\right)^2 + \tfrac{D}{A}k^2. D>0D > 0이면 두 항의 부호가 AA와 같아 이차 형식이 한 부호(정부호)이고, D<0D \lt 0이면 두 항의 부호가 반대라 방향에 따라 부호가 바뀐다. 2계 편도함수가 연속이므로 임계점 근처에서 ff의 부호 구조가 이 이차 형식을 따른다. ∎ 선형대수로 말하면 D=λ1λ2D = \lambda_1\lambda_2(고유값의 곱)이고, 판정은 헤세 행렬의 고유값 부호를 보는 것이다.

극소: D > 0, fₓₓ > 0 극대: D > 0, fₓₓ < 0 모양은 같고 높낮이만 반대 안장점: D < 0
그림 14-2. 임계점 근처의 등고선. 극소와 극대 근처에서는 등고선이 점을 감싸는 타원이고(이차 형식이 정부호), 안장점 근처에서는 쌍곡선이 X자 모양의 점선(높이가 같은 두 직선)을 사이에 두고 갈라진다. 한 쌍(파랑)은 더 높고, 다른 쌍(분홍)은 더 낮다.
예제 14.4 (임계점 찾고 분류하기) f(x,y)=x3+y3−3xyf(x, y) = x^3 + y^3 - 3xy.
  1. ∇f=(3x2−3y,  3y2−3x)=0\nabla f = (3x^2 - 3y,\; 3y^2 - 3x) = \mathbf{0}에서 y=x2y = x^2, 이를 둘째 식에 넣으면 x4=xx^4 = x, x(x3−1)=0x(x^3 - 1) = 0. 실수해는 x=0,1x = 0, 1이므로 임계점은 (0,0)(0, 0), (1,1)(1, 1).
  2. fxx=6xf_{xx} = 6x, fyy=6yf_{yy} = 6y, fxy=−3f_{xy} = -3, D=36xy−9D = 36xy - 9.
  3. (0,0)(0, 0): D=−9<0D = -9 \lt 0 → 안장점. 실제로 f(t,t)=2t3−3t2<0f(t, t) = 2t^3 - 3t^2 \lt 0이고 f(t,−t)=3t2>0f(t, -t) = 3t^2 > 0 (작은 t≠0t \ne 0).
  4. (1,1)(1, 1): D=27>0D = 27 > 0, fxx=6>0f_{xx} = 6 > 0 → 극소, f(1,1)=−1f(1, 1) = -1. 극솟값이지만 최솟값은 아니다. f(−t,0)=−t3→−∞f(-t, 0) = -t^3 \to -\infty.
예제 14.5 (D = 0이면 판정 불가) x4+y4x^4 + y^4, −(x4+y4)-(x^4 + y^4), x4−y4x^4 - y^4는 셋 다 원점이 임계점이고 헤세 행렬이 영행렬이라 D=0D = 0입니다. 그런데 각각 극소, 극대, 안장점입니다. D=0D = 0일 때는 더 높은 차수의 항을 보거나 함수를 직접 분석해야 합니다. "원숭이 안장" x3−3xy2x^3 - 3xy^2도 D=0D = 0인 안장점으로, 내리막이 세 갈래입니다.
SIMULATOR

임계점 찾기와 분류: 곡면과 2차 근사

곡면 · 주황 = 탐침 점의 2차 근사끌어서 돌리기
등고선 · 탐침을 끌어 보세요
탐침 (x, y), |∇f|—
fxx, fxy, fyy—
D, 고유값—
찾은 임계점—
해볼 것: ① 예제 14.4에서 '가장 가까운 임계점으로'를 눌러 (0, 0)의 D = −9, (1, 1)의 D = 27을 확인하세요. ② 안장점에서 헤세 고유벡터 두 개(실선 = 양의 고유값, 점선 = 음의 고유값)가 오르막 축과 내리막 축입니다. ③ '원숭이 안장'의 원점은 D = 0이라 판정이 안 되는데, 2차 근사는 평면이 되어 버립니다. 모델: 임계점은 격자 위 64개 출발점에서 뉴턴 방법으로 찾고, 편도함수는 중심 차분. 표시: 초록 ● 극소, 빨강 ▲ 극대, 주황 ✕ 안장, 회색 ? 판정 불가.

닫힌 영역의 최대·최소

판의 가장 뜨거운 점

원판 모양 금속판의 온도 분포를 알 때 가장 뜨거운 점과 가장 차가운 점을 찾아야 합니다. 판 안쪽의 임계점만 보면 될까요? 일변수의 닫힌 구간에서 끝점을 따로 확인했듯이(6장), 2차원에서는 끝점이 경계 곡선 전체가 됩니다.

정리 14.9 (최대·최소 정리, 2변수) ff가 닫히고 유계인 집합 D⊂R2D \subset \mathbb{R}^2에서 연속이면 ff는 DD에서 최댓값과 최솟값을 갖는다. 그 값은 (1) DD 내부의 임계점 또는 (2) DD의 경계 위에서 나타난다.

"닫힌"은 경계를 포함한다는 뜻, "유계"는 어떤 원 안에 들어간다는 뜻입니다. 둘 중 하나라도 빠지면 최댓값이 없을 수 있습니다(열린 원판에서 xx, 평면 전체에서 x2+y2x^2 + y^2). 절차는 일변수와 같습니다.

  1. 내부의 임계점에서 ff의 값을 구한다(종류를 판정할 필요는 없다).
  2. 경계를 매개화해 일변수 최적화 문제로 바꾸고, 그 최댓값·최솟값(꼭짓점 포함)을 구한다.
  3. 모든 후보 중 가장 큰 값이 최댓값, 가장 작은 값이 최솟값이다.
예제 14.6 (원판 위의 온도) 원판 x2+y2≤1x^2 + y^2 \le 1 위의 온도 T(x,y)=x2+2y2−xT(x, y) = x^2 + 2y^2 - x의 최댓값과 최솟값을 구하라.
  1. 내부: ∇T=(2x−1,  4y)=0\nabla T = (2x - 1,\; 4y) = \mathbf{0}에서 (12,0)(\tfrac12, 0). 원판 안에 있고 T=14−12=−14T = \tfrac14 - \tfrac12 = -\tfrac14.
  2. 경계: x=cos⁡tx = \cos t, y=sin⁡ty = \sin t이면 T=cos⁡2t+2sin⁡2t−cos⁡t=2−cos⁡2t−cos⁡tT = \cos^2t + 2\sin^2t - \cos t = 2 - \cos^2t - \cos t. c=cos⁡t∈[−1,1]c = \cos t \in [-1, 1]로 두면 g(c)=2−c2−cg(c) = 2 - c^2 - c.
  3. g′(c)=−2c−1=0g'(c) = -2c - 1 = 0에서 c=−12c = -\tfrac12, g=2−14+12=94g = 2 - \tfrac14 + \tfrac12 = \tfrac94. 끝점: g(1)=0g(1) = 0, g(−1)=2g(-1) = 2.
  4. 후보값 −14,94,0,2-\tfrac14, \tfrac94, 0, 2를 비교하면 최댓값 94\tfrac94 (점 (−12,±32)(-\tfrac12, \pm\tfrac{\sqrt3}{2})), 최솟값 −14-\tfrac14 (점 (12,0)(\tfrac12, 0)).
SIMULATOR

닫힌 영역 탐색: 내부 임계점 + 경계

영역 위의 f · ★ 최대 ◆ 최소
경계를 따라 본 f (한 바퀴, 0 → 1)
영역
최댓값 (위치, 어디서)—
최솟값 (위치, 어디서)—
경계 점의 f—
해볼 것: ① 예제 14.6에서 최댓값 9/4 = 2.25가 경계(s ≈ 1/3, 2/3)에, 최솟값 −0.25가 내부에 있는 것을 확인하세요. ② '3x + 4y'는 내부 임계점이 없어서 최대·최소가 모두 경계에 있습니다. 원판에서는 (0.6, 0.8) 방향, 즉 ∇f 방향입니다. ③ 정사각형·삼각형에서는 꼭짓점이 후보가 되는 경우를 찾아보세요. 모델: 내부 임계점은 뉴턴 방법, 경계는 800점 표본 뒤 황금분할로 다듬습니다.

라그랑주 승수법: 제약 곡선에 접하는 등고선

정해진 통나무에서 가장 강한 보

지름 dd인 원형 통나무에서 직사각형 단면(폭 ww, 높이 hh)의 보를 켜 냅니다. 보의 굽힘 강도는 wh2wh^2에 비례합니다. 단면은 원 안에 들어가야 하므로 w2+h2=d2w^2 + h^2 = d^2이라는 제약 조건(constraint)이 있습니다. 제약을 풀어 한 변수로 줄일 수도 있지만, 제약이 복잡하거나 변수가 많으면 그럴 수 없습니다.

등고선 그림에서 생각하면 답이 보입니다. 제약 곡선 g=cg = c를 따라 걸으며 ff의 등고선을 가로지르면 ff가 계속 변합니다. ff가 최대인 곳에서는 더 이상 새 등고선을 가로지르지 않습니다. 즉 그 점에서 제약 곡선이 ff의 등고선에 접합니다. 두 곡선이 접하면 법선이 평행하고, 법선은 그래디언트이므로 ∇f∥∇g\nabla f \parallel \nabla g입니다.

정리 14.10 (라그랑주 승수법) ff와 gg가 C1C^1이고, 제약 g(x,y)=cg(x, y) = c 위에서 ff가 점 PP에서 극값을 가지며 ∇g(P)≠0\nabla g(P) \ne \mathbf{0}이면, 어떤 수 λ\lambda가 있어
∇f(P)=λ ∇g(P),g(P)=c.\nabla f(P) = \lambda\,\nabla g(P), \qquad g(P) = c.
λ\lambda를 라그랑주 승수(Lagrange multiplier)라 한다. 미지수 x,y,λx, y, \lambda 셋에 방정식 셋(성분 둘 + 제약)이다. 변수 nn개, 제약 mm개이면 ∇f=λ1∇g1+⋯+λm∇gm\nabla f = \lambda_1\nabla g_1 + \cdots + \lambda_m\nabla g_m.

증명. ∇g(P)≠0\nabla g(P) \ne \mathbf{0}이면 음함수 정리로 PP 근처의 제약 곡선을 미분 가능한 곡선 r(t)\mathbf{r}(t), r(0)=P\mathbf{r}(0) = P, r′(0)≠0\mathbf{r}'(0) \ne \mathbf{0}으로 쓸 수 있다. f(r(t))f(\mathbf{r}(t))는 t=0t = 0에서 극값이므로 ∇f(P)⋅r′(0)=0\nabla f(P)\cdot\mathbf{r}'(0) = 0. 또 g(r(t))=cg(\mathbf{r}(t)) = c이므로 ∇g(P)⋅r′(0)=0\nabla g(P)\cdot\mathbf{r}'(0) = 0. 평면에서 같은 영이 아닌 벡터 r′(0)\mathbf{r}'(0)에 수직인 두 벡터는 평행하므로 ∇f(P)=λ∇g(P)\nabla f(P) = \lambda\nabla g(P). ∎

f = 1 f = 2 (접한다) f = 3 (닿지 않음) 제약 g = c ∇f ∇g 최적점에서 ∇f = λ∇g f는 오른쪽 위로 커진다. 원 위에서 닿는 가장 높은 등고선이 f = 2. 여기서 λ > 0: 원을 키우면(c 증가) 더 높은 등고선에 닿는다.
그림 14-3. 제약 원(파랑) 위에서 f가 가장 큰 점은 원이 닿는 가장 높은 등고선(f = 2)과 접하는 점이다. 접점에서 ∇f(분홍)와 ∇g(파랑)는 같은 직선 위에 있다. f = 1은 원을 가로지르므로 원 위에는 f가 더 큰 점이 있고, f = 3에는 닿지 못한다.
예제 14.7 (타원 위의 최대 곱) 타원 x28+y22=1\dfrac{x^2}{8} + \dfrac{y^2}{2} = 1 위에서 f=xyf = xy의 최댓값과 최솟값을 구하라.
  1. ∇f=(y,x)\nabla f = (y, x), ∇g=(x/4,y)\nabla g = (x/4, y). 조건 y=λx/4y = \lambda x/4, x=λyx = \lambda y.
  2. 둘을 합치면 y=λ2y/4y = \lambda^2y/4. y=0y = 0이면 x=0x = 0인데 타원 위의 점이 아니므로 y≠0y \ne 0, λ2=4\lambda^2 = 4, λ=±2\lambda = \pm 2.
  3. λ=2\lambda = 2: x=2yx = 2y, 제약에 넣으면 4y2/8+y2/2=y2=14y^2/8 + y^2/2 = y^2 = 1, 점 (2,1)(2, 1), (−2,−1)(-2, -1), f=2f = 2. λ=−2\lambda = -2: x=−2yx = -2y, 점 (2,−1)(2, -1), (−2,1)(-2, 1), f=−2f = -2.
  4. 타원은 닫힌 유계 곡선이라 최대·최소가 있다. 최댓값 2, 최솟값 −2.
예제 14.8 (통나무에서 켜 낸 보) w2+h2=d2w^2 + h^2 = d^2 아래에서 wh2wh^2을 최대로 하라.
  1. ∇(wh2)=(h2,  2wh)\nabla(wh^2) = (h^2,\; 2wh), ∇(w2+h2)=(2w,  2h)\nabla(w^2 + h^2) = (2w,\; 2h). 조건 h2=2λwh^2 = 2\lambda w, 2wh=2λh2wh = 2\lambda h.
  2. h≠0h \ne 0이므로 둘째 식에서 λ=w\lambda = w, 첫째 식에 넣으면 h2=2w2h^2 = 2w^2, h=2 wh = \sqrt2\,w.
  3. 제약에 넣으면 3w2=d23w^2 = d^2: w=d/3w = d/\sqrt3, h=d2/3h = d\sqrt{2/3}. 지름 30 cm 통나무면 폭 약 17.3 cm, 높이 약 24.5 cm.
  4. 최적 단면의 높이 : 폭 = √2 : 1 ≈ 1.41 : 1. 정사각형 단면(1 : 1)보다 세로로 긴 보가 강하다.

승수 λ\lambda는 계산 도구에 그치지 않습니다. 최적값 f∗f^*를 제약 상수 cc의 함수로 보면 df∗dc=λ\dfrac{df^*}{dc} = \lambda가 성립합니다(최적점이 cc에 매끄럽게 따라 움직일 때). 제약을 한 단위 풀어 주면 최적값이 λ\lambda만큼 좋아진다는 뜻이라, 경제학에서는 λ\lambda를 그림자 가격(shadow price)이라 부릅니다. 예제 14.7에서 제약을 x2/8+y2/2=cx^2/8 + y^2/2 = c로 바꾸면 최댓점은 (2c,c)(2\sqrt c, \sqrt c), f∗=2cf^* = 2c이므로 df∗/dc=2=λdf^*/dc = 2 = \lambda입니다.

SIMULATOR

라그랑주 접점 찾기

제약 곡선 위의 점을 끌어 보세요
제약 곡선을 따라 본 f
점, f—
∇f와 ∇g 사이 각—
λ = ∇f·∇g / |∇g|²—
df*/dc (수치)—
해볼 것: ① 점을 곡선 위로 끌며 두 화살표가 같은 직선 위에 놓이는 순간(각 0° 또는 180°)을 찾으세요. 아래 그래프의 봉우리·골짜기와 정확히 겹칩니다. ② 예제 14.7에서 최댓점의 λ = 2와 df*/dc = 2를 비교하세요. c를 바꿔도 둘이 같습니다(그림자 가격). ③ '직선 위의 거리'는 최솟값만 있습니다. 직선이 유계가 아니라 최댓값이 없기 때문입니다. 모델: 점은 곡선의 매개변수로 움직입니다. f*는 곡선 위 2000점 표본으로 구한 최댓값(직선은 최솟값)입니다.
대칭 행렬로 이어지는 길 ∣x∣=1|\mathbf{x}| = 1 위에서 이차 형식 xTAx\mathbf{x}^{\mathsf T}A\mathbf{x}를 최대로 하는 문제에 라그랑주 승수법을 쓰면 ∇(xTAx)=2Ax=λ⋅2x\nabla(\mathbf{x}^{\mathsf T}A\mathbf{x}) = 2A\mathbf{x} = \lambda\cdot 2\mathbf{x}, 즉 고유값 문제 Ax=λxA\mathbf{x} = \lambda\mathbf{x}가 나오고, 최댓값은 가장 큰 고유값입니다. 이것이 주응력, 관성 주축, 주성분 분석의 공통 원리인 레일리 몫입니다.

경사 하강법: 학습률과 수렴 속도

∇f = 0을 풀 수 없을 때

지금까지는 ∇f=0\nabla f = \mathbf{0}을 손으로 풀었습니다. 변수가 백만 개이고 ff가 데이터로 정의된 함수라면 그럴 수 없습니다. 할 수 있는 것은 현재 위치에서 ff와 ∇f\nabla f를 계산하는 것뿐입니다. 이것만으로 바닥을 찾을 수 있을까요?

정리 14.3에 따르면 −∇f-\nabla f가 가장 가파른 내리막입니다. 그 방향으로 조금 가고, 다시 그래디언트를 계산하고, 또 갑니다.

xk+1=xk−η ∇f(xk).\mathbf{x}_{k+1} = \mathbf{x}_k - \eta\,\nabla f(\mathbf{x}_k).
η>0\eta > 0를 학습률(learning rate) 또는 보폭이라 한다. 이 반복이 경사 하강법(gradient descent)이다. MathBook 최적화 장이 학습률의 세 영역을 그림으로 보였다면, 여기서는 그 경계를 정확히 계산한다.

η\eta가 너무 작으면 느리고, 너무 크면 골짜기를 넘어 튕겨 나갑니다. 경계가 어디인지는 이차 함수에서 정확히 계산할 수 있고, 매끄러운 함수의 극소점 근처는 2차 테일러 전개로 이차 함수처럼 생겼으므로 이 계산이 일반적인 경우의 국소적인 그림이 됩니다.

정리 14.11 (이차 함수 위의 경사 하강) f(x)=12xTAxf(\mathbf{x}) = \tfrac12\mathbf{x}^{\mathsf T}A\mathbf{x}, AA는 고유값이 0<μ=λmin⁡≤⋯≤λmax⁡=L0 \lt \mu = \lambda_{\min} \le \cdots \le \lambda_{\max} = L인 대칭 행렬이라 하자. 경사 하강법은
  1. 0<η<2/L0 \lt \eta \lt 2/L일 때, 그리고 그때만 모든 출발점에서 최솟점 0\mathbf{0}으로 수렴한다.
  2. 오차는 매 단계 ρ(η)=max⁡i∣1−ηλi∣=max⁡(∣1−ημ∣,∣1−ηL∣)\rho(\eta) = \max_i|1 - \eta\lambda_i| = \max(|1 - \eta\mu|, |1 - \eta L|)배 이하로 준다.
  3. ρ\rho를 가장 작게 하는 학습률은 η∗=2L+μ\eta^* = \dfrac{2}{L + \mu}이고, 그때 ρ∗=L−μL+μ=κ−1κ+1\rho^* = \dfrac{L - \mu}{L + \mu} = \dfrac{\kappa - 1}{\kappa + 1}, κ=L/μ\kappa = L/\mu는 조건수(condition number)다.

증명. ∇f=Ax\nabla f = A\mathbf{x}이므로 xk+1=(I−ηA)xk\mathbf{x}_{k+1} = (I - \eta A)\mathbf{x}_k. AA의 고유벡터(직교, 스펙트럼 정리)로 전개하면 각 성분이 따로 1−ηλi1 - \eta\lambda_i배씩 된다. 모든 ∣1−ηλi∣<1|1 - \eta\lambda_i| \lt 1이어야 수렴하고, 이는 ηλmax⁡<2\eta\lambda_{\max} \lt 2와 같다. ρ(η)\rho(\eta)는 1−ημ1 - \eta\mu(감소)와 ηL−1\eta L - 1(증가)의 최댓값이므로 둘이 같아지는 η=2/(L+μ)\eta = 2/(L + \mu)에서 최소다. ∎

예제 14.9 (길쭉한 골짜기) f=x2+10y2f = x^2 + 10y^2.
  1. ∇f=(2x,20y)\nabla f = (2x, 20y), 헤세 행렬 diag⁡(2,20)\operatorname{diag}(2, 20): μ=2\mu = 2, L=20L = 20, κ=10\kappa = 10.
  2. 갱신은 x←(1−2η)xx \leftarrow (1 - 2\eta)x, y←(1−20η)yy \leftarrow (1 - 20\eta)y. 수렴 조건 η<2/20=0.1\eta \lt 2/20 = 0.1.
  3. η=0.05\eta = 0.05이면 배율은 0.9와 0. yy는 한 번에 0이 되지만 xx는 매번 10%씩만 준다. η=0.11\eta = 0.11이면 yy의 배율이 −1.2-1.2라 지그재그로 발산한다.
  4. 최적 η∗=2/22=1/11≈0.091\eta^* = 2/22 = 1/11 \approx 0.091에서 두 배율이 9/119/11과 −9/11-9/11, 수렴률 ρ∗=9/11≈0.818\rho^* = 9/11 \approx 0.818. 오차를 10−610^{-6}배로 줄이려면 k≥ln⁡106/ln⁡(11/9)≈68.9k \ge \ln 10^6/\ln(11/9) \approx 68.9, 약 69번 반복.
  5. 비교: 뉴턴 방법 x←x−H−1∇f\mathbf{x} \leftarrow \mathbf{x} - H^{-1}\nabla f는 이차 함수에서 한 번에 최솟점에 간다. 대신 매 단계 헤세 행렬을 풀어야 하므로 변수가 많으면 비싸다.
SIMULATOR

경사 하강: 학습률이 길을 바꾼다

출발점을 끌어 보세요
f − f* (로그) vs 반복 횟수
η (L, μ)—
이론 수렴률 ρ—
마지막 점, f − f*—
상태—
해볼 것: ① 이차 함수에서 ηL을 2 가까이 올리면 지그재그가 커지고 2를 넘으면 발산합니다(정리 14.11). ② '최적 η*'를 누르고 κ를 1에서 30으로 바꿔 보세요. κ가 클수록 수렴이 느립니다. 로그 그래프의 기울기가 2 log ρ*입니다(f − f*는 오차의 제곱). ③ 로젠브록의 휘어진 골짜기에서는 경사 하강이 수백 번 걸려도 (1, 1)에 닿지 못하지만, 뉴턴 방법은 몇 번 만에 닿습니다. ④ '두 골짜기'에서는 출발점에 따라 도착하는 극소가 다릅니다. 모델: 고정 학습률, 그래디언트와 헤세 행렬은 해석식, L과 μ는 전역 최솟점의 헤세 고유값.
더 나아가기 실제 학습에서는 데이터 일부로 그래디언트를 어림하는 확률적 경사 하강법, 이전 걸음의 관성을 섞는 모멘텀, 성분마다 보폭을 조절하는 Adam을 씁니다. 모두 "조건수가 큰 골짜기에서 지그재그를 줄이는" 아이디어입니다. MathBook의 무거운 공과 Adam에서 직접 비교해 볼 수 있습니다.

최소제곱 회귀: 편도함수 두 개로 직선 맞추기

점들을 가장 잘 지나는 직선

센서의 입력 xix_i와 출력 yiy_i를 몇 번 재어 검량선 y=mx+by = mx + b를 만들려 합니다. 측정에 잡음이 있어 모든 점을 지나는 직선은 없습니다. "가장 잘 맞는" 직선을 어떻게 정의하고 찾을까요?

각 점에서 직선과의 세로 차이 ri=yi−(mxi+b)r_i = y_i - (mx_i + b)를 잔차(residual)라 합니다. 잔차의 제곱합을 가장 작게 하는 직선을 고르는 것이 최소제곱법(least squares)입니다. 오차 함수는 두 변수 m,bm, b의 이차 함수입니다.

E(m,b)=∑i=1n(yi−mxi−b)2.E(m, b) = \sum_{i=1}^{n}\bigl(y_i - mx_i - b\bigr)^2.
정리 14.12 (정규 방정식) xix_i가 모두 같지는 않으면 E(m,b)E(m, b)는 유일한 최솟점을 가지며, 그 점은
(∑xi2)m+(∑xi)b=∑xiyi,(∑xi)m+n b=∑yi\Bigl(\sum x_i^2\Bigr)m + \Bigl(\sum x_i\Bigr)b = \sum x_iy_i, \qquad \Bigl(\sum x_i\Bigr)m + n\,b = \sum y_i
의 해다. 이 연립 방정식을 정규 방정식(normal equations)이라 한다.

증명. ∂E/∂m=−2∑xi(yi−mxi−b)=0\partial E/\partial m = -2\sum x_i(y_i - mx_i - b) = 0, ∂E/∂b=−2∑(yi−mxi−b)=0\partial E/\partial b = -2\sum(y_i - mx_i - b) = 0을 정리하면 위 식이다. 헤세 행렬은 H=2[∑xi2∑xi∑xin]H = 2\begin{bmatrix}\sum x_i^2 & \sum x_i\\ \sum x_i & n\end{bmatrix}로 상수이고, det⁡(H/2)=n∑xi2−(∑xi)2=n∑(xi−xˉ)2>0\det(H/2) = n\sum x_i^2 - (\sum x_i)^2 = n\sum(x_i - \bar x)^2 > 0, ∑xi2>0\sum x_i^2 > 0이므로 정리 14.8에서 극소다. EE는 이차 함수이고 HH가 양의 정부호라 EE는 볼록 그릇 모양이므로, 이 극소가 유일한 최솟점이다. ∎

둘째 식을 nn으로 나누면 yˉ=mxˉ+b\bar y = m\bar x + b: 최소제곱 직선은 언제나 데이터의 무게 중심 (xˉ,yˉ)(\bar x, \bar y)를 지납니다. 선형대수로 보면 정규 방정식은 ATAx^=ATyA^{\mathsf T}A\hat{\mathbf{x}} = A^{\mathsf T}\mathbf{y}이고, 미적분의 "그래디언트 = 0"이 기하의 "잔차가 열공간에 수직"과 같은 말이라는 것을 LinearBook 최소제곱에서 볼 수 있습니다.

예제 14.10 (네 점에 직선 맞추기) 점 (0,1),(1,3),(2,4),(3,4)(0, 1), (1, 3), (2, 4), (3, 4).
  1. 합: n=4n = 4, ∑x=6\sum x = 6, ∑x2=14\sum x^2 = 14, ∑y=12\sum y = 12, ∑xy=0+3+8+12=23\sum xy = 0 + 3 + 8 + 12 = 23.
  2. 정규 방정식: 14m+6b=2314m + 6b = 23, 6m+4b=126m + 4b = 12.
  3. 둘째 식에서 b=3−1.5mb = 3 - 1.5m. 첫째 식에 넣으면 14m+18−9m=2314m + 18 - 9m = 23, m=1m = 1, b=1.5b = 1.5. 직선 y=x+1.5y = x + 1.5.
  4. 잔차: −0.5,0.5,0.5,−0.5-0.5, 0.5, 0.5, -0.5. 합이 0(둘째 정규 방정식)이고, ∑xiri=0+0.5+1−1.5=0\sum x_ir_i = 0 + 0.5 + 1 - 1.5 = 0(첫째 정규 방정식). 최소 제곱합 E=1E = 1.
  5. 검산: 무게 중심 (1.5,3)(1.5, 3)이 직선 위에 있다. 1.5+1.5=31.5 + 1.5 = 3. ✓
SIMULATOR

최소제곱: 데이터 평면과 (m, b) 평면

데이터 점을 끌어 보세요 · 사각형 = 잔차²
E(m, b)의 등고선 · 점을 끌어 직선을 바꾸세요
현재 (m, b), E—
∇E = (∂E/∂m, ∂E/∂b)—
최적 (m*, b*), E*—
해볼 것: ① 아래 평면의 점을 끌면 위의 직선이 바뀝니다. 등고선이 타원(E가 이차 함수, 헤세 행렬이 양의 정부호)이고 중심이 최적점입니다. ② '경사 하강 한 걸음'을 여러 번 눌러 보세요. 타원이 길쭉할수록(데이터가 원점에서 멀수록) 지그재그가 심합니다. 7절의 조건수 이야기입니다. ③ 데이터 점 하나를 멀리 끌어 보세요. 제곱 때문에 먼 점 하나가 직선을 크게 끌어당깁니다(이상값에 약함). 모델: 학습률 η = 1/λmax(H), 최적점은 2×2 정규 방정식의 정확한 해.

이 도구가 쓰이는 곳

그래디언트는 "어느 쪽으로 가면 좋아지는가"를 알려 주는 나침반이라, 설계·제어·학습 어디에나 있습니다.

열은 그래디언트의 반대로 흐른다 푸리에의 열전도 법칙은 열 흐름 밀도가 q=−k ∇T\mathbf{q} = -k\,\nabla T라는 것입니다. 열은 온도가 가장 빨리 떨어지는 방향으로, 등온면에 수직으로 흐르며, 그 세기는 온도 그래디언트의 크기에 비례합니다. 전류 밀도 J=−σ∇V\mathbf{J} = -\sigma\nabla V(옴의 법칙), 확산 J=−D∇c\mathbf{J} = -D\nabla c(픽의 법칙), 지하수 흐름(다르시 법칙)이 모두 같은 꼴입니다. 이 흐름의 발산을 0으로 놓으면 13장의 라플라스 방정식이 나옵니다(16장).

핵심 정리

  1. 방향 도함수 Duf=∇f⋅uD_{\mathbf{u}}f = \nabla f\cdot\mathbf{u} (∣u∣=1|\mathbf{u}| = 1, ff 미분 가능). 편도함수 두 개가 모든 방향의 기울기를 정한다.
  2. ∇f\nabla f는 가장 가파른 오르막 방향이고 그 기울기는 ∣∇f∣|\nabla f|다. −∇f-\nabla f는 가장 가파른 내리막, 수직 방향은 기울기 0.
  3. ∇f\nabla f는 등위선·등위면에 수직이다. 등위면 F=kF = k의 접평면은 ∇F(P0)⋅(x−P0)=0\nabla F(P_0)\cdot(\mathbf{x} - P_0) = 0.
  4. 극값에서 ∇f=0\nabla f = \mathbf{0}. 판별식 D=fxxfyy−fxy2D = f_{xx}f_{yy} - f_{xy}^2: D>0D > 0이면 fxxf_{xx}의 부호로 극소/극대, D<0D \lt 0이면 안장점, D=0D = 0이면 판정 불가. 헤세 행렬의 고유값 부호와 같은 판정이다.
  5. 닫힌 유계 영역의 최대·최소는 내부 임계점과 경계(꼭짓점 포함)의 후보를 모두 비교해 찾는다.
  6. 제약 g=cg = c 위의 극값에서 ∇f=λ∇g\nabla f = \lambda\nabla g: 등고선이 제약 곡선에 접한다. λ=df∗/dc\lambda = df^*/dc는 그림자 가격이다.
  7. 경사 하강 x←x−η∇f\mathbf{x} \leftarrow \mathbf{x} - \eta\nabla f는 이차 함수에서 η<2/L\eta \lt 2/L일 때 수렴하고, 최적 수렴률은 (κ−1)/(κ+1)(\kappa - 1)/(\kappa + 1). 최소제곱 직선은 ∂E/∂m=∂E/∂b=0\partial E/\partial m = \partial E/\partial b = 0인 정규 방정식의 해다.

확인 퀴즈

Q1. f(x,y)=x2+y2f(x, y) = x^2 + y^2가 점 (1,1)(1, 1)에서 가장 빨리 증가하는 방향과 그 변화율은?

∇f=(2x,2y)=(2,2)\nabla f = (2x, 2y) = (2, 2). 가장 빠른 증가는 ∇f\nabla f 방향 (1,1)/2(1, 1)/\sqrt2이고 변화율은 ∣∇f∣=22≈2.83|\nabla f| = 2\sqrt2 \approx 2.83. 원점에서 멀어지는 방향이니 그릇의 벽을 곧장 오른다.

Q2. 미분 가능한 ff의 한 점에서 ∇f=(3,−4)\nabla f = (3, -4)다. 방향 도함수가 0인 단위 벡터는?

Duf=∇f⋅u=0D_{\mathbf{u}}f = \nabla f\cdot\mathbf{u} = 0이려면 u⊥∇f\mathbf{u} \perp \nabla f. (3,−4)⋅(4,3)=12−12=0(3, -4)\cdot(4, 3) = 12 - 12 = 0. 반대 방향 (−4,−3)/5(-4, -3)/5도 답이다. 이 방향이 등고선의 접선 방향이다.

Q3. f(x,y)=x2+4xy+y2f(x, y) = x^2 + 4xy + y^2의 원점은?

fxx=2f_{xx} = 2, fyy=2f_{yy} = 2, fxy=4f_{xy} = 4이므로 D=4−16=−12<0D = 4 - 16 = -12 \lt 0, 안장점. 두 축 방향으로는 오르막이지만 y=−xy = -x 방향으로는 f(t,−t)=−2t2f(t, -t) = -2t^2으로 내리막이다. fxx>0f_{xx} > 0만 보고 극소라 하면 틀린다.

Q4. 임계점에서 D=fxxfyy−fxy2=0D = f_{xx}f_{yy} - f_{xy}^2 = 0이다. 옳은 것은?

x4+y4x^4 + y^4(극소), −x4−y4-x^4 - y^4(극대), x4−y4x^4 - y^4(안장점) 모두 원점에서 D=0D = 0이다(예제 14.5). 2차 근사가 퇴화해 더 높은 차수의 항이 모양을 정한다.

Q5. 원 x2+y2=2x^2 + y^2 = 2 위에서 f=x+yf = x + y의 최댓값과 그때의 라그랑주 승수 λ는?

(1,1)=λ(2x,2y)(1, 1) = \lambda(2x, 2y)에서 x=y=1/(2λ)x = y = 1/(2\lambda). 제약에 넣으면 2/(4λ2)=22/(4\lambda^2) = 2, λ=±1/2\lambda = \pm 1/2. λ=1/2\lambda = 1/2이면 점 (1,1)(1, 1), f=2f = 2가 최대. 검산: 제약을 x2+y2=cx^2 + y^2 = c로 두면 f∗=2cf^* = \sqrt{2c}, df∗/dc=1/2c=1/2df^*/dc = 1/\sqrt{2c} = 1/2 (c = 2). 그림자 가격과 일치한다.

Q6. f(x,y)=5x2+12y2f(x, y) = 5x^2 + \tfrac12 y^2에 고정 학습률 경사 하강법을 쓸 때 모든 출발점에서 수렴하는 η의 범위는?

헤세 행렬 diag⁡(10,1)\operatorname{diag}(10, 1)이라 L=10L = 10. 정리 14.11에서 η<2/L=0.2\eta \lt 2/L = 0.2. 이때 xx는 1−10η1 - 10\eta배, yy는 1−η1 - \eta배가 되므로, 가장 가파른 방향의 곡률이 학습률의 상한을 정한다.

Q7. 구면 x2+y2+z2=14x^2 + y^2 + z^2 = 14 위의 점 (1,2,3)(1, 2, 3)에서의 접평면은?

∇F=(2x,2y,2z)=(2,4,6)\nabla F = (2x, 2y, 2z) = (2, 4, 6). 접평면 2(x−1)+4(y−2)+6(z−3)=02(x - 1) + 4(y - 2) + 6(z - 3) = 0을 2로 나누면 x+2y+3z=1+4+9=14x + 2y + 3z = 1 + 4 + 9 = 14. 구에서는 법선이 반지름 방향 (1,2,3)(1, 2, 3)이다.

Q8. 원점을 지나는 직선 y=mxy = mx를 점 (1,2)(1, 2), (2,3)(2, 3)에 최소제곱으로 맞추면 m은?

E(m)=∑(yi−mxi)2E(m) = \sum(y_i - mx_i)^2, E′(m)=−2∑xi(yi−mxi)=0E'(m) = -2\sum x_i(y_i - mx_i) = 0에서 m=∑xiyi/∑xi2=(2+6)/(1+4)=8/5=1.6m = \sum x_iy_i/\sum x_i^2 = (2 + 6)/(1 + 4) = 8/5 = 1.6. 절편이 없으니 정규 방정식이 하나뿐이다.