기본 콘텐츠로 건너뛰기

6. Gradient Descent with R code

Ch7. Gradient Descent with R Code

Gradient Descent를 R code로 구현해보도록 하겠습니다.

1. 샘플 데이터 생성(난수)
2. Learning Rate 설정
3. 초기 가중치 행렬 생성
4. 회귀식 계산을 위한 행렬 생성

이러한 식을 R에서 만들어주어야 하는데, 코드는 다음과 같습니다.

5. Error Loss function 만들기

6. 알고리즘 학습

학습을 돌리기 전에, Error(Cost)값과 가중치(회귀계수)가 저장될 빈공간을 만들어야 합니다.

7. 시각화

다음과 같이 가중치(회귀계수)가 조금씩 움직이면서 최적의 회귀선을 찾아가는 것을 알 수 있습니다.

Error 값 또한 감소하면서 최적의 가중치(기울기)에 수렴하는 것을 확인할 수 있습니다.

8. 최소제곱법을 이용한 선형회귀식과의 비교
  • 일반 선형회귀(최소제곱법)

일반 최소제곱법으로 회귀식을 추정했을 경우, 는 0.4661, 은 1.0014입니다.

  • Gradient

경사하강법으로 회귀식을 추정했을 경우, 는 -0.3328, 은 1.031입니다. 를 구해보면 다음과 같습니다.

 

댓글