728x90
1. 미분
- Why: 변수의 움직임에 따른 함수값의 변화를 관찰하기 위해 사용
- What : 함수 f의 점 (x,f(x))에서의 접선의 기울기
- When :
- 함수값을 증가(함수를 최대화) : x + f'(x) -> concave functioin에서 주로 이용 (gradient ascent)
- 함수값을 감소(함수를 최소화) : x - f'(x) -> convex functioin에서 주로 이용 (gradient descent)
2. Differentiation Introduction
3. Usage of differentiation
1) 함수값의 증가 : x + f'(x) -> Objective function을 최대화시킬 때 사용
2) 함수값의 감소 : x - f'(x) -> Objective function을 최소화시킬 때 사용
4. Gradient Descent(Ascent)
- 일반적으로는 stationary point (f'(x)=0 or grad f = 0)에서 움직임을 멈춘다
- 즉, local min/max 인지 saddle point인지 구별할 수 없다
5. Algorithm Code
- 컴퓨터로 계산할 때 미분이 정확히 0이 되는 것은 불가능하므로 eps 보다 작을 때 종료하는 조건이 필요하다
- 이 부분이 x − λf′(x) 을 계산하는 부분. lr 은 학습률로서 미분을 통해 업데이트하는 속도를 조절한다
-
종료조건이 성립하기 전까지 미분값을 계속 업데이트한다
6. Multi-variable Case (다변수 함수)
- partial derivative of f at x_i : i번째 좌표축과 평행한 방향으로 x_i에서의 f의 순간변화율
7. Gradient
- 점 x에서 각 변수에 대한 편미분이 원소로 구성된 vector
- gradient f의 방향 = 함수 f를 최대로(빨리) 증가시키는 공간상에서의 방향
- - (gradient f의 방향) = 함수 f를 최대로(빨리) 감소시키는 공간상에서의 방향
8. Algorithm (Multi-Variable case)
728x90