Chapter 2: 경진대회의 평가지표

5 minute read

2.1 경진 대회의 종류

경진 대회에는 크게 두 가지 요소가 있는데, 데이터와 평가지표이다. 평가지표는 대회에서 순위를 결정하는 중요한 요소로, 어떠한 평가 기준에 따라 모델의 성능을 파악하느냐에 따라 결과가 천차만별로 달라진다. 데이터는 다음과 같은 문제들로 구분된다.

2.1.1 회귀 문제

회귀문제의 평가 지표는 RMSE, MAE 가 있다.

2.1.2 분류 문제

이진 분류는 데이터가 어떤 속성에 속하는지 예측하는 문제이다. 평가지표로는 F1-score, 로그 손실, AUC 가 있다.

2.1.3 추천 문제

고객의 구매가 기대되는 상품과 반응이 있을 법한 광고를 예측하는 문제이다. 평가 지표로는 MAP@K, mean-F1, macro-F1 가 있다.

2.1.4 그 밖의 문제

객체 탐지(object detection): 이미지에 포함된 물체의 클래스를 구분하는 문제이다. 세분화(segmentation): 이미지에 포함된 물체의 영역을 픽셀 단위로 추정하는 문제이다.

2.2 경진 대회의 데이터셋

경진 대회의 데이터셋은 크게 훈련 데이터셋(train dataset), 테스트 데이터셋(test dataset)으로 구분된다. 그 밖의 데이터로 시계열 데이터, 이미지 분류 문제에 사용되는 이미지넷(ImageNet)이 있다.

2.3 평가지표

2.3.1 회귀의 평가지표

  1. 제곱근평균제곱오차(RMSE)가 주로 사용된다. 공식은 다음과 같다.

● RMSE의 값을 최소화했을 때의 결과가, 오차가 정규분포를 따른다는 전제하에 구할 수 있는 최대가능도방법과 같아지는 등 통계학적으로도 큰 의미를 가지고 있는 평가지표이다.

● 하나의 대푯값으로 예측을 실시한다고 가정했을 때 평가지표RMSE를 최소화하는 예측값이 바로 평균값이다.

● 이상치를 제외한 처리 등을 미리 해 두지 않으면 이상치에 과적합한 모델을 만들 가능성이 있다.

  1. RMSLE(Root Mean Square Logarithmic Error): 실제값과 예측값에 로그를 각각 취해 그 차의 제곱평균제곱근으로 계산되는 지표이다. 공식은 다음과 같다.

● 예측할 대상인 목적변수를 정한다. 이 변수의 값에 로그를 취한 값을 새로운 목적변수로 삼는다. 그 후 이에 대한 RMSE를 최소화하면 RMSLE가 최소화된다.

● 목적변수의 분포가 한쪽으로 치우치면 큰 값의 영향력이 일반적인 RMSE보다 강해지기 때문에 이를 방지하려고 사용한다.

● 이 지표는 비율에 주목한다.

  1. MAE (Mean Absolute Error, 평균절대오차): 실젯값과 예측값의 차에 대한 절댓값의 평균으로 계산되는 지표이다.

  • MAE는 이상치의 영향을 상대적으로 줄여주는 평가에 적절한 함수이다.

  • 하나의 대표값으로 예측할 때 MAE를 최소화하는 예측값은 중앙값이다.

2.3.3 이진 분류의 평가지표(1)

  1. 이진 분류의 평가지표는 다음과 같이 2가지로 나눌 수 있다.
  • 각 행 데이터가 양성(positive)인지 음성(negative)인지를 예측값으로 삼아 평가하는 평가지표

  • 각 행 데이터가 양성일 확률을 예측값으로 삼아 평가하는 평가지표

  1. 모델의 성능을 파악할 때 주로 사용되는 지표는 혼동행렬이다. 혼동행렬은 다음과 같이 네 개의 영역으로 구분하여 표현한다.
  • TP(True Positive, 참 양성): 예측이 정확하다(True), 예측값 양성(Positive), 실제값 양성(Positive)

  • TN(True Negative, 참 음성): 예측이 정확하다.(True), 예측값 음성(Negative), 실제값 음성(Negative)

  • FP(False Positive,거짓 양성): 예측이 틀렸다.(False), 예측값 양성(Positive), 실제값 음성(Negative)

  • FN(False Negative, 거짓 음성): 예측이 틀렸다.(False), 예측값 음성(Negative),실젯값 양성(Positive)

  1. 정확도와 오류율
  • 정확도: 예측이 정확한 비율을 나타낸다.

  • 오류율: 예측이 잘못된 비율을 나타낸다

  1. 정밀도와 재현율
  • 정밀도: 양성으로 예측한 값 중에 실젯값도 양성일 비율

  • 재현율: 실젯값이 양성인 것 중에 예측값이 양성일 비율

  1. 정확도, 오류율, 정밀도, 재현율은 서로 밀접하게 연관되어 있다. 데이터에 따라, 어느 평가지표를 우선시하고 싶으냐에 따라 사용되는 평가지표는 달라진다. 잘못된 예측(오답)을 줄이고 싶다면 정밀도를 중시하고, 실제 양성인 데이터를 양성으로 올바르게 예측하고 싶다면 재현율을 중시하면 된다.

  2. F1-score와 FB-score

  • F1-score: 앞서 설명한 정밀도와 재현율의 조화 평균으로 계산되는 지표이다.

  • FB-score: F1-score에서 구한 정밀도와 재현율의 균형에서 계수 B(베타)에 따라 재현율에 가중치를 주어 조정한 지표이다.

  1. 매튜상관계수(MCC): 사용 빈도는 높지 않지만 불균형한 데이터의 모델 성능을 적절히 평가하기 쉬운 지표이다. 이 지표는 -1부터 +1 사이 범위의 값을 가지는데, +1일 때는 완벽한 예측, 0일때는 랜덤한 예측, -1일때는 완전 반대 예측을 한 것이다.

2.3.4 이진 분류의 평가지표(2)

  1. 로그 손실: 양성인 확률을 예측할 때 사용되며, 분류 문제의 대표적인 평가지표이며 교차 엔트로피(cross-entrophy) 라고도 불린다. 로그 손실은 낮을수록 좋은 지표이다.

  2. AUC: AUC(Area under ROC curve)는 ROC곡선의 하부 면적이다. 이 때, ROC곡선은 예측값을 양성으로 판단하는 임계값을 1에서 0으로 움직일 때의 거짓 양성 비율(False positive rate)(FPR)과 참 양성 비율(True positive rate)(TPR)을 (x,y)축으로 나타내는 그래프이다.

  • 거짓 양성 비율(FPR): 실제 거짓인 행 데이터를 양성으로 잘못 예측한 비율(혼동행렬 요소로 FP/(FP+TN))

  • 참 양성 비율(TPR): 실제 참인 행 데이터를 양성으로 올바르게 예측한 비율(혼동행렬 요소로 TP/(TP+FN))

  • 모든 행 데이터를 정확하게 예측했을 경우 AUC는 1이다.

  • 예측값이 반대일 경우(1.0-본래 예측 값일 경우) AUC는 1.0-원래의 AUC가 된다.

  • AUC는 양성과 음성을 각각 랜덤 선택했을 때 양성 예측 값이 음성 예측값보다 클 확률이라고 정의할 수 있다.

  • AUC의 값에 영향을 미치는 요소는 각 행 데이터 예측 값의 대소 관계 뿐이다.

  • 양성이 매우 적은 불균형 데이터의 경우, 양성인 예측 값을 얼마나 높은 확률로 예측할 수 있을지가 AUC에 크게 영향을 미친다.

  • 지니 계수는 Gini=2AUC-1로 계산하며 AUC와 선형 관계이다. 따라서 평가지표가 지니 계수라면 평가지표가 AUC라고 할 수 있다.

2.3.5 다중 클래스 분류의 평가지표

다중 클래스 분류의 평가지표는 이진 분류의 평가지표를 다중 클래스 분류용으로 확장한 것으로 볼 수 있다.

  1. Multi-class accuracy: 이진 분류의 정확도를 다중 클래스로 확장한 것으로, 올바르게 예측된 비율을 나타내는 지표이다.

  2. Multi-class logloss(다중 클래스 로그 손실): 로그 손실을 다중 클래스 분류로 확장한 것이다.

  3. mean-F1, macro-F1, micro-F1: F1-score 을 여러 개의 클래스로 확장한 것으로, 다중 레이블 분류에 사용되는 평가지표이다.

  • mean-F1: 행 데이터 단위로 F1-score를 계산하고 그 평균값이 평가지표 점수가 된다.

  • macro-F1: 각 클래스별 F1-score를 계산하고 이들의 평균값을 평가지표 점수로 삼는다.

  • micro-F1: 행 데이터 x 클래스의 각 쌍에 대해서 TP, TN, FP, FN 중 어디에 해당하는지를 카운트한다. 이러한 혼동행렬에 근거하여 F 점수를 계산한다.

  1. QWK(quadratic weighted kappa): 다중 클래스 분류에서 클래스 간에 순서 관계가 있을 때 사용한다. 이 때, 완전한 예측일 때는 1, 랜덤 예측일 때는 0, 랜덤보다 나쁜 예측일 때는 마이너스 값이 된다.

2.3.6 추천의 평가지표

  1. MAP@K(Mean Average Precision at (@) K): 각 행 데이터가 하나 또는 여러 클래스에 속할 때, 포함될 가능성이 높은 것으로 예측한 순서대로 K개의 클래스를 예측값으로 삼는다. 마찬가지로 완전한 예측을 실시하면 1, 완전히 잘못된 예측을 실시하면 0 이 된다.

2.4 목적함수

  • 모델 학습 시 최적화되는 함수이다.

  • 평가지표와 모델 학습에 사용되는 목적함수가 일치하면 이해하기가 쉽고, 그대로 평가지표에 대해 최적화된 예측값을 출력하는 모델이 되었다고 말할 수 있다.

  • 모델이나 라이브러리에서 제공하지 않는 평가지표와 목적함수를 사용자가 정의해 사용할 수 있다. 이를 사용자 정의 목적함수라고 한다.

2.5 평가지표의 최적화

  1. 평가지표에 최적화된 예측값은 다음과 같은 방법으로 출력할 수 있다.

● 간단하고 올바른 모델링 실행

● 학습 데이터를 전처리하고 다른 평가지표를 최적화

● 다른 평가지표를 최적화하고 후처리

● 사용자 정의 목적함수를 사용

● 다른 평가지표를 최적화하고 학습 조기 종료

  1. 양성(1) 이나 음성(0) 레이블을 제출하는 평가지표에서는 두 레이블 사이를 결정하는 최적의 임곗값을 결정하는 것이 중요하다. 최적의 임곗값은 다음과 같이 구할 수 있다.

● 모든 임곗값을 알아내는 방법: 0.01 부터 0.99 까지 0.01씩 증가시키며 모든 임곗값을 조사한다.

● 최적화 알고리즘을 이용하는 방법: scipy.optimize 모듈을 이용하여 임곗값을 인수로 점수를 반환하는 함수를 최적화한다.

● 이 때, OOF(out of fold)로 최적화를 수행하면 임곗값 변화에 차이가 있거나 점수에 달라지는 현상을 확인할 수 있고, 복잡한 최적화를 수행할 때 과도한 평가 점수가 되는 것을 피할 수 있다.

  1. 분류 문제에서 평가지표를 최적화하려면 타당한 예측 확률이 필요하나 왜곡되는 경우가 생길 수 있다. 대표적으로 데이터가 충분하지 않은 경우나 로그 손실을 목적함수로 사용하지 않는 모델일 경우 이러한 현상이 나타난다. 예측 확률을 조정하기 위해서 다음과 같은 방법이 사용된다.

● 예측값을 n 제곱

● 0이나 1에 극단으로 가까운 확률을 제외

● 스태킹

● CalibratedClassifierCV

2.6 데이터 정보 누출

데이터 정보 누출을 다음과 같은 2가지 의미가 있다.

● 경진 대회 설계의 문제: 대회에서 사용 금지된 정보가 의도치 않게 새어나가 경진 대회에 사용되는 상황을 일컫는다.

● 모델 구축의 기술적인 문제: 검증 구조를 잘못 잡아 부당하게 높은 점수가 나온다.

위의 경우와 같이 데이터 정보가 유출되는 경우 캐글의 Discussion 페이지에 해당 정보를 공유하여 다른 참여자에게 알릴 수 있다.

Comments