본문 바로가기

부스트캠프 AI Tech/Math

Gradient Descent

Differentiation

 import sympy as sym
 from sympy.abc import x

 sym.diff(sym.poly(x**2 + 2*x + 3), x)
  • 미분값을 더하면 함숫값 증가
  • 미분값을 빼면 함숫값 감소

Gradient Descent

  • 미분값을 빼서 함수의 극솟값을 구함
  • Input : gradient, init, lr, eps
  • Output: var
var = init
grad = gradient(var)  # gradient: 기울기 계산
while(abs(grad) > eps):
    var = var - lr * grad
    grad = gradient(var)

Gradient Vector

  • 다변수 함수를 각 변수 별로 편미분한 벡터
var = init
grad = gradient(var) # gradient: gradient vector 계산
while(norm(grad) > eps): # 절댓값 대신 norm 계산
    var = var - lr * grad
    grad = gradient(var)

Stochastic Gradient Descent

  • 데이터의 일부(mini batch)만 활용하여 gradient 업데이트

'부스트캠프 AI Tech > Math' 카테고리의 다른 글

Statistics  (0) 2022.01.19
Probability  (0) 2022.01.19
Neural Network  (0) 2022.01.19
Matrix  (0) 2022.01.17
Vector  (0) 2022.01.17