[KMOOC-실습으로배우는머신러닝]4. Machine Learning with Optimization: Gradient Descent, Learning rate, Stochastic Gradient Descent, Momentum
👉 즉 linear regression함수의 구체적인 파라미터(베타)값을 부여해주려면 최적화과정이 필요하다.
경사가 있는 산 혹인 비탈길에서 내려온다고 생각하자. 보폭을 크게하든, 작게하든 반복되는 스텝으로 땅 밑까지 내려오는 과정을 비유해보면 즉 어떤 루프나 일련의 스텝들을 반복하여 최적화된 지점을 찾아가는 방법이라고 설명할 수 있다.
하지만 함수가 복잡하기 때문에 디테일한 기울기 변화를 알 수 없다.
t는 기울기이다. t의 크기에 따라 함수의 모양이 변하고, 업데이트 정도가 달라진다. 따라서 우리는 이를 조정해야하는 하이퍼파라미터라고 볼 수 있다.
이 하이퍼파라미터를 step size 또는 learning rate이라 하기도 한다. 특히 learning rate은 머신러닝에서 Gradient descent를 말할때 자주 사용한다.
learning rate=”adam”이라고 하면 경우에 따라 learning rate을 adaptive하게 조절해준다.
데이터가 너무 클 경우 데이터를 분할하여 각 batch마다 gradient descent를 해 업데이트를 해나가는 방식이다. 일종의 추정하는 gradient descent라 할 수 있고, 효율적인 방법이다.
어느정도 사이즈가 있는 batch사이즈를 갖는 것이 좋으며 특히 Deep learning에서는 이 방법을 많이 사용한다.
오른쪽 그림에서 파란색 선이 Full Gradient, 초록색이 partiral한 Stochastic Gradient이다. 파란색 선은 정확하고 빠르게 best를 찾아가지만 적은량의 데이터를 샘플링할수록 Gradient Descent가 조금씩 어긋남이 보이나 그래도 최적의 해로 수렴해간다.
또한 Full Gradient가 한번 업데이트되는 동안 partiral한 Stochastic Gradient는 배치의 개수만큼 업데이트가 일어나게 된다. 따라서 훨씬 빠르게 해를 구할 수 있다는 장점이 있다. 따라서 SGD는 빅데이터에서 많이 사용한다.
Local minimum은 극솟값을 뜻하며, Global minimum은 Local minimum 중 가장 작은 값을 뜻한다. 일반적으로 Gradient Descent를 하면 Local minimum을 찾는 것은 확실히 보장되지만, Global minimum을 찾는 것은 확실히 보장될 수 없다.
n. 과거에서 업데이트 해왔던 방식을 계속 기억하는 것
문제는 Gradient Descent를 사용하면 Local minimum에 수렴하긴 하나 이를 벗어나지 못하며 이것이 Global minimum이라는 보장은 없다.
따라서 Local minimum을 뛰어넘어 더 작은 값들을 찾아가는 계기를 만들어 주기 위해 Momentum이 적용된다. 다시 말하면 더 최소점에 도달할 수 있도록 최솟값을 찾아온 방향을 관성으로 기억하여 앞으로 더 나아가 최솟값을 찾을 수 있도록 도와주는 방법이다.
일반적으로 기울기는 0이지만 앞뒤 혹은 양 옆의 기울기가 변함이 없는 Saddle point나 Local minimum으로 빠르게 수렴한 경우 이 point들을 넘어서 더 최적점을 찾을 수 있도록 도와준다.
👉 결론적으로 SGD + Momentum이 딥러닝에서 가장 많이 사용되는 방법이다.
[KMOOC-실습으로배우는머신러닝] 7.Ensemble Learning (0) | 2022.11.22 |
---|---|
[KMOOC-실습으로배우는머신러닝] 5. Support Vector Machine (0) | 2022.11.22 |
[KMOOC-실습으로배우는머신러닝]2. Machine Learning Pipeline (0) | 2022.11.21 |
[KMOOC-실습으로배우는머신러닝] 1. Introduction to Machine Learning (0) | 2022.11.21 |
[머신러닝] Titanic 데이터를 사용한 분류: Feature Engineering(결측치 보간법) + 하이퍼파리미터튜닝(RandomizedSearchCV) (0) | 2022.11.17 |