임곗값 및 혼동 행렬

특정 이메일이 스팸일 확률을 나타내는 0과 1 사이의 값을 예측하는 스팸 이메일 감지를 위한 로지스틱 회귀 모델이 있다고 가정해 보겠습니다. 예를 들어 예측값이 0.50이면 이메일이 스팸일 확률이 50% 이고, 예측값이 0.75이면 이메일이 스팸일 확률이 75% 임을 나타냅니다.

이메일 애플리케이션에 이 모델을 배포하여 스팸을 별도의 메일 폴더로 필터링하려고 합니다. 하지만 이렇게 하려면 모델의 원시 숫자 출력 (예: 0.75)를 '스팸' 또는 '스팸 아님'이라는 두 카테고리 중 하나로 분류합니다.

이 변환을 수행하려면 분류 기준점이라고 하는 임곗값 확률을 선택합니다. 그러면 임곗값을 초과하는 확률이 있는 예시는 테스트 중인 클래스인 양성 클래스 (여기서는 spam)에 할당됩니다. 확률이 더 낮은 예시는 대체 클래스인 음성 클래스 (여기서는 not spam)에 할당됩니다.

분류 기준에 대한 자세한 내용을 보려면 여기를 클릭하세요

예측된 점수가 분류 임곗값 (예: 분류 임곗값도 0.5이고 점수 0.5)과 같으면 어떻게 될까요? 이 사례의 처리는 분류 모델에 선택된 특정 구현에 따라 달라집니다. Keras 라이브러리는 점수와 임곗값이 같은 경우 음성 클래스를 예측하지만 다른 도구/프레임워크는 이 사례를 다르게 처리할 수 있습니다.

모델이 한 이메일의 점수를 0.99로 매겨 이메일이 스팸일 확률이 99% 라고 예측하고 다른 이메일의 점수를 0.51로 매겨 스팸일 확률이 51% 라고 예측한다고 가정해 보겠습니다. 분류 임곗값을 0.5로 설정하면 모델은 두 이메일을 모두 스팸으로 분류합니다. 임곗값을 0.95로 설정하면 점수가 0.99인 이메일만 스팸으로 분류됩니다.

0.5는 직관적인 기준점처럼 보이지만, 한 유형의 잘못된 분류의 비용이 다른 유형보다 크거나 클래스가 불균형한 경우에는 적절하지 않습니다. 이메일의 0.01% 만 스팸이거나 스팸을 받은편지함에 허용하는 것보다 정상적인 이메일을 잘못 분류하는 것이 더 나쁜 경우 모델에서 스팸일 가능성이 50% 이상이라고 간주하는 모든 항목을 스팸으로 라벨하면 바람직하지 않은 결과가 발생합니다.

혼동 행렬

확률 점수는 현실 또는 정답이 아닙니다. 이진 분류자의 각 출력에는 네 가지 결과가 있을 수 있습니다. 스팸 분류 기준 예에서 정답을 열로, 모델의 예측을 행으로 배치하면 다음과 같은 혼동 행렬이라는 테이블이 결과로 반환됩니다.

실제 양성 실제 음성
긍정적인 예측 참양성 (TP): 스팸 이메일이 스팸 이메일로 올바르게 분류된 경우입니다. 스팸 폴더로 자동 전송되는 스팸 메일입니다. 거짓양성 (FP): 스팸이 아닌 이메일이 스팸으로 잘못 분류된 경우입니다. 이러한 이메일은 스팸 폴더로 이동되는 정상적인 이메일입니다.
예측된 부정적 거짓음성 (FN): 스팸 이메일이 스팸이 아닌 것으로 잘못 분류된 경우입니다. 스팸 필터에 걸리지 않고 받은편지함으로 전송되는 스팸 이메일입니다. 참음성 (TN): 스팸이 아닌 이메일이 스팸이 아닌 것으로 올바르게 분류되었습니다. 받은편지함으로 직접 전송되는 적법한 이메일입니다.

각 행의 합계는 유효성에 관계없이 모든 예측 양성 (TP + FP) 및 모든 예측 음성 (FN + TN)을 제공합니다. 한편 각 열의 총계는 모델 분류와 관계없이 모든 실수 양성 (TP + FN)과 모든 실제 음성(FP + TN)을 나타냅니다.

실제 양성의 합계가 실제 음성의 합계와 근접하지 않으면 데이터 세트가 불균형합니다. 불균형 데이터 세트의 예로는 구름 사진 수천 개의 세트가 있을 수 있으며, 여기서 관심 있는 희귀한 구름 유형(예: volutus 구름)이 몇 번만 표시됩니다.

임곗값이 참양성, 거짓양성, 거짓음성에 미치는 영향

기준점이 다르면 일반적으로 참양성, 거짓양성, 참음성, 거짓음성의 수가 달라집니다. 다음 동영상에서 그 이유를 설명합니다.

기준치를 직접 변경해 보세요.

이 위젯에는 다음과 같은 세 가지 장난감 데이터 세트가 포함되어 있습니다.

  • 분리됨: 양성 예시와 음성 예시가 일반적으로 잘 구분되며 대부분의 양성 예시가 음성 예시보다 점수가 높습니다.
  • 분리되지 않음: 양성 예시가 음성 예시보다 점수가 낮은 예시가 많고 음성 예시가 양성 예시보다 점수가 높은 예시가 많습니다.
  • 불균형: 양성 클래스의 예가 몇 개만 포함되어 있습니다.

이해도 확인

1. 피싱 및 멀웨어 웹사이트가 1 (참) 라벨이 지정된 클래스에 있고 무해한 웹사이트가 0 (거짓) 라벨이 지정된 클래스에 있는 피싱 또는 멀웨어 분류 모델을 생각해 보세요. 이 모델은 합법적인 웹사이트를 멀웨어로 잘못 분류합니다. 이 기능을 뭐라고 부르나요?
거짓양성
제외 예시 (합법적인 사이트)가 양성 예시 (멀웨어 사이트)로 잘못 분류되었습니다.
참양성
참양성은 멀웨어로 올바르게 분류된 멀웨어 사이트입니다.
거짓음성
거짓음성은 정상적인 사이트로 잘못 분류된 멀웨어 사이트입니다.
참음성
참음성은 합법적인 사이트로 올바르게 분류되는 합법적인 사이트입니다.
2. 일반적으로 분류 임곗값이 증가하면 거짓양성의 수는 어떻게 될까요? 참양성은 어떨까요? 위의 슬라이더를 사용해 보세요.
참양성과 거짓양성 모두 감소합니다.
임곗값이 증가하면 모델은 참과 거짓 양성 모두 전반적으로 더 적게 예측할 가능성이 높습니다. 임계값이 .9999인 스팸 분류기는 분류 확률이 99.99% 이상이라고 판단되는 경우에만 이메일을 스팸으로 라벨합니다. 즉, 정상 이메일에 잘못된 라벨을 지정할 가능성은 매우 낮지만 실제 스팸 이메일을 놓칠 가능성이 높습니다.
참양성과 거짓양성이 모두 증가합니다.
위의 슬라이더를 사용하여 임계값을 0.1로 설정한 다음 0.9로 드래그해 보세요. 거짓양성 수와 참양성 수는 어떻게 되나요?
참양성이 증가합니다. 거짓양성이 줄어듭니다.
위의 슬라이더를 사용하여 임계값을 0.1로 설정한 다음 0.9로 드래그해 보세요. 거짓양성 수와 참양성 수는 어떻게 되나요?
3. 일반적으로 분류 임곗값이 증가하면 거짓음성의 수는 어떻게 될까요? 참음성은 어떨까요? 위의 슬라이더를 사용해 보세요.
참음성과 거짓음성 모두 증가합니다.
임곗값이 증가하면 모델은 참과 거짓 모두 더 많은 음수를 예측할 가능성이 높습니다. 기준점이 매우 높으면 스팸과 스팸이 아닌 메일 모두 거의 대부분 스팸이 아닌 것으로 분류됩니다.
참음성과 거짓음성 모두 감소합니다.
위의 슬라이더를 사용하여 임계값을 0.1로 설정한 다음 0.9로 드래그해 보세요. 거짓음성 수와 참음성 수는 어떻게 되나요?
참음성이 증가합니다. 거짓음성이 감소합니다.
위의 슬라이더를 사용하여 임곗값을 0.1로 설정한 다음 0.9로 드래그해 보세요. 거짓음성 수와 참음성 수는 어떻게 되나요?