본문 바로가기

ComputerScience/Machine Learning

AI - 8. Linear Regression

728x90

1. Linear Regression

- 회기란 데이터들을 2차원 공간에 찍은 후 이들을 가장 잘 설명하는 직선이나 곡선을 찾는 문제라고 생각하면 된다.

- f(x)를 fitting하는 것을 말한다. 선형의 경우 Linear, 비선형일 경우 non-linear등으로 부르기도 한다.

- 입력값이 연속된 실수이고 출력값도 연속된 실수의 경우 활용이 쉽다.

- 데이터의 경향이 fitting이 가능한 경우에 활용이 가능한 방법이다.

- 예를 들면 부모의 키에 따른 자녀의 키, 면적에 따른 주택의 가격, 연령에 따른 실업률 등이 linear regression 문제에 해당한다.

- 선형 함수를 예측할때 f(x) = Wx + b라고 하면 w를 가중치, b를 bias라고 한다. 결국은 선형 방정식을 찾는 것이다.

2. loss function

- 그럼 어떤 함수가 제일 적합하다고 판단할 수 있을까?

- 그때 사용하는 것이 loss 함수이다.

- 실제 값과 f(x)와의 차이를 활용해서 구한다. 

- 이 차이들이 최소가 되는 지점이 최적화한 곳이라고 생각하면 된다.

- 즉 loss는 모든 점들에 대해서 수직 거리의 제곱의 평균으로 산출된다. 

- argmin W,b는 loss를 최소로 만드는 값이 w,b라는 뜻의 표기법이다.

* 참고로 loss는 다양한 종류가 존재한다. 위에서 처럼 단순히 수치적인 차이로 loss를 구현할 수도 있지만 단순히 차이 이상의 조건으로 loss가 정의될 수 있다. 예를들어 암환자가 정상인으로 인식되는 risk를 매우 중요하게 생각한다면 risk를 최소화 하기 위해서 아래 그림처럼 직선과 점의 거리를 구하는 방식이 바뀔수도 있다.

3. Minimizing(optimizing) 

- 그럼 loss를 어떻게 minimize할 수 있을까?

- 가장 많이 사용되는 방법은 gradient descent라는 경사하강법이다.

- 그래프에서 한점에서의 기울기가 0에 가까울때 까지 계속해서 그래프를 타고 내려가는 방법이다.

- 우리가 정한 loss function을 w와 b에 대해서 미분한 다음 learning rate(0.01)만큼 그 기울기를 타고 w, b값을 계속해서 갱신하는 방법이다.

- learning rate는 실험적으로 결정되는 경우가 많고 학습의 속도를 결정하는 parameter이다. 값이 크면 더 빠르게 경사를 내려가게 될 것이고 값이 너무 작다면 최적화하는데 시간이 오래걸릴 수 있다.

4. Overfitting, Underfitting

- 아래 그림을 보면 우리가 구하고자 하는 함수는 9차함수로 주어진 데이터에 대해 완벽하게 fitting이 되어있다.

- 하지만 이런 경우는 막상 실세계의 다른 (학습때 보지못한) 데이터들을 전부 비껴갈 위험이 있다.

- 반대로 underfitting이라면 아예 모델 자체가 학습데이터 조차 fitting을 못 하고 있는 것이다.

728x90
반응형

'ComputerScience > Machine Learning' 카테고리의 다른 글

AI - 10. Perceptron  (0) 2021.11.18
AI - 9. kNN, Gaussian Mixture  (0) 2021.11.11
AI - 7. 머신러닝 개요  (0) 2021.11.03
AI - 6. Uncertainty  (0) 2021.10.12
DeepLearning 2-2-1  (0) 2021.10.06