본문 바로가기

Machine Learning

[Machine Learning] Gradient Descent

Gradient Descent

 

회귀모델은 가중치(w)와 편향(b)를 찾는 것이 중요하다고 했습니다.

이를 찾는 방법 중 하나가 Gradient Descent(경사하강법)입니다.

 

경사하강법은

함수의 값이 낮아지는 방향으로 각 독립변수들의 값을 변형시키면서

함수가 최솟값을 갖도록 하는 탐색 방법입니다.

위는 비용함수를 미분한 그래프로, 그래프의 최소점이 모델에 가장 적절한 값이 됩니다.

우리는 이 그래프의 기울기가 0이 되는 지점을 찾아 비용이 최소가 되는 지점을 찾아야 합니다.

 

경사하강법은 아래와 같은 수식을 사용합니다.

 

x_k : 현재 step에서의 x 값

x_k+1 : 다음 step에서의 x값

dy/dx(x_k) : 현재 x값에서의 기울기

alpha : step size를 결정하는 파라미터

 

alpha를 통해 수렴속도와 수렴여부를 결정합니다.

 

alpha가 너무 작은 경우 다음 단계로 진행되는 step size가 얼마 되지 않기 때문에

탐색이 느리다는 단점이 있습니다.

 

반면에 너무 큰 경우에는 탐색은 빠르지만,

최소점을 지나 발산할 위험이 있습니다.

 

Batch GD, SGD, Mini-batch GD

주로 사용하는 경사하강법은

배치 경사하강법, 확률적 경사하강법, 미니 배치 경사하강법이 있습니다.

 

 

 

배치 경사하강법은 전체 데이터를 사용해 한번의 업데이트를 수행합니다.

수렴 경로가 안정적이지만 데이터가 많으면 매우 느리다는 단점이 있습니다.

 

모든 훈련데이터 세트를 사용해 업데이트 하기 때문에 노이즈가 별로 없습니다.

Local minima에 빠질 수 있지만, 적은 노이즈 때문에 벗어나기 힘들 수 있습니다.

 

 

 

확률적 경사하강법은 하나의 데이터만 사용해 즉시 업데이트 합니다.

 

하나의 데이터만 사용하기 때문에 매 샘플마다 즉각적으로 방향을 수정하고, 

대규모 데이터일수록 매개변수를 더 빨리 업데이트 하기 때문에 수렴속도가 빠릅니다.

노이즈가 많이 생기지만, 덕분에 Local minima에서 벗어날 수 있습니다.

하지만 노이즈로 인해 잘못된 방향으로 수렴하면 간혹 최적점을 못찾는 경우가 발생 할 수 있습니다.

 

 

미니 배치 경사하강법은 전체 데이터 셋을 쪼개 하나의 미니 배치 그룹으로 만들고,

각 미니 배치의 평균을 통해 매개변수 업데이트를 진행합니다.

 

학습이 빠르고, 지역최소점 탈출에도 유리합니다.

'Machine Learning' 카테고리의 다른 글

[Machine Learning] Bias-Variance Tradeoff  (0) 2026.02.20
[Machine Learning] Logistic Regression  (0) 2026.02.20
[Machine Learning] Regression  (0) 2026.02.05
[Machine Learning] Machine Learning?  (0) 2026.02.05