경사하강법
미분 (differentiation)
•
미분은 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로 최적화에서 제일 많이 사용하는 기법
•
최근엔 미분을 손으로 직접 계산하는 대신 컴퓨터가 계산해줄 수 있다
미분을 어디에 쓸까?
•
미분은 함수 f 의 주어진 점 에서의 접선의 기울기를 구한다
•
한 점에서 접선의 기울기를 알면 어느 방향으로 점을 움직여야 함수값이 증가하는지 / 감소하는지 알 수 있다
•
증가시키고 싶다면 미분값을 더하고,
•
감소시키고 싶다면 미분값을 뺀다
•
미분값을 더하면 경사상승법 (gradient ascent) 이라하며, 함수의 극대값의 위치를 구할 때 사용한다
•
미분값을 빼면 경사하강법 (gradient descent) 이라하며, 함수의 극소값의 위치를 구할 때 사용한다
•
경사상승 / 경사하강 방법은 극값에 도달하면 움직임을 멈춘다
경사하강법 : 알고리즘
변수가 벡터라면?
•
벡터가 입력인 다변수 함수의 경우 편미분 (parial differentiation) 을 사용한다
•
각 변수 별로 편미분을 계산한 그레디언트 (gradient) 벡터를 이용하여 경사하강 / 경사상승법에 사용할 수 있다