구글 머신러닝 단기집중과정 - ML 개념 - 분류
분류
이 모듈에서는 분류 작업에 로지스틱 회귀를 사용하는 방법을 보여주고 분류 모델의 효과를 평가하는 방법을 살펴봅니다.
분류 및 회귀
- 확률 결과에 로지스틱 회귀를 사용하기도 하는데, 이 회귀의 형태는 (0, 1)입니다.
- 다른 경우 별개의 이진 분류 값에 임계값을 설정합니다.
- 임계값 선택은 중요하며 값을 조정할 수 있습니다.
평가 측정항목: 정확성
- 분류 모델을 어떻게 평가해야 할까요?
- 가능한 한 가지 측정 방법: 정확성
- 올바른 예측의 비율
오해하기 쉬운 정확성
- 대부분의 경우 정확성은 잘못되거나 오해하기 쉬운 측정항목입니다.
- 다양한 종류의 실수에 여러 비용이 소요되는 경우가 많습니다.
- 대표적인 경우로 양성이나 음성이 거의 없는 클래스 불균형을 들 수 있습니다.
TP 및 FP
- 클래스 불균형 문제의 경우 다양한 종류의 오류를 분리하는 데 유용합니다.
TP 우리는 늑대가 나타났다고 올바로 외쳤습니다. 우리는 마을을 구했습니다. |
FP 오류: 우리는 늑대가 나타났다고 허위로 외쳤습니다. 모두 우리에게 화를 냈습니다. |
FN 늑대가 있었지만 우리는 늑대를 발견하지 못했습니다. 늑대가 닭을 모두 잡아먹었습니다. |
TN 늑대도 없고 경고도 없었습니다. 모두 괜찮습니다. |
평가 측정항목: 정밀도와 재현율
- 정밀도: (참 양성(TP)) / (모든 양성 예측)
- 모델이 '양성' 클래스로 나타났을 떄 결과가 옳았나요?
- 직관: 모델이 '늑대다'라고 너무 자주 외쳤나요?
- 재현율: (참 양성(TP)) / (실제 양성 모두)
- 모든 양성 가능성 중에서 모델이 몇 개나 정확히 식별했나요?
- 직관: 모델에서 놓친 늑대가 있나요?
아래 옵션을 살펴보세요.
이메일을 '스팸'과 '스팸 아님', 두 카테고리로 구분하는 분류 모델을 가정해 보겠습니다. 분류 임계값을 올리면 정밀도는 어떻게 될까요?
확실히 감소합니다.
일반적으로 분류 임계값을 올리면 거짓양성(FP)이 감소하므로 정밀도가 높아집니다.
다시 시도해 보세요.
아마도 증가할 것입니다.
일반적으로 분류 임계값을 올리면 거짓양성(FP)이 감소하므로 정밀도가 높아집니다.
정답입니다.
아마도 감소할 것입니다.
일반적으로 분류 임계값을 올리면 거짓양성(FP)이 감소하므로 정밀도가 높아집니다.
다시 시도해 보세요.
확실히 증가합니다.
분류 임계값을 올리면 대개 정밀도가 증가합니다. 하지만 정밀도는 임계값 증가에 따라 일정하게 증가하지는 않습니다.
다시 시도해 보세요.
ROC 곡선
각 점은 하나의 결정 임계값에 있는 참양성(TP)과 거짓양성(FP) 비율입니다.
평가 측정항목: AUC
- AUC: 'ROC 곡선 아래 영역'
- 해석:
- 임의의 양성 예측과 임의의 음성 예측을 선택할 때 내 모델이 정확한 순서로 순위를 매길 확률이 얼마나 될까요?
- 직관: 가능한 모든 분류 임계값에서 집계된 성능의 집계 측정값을 제공합니다.
예측 편향
- 로지스틱 회귀 예측은 편향되지 않아야 합니다.
- 예측 평균 == 관찰 평균
- 편향을 보면 시스템의 상태를 판단할 수 있습니다.
- 편향이 0이라고 해서 시스템 전체가 완벽하다는 것을 의미하지 않습니다.
- 하지만 상태를 확인하는 데 매우 유용합니다.
- 편향이 있으면 문제가 발생합니다.
- 특성 세트가 불완전한가요?
- 파이프라인에 결함이 있나요?
- 학습 샘플이 편향적인가요?
- 편향은 캘리브레이션 레이어에서 수정하지 말고 모델에서 수정하세요.
- 데이터 내에서 편향을 찾으세요. 그러면 개선할 수 있습니다.
버케팅 편향을 나타내는 캘리브레이션 플롯
분류: 임계값
로지스틱 회귀는 확률을 반환합니다. 반환된 확률을 '있는 그대로' 사용하거나(예: 사용자가 이 광고를 클릭할 확률은 0.00023임) 이진 값으로 변환하여(예: 이 이메일은 스팸임) 사용할 수 있습니다.
로지스틱 회귀 모형에서 특정 이메일에 관해 0.9995가 반환되면 이 이메일은 스팸일 가능성이 매우 높은 메일로 예측된 것입니다. 이와 반대로 동일한 로지스틱 회귀 모형에서 예측 점수가 0.0003점인 다른 이메일은 스팸이 아닐 가능성이 높습니다. 그렇다면 예측 점수가 0.6점인 이메일은 어떨까요? 로지스틱 회귀 값을 이진 카테고리에 매핑하려면 분류 임계값(결정 임계값이라고도 함)을 정의해야 합니다. 임계값보다 높은 값은 '스팸'을 나타내고 임계값보다 낮은 값은 '스팸 아님'을 나타냅니다. 분류 임계값은 항상 0.5여야 한다고 생각하기 쉽지만 임계값은 문제에 따라 달라지므로 값을 조정해야 합니다.
다음 섹션에서는 분류 모델의 예측을 평가하는 데 사용할 수 있는 측정항목과 이 예측에서 분류 임계값을 변경했을 때의 효과를 자세히 살펴봅니다.
★ 참고: 로지스틱 회귀의 임계값 '조정'은 학습률과 같은 초매개변수 조정과 다릅니다. 어떤 임계값을 선택하는가에 따라 실수로 인해 받는 피해의 양이 달라집니다. 예를 들어 스팸이 아닌 메일을 스팸으로 잘못 라벨을 지정하면 피해가 매우 큽니다. 하지만 스팸 메일을 스팸 아님으로 잘못 라벨을 지정하면 불편하긴 하지만 치명적인 피해는 아닙니다.
주요 용어
분류: 참 대 허위, 양성 대 음성
이 섹션에서는 분류 모델 평가에 사용할 측정항목의 기본 토대를 정의합니다. 먼저 우화를 하나 살펴보겠습니다.
이솝 우화: 양치기 소년(요약본)
양치기 소년이 마을의 양떼를 돌보던 중 심심해졌습니다. 소년은 늑대가 보이지 않았지만 재미로 "늑대다!"라고 외쳤습니다. 마을 사람들은 양떼를 지키려고 뛰어왔지만 소년이 장난친 것을 알고는 몹시 화가 났습니다.
[이전 단락을 N번 반복합니다.]
어느 날 밤 양치기 소년은 양떼를 향해 다가오는 진짜 늑대를 보고 "늑대다!"라고 외칩니다. 하지만 마을 사람들은 소년이 다시 거짓말을 한다고 생각해서 집에서 나오지 않습니다. 배고픈 늑대는 양들을 다 잡아먹습니다. 마을은 가난해지고 혼란은 계속됩니다.
다음과 같이 정의해 보겠습니다.
- "늑대다"는 양성 클래스입니다.
- "늑대가 없다"는 네거티브 클래스입니다.
'늑대 예측' 모델에서 발생할 수 있는 4가지 결과를 요약하면 다음과 같이 2x2 혼동행렬을 사용해 나타낼 수 있습니다.
참양성(TP):
|
허위 양성(FP):
|
허위 음성(FN):
|
참 음성(TN):
|
참양성은 모델에서 포지티브 클래스를 정확하게 평가하는 결과입니다. 마찬가지로 참음성은 모델에서 네거티브 클래스를 정확하게 평가하는 결과입니다.
거짓양성은 모델에서 포지티브 클래스를 잘못 예측한 결과입니다. 거짓음성은 모델에서 네거티브 클래스를 잘못 예측한 결과입니다.
다음 섹션에서는 이 4개의 결과에서 파생된 측정항목을 사용하여 분류 모델을 평가하는 방법을 살펴보겠습니다.
주요 용어
분류: 정확성
정확성은 분류 모델 평가를 위한 측정항목 중 하나입니다. 비공식적으로 정확성은 모델의 예측이 얼마나 정확한가를 보여줍니다. 공식적으로 정확성의 정의는 다음과 같습니다.
정확성정확한예측수총예측수정확성=정확한 예측수총 예측수
$$ 정확성=\frac{정확한\,예측수}{총\,예측수} $$
이진 분류에서는 다음과 같이 양성과 음성을 기준으로 정확성을 계산할 수도 있습니다.
$$ 정확성=\frac{TP+TN}{TP+TN+FP+FN} $$
여기에서 TP=참 양성(True Positives), TN=참 음성(True Negatives),FP=허위 양성(False Positives), FN=허위 음성(False Negatives)입니다.
다음과 같이 악성으로 분류된 종양(포지티브 클래스) 또는 양성으로 분류된 종양(네거티브 클래스) 모델 100개의 정확성을 계산해 보겠습니다.
참 양성(TP):
|
허위 양성(FP):
|
허위 음성(FN):
|
참 음성(TN):
|
$$ 정확성=\frac{TP+TN}{TP+TN+FP+FN}=\frac{1+90}{1+90+1+8}=0.91 $$
정확성은 0.91 또는 91%(총 100개의 예제 중 정확한 예측 91개)로 나타납니다. 이는 종양 분류자가 악성 종양을 제대로 식별했음을 의미합니다.
실제로 양성 예제와 음성 예제를 더 면밀하게 분석하면 모델의 성능을 자세히 파악할 수 있습니다.
종양 예제 100개 중 91개는 양성(참 음성 90개와 허위 양성 1개)이고, 9개는 악성(참 양성 1개와 허위 음성 8개)입니다.
모델은 양성 종양 91개 중 90개를 양성으로 정확히 식별합니다. 뛰어난 예측 능력입니다. 하지만 악성 종양 9개 가운데 1개만 악성으로 식별합니다. 악성 종양 9개 중 8개가 미확진 상태로 남았다는 것은 형편없는 예측 결과입니다.
언뜻 보기에는 91% 정확성이 좋아 보일 수 있지만 이 예제에서 항상 양성으로 예측하는 다른 종양 분류자 모델도 정확히 동일한 정확성(91/100의 정확한 예측)을 달성할 것입니다. 다시 말해 이 모델은 악성 종양과 양성 종양을 구분하는 예측 능력이 0인 모델과 비교해서 전혀 나을 바가 없다는 것입니다.
이와 같이 클래스 불균형 데이터 세트를 사용하면 양성 라벨수와 음성 라벨수가 상당히 다르므로 정확성만으로는 모든 것을 평가할 수 없습니다.
다음 섹션에서는 클래스 불균형 문제를 평가하는 더 나은 측정항목인 정밀도와 재현율을 살펴보겠습니다.
주요 용어
분류: 정밀도와 재현율
정밀도
정밀도는 다음 질문에 답하고자 합니다.
양성으로 식별된 사례 중 실제로 양성이었던 사례의 비율은 어느 정도인가요?
정밀도는 다음과 같이 정의됩니다.
$$ 정밀도=\frac{TP}{TP+FP} $$
★ 참고: 거짓양성이 나오지 않는 모델의 정밀도는 1.0입니다.
이전 섹션에서 사용한 종양을 분석하는 ML 모델의 정밀도를 계산해 보겠습니다.
참양성(TP): 1 | 거짓양성(FP): 1 |
거짓음성(FN): 8 | 참음성(TN): 90 |
$$ 정밀도=\frac{TP}{TP+FP}=\frac{1}{1+1}=0.5 $$
이 모델의 정밀도는 0.5입니다. 즉, 이 모델에서 어떤 종양이 악성일 것이라고 평가했을 때, 이 평가가 정확할 확률은 50%입니다.
재현율
재현율은 다음 질문에 답하고자 합니다.
실제 양성 중 정확히 양성이라고 식별된 사례의 비율은 어느 정도인가요?
수학적으로 재현율은 다음과 같이 정의됩니다.
$$ 재현율=\frac{TP}{TP+FN} $$
★ 참고: 거짓음성이 나오지 않는 모델의 재현율은 1.0입니다.
종양 분류 모델의 재현율을 계산해 보겠습니다.
참양성(TP): 1 | 거짓양성(FP): 1 |
거짓음성(FN): 8 | 참음성(TN): 90 |
$$ 재현율=\frac{TP}{TP+FN}=\frac{1}{1+8}=0.11 $$
이 모델의 재현율은 0.11입니다. 즉, 이 모델에서는 모든 악성 종양 중 11%가 정확하게 식별됩니다.
정밀도 및 재현율: 줄다리기
모델의 효과를 완전히 평가하려면 정밀도와 재현율을 모두 검사해야 합니다. 그런데 정밀도와 재현율은 서로 상충하는 관계에 있는 경우가 많습니다. 즉, 정밀도가 향상되면 대개 재현율이 감소되고 반대의 경우도 마찬가지입니다. 이메일 분류 모델로 만든 예측 30개를 보여주는 다음 그림에서 이 개념을 살펴보겠습니다. 분류 임계값 오른쪽에 있는 메일은 '스팸'으로 분류되는 반면 왼쪽에 있는 메일은 '스팸 아님'으로 분류됩니다.
그림 1. 스팸 또는 스팸 아님으로 이메일 분류하기
그림 1에 표시된 결과를 토대로 정밀도와 재현율을 계산해 보겠습니다.
참 양성(TP): 8 | 허위 양성(FP): 2 |
허위 음성(FN): 3 | 참 음성(TN): 17 |
정밀도는 정확하게 분류된 스팸으로 신고된 이메일의 비율, 즉 임계값 선 오른쪽에 있으며 그림 1에 초록색으로 표시된 점의 비율을 측정합니다.
$$ 정밀도=\frac{TP}{TP+FP}=\frac{8}{8+2}=0.8 $$
재현율은 정확하게 분류된 실제 스팸 이메일의 비율, 즉 그림 1에서 임계값 선 오른쪽에 있는 초록색 점의 비율을 측정합니다.
$$ 재현율=\frac{TP}{TP+FN}=\frac{8}{8+3}=0.73 $$
그림 2는 분류 임계값 증가의 효과를 보여줍니다.
그림 2. 분류 임계값 증가
허위 양성(FP)수는 감소하지만 허위 음성(FN)수는 증가합니다. 따라서 정밀도는 증가하는 반면 재현율은 감소합니다.
참 양성(TP): 7 | 허위 양성(FP): 1 |
허위 음성(FN): 4 | 참 음성(TN): 18 |
$$ 정밀도=\frac{TP}{TP+FP}=\frac{7}{7+1}=0.88 $$
$$ 재현율=\frac{TP}{TP+FN}=\frac{7}{7+4}=0.64 $$
이와 반대로 그림 3은 그림 1의 원래 위치로부터 분류 임계값이 감소하는 효과를 보여줍니다.
그림 3. 분류 임계값 감소
허위 양성(FP)이 증가하고 허위 음성(FN)은 감소합니다. 따라서 이번에는 정밀도가 감소하고 재현율이 증가합니다.
참 양성(TP): 9 | 허위 양성(FP): 3 |
허위 음성(FN): 2 | 참 음성(TN): 16 |
$$ 정밀도=\frac{TP}{TP+FP}=\frac{9}{9+3}=0.75 $$
$$ 재현율=\frac{TP}{TP+FN}=\frac{9}{9+2}=0.82 $$
정밀도와 재현율을 모두 사용하는 다양한 측정항목이 개발되어 왔습니다. 예를 보려면 F1 점수를 참조하세요.
주요 용어
분류: 이해 내용(정확성, 정밀도, 재현율) 확인
정확성
아래 옵션을 살펴보세요.
다음 중 어떤 시나리오에서 높은 정확성 값을 통해 ML 모델이 제대로 실행되고 있음을 알 수 있나요?
비싼 로봇 닭이 혼잡한 도로를 하루에 수천 번 건넙니다. ML 모델은 교통 패턴을 평가하여 이 닭이 안전하게 길을 건널 수 있는 때를 99.99%의 정확성으로 예측합니다.
혼잡한 도로에서 99.99%라는 정확성 값은 ML 모델이 우연의 일치보다 훨씬 더 신뢰할 만하다는 것을 알려줍니다. 하지만 일부 상황에서는 아주 적은 횟수여도 실수로 인한 비용이 여전히 너무 높습니다. 99.99% 정확성은 비싼 닭도 평균 10일에 한 번은 교체되어야 함을 의미합니다. 또한 닭과 충돌하는 차량도 큰 피해를 볼 수 있습니다.
다시 시도해 보세요.
전 세계 인구의 0.01%가 치명적이지만 치유 가능한 질병으로 고통받고 있습니다. ML 모델은 증상을 특징으로 사용하여 99.99%의 정확성으로 이러한 질병을 예측합니다.
여기에서 정확성은 부적절한 측정항목입니다. 결국 항상 '아프지 않음'을 예측하는 '비지능적인' 모델도 여전히 99.99%의 정확성을 나타낼 수 있는데, 실제로 아픈 사람을 '아프지 않음'으로 잘못 예측하면 치명적일 수 있습니다.
다시 시도해 보세요.
룰렛 게임에서 회전하는 룰렛 휠에 공이 떨어지면 결국 슬롯 38개 중 하나로 들어갑니다. ML 모델은 시각적 특징(공의 회전, 공이 떨어졌을 때 룰렛 휠의 위치, 룰렛 휠 위 공의 높이)을 사용하여 공이 들어갈 슬롯을 4%의 정확성으로 예측할 수 있습니다.
이 ML 모델은 운보다는 훨씬 정확하게 예측합니다. 어림짐작을 하면 38번 중 1번은 정확하므로 2.6%의 정확성을 나타냅니다. 모델의 정확성은 4%에 '불과'하지만 성공의 장점이 실패의 단점보다 훨씬 큽니다.
정답입니다.
정밀도
아래 옵션을 살펴보세요.
이메일을 '스팸'과 '스팸 아님', 두 카테고리로 구분하는 분류 모델을 가정해 보겠습니다. 분류 임계값을 올리면 정밀도는 어떻게 될까요?
확실히 증가합니다.
분류 임계값을 올리면 대개 정밀도가 증가합니다. 하지만 정밀도는 임계값 증가에 따라 일정하게 증가하지는 않습니다.
다시 시도해 보세요.
확실히 감소합니다.
일반적으로 분류 임계값을 올리면 거짓양성(FP)이 감소하므로 정밀도가 높아집니다.
다시 시도해 보세요.
아마도 증가할 것입니다.
일반적으로 분류 임계값을 올리면 거짓양성(FP)이 감소하므로 정밀도가 높아집니다.
정답입니다.
아마도 감소할 것입니다.
일반적으로 분류 임계값을 올리면 거짓양성(FP)이 감소하므로 정밀도가 높아집니다.
다시 시도해 보세요.
재현율
아래 옵션을 살펴보세요.
이메일을 '스팸'과 '스팸 아님', 두 카테고리로 구분하는 분류 모델을 가정해 보겠습니다. 분류 임계값을 올리면 재현율은 어떻게 될까요?
항상 감소하거나 그대로 유지됩니다.
분류 임계값을 올리면 참양성(TP) 수가 감소하거나 그대로 유지되고 거짓음성(FN) 수가 증가하거나 그대로 유지됩니다. 따라서 재현율이 일정하게 유지되거나 감소합니다.
정답입니다.
항상 증가합니다.
분류 임계값을 올리면 다음 두 상황이 발생합니다.
참양성(TP) 수가 감소하거나 그대로 유지됩니다.허위 음성(FN)수가 증가하거나 그대로 유지됩니다.
따라서 재현율은 절대 증가하지 않습니다.
다시 시도해 보세요.
항상 일정하게 유지됩니다.
분류 임계값을 올리면 참양성(TP) 수가 감소하거나 그대로 유지되고 거짓음성(FN) 수가 증가하거나 그대로 유지됩니다. 따라서 재현율이 일정하게 유지되거나 감소합니다.
다시 시도해 보세요.
정밀도와 재현율
아래 옵션을 살펴보세요.
각각 동일한 데이터세트를 평가하는 두 모델, A와 B가 있다고 가정해 보겠습니다. 다음 설명 중 참인 것은?
모델 A의 정밀도와 재현율이 모델 B보다 높은 경우, 모델 A가 더 나을 수 있습니다.
일반적으로 정밀도와 재현율 모두 다른 모델을 능가하는 모델이 더 나을 가능성이 높습니다. 당연히 이 결과가 의미 있으려면 실제로 유용한 정밀도/재현율 지점에서 비교가 이루어졌는지 확인해야 합니다. 예를 들어 스팸 감지 모델의 정밀도가 불필요한 허위 경보를 방지하고 유용하기 위해서는 정밀도가 90% 이상이어야 합니다. 이 경우 {정밀도 20%, 재현율 99%}인 모델을 {정밀도 15%, 재현율 98%}인 다른 모델과 비교하는 경우 두 모델이 모두 90%의 정밀도 요구사항을 충족하지 못하므로 별로 유익하지 않습니다. 그렇지만 이러한 경고를 염두에 두고 정밀도와 재현율을 사용할 때 모델 비교를 고려하는 것이 좋습니다.
정답입니다.
모델 A의 재현율이 모델 B보다 높으면 모델 A가 더 낫습니다.
재현율이 더 높으면 좋지만 재현율이 높으면 정밀도가 크게 감소할 수 있습니다. 일반적으로 정밀도와 재현율을 함께 살펴보거나 AUC 같은 요약 측정항목을 살펴보아야 합니다. AUC는 다음에 다룰 예정입니다.
다시 시도해 보세요.
모델 A의 정밀도가 모델 B보다 높다면 모델 A가 더 낫습니다.
정밀도가 더 높으면 좋지만 정밀도가 높으면 재현율이 상당히 감소할 수 있습니다. 일반적으로 정밀도와 재현율을 함께 살펴보거나 AUC 같은 요약 측정항목을 살펴보아야 합니다. AUC는 다음에 다룰 예정입니다.
다시 시도해 보세요.
분류: ROC 및 AUC
ROC 곡선
ROC 곡선(수신자 조작 특성 곡선)은 모든 분류 임계값에서 분류 모델의 성능을 보여주는 그래프입니다. 이 곡선은 다음 두 매개변수를 표시합니다.
- 참 양성 비율(TPR)
- 허위 양성 비율(FPR)
참 양성 비율(TPR)은 재현율의 동의어이며 이에 따라 다음과 같이 정의됩니다.
$$ TPR=\frac{TP}{TP+FN} $$
허위 양성 비율(FPR)은 다음과 같이 정의됩니다.
$$ FPR=\frac{FP}{FP+TN} $$
ROC 곡선은 다양한 분류 임계값의 TPR 및 FPR을 나타냅니다. 분류 임계값을 낮추면 더 많은 항목이 양성으로 분류되므로 거짓양성과 참양성이 모두 증가합니다. 다음 그림에서는 일반 ROC 곡선을 보여줍니다.
그림 4. 다양한 분류 임계값의 참 양성(TP) 및 허위 양성(FP) 비율
ROC 곡선의 점을 계산하기 위해 분류 임계값이 다른 로지스틱 회귀 모형을 여러 번 평가할 수 있지만 이 방법은 효율적이지 않습니다. 다행히 이 정보를 제공할 수 있는 효율적인 정렬 기반 알고리즘이 있는데, 이를 AUC라고 합니다.
AUC: ROC 곡선 아래 영역
AUC는 'ROC 곡선 아래 영역'을 의미합니다. 즉, AUC는 (0,0)에서 (1,1)까지 전체 ROC 곡선 아래에 있는 전체 2차원 영역을 측정합니다(적분학을 생각해 보세요).
그림 5. AUC(ROC 곡선 아래 영역)
AUC는 가능한 모든 분류 임계값에서 성능의 집계 측정값을 제공합니다. AUC를 해석하는 한 가지 방법은 모델이 임의 양성 예제를 임의 음성 예제보다 더 높게 평가할 확률입니다. 예를 들어 다음 예에서는 로지스틱 회귀 예측의 오름차순으로 왼쪽에서 오른쪽으로 정렬되어 있습니다.
그림 6. 로지스틱 회귀 점수를 오름차순으로 평가한 예측
AUC는 임의의 양성(초록색) 예제가 임의의 음성(빨간색) 예제의 오른쪽에 배치되는 확률을 나타냅니다.
AUC 값의 범위는 0~1입니다. 예측이 100% 잘못된 모델의 AUC는 0.0이고 예측이 100% 정확한 모델의 AUC는 1.0입니다.
AUC는 다음 두 가지 이유로 이상적입니다.
- AUC는 척도 불변입니다. AUC는 절대값이 아니라 예측이 얼마나 잘 평가되는지 측정합니다.
- AUC는 분류 임계값 불변입니다. AUC는 어떤 분류 임계값이 선택되었는지와 상관없이 모델의 예측 품질을 측정합니다.
하지만 이러한 두 이유는 특정 사용 사례에서 AUC의 유용성을 제한할 수 있다는 단점이 있습니다.
- 척도 불변이 항상 이상적인 것은 아닙니다. 예를 들어 잘 보정된 확률 결과가 필요한 경우가 있는데 AUC로는 이 정보를 알 수 없습니다.
- 분류 임계값 불변이 항상 이상적인 것은 아닙니다. 허위 음성(FN) 비용과 허위 양성(FP) 비용에 큰 차이가 있는 경우 한 가지 유형의 분류 오류를 최소화하는 것은 위험할 수 있습니다. 예를 들어 이메일 스팸 감지를 실행할 때 허위 양성(FP)의 최소화로 인해 허위 음성(FN)이 크게 증가한다고 해도 허위 양성(FP) 최소화를 우선시하고 싶을 수 있습니다. AUC는 이런 유형의 최적화에 유용한 측정항목이 아닙니다.
주요 용어
분류: 이해 내용 확인(ROC 및 AUC)
ROC 및 AUC
아래 옵션을 살펴보세요.
다음 ROC 곡선 중에서 0.5보다 큰 AUC 값을 산출하는 곡선은 무엇일까요?
이 곡선에서는 모든 양성 예측이 모든 음성 예측보다 상위에 있으므로 최선의 ROC 곡선입니다. 곡선의 AUC는 1.0입니다.
★ 실제로 AUC가 1.0인 '완벽한' 분류자가 있다면 모델에 버그가 있다는 의미일 수 있으므로 의심해 보아야 합니다. 예를 들어 학습 데이터에 과적합 데이터가 있거나 특징 중 하나에서 라벨 데이터가 중복되었을 수 있습니다.
정답 2개 중 1개를 맞췄습니다.
이 ROC 곡선의 AUC는 0~0.5입니다. 이는 임의 양성 예제가 임의 음성 예제보다 상위일 확률이 50% 이하라는 의미입니다. 해당하는 모델은 실제로 임의 추측보다도 예측 성능이 떨어집니다. ROC 곡선이 이렇게 나타나면 데이터에 버그가 있다는 의미일 수 있습니다.
다시 시도해 보세요.
이 ROC 곡선의 AUC는 0.5~1.0입니다. 이는 임의 양성 예제가 임의 음성 예제보다 상위일 확률이 50% 이상이라는 의미입니다. 실제 이진 분류 AUC 값은 대개 이 범위에 속합니다.
정답 2개 중 2개를 맞췄습니다.
이 ROC 곡선의 AUC는 0.5입니다. 이는 임의 양성 예제가 임의 음성 예제보다 높은 순위일 확률이 50%임을 의미합니다. 따라서 해당하는 분류 모델의 예측 능력이 임의 추측보다 낫지 않으므로 이 모델은 기본적으로 가치가 없습니다.
다시 시도해 보세요.
이 곡선은 최악의 ROC 곡선입니다. 모든 음성 예측이 모든 양성 예측보다 상위에 있고, 곡선의 AUC는 0.0입니다. 모든 예측을 반대로 뒤집으면(음성을 양성으로, 양성을 음성으로) 완벽한 분류자를 가지게 됩니다.
다시 시도해 보세요.
AUC 및 조정 예측
아래 옵션을 살펴보세요.
주어진 모델에서 모든 예측에 2.0을 곱하면(예를 들어 모델이 0.4를 예측하는 경우 2.0을 곱하여 0.8이라는 예측을 산출) AUC로 측정한 모델의 예측 성능이 어떻게 바뀔까요?
이제 예측값이 완전히 틀리기 때문에 AUC가 쓸모없게 됩니다.
흥미로운 사실은, 예측값이 서로 달라도(그래서 진실과는 거리가 멀 수 있지만) 이 예측값 모두에 2.0을 곱하면 예측값의 상대적인 순서는 동일하게 유지된다는 점입니다. AUC는 상대적인 순위만 고려하기 때문에, 예측의 단순한 조정에는 영향을 받지 않습니다.
다시 시도해 보세요.
이렇게 되면 AUC 값이 유용해집니다. 예측값이 모두 서로 멀리 떨어져 있기 때문입니다.
예측값의 확산 정도는 AUC에 실제로 영향을 미치지 않습니다. 임의로 뽑은 참양성의 예측값이 임의로 뽑은 음성의 점수보다 아주 조금만 커도 성공으로 계산되어 전체 AUC 점수에 기여합니다.
다시 시도해 보세요.
바뀌지 않습니다. AUC는 상대적인 예측 점수만 고려합니다.
AUC는 상대적인 예측을 바탕으로 하기 때문에 상대적인 순위를 유지하는 예측을 변환해도 AUC에는 영향을 주지 않습니다. 하지만 제곱 오차, 로그 손실, 예측 편향(추후에 설명) 등 다른 측정항목에는 적용되지 않습니다.
정답입니다.
분류: 예측 편향
로지스틱 회귀 예측은 편향되지 않아야 합니다. 즉, 다음과 같아야 합니다.
'예측 평균' ≈ '관찰 평균'
예측 편향은 두 평균이 서로 얼마나 멀리 떨어져 있는지 측정하는 수량입니다. 즉, 다음과 같습니다.
$$ 예측\,편향\,=\,예측\,평균\,-\,이\,데이터\,세트의\,라벨\,평균 $$
★ 참고: '예측 편향'은 편향 (wx + b 의 b)과 다른 수량입니다.
0이 아닌 유의미한 예측 편향은 모델 어딘가에 버그가 있다는 의미입니다. 이는 양성인 라벨이 발생하는 빈도에 있어서 모델이 잘못되었음을 보여줍니다.
평균적으로 전체 이메일의 1%가 스팸이라고 예를 들어 보겠습니다. 어떤 이메일에 대해 전혀 모르는 경우 메일의 1%는 스팸일 수 있다고 예측해야 합니다. 마찬가지로 적절한 스팸 모델은 이메일의 1%가 스팸일 수 있다고 평균적으로 예측해야 합니다. 다시 말해서 각 이메일이 스팸으로 예측될 가능성의 평균을 내면 결과는 1%여야 합니다. 그런데 모델이 스팸 가능성을 평균 20%로 예측한다면 예측 편향을 드러내는 것으로 결론을 내릴 수 있습니다.
예측 편향이 나타날 수 있는 근본 원인은 다음과 같습니다.
- 불완전한 특성 세트
- 노이즈 데이터 세트
- 결함이 있는 파이프라인
- 편향된 학습 샘플
- 지나치게 강한 정규화
예측 편향을 줄이기 위해 모델의 결과를 조정하는 캘리브레이션 레이어(calibration layer)를 추가하여 학습한 모델을 사후 처리하는 방법으로 예측 편향을 수정하고자 할 수 있습니다. 예를 들어 모델의 편향이 +3%인 경우 평균 예측을 3% 낮추는 캘리브레이션 레이어를 추가할 수 있습니다. 하지만 캘리브레이션 레이어 추가는 다음과 같은 이유로 바람직하지 않습니다.
- 원인이 아니라 증상만을 수정합니다.
- 최신 상태로 유지하기 어려운 불안정한 시스템이 구축됩니다.
가능하면 캘리브레이션 레이어를 사용하지 않는 것이 좋습니다. 캘리브레이션 레이어를 사용하는 프로젝트는 캘리브레이션 레이어를 사용하여 모델의 모든 문제를 수정하기 때문에 이에 대한 의존도가 높아지는 경향이 있습니다. 결국 캘리브레이션 레이어를 유지 관리하느라 더욱 어려워질 수 있습니다.
★ 참고: 적절한 모델의 편향은 대개 0에 가깝습니다. 그러나 예측 편향이 낮다고 해서 모델이 적합하다는 것을 증명하는 것은 아닙니다. 매우 부적절한 모델의 경우에도 예측 편향이 0일 수 있습니다. 예를 들어 모든 예제의 평균 값만 예측하는 모델은 편향이 0이어도 부적합한 모델입니다.
버케팅 및 예측 편향
로지스틱 회귀는 0과 1 사이의 값을 예측합니다. 하지만 라벨이 있는 모든 예제는 정확히 0(예를 들면 '스팸 아님'을 의미함) 또는 정확히 1(예를 들면 '스팸'을 의미함)입니다. 따라서 예측 편향을 검사할 때 예제 하나만을 토대로 해서는 예측을 정확하게 판단할 수 없습니다. 예제의 '버킷'을 대상으로 예측 편향을 검사해야 합니다. 즉, 로지스틱 회귀의 예측 편향은 예제들을 충분히 모아서 예측된 값(예: 0.392)을 관찰된 값(예: 0.394)과 비교할 수 있는 경우에만 의미가 있습니다.
다음 방법으로 버킷을 구성할 수 있습니다.
- 타겟 예측을 선형으로 분류
- 분위 형성
다음과 같은 특정 모델의 캘리브레이션 플롯(calibration plot)을 가정해 보겠습니다. 각 점은 값 1,000개의 버킷을 나타냅니다. 축의 의미는 다음과 같습니다.
- x축은 모델이 해당 버킷을 예측한 값의 평균을 나타냅니다.
- y축은 해당 버킷의 데이터 세트에 있는 값의 실제 평균을 나타냅니다.
두 축은 대수 척도입니다.
그림 8. 예측 편향 곡선(대수 척도)
모델의 일부에서만 예측이 저조한 이유가 무엇일까요? 가능한 몇 가지 이유는 다음과 같습니다.
- 학습 세트가 데이터 공간의 특정 하위 집합을 충분히 대표하지 않습니다.
- 데이터 세트의 일부 하위 집합이 다른 하위 집합보다 노이즈가 많습니다.
- 모델이 지나치게 정규화되어 있습니다. (람다 값을 줄여보세요.)
주요 용어