본문 바로가기

STUDY/인공지능

[기초 ML] Gradient descent algorithm

728x90

이전 기초 ML 내용을 한번 복습한 후 이 포스팅을 보자!

https://chaeso-coding.tistory.com/46

 

[기초 ML] Linear Regression 개념

◎ Linear Regression : 선형 회귀 [그림 1]을 수식으로 나타낸다면 y=ax+b이다. y는 세로축, x는 가로축, a는 기울기, b는 절편이다. [그림 1]의 식은 선형 회귀에 적용할 수 있다. 어떠한 값을 선형 회귀로

chaeso-coding.tistory.com


저번에 살펴보았던 Hypothesis와  Cost(W, b)의 수식은 다들 기억할 것이다.

 

Cost(W, b)값을 구해서 최소화시키는 이유는 예측값과 실제 값의 차이인 에러를 최소화시키기 위함이다.

이는 ML의 실질적인 학습 목표이기도 하다.

 

Cost(W, b)의 최솟값을 찾기 위해 사용하는 알고리즘은 Gradient descent algorithm(경사 하강법)이다.

 

경사 하강법을 이해하기 위해 아래 그래프를 살펴보자.

 

[그림 1] Gradient descent algorithm

[그림 1]은 경사하강법을 가장 잘 나타낸 그래프이다.

 

[그림 1]을 살펴보면 우리가 얻고자 하는 값은 minimun Cost이다. 하지만 우리가 구한 값은 initial Weight이다. 

우리가 구한 initial Weight가 minimum Cost에  도달하기 위해서는 위 빨간 화살표처럼 Weight를 업데이트시켜주어야 한다. 

 

Weight를 업데이트시키는 방법은 아래와 같다.

 1) initial Weight의 기울기인 Gradient를 구한다. Gradient는 Weight 지점 값의 미분을 통해 구해준다.
 2) initial Weight인 W값에 Gradient를 곱한 후, W값에서 빼준다.
    * 이를 통해 Increment Step으로 Weight는 이동한다.
 3) minimum Cost에 도달할 때까지 1),2) 작업을 반복한다.
    * minimum Cost에 도달하면 더 이상 줄어들지 않는다.
    * 비용이 최소화되는 지점! 즉, 가장 낮은 지점이 된다.

 

Weight를 업데이트시키기 위한 수식을 살펴보자.

[그림 2] Gradient descent algorithm 수식

 * learning rate는 우리가 구한 값을 기울기 값 등을 반영해서 W에서 얼마만큼 뺄지를 결정하는 배수의 역할을 한다.

 * learning rate가 작다면 업데이트가 작게 일어난다.

 * 기울기에 learning rate를 곱한 값을 W에 빼서 W를 업데이트해준다.

 * W값이 얼마나 빠르게 업데이트될지는 learning rate에 의해 결정된다.


*부스트 코스 강의 학습 내용입니다.

 
728x90