본문 바로가기

인공지능/인공지능개론

[인공지능개론] Linear Regression

Regression(회귀) : 연속적인 값을 예측하는 Task

(to determine the strength of the relationship between one dependent variable and a series of other changing variables)

 

 

회귀 모델

- Linear Hypothesis : 기울기 w, y절편 b라는 trainable parameters를 Loss가 작아지는 방향으로 학습

→ How fit the line to data? Cost function을 통해 파악 가능

 

 

회귀 문제의 Cost Function : Mean Square Error(MSE)

 

 

Minimizing Cost

y절편을 생략한 간단한 Hypothesis에 대한 Cost Function을 정의하고 어떻게 생겨먹었는지 그려보면..

아래와 같이 이차함수가 그려진다!!!

어떻게 하면 이 Cost Function이 minimize되는 지점을 찾을 수 있을까?

Gradient Descent Algorithm을 통해!!

 

Gradient Descent Algorithm

1. Start with initial guesses

2. Initial값에 대한 Gradient를 구해

3. Gradient의 반대 방향으로 learning rate 만큼 배수를 취해 파라미터 값을 업데이트 한다!

* Learning Rate 

- IF too small ) Gradient Descent가 너무 느려

- IF too large ) minimum을 지나칠 가능성, 수렴하지 않고 발산할 위험

 

⇒ Gradient Descent의 단점 : Initial 값에 따라 Global minimum에 도달하지 못한 채 Local minimum에서 학습이 끝날 가능성이 있다 → 이러면 정확도가 떨어져

 

Measure Errors for Parameter Tuning

: Cross Validation

Train Set을 Train과 Validation으로 나누어서 K-Fold CV → Train data에 대한 hyper parameter들을 조정 + Retrain on the Train-set →  Test-Performance 측정 → Retrain on 전체 데이터

 

Train Error와 Validation Error 경향을 보고 Val Error가 최소가 되는 지점에서 학습을 멈춰! 적당한 model을 찾아주는 방법.

 

Multivariable Linear Regression

피쳐가 여러 개인 경우 위와 같이 hypothesis가 정의된다!

1개의 데이터에 대해 적용!

이게 mini-batch 아닐까?

weight parameter는 (input data feature 개수) x (output 개수) 크기로 필요한 듯 하당

출력이 여러개인 경우!