모든 강의내용은 김성훈 교수님의 ‘모두를 위한 딥러닝’을 기반으로 한다.
In statistics, linear regression is a statistical model which estimates the linear relationship between a scalar response and one or more explanatory variables (also known as dependent and independent variables).
위에 나와있는 글은 Wikipedia에 나와있는 선형회귀의 정의이다.
즉 쉽게 말하면 일종의 확률 모델인 것이다. 그 확률을 예측 하기 위하여 주어진 값들 사이에서 선형 관계를 찾아내고, weight과 bias를 도출하여 모델을 만든다.
굉장히 단순한 개념을 이용하지만, 우리 주변에서 linear한 모델로 결과를 예측할 수 있는 경우가 많기에 가장 전통적인 모델로써 ML 분야에 널리 이용되었다.
예를 들어 위와 같은 데이터가 주어졌다고 가정했을 때, 선형회귀를 이용하여 모델을 만들면,
y = x 라는 관계가 성립한다.
따라서 주어진 데이터를 2차원 그래프 형태로 나타내면 다음과 같은 모습을 보인다.
이제 이것을 컴퓨터가 이해하기 위해서는 수학적으로 표현을 해야한다. 따라서 우리의 선형회귀 모델을 수식으로 나타내고 우리는 이 식을 '가설'(Hypothesis)라고 부른다.
이제 우리의 모델이 해야하는 일은 어떤 가설이 가장 좋은 가설인지를 판단하는 것이다. 우리가 마주하는 방대한 데이터는 y=x와 같이 딱 들어맞는 선형 관계를 가지지 않을 확률이 높다.
다양한 모델이 생겨나게 된다는 이야기이다. 따라서 모델에게 주어진 input과 label 값을 이용하여 좋은 가설을 가려내야한다.
가장 좋은 방법은 특정 input에 대한 label 값과 모델의 prediction값의 차이를 계산해보는 것이다. 그 차이가 클수록 선형 모델에서 멀리 있는 것으로 예측의 오차가 커진다는 것을 의미한다. 이 작업을 "Cost function"을 찾는 과정이라고 할 수 있다.
여기서 주의해야하는 점은, 예측값과 실제값의 오차를 계산하다보면 음수가 나온다는 점이다. 우리는 오차의 정도를 보는 것이지 누가 더 크고 작은지를 따지는 것이 아니다. 따라서 주로 사용되는 cost function들은 오차를 제곱하여 마이너스 부호를 없애주는 과정을 취한다. 그렇게 나온 대표적인 cost function 식은 아래와 같다.
참고로 오차의 제곱에 대해서 전체 평균을 구하기에 해당 cost function은
MSE (Mean Squared Error) 라고 불린다.
이렇게 이번 시간에는 Linear regression의 개념과 Hypothesis, Cost function의 개념에 대해서 살펴보았다. 모델의 궁극적인 목표는 주어진 데이터를 학습하여 새로운 데이터들에 대해서도 올바른 답을 도출하는 것이 목표이다. 그러려면 우리가 오늘 배운 cost를 줄이는 것이 우선일 것이다. 따라서 다음 시간에는 Cost를 최소화하는 방법에 대해서 포스팅 해보도록 하겠다.
'딥러닝 > 모두를 위한 딥러닝 시즌1' 카테고리의 다른 글
[모두를 위한 딥러닝 시즌1] Lec05-2. Logistic Classification의 Cost (2) | 2024.02.07 |
---|---|
[모두를 위한 딥러닝 시즌1] Lec05-1. Logistic Classification의 Hypothesis (0) | 2024.02.07 |
[모두를 위한 딥러닝 시즌1] Lec04. Multi-Variable linear regression (3) | 2024.02.07 |
[모두를 위한 딥러닝 시즌1] Lec03. Linear Regression의 Cost 최소화 알고리즘의 원리 (2) | 2024.02.05 |
[모두를 위한 딥러닝 시즌1] Lec01. 기본적인 ML 개념 및 용어 (0) | 2024.02.04 |