Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

MG

[ML / Andrew Ng] Linear Regression - Parameter Learning (Gradient descent) 본문

컴퓨터과학/AI_ML강의 (Andrew Ng)

[ML / Andrew Ng] Linear Regression - Parameter Learning (Gradient descent)

MG# 2022. 4. 28. 15:41

이전 강의에서 h 함수의 정확도를 높이기 위해서는 J 함수가 필요했고 theta 값을 조정해 J 함수의 최솟값을 찾아야 한다는 것을 확인했습니다. 저희는 J 함수의 최솟값을 찾기 위해 경사하강법(Gradient descent algorithm)을 사용할 것입니다.

 

위 식이 말그대로 Gradient descent 인데 J 함수의 현재 기울기를 learning rate 인 alpha 값을 곱하여 theta 에 빼줍니다. 이 과정을 반복하다 보면 J 함수는 극소점(local minima)에 도착하게 됩니다. 위의 오른쪽 그래프처럼 빨간색 X 가 theta 가 갱신됨에 따라 점점 극소점을 향해 가고 h 함수도 잘 fitting 되고 있는 모습을 확인할 수 있습니다.

 

아직 최솟값이 되지 않은 J 함수를 기울기를 따라 내려가 극소점을 찾는다는 이 직관적인 방법에도 아쉽게도 몇 가지 문제가 있습니다.

바로 learning rate에 따른 문제인데요. learning rate 가 너무 작으면 위의 그래프처럼 기울기를 따라 극소점으로 내려가는 속도가 너무 느리게 되어 극단적으로 작을 경우 거의 멈춘 것처럼 보이게 된다는 것입니다. 이러면 극소값을 못 찾게 되고 결국 h 함수는 유용하지 못하게 됩니다.

 

반대로 learning rate가 너무 크게 되면 아래 그래프처럼 J 함수가 튈 수도 있습니다. 극소점으로 가는 도중 learning rate 값이 너무 크기 때문에 이를 지나쳐버리게 됩니다. 그러면 이 함수도 결국 극소값을 못 찾게 되고 문제가 생깁니다.

 

그렇기에 learning rate 값을 적절히 매기는 것이 중요하고 이는 그 문제에 따라 그래프 형태에 따라 또 다르게 될 것입니다.

 

또 다른 문제도 있습니다. 이 문제는 J 함수의 그래프 형태 때문에 생기게 됩니다. 극소점인 local optima 에 도착하게 되면 J 함수의 기울기가 0이 되기 때문에 더 이상 theta 가 갱신되지 않습니다. 이렇게 되면 문제가 local optima 는 global optima 가 아니기 때문에 h 함수을 최대로 활용할 수 없게 됩니다. 극단적으로 local optima의 값이 클 경우 h 함수는 쓰지도 못하게 될 수 있습니다.

 

직관적이고 간단해 유용해 보이는 방법인 Gradient descent 도 이런 몇가지 문제점을 갖고 있습니다. 그렇기에 J 함수의 그래프 형태를 보고 적용하거나 위의 문제점을 해결한 후 적용시키는 방법이 필요해 보입니다.