단순회귀 및 다중회귀 (Simple Regression and Multiple Regression)
단순회귀는 간단하게 하나의 피처로 아웃풋을 예측하는 모델이다.
$$ \hat{y} = w \cdot x + b $$
여기서 $ w $ 는 가중치(weight), $ x $ 가 피처(feature), $ b $ 는 편향(bias)이다. 목표는 데이터를 통해 $ y $ 를 가장 잘 예측하는 $ w $ 와 $ b $ 를 찾는 것이다. 그리고 $ y $ 를 가장 잘 설명한다는 것은 일반적으로 아래와 같은 $ MSE $ 를 최소로 한다는 것을 의미한다.
$$ MSE = \frac{1}{n} \sum_{i=1}^n (\hat{y}_i - y_i)^2 $$
다시 손실함수 $ j $ 로 쓰면 다음과 같다. 앞에 $ 1/2 $ 를 곱해준 것은 뒤에 나오는 미분을 간단하게 하기 위한 것으로 $ MSE $ 정의로는 사용하지 않는다.
$$ j (\mathbf{w}) = \frac{1}{2n} \sum_{i=1}^n (\hat{w} \cdot x_i + \hat{b} - y_i)^2 $$
여기서 $ j $ 를 손실함수(loss function) 혹은 비용함수(cost function)이라 하는 것은 이를 줄여야 하기 때문이다. $ MSE $ 뿐 아니라 $ MAE $, $ RMSE $, $ R^2 $ 등 다양한 함수를 손실함수로 사용할 수 있다. 찾고자하는 가중치 등 매개변수, 여기서는 $ w $ 와 $ b $ 를 벡터로 묶어 $ \mathbf{w} $ 로 쓰고, 손실함수를 다시 가중치에 대한 손실함수라는 의미에서 $ j ( \mathbf{w}) $ 라 썼다.
따라서 원하는 것은 다음과 같다. 즉 손실함수를 최소화하는 매개변수 값을 찾고자 한다.
$$ \underset{\mathbf{w}}{\min} j(\mathbf{w}) $$
이를 위해 손실함수를 각 매개변수에 대해 미분하고, 이를 $ 0 $ 으로 두어 나온 정규방정식의 해를 구해서 $ \mathbf{w} $ 를 찾아도 좋겠지만, 이 방법은 비효율적인 부분이 존재하므로 머신러닝에서 회귀를 사용할 때는 경사하강법(참고링크)을 사용하는 것이 일반적이다.
이제 다중회귀로 일반화해보자. 다중회귀는 단순회귀와 달리 여러개의 피처를 사용한다. 피처의 수를 $ m $, 데이터의 수를 $ n $ 이라 할 때 입력을 $ n \times m + 1 $ 행렬 $ \mathbf{X} $ 로 하고, 각 피처에 대한 가중치의 열벡터를 $ \mathrm{w} $ 로 할 때 회귀모형은 다음과 같다. 예측값 $ \hat{\mathbf{y}} $ 도 열벡터이다.
$$ \hat{\mathbf{y}} = \mathbf{X} \mathbf{w} $$
경사하강법을 이용해 최적의 가중치를 구하기 위해 손실함수를 각 가중치에 대해 미분하고, 이를 학습률(learning rate) $ \alpha $ 와 곱해서 가중치에서 빼준다. 즉 다음과 같다.
$$ \mathbf{w} := \mathbf{w} - \alpha \cdot \triangledown j (\mathbf{w}) $$
여기서 $ \triangledown j (\mathbf{w}) $ 는 손실함수를 가중치로 미분한 것, 즉 손실함수의 기울기로 다음과 같다.
$$\triangledown j (\mathbf{w}) = \frac{1}{n} \mathbf{X}^T ( \mathbf{X}\mathbf{w} - \mathbf{y}) $$
'Artificial Intelligence > Machine Learning' 카테고리의 다른 글
[ML] 로지스틱 회귀(logistic regression) (0) | 2025.03.31 |
---|---|
[ML] 정칙화(regularization)와 릿지회귀(ridge regression), 라쏘회귀(LASSO regression), 엘라스틱넷회귀(elastic net regression) (0) | 2025.03.31 |
[ML] 분류 모델 평가(evaluation) (0) | 2025.03.29 |
[ML] 경사 하강법(gradient descent) (0) | 2025.03.27 |
[ML] 머신러닝 용어 및 개요 (0) | 2025.03.11 |