경사하강법 (심화)
경사하강법으로 선형회귀 계수 구하기
•
선형회귀의 목적은 이고 이를 최소화 하는 를 찾아야 하므로 다음과 같은 그레디언트 벡터를 구해야 한다
•
이제 목적식을 최소화하는 를 구하는 경사하강법 알고리즘은 다음과 같다
경사하강법 기반 선형회귀 알고리즘
경사하강법은 만능일까?
•
이론적으로 경사하강법은 미분가능하고 블록(convex) 한 함수에 대해선 적절한 학습률과 학습횟수를 선택했을 때 수렴이 보장되어 있다
•
특히, 선형회귀의 경우 목적식 은 회귀계수 에 대해 볼록함수 이기 때문에 알고리즘을 충분히 돌리면 수렴이 보장된다
•
하지만 비선형회귀 문제의 경우 목적식이 볼록하지 않을 수 있으므로 수렴이 항상 보장되지는 않는다
확률적 경사하강법
•
확률적 경사하강법 (stochastic gradient descent) 은 모든 데이터를 사용해서 업데이트하는 대신, 데이터 한개 또는 일부 활용하여 업데이트한다
•
볼록이 아닌 (non-convex) 목적식은 SGD 를 통해 최적화할 수 있다
•
GSD 는 데이터의 일부를 가지고 파라미터를 업데이트하기 때문에 연산자원을 좀 더 효율적으로 활용하는데 도움이 된다