경사하강법(3)
-
[밑바닥딥러닝] 7. 경사하강법(gradient descent)
본 게시글은 한빛미디어 『밑바닥부터 시작하는 딥러닝, 사이토 고키, 2020』의 내용을 참조하였음을 밝힙니다. 지금까지 퍼셉트론의 개념을 통해 입력값(input)과 가중치(weigth) 그리고 편향(bias)를 통해 결과를 도출하고, 손실함수를 통해 예측값과 실제(타깃)값과의 괴리를 측청하여 이를 가중치 업데이트에 반영하는 방법을 알아보았다. 이번에는 경사 하강법이라는 개념을 통해 실제로 가중치를 업데이트하는 방법을 알아보도록 하자. 경사하강법(gradient descent) 산에 조난자가 있다고 가정하자. 이 조난자는 눈이 다치는 바람에 앞을 볼 수 없고, 다시 베이스 캠프로 돌아가기 위해 경사를 더듬에서 원래 출발점이 있던 곳으로 내리막길을 따라 내려가야한다. 내려가다보면 내리막을 멈추고 어느 순간 ..
2021.10.01 -
1-3. 경사 하강법(Gradient descent) - 확률적 경사 하강법(SGD), 미니배치 경사 하강법
확률적 경사 하강법(SGD) 경사 하강법의 두번째 방법은 확률적 경사 하강법(SGD)이다. 배치 경사 하강법의 단점은, 추정한 파라미터를 전체 샘플에 적용하고, 그에 대한 비용함수와 그레디언트를 계산할 때도 전제 샘플을 사용한다는 것이다. 이는 훈련 샘플 크기가 매우 커질 경우, 시간적 비용이 크게 들게 된다. 확률정 경사 하강법(SGD)는 파라미터를 업데이트 매 스텝마다, 하나의 샘플을 무작위로 선택하여 그 하나의 샘플에 대한 비용함수 그레디언트를 계산하고, 파라미터를 업데이트한다. def SGD_gradient_cost_fun(x_b, y, y_hat): random_idx = np.random.randint(len(x_b)) x_i = x_b[random_idx:random_idx+1] y_i = ..
2021.04.26 -
1-2. 경사 하강법(Gradient Descent) - 배치 경사 하강법
선형 회귀를 훈련시킬 수 있는 대표적인 방법 중 하나가 경사 하강법(Gradient Descent)이다. 경사 하강법은 비용 함수를 최소화하는 방향으로 가중치와 편향을 업데이트한다. 이렇게 비용함수를 최소화하는 모델 파라미터의 조합을 찾는 과정을 '모델의 파라미터 공간에서 찾는다'라고 한다. 출처 : arahna.de/gradient-descent/ 미적분의 기본적인 개념으로, 주어진 구간 안에서 f(x)를 미분하여 f'(x) = 0 이 되는 지점의 x에서의 f(x)이 최대값, 최소값이 된다. 경사 하강법도 이와 같은 원리를 동일하게 적용한다. 경사 하강법에는 크게 배치 경사 하강법, 확률적 경사 하강법으로 나뉘어진다. 배치 경사 하강법 내가 추정하고자 하는 선형 모델이 위와 같다면, 찾고자 하는 파라미..
2021.04.26