경사하강법이란, 함수의 최솟값을 찾는 방법입니다.
단순회귀분석에서 경사하강법을 사용하는 방법을 설명하겠습니다.
여기서 B0는 y의 절편이며, B1은 기울기, E는 오차항을 의미합니다.
경사하강법은 파라미터인 B0과 B1을 최적화하기 위해서 사용됩니다.
주로, 인공지능이 최적화할 때 사용되는 알고리즘입니다. 인공지능이 더 좋은 값으로 개선하는 방향으로 학습해 최적의 값을 찾아나갈 때 경사하강법을 사용합니다.
경사하강법은 손실함수(loss function)을 최소화하는 방법으로 파라미터를 반복적으로 업데이트 합니다.
■ 손실함수(Loss Function)
Loss란 실제값과 예측값과의 차이를 의미합니다. Loss를 함수로 표현한 것을 Loss Function이라고 합니다.
다양한 Loss Function 이 존재하며 MAE, MSE, RMSE 등이 있습니다. 회귀에서 가장 많이 사용되는 Loss Function은 MSE(Mean Square Error)입니다.
N은 데이터 갯수, hat_y(i) 는 예측값, y(i)는 실제값입니다. 오차값이 음수일 수 있어 제곱을 취해 오차의 절대적인 값을 구합니다.
위의 그래프는 2차함수로 Loss가 최소인 값을 찾는 것 입니다.
2차 함수는 미분값이 0 이 되는 지점을 찾으면 됩니다.
고차원 함수일 경우에는 한번에 최솟값을 찾기 힘들 수 있습니다.
그래서 최소값을 찾기 위해 최초 지점에서 조금씩 움직이며 최적의 값을 찾아나가는 것이 Gradient Descent 입니다.
Gradient Descent 를 통해 파라미터를 업데이트 하는 과정은 다음과 같습니다.
1) Gradient 를 구해 이동할 방향을 정한다.
2) 한번 이동시, 얼마나 이동할 것인지 step size를 정해 learning rate를 곱해서 그 만큼 이동
3) 최적의 해를 찾을 때까지 1)번과 2)번을 반복한다.
https://builtin.com/data-science/gradient-descent
Learning Rate란 보폭을 의미합니다.
'한번에 얼만큼 이동할 것인가?'를 설정한 것으로 값이 크면 적절한 값을 찾지 못할 수 있으며
값이 작으면 최적화되기까지 시간이 너무 오래걸린다라는 단점이 있습니다.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.