Kaggle 강의 Week3 - Metrics optimization


Coursera 강의인 How to Win a Data Science Competition: Learn from Top Kaggler Week3 Metrics optimization를 듣고 정리한 내용입니다


Metrics optimization


  • 왜 Metrics은 많은가?
  • Competition에서 왜 Metrics에 관심을 가져야 하는가?
  • Loss vs metric
  • 가장 중요한 metrics
    • 분류와 회귀 Task
    • Regression
      • MSE, RMSE, R-squared
      • MAE
      • (R)MSPE, MAPE
      • (R)MSLE
    • Classification
      • Accuracy, Logloss, AUC
      • Cohoen’s (Quadratic weighted) Kappa
    • metric의 최적화 베이스라인
  • metrics의 최적화 테크닉

Metrics

  • 각각의 대회가 metric이 다른 이유는 대회를 주최한 회사가 그들의 특정 문제에 가장 적절한 것을 결정하기 때문
    • 또한 문제마다 다른 metrics
  • Online shop은 effectiveness를 최대화하는 것이 목표
    • Effectiveness를 정의
    • 웹사이트에 방문한 횟수, 주문수로 나눌 수 있음
    • 이런 것을 주최자들이 결정
  • 더 나은 점수를 받기 위해 metric을 잘 이해하는 것은 필수

Regression metrics review 1

  • MSE
    • Mean Sqaured Error
    • \[\frac{1}{N}\sum_{i=1}^{N}(y_{i}-\hat{y_{i}})^{2}\]
    • MSE는 우리의 예측값의 평균 squared error를 측정
    • Target value의 mean
    • 참고 자료
  • RMSE
    • Root mean square error
    • \[\sqrt{\frac{1}{N}\sum_{i=1}^{N}(y_{i}-\hat{y_{i}})^{2}}\]
  • MAE
    • Mean Absolute Error
    • \[\frac{1}{N}\sum_{i=1}^{N}\left|y_{i}-\hat{y_{i}}\right|\]
    • MAE는 finance에서 널리 사용됨
    • Target value의 median
    • Outliear의 영향을 받지 않음(outliear에게 robust)
  • MAE vs MSE
    • MAE
      • 아웃라이어가 있는 경우
      • 아웃라이어라고 확신하는 경우
    • MSE
      • 우리가 신경써야 하는 관측하지 못한 값이라고 생각할 경우
  • MSE, RMSE, R-squared
    • 최적화 관점에서 같음
  • MAE
    • 아웃라이어에 robust

Regression metrics review 2

  • Shop에서 매출을 예측하는 문제
    • Shop1 : predicted 9, sold 10, MSE = 1
    • Shop2 : predicted 999, sold 1000, MSE = 1
    • Shop1이 더 cirtical한데, MAE와 MSE는 동일함
    • 그래프도 모든 Target value마다 동일(곡선이거나 V이거나)
    • 위 문제점을 해결하기 위해 나온 것이 MSPE, MAPE
  • relative error의 합에, 100%/N을 곱함
  • MSE와 MAE의 weight 버전이라고 생각할 수도 있음
  • MSPE
  • MAPE
  • RMSLE
    • Root Mean Squared Logarithmic Error
    • MSPE와 MAPE와 동일한 상황에 사용 (relative error)
    • prediction value와 target value가 큰 숫자일 때, 큰 차이를 벌점으로 내고싶지 않을 때 사용
    • 과소평가된 항목에 패널티
  • Conclusion
    • (R)MSPE
      • Weighted version of MSE
    • MAPE
      • Weighted version of MAE
    • (R)MSLE
      • MSE in log space

Classification metrics review

  • Accuracy
    • 분류기의 성능을 측정할 때 가장 간단히 사용할 수 있음
    • Best constant : predict the most frequent class
    • 데이터셋의 라벨 A가 10%, B가 90%일 때 B로만 예측한 분류기는 90%의 accuracy를 가지는데, 이 분류기는 좋은 것일까?
    • optimize하기 어려움
  • Logarithmic loss(logloss)
    • logloss가 잘못된 답변에 대해 더 강하게 패널티 부여
  • Area Under Curve (AUC ROC)
    • Binary task에서만 사용
    • 특정 threshold를 설정
    • 예측의 순서에 의존적이며 절대값엔 의존적이지 않음
    • 설명 가능
      • AUC
      • Pairs ordering
        • AUC = # correctly ordered paris / total number of paris = 1 - # incorrectly ordered pairs / total number of pairs
  • Cohen’s Kappa motivation
    • Baseline accuracy는 라벨의 개수가 제일 많은 것으로 설정
    • Accuracy = 0.9(baseline) -> my_score = 0
    • Accuracy = 1 -> my_score = 1
    • Mse에서 r squared의 역할과 유사
    • 일종의 normalization
    • kappa는 baseline을 \(p_{e}\)로 지정(랜덤하게 계산)
    • Weighted error

General approaches for metrics optimization

  • Loss and metric
    • 동의어 : loss, cost, objective
  • Target metrics : 우리가 최적화 하고 싶은 것
    • 그러나 이걸 효율적으로 올리는 방법을 바로 알긴 어려움
  • Optimization loss : 모델을 최적화 하는 것
    • Target metrics을 직접 최적화하기 어려울 때 사용
  • Target metric 최적화 접근 방법
    • 일단 올바른 모델을 실행
      • MSE, Logloss
    • Train을 전처리하고 다른 metric을 최적화
      • MSPE, MAPE, RMSLE
    • 후처리로 예측된 metric 최적화
      • Accuracy, Kappa
    • Custom loss function
      • 할 수 있으면 언제나!
    • Early stopping을 사용

Regression metrics optimization

  • RMSE, MSE, R-squared
    • 대부분의 라이브러리에 loss function으로 구현되어 있음
    • L2 loss
  • MAE
    • L1 loss, Median regression
  • MSPE and MAPE
    • 둘 다 Weighted version이기 때문에 쉽게 구현 가능
  • RMSLE

Classification metrics optimization 1

  • Logloss
    • Probability calibration(눈금)
      • Platt scaling
        • 예측값에 Logistic Regression을 fit(마치 stacking처럼)
      • Isotonic regression
        • 예측값에 Isotonic Regression을 fit(마치 stacking처럼)
      • Stacking
        • 예측값에 XGBoost나 neuralnet을 fit
  • Accuracy
    • 이걸 직접적으로 optimize하는 쉬운 방법은 없음
    • 다른 metric을 optimize

Classification metrics optimization 2

  • AUC
    • Pointwise loss
      • single object에 대한 loss
    • Pairwise loss
      • pairwise loss
  • Quadratic weighted Kappa
    • Optimize MSE and find right thresholds
      • Simple!
    • Custom smooth loss for GBDT or neural nets
      • Harder
    • 구현 코드

Reference


카일스쿨 유튜브 채널을 만들었습니다. 데이터 분석, 커리어에 대한 내용을 공유드릴 예정입니다.

PM을 위한 데이터 리터러시 강의를 만들었습니다. 문제 정의, 지표, 실험 설계, 문화 만들기, 로그 설계, 회고 등을 담은 강의입니다

이 글이 도움이 되셨거나 의견이 있으시면 댓글 남겨주셔요.

Buy me a coffeeBuy me a coffee





© 2017. by Seongyun Byeon

Powered by zzsza