경사하강법

Yongsang Yoon·2021년 12월 8일
0

Cost function z=f(x,y)z =f(x,y) 에서 xxyyΔx\Delta x , Δy\Delta y만큼 바꿨을 때, 함수 f(x,y)f(x,y) 값의 변화에 대한 근사식은 Δz=f(x+Δx,  y+Δy)f(x,  y)\Delta z = f(x+\Delta x, \; y+ \Delta y) - f(x,\; y) 과 같다.
f(x+Δx,  y+Δy)f(x+\Delta x, \; y+ \Delta y)f(x,y)f(x,y) 보다 작아지는 방향으로 변화하는게 이상적이며 이때 Δz\Delta z는 음수이다.

다변수 근사식

이때 근사식 Δz\Delta z는 다변수 근사식 (1) 에 따라

f(x+Δx,  y+Δy)f(x,  y)+δf(x,y)δxΔx+δf(x,y)δyΔy(1)\tag{1} f(x+\Delta x , \; y + \Delta y) \approx f(x, \; y ) + \frac{\delta f(x,y) }{\delta x} \Delta x + \frac{\delta f(x,y)}{\delta y} \Delta y

아래와 같이 정리된다.

Δz=δf(x,y)δxΔx+δf(x,y)δyΔy(2)\tag{2} \Delta z = \frac{\delta f(x,y) }{\delta x} \Delta x + \frac{\delta f(x,y)}{\delta y} \Delta y

이는 xx, yy에서 각각 방향 δf(x,y)δx\frac{\delta f(x,y) }{\delta x} 으로 Δx\Delta x 만큼 움직 인 것과 같으며 다음과 같이 내적으로 표현된다.

Δz=(δf(x,y)δx,δf(x,y)δy)(Δx,Δy)(3)\tag{3} \Delta z = (\frac{\delta f(x,y) }{\delta x},\frac{\delta f(x,y)}{\delta y} ) \cdot (\Delta x , \Delta y)

내적의 최솟값

결국 Cost function ZZ가 최소가 되기위해서는 백터의 내적인 ΔZ\Delta Z가 최소가 되어야한다. 두 개의 백터 a,b\vec{a}, \vec{b} 가 고정값일 때 둘 사이의 내적이 최소가 되려면 사이각이 θ=180\theta = 180 로 반대방향이 되야하며 다음 식처럼 표현할 수 있다.

a=kb\vec{a} = -k \vec{b}

이때 백터 a,b\vec{a}, \vec{b}는 각각 (δf(x,y)δx,δf(x,y)δy)(\frac{\delta f(x,y) }{\delta x},\frac{\delta f(x,y)}{\delta y} ) (Δx,Δy)\cdot (\Delta x , \Delta y) 이다. Learning rate η\eta 기호를 써서 다음과 같이 표현한다.

(Δx,Δy)=η(δf(x,y)δx,δf(x,y)δy)(4)\tag{4} (\Delta x , \Delta y) = - \eta (\frac{\delta f(x,y) }{\delta x},\frac{\delta f(x,y)}{\delta y} )

식 4를 만족하는 (Δx,Δy)(\Delta x , \Delta y)이 있다면 (x+Δx,  y+Δy)(x+ \Delta x, \; y+ \Delta y) 로 이동했을 때 zz가 최솟값을 가진다.

  1. 가장 가파른 기울기를 가지는 방향으로 조금씩 이동하며 점을 찾는다.
  2. 1번절차를 반복하여 함수의 최솟값에 도달하는 것을 목표로 한다.
profile
I'm a student

0개의 댓글