hyezdata 님의 블로그

[머신러닝] 회귀(Regression) 본문

내일배움캠프/머신러닝

[머신러닝] 회귀(Regression)

hyezdata 2025. 4. 17. 19:09

01. 회귀(Regression)란?

  • 1개 이상의 독립변수(X)와 종속변수(Y)
  • 연속형의 결과값 예측
  • 분류와의 차이점은 분류는 결과값이 이산형, 회귀는 연속형이라는 것!

회귀 모델의 형태는 y = β₀ + β₁x + ε 

실제 값에 가까운 예측값을 찾아내서 실제값과 예측값 사이의 오차를 최소화하는 것이 목표

즉, 오차를 최소화하는 회귀계수 β₀, β₁를 찾는 것

회귀분석

 

1. 비용함수(Cost Function)

오차에 대한 식을 비용함수라고 하는데, 주로 쓰이는 식이 MSE와 MAE이다.

 

1) MSE(Mean Squared Error)

오차를 제곱한 값의 평균

MSE

 

2) MAE(Mean Absolute Error)

오차에 절대값한 값의 평균

MAE

 

회귀분석은 오차를 최소화하는 것이 목표라고 했는데 오차를 최소화한다는 건 오차에 대한 식, 즉 비용함수의 값을 최소화하는 것과 같다.

 

그래서 오차를 최소화하는 방법에는 최소자승법과 경사하강법이 있다.

2. 오차 최소화 방법

1) 최소자승법(Ordinary Least Squares)

직접 계산하는 방법으로, 주로 선형회귀모델에 쓰인다.

 

2) 경사하강법(Gradient Descent)

변수가 여러 개일 때, 오차를 최소화하는 계수를 찾아내는 방법이다.

 

경사하강법

 

오차를 최소화하는 지점을 찾기 위해 회귀계수인 β₀, β₁를 임의로 설정하고 결과에 맞게 예측값(그림에서 초록색 직선그래프)의 값을 조금씩 줄여가나며 비용함수의 값을 찾는다.

 

학습률 낮음 / 학습률 적당 / 학습률 큼

 

위 그래프에서 기울기가 0인 지점이 오차가 제일 낮은 곳이다.

이 지점을 찾아갈때 어느 정도의 간격(?)을 두고 할 것인지를 '학습률(Learning Rate)'라고 하는데 적당한 학습률을 설정해야 설정한 최대 횟수 안에 오차가 낮은 지점에 알맞게 도착할 수 있다.

만약 학습률을 너무 낮게 설정한다면 오차가 최소화하는 지점까지 가는데 너무 많은 반복을 하게 되어 도달하는데 시간도 오래 걸리고 반복 최대 횟수를 초과하게 된다.

또, 만약 학습률을 너무 크게 설정한다면 오차가 최소화되는 지점을 찾지 못하게 된다.

 

02. 선형 회귀(Linear Regression)

회귀 계수가 선형인 회귀 즉, 독립변수와 종속변수가 선형적 관계를 맺고 있는 것

 

1. 단순 선형회귀

독립변수 1개 사용

y = β₀ + β₁x + ε

 

2. 다중 선형회귀

2개 이상의 독립변수 사용

y = β₀ + β₁x₁ + β₂x₂ + ... + βₙxₙ + ε

 

3. 선형 회귀 모델 학습 과정

1) 가중치(회귀계수) 초기화

 

2) 손실함수(Loss Function)

주로 MSE 사용함

 

3) 최적화

최소자승법, 경사하강법 등을 사용

 

4. 회귀 평가 지표

모델의 성능을 평가하는 지표이다.

MAE 오차에 절대값을 씌워 평균, 0에 가까울수록 좋음
MSE 오차를 제곱해서 평균
RMSE(Root MSE) MSE값에 루트를 씌운 것
R^2 (결정계수) 실제값 분산 대비 예측값의 분산 비율

R^2 = 1인 경우, 예측값과 실제값이 일치하다. 정확도가 높음

R^2 = 0인 경우, 예측값이 평균 수준에서 벗어나지 않는다.

R^2 < 0인 경우, 예측값이 평균보다 못하다. 모델이 나쁘다는 뜻

 

비용함수의 MSE, MAE와 식이 같지만 다르다는 것!

 

03. 다항 회귀(Polynomial Regression)

다항식으로 비선형 관계를 표현

y = β₀ + β₁x + β₂x² + ... + βₙxⁿ + ε

 

그러나 고차항을 무작정 늘리면 과적합이 발생할 수가 있음

 

1. 과적합(Overfitting)

훈련데이터가 과도하게 반영되는 것 → 훈련데이터는 높으나 테스트 데이터는 낮게 나옴

학습데이터가 실제 데이터와 다르거나 변수가 지나치게 많으면 과적합이 발생한다.

 

2. 과소적합(Underfitting)

훈련데이터 학습도 제대로 되지 않는 것 → 훈련데이터, 테스트 데이터 모두 낮음

 

04. 규제(Regularization)

과적합을 방지하기 위해 선형회귀에 패널티를 추가해 비용함수를 조정하는 것

1. 릿지 회귀(Ridge, L2)

비용함수에 가중치의 제곱합을 패널티로 추가하는 것

릿지 회귀

 

제곱을 하므로써 가중치의 크기를 줄여 변수들의 관계가 튀지않게(부드럽게) 만듦

(람다는 규제 강도 설정값)

 

2. 라쏘 회귀(Lasso, L1)

비용함수에 가중치 절대값합을 패널티로 추가하는 것

라쏘 회귀

 

절대값을 씌워 가중치를 0으로 만듦으로써 변수 선택 효과가 있다.

 

패널티 즉, 가중치의 제곱합과 가중치 절대값합을 더해주므로써 회귀계수 값이 극단적으로 가는 것을 방지한다.

 

3. 엘라스틱넷(ElasticNet)

릿지와 라쏘를 합친 것

엘라스틱넷

라쏘의 변수 선택과 릿지의 계수 축소, 안정성을 가진다.

 

05. 비선형회귀

1. 회귀 트리(Decision Tree Regression)

  • 데이터 분할 기반 예측
  • 결정 트리 모델을 회귀형을 만든 것
  • 과적합 주의

2. 앙상블 모델

1) 랜덤 포레스트(Random Forest Regressor)

여러 결정 트리를 평균하여 예측

 

2) 그래디언트 부스팅(XGBoost, LightGBM, Gradient Boosting)

순차적으로 모델을 보완하여 예측 정확도 향상시킴

 

728x90
반응형

'내일배움캠프 > 머신러닝' 카테고리의 다른 글

[머신러닝] 분류(Classification)  (0) 2025.04.17
[머신러닝] 데이터 전처리  (0) 2025.04.17
[머신러닝] 머신러닝이란?  (0) 2025.04.17