상세 컨텐츠

본문 제목

[ML] Cost Function Optimization – Gradient Descent

machine learning

by ~지우~ 2022. 12. 17. 10:24

본문

728x90

Gradient Descent

 

Introduction

◼ 기계 학습 모델(알고리즘)은 일반적으로 일련의 매개 변수(가중치, 계수)를 포함하는 비용 함수를 갖는다.
◼ 많은 기계 학습 문제는 비용 함수를 최소화하는 모델에 대한 가중치 집합을 찾는 것으로 감소한다.
◼ 경사 하강법은 기계 학습 모델을 훈련하기 위해 가장 널리 사용되는 알고리즘 중 하나이다.
◼ 비용 함수를 최소화하는 함수의 매개변수(계수) 값을 찾는 최적화 알고리즘이다.
◼ 매개변수를 분석적으로 계산할 수 없기 때문에 사용된다.

비용 함수는 포물선에 대한 방정식이다. 이는 아래와 같이 표시된다.

목표는 J(W)를 최소화하는 값 W 집합을 찾는 것이다. 비용 함수에 대한 랜덤 초기 가중치(W)로 시작하여 global한 최소값에 도달할 때까지 점진적으로 더 나은 가중치를 계속 찾는다. 주어진 가중치 집합을 개선하기 위해 현재 가중치와 유사한 가중치에 대한 비용 함수의 가치를 파악하려고 한다. 그리고 나서 우리는 비용 함수를 줄이는 방향으로 나아간다. 이 단계를 수천 번 반복함으로써 비용 함수를 지속적으로 최소화할 것이다. 

 

아래 그림을 보면 기울기는 그래프의 특정 지점에서 그래프의 기울기 또는 기울기(즉, 비용 함수)를 알려준다. 기울기의 값은 입력, 모델 매개변수의 현재 값에 따라 달라진다. 그리고 비용 함수를 최소화하기 위해 기울기와 반대 방향으로 이동한다.

 


Math behind gradient descent 

- Problem Formalization (for Simple Linear Regression)

 

- Problem Formalization (for Logistic Regression)

 

- Gradient Descent Algorithm: Key Idea1

 

- Gradient Descent Algorithm: Key Idea2

 

무게를 업데이트할 때 최소값에 도달하기 위해서는 기울기의 반대 방향으로 이동해야 한다. 아래 포물선 오른쪽의 기울기는 양수이고 왼쪽의 기울기는 음수이다.

 

 

learning rate은 우리가 최소한에 도달하기 위해 취하는 단계의 크기를 결정한다. 작은 learning rate은 매우 느린 수렴을 유발하는 경향이 있다. 큰 learning rate은 수렴하지 않거나 심지어 발산으로 이어질 수 있다.

일반적으로 learning rate 값은 수동으로 선택된다. 우리는 보통 0.1, 0.01 또는 0.001과 같은 작은 값으로 시작하여 비용 함수가 매우 느리게 감소하는지(학습 속도 증가) 폭발하고 있는지(학습 속도 감소)에 따라 이를 조정한다.

 

Visualization

 


Walkthrough

주택 규모를 기준으로 새 주택 가격을 예측하는 모델 구축하려고 아래의 과거 주택 데이터셋을 사용할 것이다. 새 집의 경우 크기(X)가 주어지면 가격(Y)은 얼마인지 예측하려고 한다.

 

위 데이터셋을 plot한 것이다.

 

단순 선형 모델: y(pred) = α + βX을 그래프로 나타낸 것이다.
◼ y(actual): actual house price, y(pred): predicted price, X: house size
◼ prediction error = y(actual) – y(pred)

 

먼저 데이터 세트를 표준화(스케일링)한다.

1단계: 선 Y(pred) = α + β X를 맞추려면 α 및 β에 대한 랜덤 값(0.45, 0.75)으로 시작하고, 예측 오차(SSE)를 계산한다.

2단계: 중량을 기준으로 오차를 계산한다. ∂SSE/∂α = – (Y-YP)

3단계: 경사 하강법을 사용하여 가중치 조정한다.

4단계: 예측 및 새로운 총 SSE 계산을 위해 새로운 α와 β를 사용한다.

5단계: α 및 β를 추가로 조정해도 오류가 크게 줄어들지 않을 때까지 3단계와 4단계를 반복한다.

 

 

728x90

관련글 더보기

댓글 영역