Linear Regression은 Machine Learning에서 실제로 많이 사용된다.
저번 시간에 설명했던 것과 같이 어떤 학생의 공부한 시간별 시험 성적이 0~100점까지의 연속적인 넓은 범위 안에서의 한 값이라고 한다면 Regression을 사용한다. 이것은 이미 주어진 데이터들로 학습을 하는 것이니 Supervised Learning에 속한다. 데이터를 가지고 학습을 하는 과정은 Training이라고 하고, regression으로 모델을 하나 만들고 나서 regression을 사용해서 공부 시간을 주고 시험 점수를 예측하게 할 수 있다.
위의 표는 Training Data의 예이고, Regression Model을 만들어보자. x는 예측하기 위한 기본적인 자료, Feature이라고 하고, y는 그 결과이다.
이전의 표를 그래프로 옮겨보면 위와 같게 된다. Regression 모델을 만들기 위해서는 대략적인 가설(Hypothesis)을 세울 필요가 있다. 위의 그래프의 경우에는 linear, 즉 직선의 형태로 예측을 할 수 있다. 이것을 (Linear) Hypothesis라고 한다. 이 선을 찾는 것이 학습을 하는 것이다.
위는 Linear Hypothesis를 한 예이고, x의 값에 W를 곱하고 b를 더한 H(x)라는 선형 함수를 세운다.
선형이므로 1차 방정식의 형태로 가설을 세운다. W와 b에 따라서 다양한 선이 나올 것이고, 이 선들 중에서 어떤 선이 가장 알맞을지 고르는 것이 중요하다.
이 여러 개의 선들 중에서, 어떤 가설이 가장 예측하는 데 알맞을지를 결정하기 위해서는 우리가 예측한 값과 실제 값의 차이를 구한다. 이 차이가 작을수록 좋은 가설이라는 것이다.
이 차이를 Cost Function이라고 하고, 우리가 세운 가설과 실제 값이 얼마나 차이가 나는지, 얼마나 다른지 나타낸다.
여기서 H(x) - y라고 나타낸 모델이 좋지는 않다. 값이 +가 될 수도 있고 -가 될 수도 있어서 보통 제곱을 해서 나타낸다. 제곱을 하면 차이가 +이든 -이든 상관없이 일정하게 차이를 양수로 표현해주고, 제곱이 있기 때문에 차이가 더 클 때 패널티를 주는, 차이를 더 벌려서 중요한 값을 더 잘 나타내게 된다.
식으로 표현해보자면 위와 같을 것이다. 아래의 식이 일반화된 식이다.
H(x)의 값을 대입해보자면 아래의 cost function을 얻게 된다. 가장 값이 작은 W와 b를 구하는 것이 학습이다.
다음 시간에는 이 cost function을 어떻게 최소화할지 배우도록 하겠다.
'AI > [DLBasic]모두의 딥러닝(딥러닝의 기본)' 카테고리의 다른 글
[DLBasic] 5-2. Classification : cost function & gradient decent (0) | 2020.01.16 |
---|---|
[DLBasic]Lecture 5-1. Logistic(Regression) Classification (0) | 2020.01.16 |
[DLBasic] Lecture 4. Multi-variable Linear Regression (0) | 2020.01.15 |
[DLBasic]Lecture 3 . How to minimize cost (0) | 2020.01.15 |
[DLBasic]Lecture 1 : Machine Learning Basics (0) | 2020.01.15 |