본문 바로가기

Machine Learning

Chapter1 : Regression Analysis(회귀분석)

 

 

안녕하세요, 제가 2월부터 AI LLM 부트캠프를 수강하게 되었는데요,

오늘부터 부트캠프를 수강하면서 주차별로 배운 내용들을 정리해서 올려볼까 합니다.

간단하게 복습할때 돌아보는 용도로 내용 정리만 해 놓아도 도움이 될 것 같더라구요

중요한 개념이나 개인적으로 이해하기 어려운 개념들 위주로 작성할 예정이니

다소 두서없더라도 좋게 봐주시면 감사하겠습니다^^

 

Correlation Coefficient (상관계수)
correlation coefficient란 두 변수 사이의 상관성의 정도를 의미하며
-1부터 1 사이의 값을 지님
절대값이 0.3 이상이면 상관관계가 있다고 평가
*상관관계가 있다고 해서 무조건 인과관계가 있는 것이라고 생각하면 안됨

$$ r=\frac{\sum_{i}^{n}(x_{i}-\overline{x})(y_{i}-\overline{y})}{\sqrt{\sum_{i=1}^{n}(x_{i}-\overline{x})^2}\sqrt{\sum_{i=1}^{n}}(y_{i}-\overline{y})^2} $$

( r > 0 : 양의 상관관계 / r < 0 : 음의 상관관계)
Regression analysis (회귀분석)

-독립변수(X)와 종속변수(Y)의 관계를 모델링하는 방법
- 독립변수의 선형결합으로 종속변수의 값을 예측, 인과관계를 가정

<회귀 모형의 종류>

선형 회귀 모형 - 비선형 회귀 모형

단순 회귀 모형 - 다중 회귀 모형

 

$$\widehat{Y}=\beta_{0}+\beta_{1}X_{1}$$

<단순 선형 회귀>

- 독립변수(X)가 한 개 뿐인 선형회귀 모형

- 데이터와 직선 간 차이가 가장 작은 직선이 좋은 직선(최소제곱법 사용)

- 차이의 합은 작고, 더 균일한 직선이 좋은 직선

 

최소제곱법(Least Squares Estimation)이란?

관측치과 예측선 사이의 거리를 제곱하여 합산한 값을 최소화 하는 방법

-> 가장 잘 맞는 회귀선을 찾을 수 있음

$$\underset{\beta_{0},\beta_{1}}{min}\sum\left\{ Y_{i}-(\beta_{0}+\beta_{1}X_{1})\right\}^2$$

즉, 잔차(Residual)의 제곱의 합을 최소로 하는 방법입니다.

 

잔차(Residual)란?

실제값과 예측값의 차이를 말하며 개별 데이터 포인트에 대해서 계산되고,

모델 평가 및 개선, 이상치 탐지 등에 사용됩니다.

잔차 : $\varepsilon = Y_{i}-\widehat{Y}_{i}$

 

 

결정 계수(Coefficient of determination, $R^2$)

추정한 회귀식의 설명력의 기준으로, 전체 데이터의 변동 중에서 모델이 설명한 변동의 비율입니다.

$$\sum_{i=1}^{N}(y-\overline{y})^2=\sum_{i}^{N}(\widehat{y}-\overline{y})^2+\sum_{i=1}^{N}(y-\widehat{y})^2$$

전체변동 ($SS_{Total}$)= 설명가능한 부분($SS_{Regression}$) + 설명불가능한 부분($SS_{Residual}, SS_{Error}$)

 

$$R^2=\frac{SS_{Regression}}{SS_{Total}}=1-\frac{SS_{Error}}{SS_{Total}}, 0\leq R^2\leq1$$

$R^2=1$ : 모델이 데이터의 모든 변동을 완벽하게 설명함

$R^2=0$ : 모델이 데이터의 변동을 전혀 설명하지 못함. 모델이 제공하는 예측은 단순히 종속 변수의 평균값임

* 회귀 모형은 반드시 평균값 모형보다는 낫다

 

$$\widehat{Y}=\beta_{0}+\beta_{1}X_{1}+\beta_{2}X_{2}+...+\beta_{p}X_{p}$$

<다중 선형 회귀>

- 독립변수(X)가 두 개 이상인 선형 회귀 모형

- 모형 : $\widehat{Y}=\beta_{0}+\beta_{1}X_{1}+...+\beta_{n}X_{n}$

- $\beta_{0}$ = 절편, $\beta_{i}$ = 편회귀계수(partial regression coefficient)

단순선형회귀와 다중선형회귀의 기하학적 이해

 

Gradient Descent(경사하강법)

 

Gradient descent란 손실 함수의 값을 최소화시키는 방향으로 파라미터를 업데이트하는 방법을 말합니다.

함수의 최솟값은 무조건 순간 변화율이 0이기 때문에

손실함수에 대한 미분값이 0이 되는 방향으로 파라미터의 업데이트 방향을 결정합니다.

 

Pseudo code

1. 현재 파라미터에서의 손실함수에 대한 미분값을 구함

2. 미분값의 반대방향으로 파라미터 값을 업데이트

3. 미분값이 0이 될 때까지 1,2번을 epoch만큼 반복

 

 

Stochastic Gradient Descent(확률적 경사 하강법)

 

- 데이터가 굉장히 많을 때, 전체 데이터셋을 활용한 경사 하강법은 계산비용이 매우 큼

- 1개의 데이터(샘플)만으로 업데이트하고, 이를 n번 반복하는 경사하강 기법

 

Mini Batch Stochastic Gradient Descent(미니 배치 확률 경사 하강법)

 

 - 일반 경사하강법과 확률적 경사하강법의 절충안으로, batch 개념을 도입

- 배치 크기를 조절해, 학습 속도와 정확도를 조절

 

그 외 다양한 경사 하강법
  1. Momentum
  2. Nesterov Accelerated Gradient
  3. Adagrad (Adaptive Gradient) : 변수마다 업데이트 크기를 조절하는 방식
  4. RMSProp
  5. Adam()
Sigmoid Function (시그모이드 함수)

출처:위키피디아

$y=\frac{1}{1+e^{-x}}$

- 이진 분류 문제를 위한 비선형 함수로, 로지스틱 회귀 이해에 도움이 됩니다.

- 함수의 출력값이 항상 0이상 1이하이며, 중앙 출력값은 0.5

 

Softmax Function(소프트맥스 함수)

$y_{i}=\frac{e^x_{i}}{\sum_{k=1}^{K}e^x_{k}}$ (k는 클래스 갯수)

- 다중 분류 문제를 위한 비선형 함수

 - 예측값을 확률 형태로 변환시녀주는 역할을 합니다.

 

 

Error(오차)

$MSE = \frac{1}{n}\sum_{t=1}^{n}e_{t}^2$    |   큰 오차에 더 큰 가중치를 부여하여, 모델의 오차를 더 엄격하게 평가함

$RMSE=\sqrt{\frac{1}{n}\sum_{t=1}^{n}e_{t}^2}=\sqrt{MSE}$    |   오류의 크기를 실제 단위로 제공

$MAE=\frac{1}{n}\sum_{t=1}^{n}\left | e_{t}\right |$    |    이상치에 덜 민감하여, 이상치로 인해 발생할 수 있는 왜곡을 방지

$MAPE=\frac{100%}{n}\sum_{t=1}^{n}\left | \frac{e_{t}}{y_{t}}\right |$    |   오차를 백분율로 표현하여, 오류의 상대적 크기를 비교해야할 때 사용

 

Regularization(정규화)

 

모델의 파라미터 수가 많아진다는 의미는 모델의 복잡도가 커진다는 의미와 같습니다.

모델의 복잡도가 커질수록 과적합(over-fitting)발생 가능성이 높아지는데요,

복잡도가 큰 모델을 정의하고, 그 중 중요한 파라미터만 학습하면 안될까요?

필요없는 파라미터 값을 0으로 만들고 싶은데, 이를 위해 정규화가 적용됩니다.

 

 

Ridge Regression(L2 정규화)

$Ridge=min\left\{ \sum_{i=1}^{N}(y_{i}-\beta_{0}-\beta x)^2+\lambda\sum_{k=1}^{p}\beta_{k}^2\right\}$

- 회귀 계수를 추정할 때, 계수 값의 제곱에 제약 조건을 부여

- $\lambda$(Lambda)를 조절하여 모델의 복잡도 조절

($\lambda$ 값이 크면 모델 복잡도, 다중동선성 영향 감소 / $\lambda$ 값이 작으면 일반 선형 회귀 모형과 유사)

- 상관성이 있는 변수들의 적절한 가중치 배분을 통해 일반적으로 정확도 향상

 

 

Lasso Regression(L1 정규화)

$Lasso=min\left\{ \sum_{i=1}^{N}(y_{i}-\beta_{0}-\beta x)^2+\lambda\sum_{k=1}^{p}\left | \beta_{k}\right |\right\}$

- 회귀 계수를 추정할 때, 계수 값의 절대값에 제약조건 부여

- $\lambda$(Lambda)를 조절하여 모델의 복잡도 조절

($\lambda$값이 크면 계수의 값이 줄어들어 어느순간에 0이 되어 변수가 탈락함

-> 변수선택효과 / $\lambda$ 값이 작으면 일반 선형회귀 모형과 유사)

- 유의하지 않은 변수들의 가중치를 0으로 만들어 일반적으로 해석력 증가

*Bias와 Variance는  Trade-off 관계

출처 : metacode 수업자료

 

 

Logistic Regression(로지스틱 회귀)

 

출처:metacode 수업자료

 

로지스틱 회귀는 종속 변수가 범주형 변수일 때 활용할 수 있는 회귀 모형을 말합니다.

범주가 2개일 때 사용 가능하며, 3개 이상은 다항 로지스틱 회귀(Multinomial)을 사용합니다.

 

Odds(오즈)

$$Odds=\frac{p}{1-p}, Odds\in [0,+\infty )$$

- 관심확률(p)와 비관심 확률 (1-p)의 비, 확률을 다른 방식으로 표현한 것입니다.

- Odds가 1이면 관심 확률 = 비 관심확률

 

Logit(Log Odds)

- Odds에 로그를 취한 것

$ln(\frac{p}{1-p})$ : logit function, $logit\in (-\infty,\infty)$

 

Maximum Likelihood Estimation(최대우도 추정법)

- 주어진 데이터가 관찰될 확률을 최대화하는 파라미터를 찾는 방법

- 관찰된 데이터가 가장 잘 설명되는 모델 파라미터를 찾는 것

- Likelihood(우도) : 모델 파라미터가 주어졌을 때 관측된 데이터가 나타날 확률

 

출처:metacode 수업자료