[머신러닝 - 이론] Linear Regression (선형 회귀)
앞의 글을 읽으시면 이해에 도움이 됩니다.
2022.04.07 - [Computer Science/머신러닝] - [머신러닝 - 이론] 인공지능이란? (What is artificial intelligence?)
2022.04.08 - [Computer Science/머신러닝] - [머신러닝 - 이론] 머신러닝의 기초 (Fundamental of Machine Learning)
1. 선형 회귀란?
독립 변수는 'x 값이 변함에 따라 y 값도 변한다'는 정의 안에서 독립적으로 변할 수 있는 x 값을 의미합니다.
종속 변수는 독립 변수에 따라 종속적으로 변하는 값을 의미합니다.
따라서 선형 회귀의 정의는 독립 변수 x를 사용해 종속 변수 y의 움직임을 예측하고 설명하는 작업을 말합니다.
선형 회귀는 입력 특성의 가중치 합과 편향이라는 상수를 더해 예측을 만듭니다.
따라서 수식으로 표현하면 아래와 같습니다.
\(\hat{y} = \theta_0 + \theta_1x_1 + ... + \theta_nx_n\)
이를 벡터 형태로 바꾸면
\(\hat{y} = h_\theta(x) = \theta x\) 이 됩니다.
\(\theta\) : 편향부터 특성 가중치를 모두 담은 파라미터 벡터
\(x\) : 모든 샘플의 특성 벡터, \(x_0\)는 항상 1이다. (편향과 곱하므로)
\(\theta x\)는 \(\theta\)와 \(x\)의 점곱형태이다.
통상적으로 벡터를 하나의 열을 가진 열 벡터 (column vector)로 표현하므로,
\(\hat{y} = \theta^Tx\)로 표현됩니다.
선형 회귀는 x의 개수에 따라 두 가지 회귀로 분류됩니다.
- 하나의 x값 만으로도 y 값을 설명할 수 있음 -> 단순 선형 회귀 (simple linear regression)
- x값이 여러 개 필요함 -> 다중 선형 회귀 (multiple linear regression)
하나의 x 값이라는 뜻은 하나의 샘플로 표현할 수 있다는 뜻이며, 하나의 샘플에는 여러 개의 특성이 들어가 있을 수 있습니다.
2. 모델 훈련
훈련은 손실 함수라는 예측 값과 실제 값의 차이를 설명하는 함수를 줄이는 것을 목표로 합니다.
통상적으로 손실 함수는 MSE라는 손실 함수를 사용합니다.
간략하게 설명하자면, \(\hat{Y}\)와 Y의 차이를 제곱하여 평균내는 것을 Mean Squared Error(MSE)라고 합니다.
훈련을 위한 두 가지 방법이 있는데, 한 가지는 정규 방정식(normal equation), 최소 제곱법(least squares)입니다.
데이터 x = {2, 4, 6, 8}이라고 하고, 그에 따른 Label y = {81, 93, 91. 97}이라고 가정합니다.
이때 최소 제곱법은 해당 데이터를 예측할 수 있는 직선의 기울기와 절편을 알아낼 수 있습니다.
따라서 a는 2.3이 나오게 됩니다.
절편은 아래와 같습니다.
따라서 절편은 79가 나오게 되고, 이를 통해 예측한 값은 {83.6, 88.2, 92.8, 97.4}가 됩니다.
하지만 이런 방식으로 직선을 구하는 것은 데이터가 적을 때에만 가능한 것입니다.
따라서 데이터가 많다면 다른 방식을 이용해서 직선을 구해야 합니다.
데이터가 많으면 정규 방정식, 최소 제곱법이 힘드므로 경사 하강법을 이용해서 직선을 알아내야 합니다.
2.1 정규 방정식 (normal equation)
해당 파트는 크게 관심이 있는 부분이 아니면 안 보셔도 무관합니다.
정규 방정식과 최소 제곱법을 증명하는 과정이며, 최소 제곱법의 해석적인 방법으로써 행렬을 통하여 직선의 기울기와 절편을 알아낼 수 있습니다.
헷갈리는 부분 있으면 댓글 달아주세요.
3. 경사 하강법 (Gradient Descent)
기본적인 경사 하강법에 대한 내용은 아래의 글을 참고해주세요.
2022.07.28 - [Computer Science/머신러닝] - [머신러닝 - 이론] 경사 하강법 (Gradient Descent)
경사 하강법은 파라미터를 반복적으로 변경함으로써 손실 함수를 최소화 하기 위한 방법입니다.
처음 파라미터 \(\theta\)는 랜덤하게 설정하고,
손실 함수가 최소가 되는 방향으로 서서히 step을 진행합니다.
손실 함수가 최소가 될 때 알고리즘이 끝납니다.
다음 글에서는 고차항이 있는 다항 회귀에 대해 적도록 하겠습니다.
2022.10.18 - [Computer Science/머신러닝] - [머신러닝 - 이론] Polynomial Regression (다항 회귀)
감사합니다.
지적 환영합니다.