데이터 분석/머신러닝

[ML] 지도학습 알고리즘 - 회귀분석

eunnys 2023. 11. 15. 12:49

회귀분석(Regression Analysis)

 
* 정의
   - 매개변수 모델을 이용하여 통계적으로 변수들 사이의 관계를 추정하는 분석방법
 
* 용도
   - 독립변수가 종속변수에 미치는 영향을 확인하고자 사용하는 분석방법
   - 종속변수와 관련이 있는 독립변수를 찾을 때, 또 독립변수들 간의 관계를 이해하고자 할 때 사용
   - 가격, 주가, 수량 등 연속적인 값을 갖는 연속 변수를 예측하는데 주로 활용
 
* 종류
   - 단순회귀분석 : 하나의 종속변수와 하나의 독립변수 사이의 관계를 분석할 때
   - 다중회귀분석 : 하나의 종속변수와 여러 독립변수 사이의 관계를 규명하고자 할 때
 
 

 

선형 관계

 
- 독립변수가 종속변수에 영향을 준다면 두 변수 사이에 선형관계가 있다고 할 수 있다.
 
* 과학에서 볼 수 있는 현상
   - 속도와 거리
   - 섭씨와 화씨
   - 지름과 원의 둘레
 
* 사회에서 볼 수 있는 현상
   - 공부한 시간과 성적
   - 평수와 집값
   - 온도와 아이스크림 판매 수
   - 소득의 증가에 따른 소비의 증가
 
 

 

회귀분석 모델

 
* 목적
   - 독립변수(x)와 종속변수(y) 데이터가 주어졌을 때 두 변수의 관계를 설명할 수 있는 y = wx + b라는 선형 관계를 찾는 것
   - 이와 같은 선형 관계를 알고 있다면 새로운 x값이 주어졌을 때 종속변수 y의 값을 예측할 수 있다.
   - 최소제곱법을 통해 오차를 최소화 할 수 있는 w와 b를 찾는다.
 

y = wx + b의 선형 관계 그래프


 
- 회귀식 : y = wx + b
- 최소제곱법 : 회귀선과 관측값들의 잔차를 제곱하여 더한 값으로 그 값이 최소가 되도록 회귀계수를 구하는 것
- 설명력 지표 : 피어슨 상관계수, 결정계수 R^2
 


 

MSE와 비용함수

 

  • 오차함수(Loss Function / Error Function)는 각 독립변수(사례)의 오차를 계산하는 함수이다.
  • 머신러닝은 여러 사례를 묶어서 (mini-batch) 1개의 단위(epoch)로 처리하는데, 각 사례의 개별적인 오차를 오차함수로 계산한다.
  • 그리고, epoch 단위의 오차를 모두 합쳐서 오차를 관리하는데, 이렇게 1개 단위의 오차를 합치는 함수를 비용함수라고 한다.
  • 선형회귀 모델은 MSE(Mean Squared Error, 평균제곱오차)라는 비용함수를 사용하여 모델을 학습시킨다.

 

 

 
 
 
경사하강법

  • 머신러닝에서 가중치를 학습시키기 위해서 사용하는 방법을 경사하강법(Gradient Descent)이라고 한다.
  • 현재 가중치 w의 위치에서 오차가 작아지는 방향으로 조금씩 이동하면서 가중치를 수정한다.

 

 

- 학습률 : 보폭의 크기


 
▶ MSE (Mean Squared Error) 비용함수의 미분

 

 

 

회귀모델의 평가지표

 

 

- 평균 오차가 어느 정도 인지 보고싶은 경우 : MAE, RMSE

- 전체적으로 모델의 적합도를 보고싶은 경우 : R^2 (1에 가까운 값일수록 좋음, 편차보다 오차가 큰 경우 음수가 나옴)

 

 
 

MAE (Mean Absolute Error)

 


* (정답 - 예측값) + (정답 - 예측값) / 원소의 개수


RMSE (Root Mean Squared Error)

 

 
* 루트(오차 제곱의 합 / 원소의 개수)
 

R^2 (Coefficient of Determination)

 * 1 - (잔차 제곱의 합 / 편차 제곱의 합)

'데이터 분석 > 머신러닝' 카테고리의 다른 글

[ML] 데이터 전처리  (0) 2023.11.17
[ML] 1. ML Basic  (0) 2023.11.16
[ML] 방법론  (0) 2023.11.15
[ML] 과적합(Overfitting)  (0) 2023.11.15
[ML] 기계 학습 프로세스  (0) 2023.11.15