본문 바로가기
AI/머신러닝

[AI 부트캠프] DAY 46 - 머신러닝 1

by HOHHOH 2023. 9. 20.

[오늘의 일지]

머신러닝 녹화 강의 - 머신러닝을 위한 개념 수업 (Regression)

[상세 내용]

머신러닝을 위한 개념

Regression

- 회귀(Regression)는 통계 및 기계 학습에서 사용되는 개념으로, 입력 변수(또는 특성)와 연속적인 출력 변수(타깃 또는 레이블) 간의 관계를 모델링하는 기법을 가리킵니다. 이 모델링은 주로 다음과 같은 목적을 가지고 이루어집니다.

  • 예측: 주어진 입력 변수에 대해 연속적인 출력 변수의 값을 예측합니다. 예를 들어, 주택의 특성(크기, 위치, 침실 수 등)을 사용하여 주택 가격을 예측하는 것이 회귀 분석의 한 예입니다.
  • 관계 파악: 입력 변수와 출력 변수 사이의 관계를 이해하고 설명합니다. 회귀 분석은 어떤 입력 변수가 출력 변수에 어떤 영향을 미치는지를 밝히는 데 사용될 수 있습니다.

회귀 분석은 다양한 알고리즘과 접근 방식을 사용하여 이루어질 수 있으며, 주로 선형 회귀(Linear Regression) 및 비선형 회귀(Non-linear Regression)로 나눌 수 있습니다. 선형 회귀는 입력 변수와 출력 변수 간의 선형 관계를 모델링하려는 경우에 사용되며, 비선형 회귀는 선형 관계가 아닌 경우에 사용됩니다. 회귀 분석의 목적은 주어진 데이터를 기반으로 모델을 훈련시키고, 이 모델을 사용하여 새로운 입력 변수에 대한 출력 변수 값을 예측하는 것입니다. 이를 위해 주로 손실 함수를 최소화하도록 모델 파라미터를 조정하는 방법이 사용되며, 이러한 과정은 데이터 분석, 예측, 머신러닝, 통계 등 다양한 분야에서 활용됩니다.

 

Loss Function

- 로스 함수(Loss Function)는 기계 학습과 딥러닝에서 모델의 예측과 실제 타깃 사이의 차이를 측정하고, 이 차이를 최소화하기 위해 모델을 훈련하는 데 사용되는 중요한 개념입니다. 로스 함수의 주요 목적은 모델의 예측이 실제 타깃과 얼마나 일치하는지를 정량적으로 평가하고, 모델을 훈련시킬 때 어떠한 방향으로 매개변수를 조정해야 하는지를 결정하는 것입니다. 로스 함수를 최소화하는 것은 모델이 더 나은 예측을 하도록 만드는 것과 관련이 있습니다. 

 

Regression를 위한 Loss Function

- MAE, MAPE, MSE 등이 있는데 자세한 내용은 아래에서 정리하겠습니다.

 

Error = Variance + Bias

- Error = Variance + Bias는 기계 학습 및 통계 분야에서 사용되는 개념으로, 모델의 성능 평가와 개선을 위해 중요한 관점 중 하나를 나타냅니다. 이 개념은 모델의 예측 오차(Error)를 두 가지 주요 구성 요소로 분해하는 데 사용됩니다.  "Error = Variance + Bias"는 모델의 오차(Error)를 모델의 분산(Variance)과 편향(Bias)의 합으로 분해하여 모델의 성능을 설명하는 데 사용됩니다. 이를 통해 모델의 복잡성을 조절하고 최적의 성능을 달성하기 위해 모델을 튜닝하고 평가하는 데 도움을 줍니다. 이를 통해 모델의 일반화 성능을 개선하고 새로운 데이터에서 더 좋은 예측을 할 수 있도록 모델을 조정하는 방법을 결정할 수 있습니다.

 

Variance (분산)

-  Variance는 추정 값(Algorithm Output)의 평균과 추정 값 (Algorithm Output) 들 간의 차이를 의미하며 흩어진 정도를 의미합니다. 그러므로 분산은 모델의 학습 데이터에 대한 민감성을 나타냅니다. 높은 분산 모델은 학습 데이터에 너무 맞추려고 하며, 작은 변동에도 민감하게 반응할 수 있습니다.

과적합(Overfitting)이 발생할 가능성이 높은 모델은 높은 분산을 가집니다. 이는 학습 데이터에서는 성능이 좋지만 새로운 데이터에 대한 일반화 성능이 낮을 수 있음을 의미합니다.

 

Bias (편향)

- Bias는 추정 값 (Algorithm Output)의 평균과 참 값(True)들 간의 차이이므로 이 값들 사이의 거리라고 할 수도 있습니다. 또한 편향은 모델이 실제로 관찰된 데이터를 잘 나타내지 못할 때 발생하는 오차를 나타냅니다. 편향이 높은 모델은 학습 데이터를 너무 간단하게 모델링하려고 하며, 실제 패턴을 놓치는 경향이 있습니다.

과소적합(Underfitting)이 발생할 가능성이 높은 모델은 높은 편향을 가집니다. 이는 학습 데이터에서도 성능이 낮고, 새로운 데이터에서도 성능이 낮을 수 있음을 의미합니다.

 

 

Error = Noise(Data) + Variance + Bias

- 노이즈(Noise)란 실제 데이터와 측정된 데이터 또는 모델의 예측 사이의 무작위 또는 불규칙한 변동을 나타냅니다. 이것은 데이터 수집 및 측정 과정에서 발생하는 무작위 한 오류, 환경적 요소, 시스템 노이즈 등의 영향을 의미합니다. 노이즈는 모델링 또는 예측의 정확도를 저하시키는 요소 중 하나로 고려됩니다. 노이즈가 있는 데이터에서는 실제 데이터의 관측치가 예측 값 또는 모델의 출력과 완벽하게 일치하지 않습니다. 이는 데이터 분석, 통계 분석 및 기계 학습에서 고려해야 하는 중요한 측면 중 하나입니다.

 

Simple Linear Regression

- Simple Linear Regression(단순 선형 회귀)은 기계 학습 및 통계 분석에서 사용되는 가장 기본적인 회귀 분석 기법 중 하나입니다. 이 기법은 하나의 입력 변수(독립 변수)와 하나의 연속적인 출력 변수(종속 변수) 간의 관계를 모델링하는 데 사용됩니다. 단순 선형 회귀에서는 두 변수 간의 선형 관계를 가정합니다. 단순 선형 회귀의 목표는 주어진 데이터를 기반으로 최적의 직선(선형 함수)을 찾는 것이며, 이 직선을 통해 입력 변수에 대한 출력 변수의 예측을 수행할 수 있습니다.

출처:https://www.alpharithms.com/simple-linear-regression-modeling-502111/

 

Multiple Linear Regression

- 다중 선형 회귀(Multiple Linear Regression)는 여러 개의 입력 변수(독립 변수)와 하나의 연속적인 출력 변수(종속 변수) 간의 관계를 모델링하는 회귀 분석 기법입니다. 이 기법은 단순 선형 회귀와 비교하여 더 복잡한 데이터 관계를 모델링할 수 있습니다.

 

Closed Form

 

베타(β) 추정법

- 통계에서 베타(β) 추정은 주로 선형 회귀 분석에서 회귀 계수(β 값)를 추정하는 과정을 가리킵니다. 회귀 분석에서 베타는 독립 변수(입력 변수)와 종속 변수(출력 변수) 간의 관계를 설명하는 데 사용됩니다. 이러한 추정은 다음과 같은 방법을 통해 이루어집니다:

 

베타(β) 검증 : p-value

- 가설 검정:

  • 통계 분석에서, 우리는 주로 두 가지 가설을 검정합니다: 귀무가설(H0)과 대립 가설(H1)입니다.
  • 귀무가설(H0)은 일반적으로 "효과가 없다" 또는 "두 그룹 사이에 차이가 없다"와 같은 가설을 나타냅니다.
  • 대립 가설(H1)은 귀무가설과 반대되는 가설로, "효과가 있다" 또는 "두 그룹 사이에 차이가 있다"와 같은 가설을 나타냅니다.

- 베타(β) 검증:

  • 베타(β) 검증은 가설 검정에서 귀무가설(H0)이 거짓일 때, 즉 효과가 있는 경우 이를 감지하는 데 사용되는 통계적 방법 중 하나입니다.
  • 베타(β) 검증은 보통 검정력(Statistical Power)이라고도 불리며, 이는 대립 가설(H1)이 참일 때 귀무가설을 기각할 확률을 나타냅니다.
  • 기본적으로 Scale이 다른 경우가 많기 때문에 

- p-value:

  • p-value는 귀무가설(H0)의 유의성을 나타내는 지표입니다.
  • p-value는 귀무가설이 참일 때 표본 데이터와 같이 극단적인 결과를 얻을 확률을 나타냅니다.
  • 일반적으로 p-value가 특정 유의 수준(예: 0.05) 보다 작을 경우 귀무가설을 기각하고 대립 가설을 받아들이게 됩니다. 즉, p-value가 작을수록 귀무가설이 거짓일 가능성이 높습니다.

 

Regression Model 평가 및 지표 해석

- 정량적인 방법과 정성적인 방법이 존재한다.

 

정량적인 방법

R-squared

- 모델 평가 및 지표 중 하나인 (R-squared 또는 결정 계수)는 회귀 모델의 성능을 측정하고 모델이 종속 변수의 변동성을 얼마나 잘 설명하는지를 나타내는 중요한 통계적 지표입니다. 값은 0에서 1 사이의 범위를 가지며, 다음과 같은 의미를 갖습니다.

  • : 모델이 종속 변수의 변동성을 전혀 설명하지 못하는 경우.
  • : 모델이 종속 변수의 모든 변동성을 완벽하게 설명하는 경우.

값은 보통 모델의 적합도를 평가하는 데 사용되며, 다음과 같은 방법으로 해석됩니다.

값 확인

  • 값은 0과 1 사이의 값을 가집니다. 모델의 적합도를 나타내는 지표이므로, 가 1에 가까울수록 모델이 데이터를 잘 설명한다고 판단됩니다.

- 적합한 범위 설정

  • 어떤 값이 "적합하다"라고 판단되는지는 분야나 문제에 따라 다릅니다. 일반적으로, 값이 0.7 또는 0.8 이상이면 모델이 데이터를 잘 설명한다고 평가될 수 있습니다. 그러나 이 기준은 문제의 복잡성과 데이터의 특성에 따라 달라질 수 있습니다.
  • 현업에서 R^2 가 0.3 이상인 경우를 찾기 힘듦 ( R^2의 경우 0.25 정도도 유 의미하다고 판단함)

값의 한계 이해

  • 값이 높다고 해서 모델이 항상 좋은 모델은 아닙니다. 는 종속 변수와 독립 변수 간의 선형 관계만을 고려하며, 모델이 비선형적인 패턴을 잡아내지 못할 수 있습니다.
  • 또한, 는 독립 변수가 종속 변수를 완벽하게 설명하지 못한다면 1에 가까운 값을 가질 수 없습니다.

 

정성적인 방법

MAE

- Mean Absolute Error (MAE)는 회귀 모델의 성능을 평가하기 위한 지표 중 하나로, 예측값과 실제 관측값 간의 절대 오차의 평균을 나타냅니다. MAE가 작을수록 모델의 예측이 관측값과 가깝다고 판단됩니다. MAE는 다음과 같이 정의됩니다.

  • 는 평균 절대 오차를 나타냅니다.
  • 은 샘플의 개수를 나타냅니다.
  • 는 실제 관측값(실제 결과)입니다.
  • 는 모델의 예측값(모델이 예측한 결과)입니다.

 

MAPE

- Mean Absolute Percentage Error (MAPE)는 예측 모델의 성능을 평가하기 위한 지표 중 하나로, 예측값과 실제 관측값 간의 백분율 오차의 평균을 나타냅니다. MAPE는 주로 예측 모델이 얼마나 정확하게 예측하는지를 나타내는 지표로 사용됩니다. MAPE는 다음과 같이 정의됩니다:

  • 는 평균 절대 백분율 오차를 나타냅니다.
  • 은 샘플의 개수를 나타냅니다.
  • 는 실제 관측값(실제 결과)입니다.
  • 는 모델의 예측값(모델이 예측한 결과)입니다.

 

MSE

- (Root) Mean Squared Error ((R)MSE)는 회귀 모델의 성능을 평가하는 데 사용되는 표준적인 평가 지표 중 하나입니다. (R)MSE는 모델의 예측값과 실제 관측값 간의 평균 제곱 오차를 나타내며, 오차의 제곱을 평균하여 나타냅니다. RMSE는 MSE의 제곱근을 취한 값으로, 원래 오차의 단위와 동일한 단위를 가지며 오차의 크기를 더 직관적으로 이해할 수 있습니다. MSE는 다음과 같이 정의됩니다.

  • 는 평균 제곱 오차를 나타냅니다.
  • 은 샘플의 개수를 나타냅니다.
  • 는 실제 관측값(실제 결과)입니다.
  • 는 모델의 예측값(모델이 예측한 결과)입니다.

 

Regression Model 평가 및 해석 순서 (Model Loss Function은 평가지표로 하는 것이 좋음)

  • Model 성능 Check - 정성, 정량
  • P-value를 확인하여 의미 있는 변수 추출
  • βi 활용, X가 1 단위 증가 당 Y에 얼마만큼 영향을 미치는지 판단

 

전통적인 Feature Selection

- Feature Selection은 머신 러닝 및 데이터 분석에서 중요한 단계 중 하나로, 모델 학습에 사용될 특성(또는 변수)을 선택하는 프로세스를 의미합니다.

- Supervised Variable Selection (Stepwise Selection)

  • Forward Selection과 Backward Elimination을 번갈아 가며 수행함 
  • Forward Selection과 Backward Elimination 보다 시간은 오래 걸릴 수 있지만, 최적 Variable Subset을 찾을 가능성이 높음

전통적인 Feature Selection 방법의 단점

- 전통적인 Feature Selection 방법은 Variables가 커짐에 따라 시간이 매우 오래 걸리게 됨

- Forward Selection, Backward Elimination, Stepwise Selection의 경우 최적 Variables Subset을 찾기 어려움

- 즉, 가성비가 떨어짐 (Computing Power, Time, Result....)

 

단점을 보완한 Feature Selection 종류

- Filter Method : X’s와 Y의 Correlation, Chi-Square Test, Anova, Variance Inflation Factor 등 간단한 기법으로 필터링 수행

- Wrapper Method : Forward Selection, Backward Elimination, Stepwise Selection을 활용한 Feature selection

- Embedded Method : Regularization Approach를 활용하여 Model이 스스로 Feature Selection을 진행하는 방법

 

Penalty Term

- Penalty Term은 기계 학습과 통계 분야에서 모델의 동작 특성을 제어하거나 제약을 가하기 위해 모델의 손실 함수 또는 비용 함수에 추가되는 추가 항을 나타냅니다. 페널티 텀은 주로 정규화 기법(regularization)에서 사용되며, 오버피팅(Overfitting)을 방지하고 모델의 복잡성을 제어하는 데 활용됩니다.

주로 사용되는 페널티 텀에는 Ridge와 Lasso가 있습니다.

 

Ridge Regularization(L2 페널티)

- β^2에 Penalty Term을 부여하는 방식

- Penalty Term을 추가한 Regularized Model의 경우 Feature 간 Scaling이 필수

- β^2에 Penalty Term을 부여하는 방식 = L2−𝑛𝑜𝑟𝑚 = L2 Regularization

- 제곱 오차를 최소화하면서 회귀 계수 β^2 을 제한함

- MSE Contour: 중심에서 멀어질수록 Error 증가 → Train Error를 조금 증가시키는 과정 (Overfitting 방지)

- Ridge Estimator와 MSE Contour가 만나는 점이 제약 조건을 만족하며 Error가 최소가 됨

- Ridge는 미분이 가능하기 때문에 Closed Form solution을 구할 수 있음

- 빠르게 해를 찾을 수 있다는 장점이 있음

- Ridge는 해 공간에서도 볼 수 있듯 Feature Selection은 되지 않음

- 하지만 불필요한 Feature는 충분히 0에 거의 수렴하게 만들어 버림

- Ridge Regression은 Feature의 크기가 결과에 큰 영향을 미치기 때문에 Scaling이 중요함

- 다중공선성(Multicollinearity) 방지에 가장 많이 쓰임

 

Lasso Regularization(L1 페널티)

- Least Absolute Shrinkage and Selection Operator

- |β| = L1−𝑛𝑜𝑟𝑚 = L1 Regularization에 Penalty Term을 부여하는 방식

- MSE Contour: 중심에서 멀어질수록 Error 증가 → Train Error를 조금 증가시키는 과정 (Overfitting 방지)

- Ridge Estimator와 MSE Contour가 만나는 점이 제약 조건을 만족하며 Error가 최소가 됨

- Ridge Regression과 달리 Lasso Formulation은 Closed Form Solution을 구하는 것이 불가능

- 절대 값이기 때문에 미분 불가능 - Numerical Optimization Methods 필요

 

출처:https://scientistcafe.com/ids/variable-selection-property-of-the-lasso.html

 

출처:https://www.r-bloggers.com/2020/06/understanding-lasso-and-ridge-regression-2/

 

Gradient Descent(경사 하강법)

- 비볼록(non-convex) 문제의 경우, 경사 하강법을 사용하여 손실 함수를 최소화하는 해(loss이 가장 낮은 지점)를 찾습니다.

- 대부분의 non-linear regression 문제는 closed form solution이 존재하지 않음

- Closed form solution이 존재해도 수많은 parameter가 있을 때 Gradient Descent로 해결하는 것이 효율

- 경사 하강법은 최적해를 보장하지 않지만, 복잡한 문제에서 가장 유용한 방법 중 하나입니다.

- 경사 하강법은 국소 최솟값(local minima)에 빠질 수 있으며, 때로는 전역 최솟값(global minimum)이 있는지 알 수 없습니다.

- 국소 최솟값에서 벗어나기 위해 모멘텀(Momentum)과 같은 변수를 사용합니다. 모멘텀은 일정 정도의 "관성"을 부여하여 국소 최솟값을 벗어날 수 있도록 돕습니다.

출처:https://wikidocs.net/21670
출처:http://www.aistudy.com/math/gradient_descent.htm

 

ElasticNet

- Ridge와 LASSO의 장단점은 분명하게 있음

- ElasticNet은 Ridge의 L1−𝑛𝑜𝑟𝑚 과 LASSO의 L2−𝑛𝑜𝑟𝑚 을 섞어 놓았음 (두 개의 장점 사용 가능)

- λ1 : LASSO Penalty Term (Feature Selection)

- λ2 : Ridge Penalty Term (다중공선성 방지)

- ElasticNet은 Correlation이 강한 변수를 동시에 선택/배제하는 특정을 가지고 있음

- 일정 범위 내로 λ1, λ2 를 조정하여, 가장 좋은 예측 결과를 보이는 λ1, λ2를 선정함

- Ridge, LASSO 보다 더 많은 실험이 필요하다는 단점이 존재함

 

출처:https://www.oreilly.com/library/view/machine-learning-with/9781787121515/5c5ec380-d139-49a5-99b1-3ce32ae5bd6f.xhtml

 

[마무리]

 오늘은 드디어 기대하던 머신러닝 수업을 시작하는 날이었습니다. 근데 이론적인 관점에서 생각보다 더 통계학적인 이야기를 담고 있는 거 같습니다. 일단 생소하고 어려워도 배경지식을 알지 못하면 나중에 분석을 해도 해석을 할 수 없을 것이기 때문에 이론적인 부분에 익숙해지는 과정이라고 생각하고 열심히 수업을 들어야 될 거 같습니다. 

반응형

댓글