단위 7 / 11

모델 평가: 지표, 교차 검증 및 극한 학습

이득:

  • 업무 목적에 따라 분류 및 회귀 지표(혼란 행렬, 정밀도/재현율/F1, MAE/RMSE/R²)를 선택하고 해석하는 능력
  • 훈련 점수와 테스트 점수를 비교하여 과잉 학습을 감지하고 교차 검증을 통해 안정적인 성능을 얻는 기능
  • 각 모델을 기준선과 비교하여 실제 가치를 추가하는지 여부를 평가하는 기능

모델을 설정하는 것은 쉽습니다. 실제로 효과가 있는지 솔직하게 측정하기는 어렵습니다. 이 단원의 주제는 데이터 과학자의 가장 중요한 기술입니다. 올바른 지표로 모델을 평가하고, 신뢰할 수 있는 예측 성능을 달성하고, 가장 교활한 함정인 과잉 학습(기억)을 포착하는 것입니다. AI는 측정항목을 계산, 해석 및 비교합니다. 하지만 어떤 측정 기준이 비즈니스에 적합한지, 모델이 "충분히 좋은지" 여부를 결정하는 것은 인간의 몫입니다. 잘못된 지표를 보는 팀은 몇 달 동안 잘못된 모델을 "성공"으로 착각할 수 있습니다.

정확성이 충분하지 않은 이유: 혼동 행렬

분류에서 가장 먼저 떠오르는 측정항목은 정확도(정확도 - 올바른 예측의 총 비율)입니다. 그러나 6단원에서 살펴본 것처럼 불균형 데이터에서는 정확성이 오해를 불러일으킬 수 있습니다. 더 나은 시작은 예측을 4개의 상자로 나누는 테이블인 혼동 행렬입니다.

  • 참양성(TP): 진짜 가짜인 것을 가짜라고 불렀습니다. (좋다)
  • 참음성(TN): 우리는 정말 깨끗하다고 말했습니다. (좋다)
  • 거짓양성(FP): 깨끗한 것이 가짜라고 잘못 말했습니다. (거짓 경보)
  • 거짓 부정(FN): 우리는 가짜를 놓쳤고 그것이 깨끗하다고 말했습니다. (위협 놓쳤음)

두 가지 주요 지표는 이 네 가지 상자에서 파생됩니다. 정확성: "내가 가짜라고 부르는 것 중 실제로 가짜는 얼마나 됩니까?" — 허위 경보 비용이 높을 경우 중요합니다. 민감도(영어로 회상): "내가 진짜 가짜를 몇 개나 잡았나요?" — 위협을 놓칠 때 중요한 것은 비용이 많이 듭니다. 이 둘은 종종 서로 충돌합니다. 임계값을 낮추고 "가짜"라고 더 많이 말하면 재현율은 증가하지만 정밀도는 감소합니다. F1 점수는 이 둘의 균형 평균(조화 평균)입니다.

주의: "어떤 지표가 중요한가"라는 질문에 대한 대답은 기술적인 결정이 아니라 비즈니스 결정입니다. 암 검진에서 사례 누락(낮은 회상)은 재앙입니다. 스팸필터에 중요한 메일을 스팸(정밀도 낮음)으로 보내면 귀찮습니다. 비용에 따라 측정항목이 결정됩니다.

회귀 측정항목

출력이 숫자인 경우 다른 측정항목이 사용됩니다. MAE(평균 절대 오류): 동일한 단위에서 추정치가 실제 평균에서 얼마나 벗어났는지(예: "평균적으로 4,200TL만큼 틀렸습니다.") RMSE(제곱 평균 오류): 주요 오류에 더 심각한 처벌을 가하고 이상값에 민감합니다. R²(R-제곱 — 결정 계수): 모델이 설명하는 대상의 변동성 정도입니다(1에 가까울수록 좋고, 0은 평균을 예측하는 것만큼 나쁘고, 음수일수록 더 나쁩니다).

가장 교활한 함정: 과잉 학습

모델이 훈련 데이터를 기억하지만 새 데이터에서는 실패하는 과적합은 데이터 과학에서 가장 흔한 실수입니다. 증상은 분명합니다. 훈련 세트에서는 모델이 훌륭하고(98%), 테스트 세트에서는 좋지 않습니다(72%). 모델은 데이터의 실제 패턴이 아닌 특정 샘플의 노이즈를 기억합니다. 그 반대인 과소적합(underfitting)도 있습니다. 모델이 패턴을 포착하기에는 너무 단순하기 때문에 훈련과 테스트 모두에서 좋지 않습니다.

과잉 학습을 방지하는 방법: 모델 단순화, 더 많은 데이터, 정규화(모델이 너무 복잡해지는 것을 방지하는 수학적 브레이크), 그리고 가장 중요한 것은 교차 검증입니다.

교차 검증: 단일 창을 신뢰하지 마세요

단일 훈련/테스트 포드는 운이 좋을 수도 있고 불운일 수도 있습니다. 샘플이 쉽다는 이유만으로 테스트 세트에서 높은 점수를 얻을 수 있습니다. 교차 검증(줄여서 CV)이 이 문제를 해결합니다. 가장 일반적인 형식은 k-fold CV입니다. 데이터는 k 부분(예: 5)으로 나뉩니다. 각 라운드에서 한 부분은 테스트이고 나머지 부분은 훈련입니다. 이것은 5번 굴리고 5개의 점수의 평균이 계산됩니다. 따라서 성능은 단일 행운의 분할이 아닌 여러 분할의 평균을 기반으로 한다는 것을 알 수 있습니다. 점수 분포도 유익합니다. 매우 불안정한 점수(한 층에서는 85%, 다른 층에서는 62%)는 모델이 불안정하다는 것을 나타냅니다.

일반 k-겹은 시계열에 사용되지 않습니다(미래 유출). 대신에 "순방향 연결"(시계열 분할)을 수행합니다. 항상 과거로 훈련하고 미래를 테스트합니다.

미터법

문제 유형

언제 그것이 중요합니까?

정확도

분류

수업이 균형있게 이루어지면

정밀도

분류

허위 경보는 비용이 많이 듭니다

감도(리콜)

분류

놓치기엔 비싸다면

F1

분류

균형이 필요한 경우

회귀

해석 가능한 오류

RMSE

회귀

큰 실수가 결정적인 경우

회귀

설명력

세 개의 미니 케이스

사례 1 - 정확도가 높다는 환상. 한 사기 모델은 99.2%의 정확도를 보여 팀은 축하했습니다. 혼동행렬을 보면, 데이터의 진짜:가짜 비율은 0.8%였습니다. 모델은 가짜를 거의 포착하지 못했고 "모두 명확함"이라고만 말했습니다. 회상률은 6%였습니다. 교훈: 정확성이 아닌 측정항목을 살펴보세요.

사례 2 - 잠재 과잉 학습. 한 팀은 훈련 세트에서 XGBoost를 97%까지 제공하고 향상시켰습니다. 테스트 세트는 69%였지만 아무도 본 적이 없었습니다. 모델이 생산 중에 붕괴되었습니다. 교차 검증을 수행했다면 접기(과잉 학습) 간의 큰 차이가 처음부터 눈에 띄었을 것입니다. 교훈: 교육 점수가 아니라 이력서와 시험 점수를 믿으세요.

사례 3 - 행운의 분할. 한 분석가는 단일 분할에서 88%를 얻은 것을 기쁘게 생각합니다. 그의 동료가 5겹 CV를 수행했을 때 점수는 88%, 71%, 83%, 64%, 79%였습니다. 평균은 77%이지만 변동성이 매우 큽니다. 모델이 불안정했습니다. 단일 구획은 오해의 소지가 있었습니다. 교훈: 개별 구간이 아닌 CV 평균과 분포를 살펴보세요.

복사 가능한 템플릿 4개

1) 전체 분류 보고서:

모델과 테스트 세트를 훈련시켰습니다. 생성: 혼동 행렬, 정밀도, 재현율, F1(각 클래스에 대해) 및 지원 횟수. 추론이지만 그것은 나에게 달려 있습니다. 어떤 측정 항목이 중요한지 알려 드리겠습니다. 불균형한 데이터로 인해 정확도가 오해를 불러일으킬 수 있습니다.

2) 오버러닝 제어:

TRAINING 및 TEST 세트 모두에서 내 모델의 점수를 나란히 인쇄합니다. 그들 사이의 차이를 계산하고 큰 차이는 과잉 학습의 신호이므로 경고하십시오. 차이가 크면 정규화 또는 단순화를 제안합니다.

3) 교차 검증:

5겹 교차 검증을 수행합니다(층화, 분류용). 각 접기의 점수, 평균 및 표준 편차를 인쇄합니다. 점수가 매우 불안정한 경우(높은 표준) 모델이 불안정하다는 것을 나타냅니다. 변환이 각 계층의 훈련 조각에서만 학습되도록 파이프라인을 사용합니다.

4) 기준선 비교:

내 모델의 측정항목을 DummyClassifier 기준선과 나란히 배치합니다. 모델이 기준선을 크게 초과합니까? 통과하지 못하면 모델이 실제 가치를 추가하지 않는다는 점을 분명히 하십시오.

약한 프롬프트 / 강한 프롬프트

약한 프롬프트:

내 모델이 좋은가요?

"좋음"은 정의되지 않았습니다. 어떤 지표, 임계값, 기준이 명확하지 않습니다. AI는 단일 정확도 수치를 제공하고 오해를 불러일으킬 수 있습니다.

강력한 프롬프트:

귀하의 역할: 평가 보조원. 분류, 불균형 데이터(12% 양성). 우선순위: 회상(긍정적인 점을 놓치지 않음) 작업: (1) 혼동 행렬,(2) 정밀도/재현율/F1, (3) 5겹 계층화된 CV 평균 및 표준,(4) DummyClassifier 기준선 비교. 정확성이 아닌 재현율과 기준 차이에 초점을 맞춥니다. 의견을 말하지만 최종 결정은 내가 합니다.

여기에서는 메트릭 우선순위, CV 및 기준 조건이 명확합니다.

일반적인 실수

  • 불균형 데이터의 정확성을 신뢰합니다. 99% 정확도는 소수 클래스를 전혀 포착하지 못할 수 있습니다. 혼동 행렬을 살펴보세요.
  • 교육점수만 보면 됩니다. 교육 수준이 높고 시험 점수가 낮으면 과잉 학습입니다. 항상 두 점수를 비교하십시오.
  • 단일 구획에 의존합니다. 행운의 나눗셈은 오해의 소지가 있습니다. 교차 검증을 통해 평균과 분포를 살펴보세요.
  • 기준선과 비교하지 않습니다. 모델이 어리석은 예측 변수를 능가하는지 여부를 알지 못하면 "좋다"고 말할 수 없습니다.
  • 시계열에 일반 k-겹을 사용합니다. 미래가 유출됩니다. 시계열 분할이 필요합니다.
팁: 각 모델 옆에 훈련 점수, 교차 검증 평균, 기준 점수라는 세 개의 숫자를 쓰세요. 이 트리오는 과도한 학습(훈련 >> CV)과 과소평가(CV ≒ 기준선)를 한 눈에 보여줍니다.

요약하면

모델을 만드는 것은 쉽지만, 솔직하게 평가하는 것은 어렵습니다. 분류에서는 혼동 행렬, 정밀도, 재현율이 정확도보다 훨씬 더 많은 정보를 제공합니다. 작업 비용에 따라 어느 작업이 중요한지 결정됩니다. MAE, RMSE 및 R²는 회귀 분석에 사용됩니다. 가장 교활한 함정은 과잉 학습입니다. 항상 훈련 점수와 테스트 점수를 비교하십시오. 단일 분할이 아닌 교차 검증의 평균과 분포에 의존합니다. 모든 것을 기준선과 비교하세요. AI는 이 모든 것을 계산하지만 어떤 지표를 사용할지는 인간이 결정합니다.

응용과제

분류 모델에 대한 혼동 행렬, 정밀도, 재현율 및 F1을 추출합니다. 그런 다음 5겹 교차 검증을 수행하고 여러 겹의 점수 분포를 살펴보세요. 마지막으로 훈련 점수, CV 평균, 기준 점수를 나란히 적어보세요. 모델이 과도하게 학습하여 기준을 통과하는지 한 문장으로 설명하세요.

체크리스트

  • [ ] 정확도 대신 작업의 실제 지표(정밀도/재현율/F1 등)를 살펴보았습니까?
  • [ ] 혼동 행렬을 조사해 보았습니까?
  • [ ] 훈련 점수와 테스트 점수를 비교하고 과잉 학습을 확인했습니까?
  • [ ] 교차검증을 통해 평균과 분포를 살펴보았나요?
  • [ ] 모델을 기준선과 비교했습니까?