1 분 소요

머신러닝 근-본

회귀를 근간으로 머신러닝이 발전하였음

회귀가 무엇인가

(오늘의 핵심)

회귀(Regression)

데이터의 경향성을 파악해봅시다

  • 회귀의 (비교적) 엄밀한 정의 (Formal Definition)

    “In statistical modeling, regression analysis is a set of statistical processes for estimating the relationships between a dependent variable(y) and one or more independent variables(X).”

    우리가 하려는건 estimating the relationship

    이게 뭐냐 → 회귀 (확률, 가격, 일치율 등 특정 값을 예측하는 것)

    이거냐 저거냐 → 분류 (올라갈 것이다/내려갈 것이다)

  • 회귀의 직관적인 의미

    • 주어진 데이터(X)와 원하는 값(y) 사이의 관계를 찾는 방법
    • 주어진 데이터(X=feature value)를 통해서 원하는 값(y=target value)을 예측하는 방법

Linear Regression은 굉장히 오래되었음에도 아직도 많이 쓰임

→ 해석하기 편함(설명력이 뛰어남)


1) Linear Regression

가장 직관적이고 많이 사용되는 선형 회귀 모델

$f$(model) : $x$들의 합으로 표현될 때 $x$들의 차수가 전부 1임(2차항 이상이 없다) → linear

결국 각 $x$들이 전부 직선임.

학습을 통해 찾을 수 없는 값 or

파라미터들의 파라미터 or

학습을 위해 사전에 세팅하는 값 (학습전략)

→ hyper parameter

MSE(Mean Squared Error) → Loss function

linear regression → 어떤 .. 이 얼마나 영향을 주는지 알 수 있음 (해석이 쉬움)

2) LightGBM Regressor

실제 데이터 분석 대회에서 가장 많이 사용하는 효과적인 회귀 모델

Decision Tree(CART) → Random Forest → Gradient Boosting Model (GBM) → XGBoost → LightGBM → CatBoost

  • kaggle 같은 실전 데이터 분석 대회에서 가장 많이 사용하는 회귀 모델
  • 여러 DecisionTree중에 target value를 잘 찾는 tree들만 찾아서 그 방향으로 트리를 확장해 나갑니다
  • 대용량 데이터에 대해서 적은 메모리로도 빠르게 성능이 좋은 회귀 모델을 만들 수 있습니다
  • hyper-parameter에 영향을 많이 받기 때문에 parameter tuning이 중요합니다
  • 기존에 많이 쓰는 파라미터 세팅을 기억해두고, 필요에 따라 다양한 조합을 테스트해봅니다
  • 우리는 오픈소스 라이브러리에게 맡깁니다 → e.g. optuna
  • 이러한 방식을 “AutoML”이라고 합니다 → Pycaret

회귀 모델 평가

머신러닝의 평가 기준은 다양합니다

  • 주어진 데이터롤 모델을 학습시키는 것은 지정한 성능 평가 지표를 향상시키는 과정입니다
  • 성능 평가 지표의 값은 “예측 성능”을 기준으로 합니다
  • 정량적 기준을 설정하고, 달성할 때까지 모델을 학습시키고 성능을 개선합니다
  • 목표한 성능에 도달한 모델을 실제 서비스에 적용합니다

성능 평가

대표적인 회귀 모델 평가 지표

  1. MSE(Mean Squared Error)
  2. RMSLE(Root Mean Squared Log Error)
    1. yi, yi^의 scale 영향을 안받음
    2. outlier에 robust함(영향을 덜 받음)
  3. MAE(Mean Absolute Error)
  4. R2 Score(Coefficient of Determination)

댓글남기기