분류: 예측 편향

로지스틱 회귀 예측은 편향되지 않아야 합니다. SMART는 각각 다음을 의미합니다.

'예측 평균' ≤ '관찰 평균'

예측 편향은 두 평균이 얼마나 차이가 나는지 측정하는 수량입니다. SMART는 각각 다음을 의미합니다.

$$\text{prediction bias} = \text{average of predictions} - \text{average of labels in data set}$$

0이 아닌 높은 예측 편향은 모델 어딘가에 버그가 있음을 나타냅니다. 모델이 양성 라벨이 발생하는 빈도에 관해 잘못을 나타내기 때문입니다.

예를 들어 평균적으로 모든 이메일의 1% 가 스팸이라는 것을 알고 있다고 가정해 보겠습니다. 특정 이메일을 전혀 모르는 경우 스팸일 확률이 1% 라고 예측해야 합니다. 마찬가지로 좋은 스팸 모델은 이메일의 평균 1% 가 스팸일 것이라고 예측해야 합니다. (즉, 각 개별 이메일의 스팸 가능성을 예측한 결과 평균값은 1%입니다.) 그 대신 모델의 평균 예측이 스팸일 가능성이 20% 라면 예측 편향이 나타난다고 결론을 내릴 수 있습니다.

예측 편향의 가능한 근본 원인은 다음과 같습니다.

  • 불완전한 특성 세트
  • 노이즈가 많은 데이터 세트
  • 버기 파이프라인
  • 편향된 학습 샘플
  • 지나치게 강력한 정규화

예측 편향을 줄이기 위해 모델의 출력을 조정하는 보정 레이어를 추가하여 학습된 모델을 후처리하여 예측 편향을 수정하고자 할 수 있습니다. 예를 들어 모델의 편향이 +3% 라면 평균 예측을 3% 낮추는 보정 레이어를 추가할 수 있습니다. 하지만 보정 레이어를 추가하는 것은 다음과 같은 이유로 바람직하지 않습니다.

  • 원인이 아닌 증상만 개선하는 중입니다.
  • 불안정한 시스템을 만들었는데 이제 최신 상태를 유지해야 합니다.

가능한 경우 보정 레이어는 사용하지 않습니다. 보정 레이어를 사용하는 프로젝트는 이러한 레이어에 의존하는 경우가 많습니다. 보정 레이어를 사용하여 모델의 모든 문제를 해결합니다. 결국, 보정 레이어를 유지하는 것이 악몽이 될 수 있습니다.

버케팅 및 예측 편향

로지스틱 회귀는 0과 1 사이의 값을 예측합니다. 그러나 라벨이 지정된 모든 예시는 정확히 0 (예: 스팸 아님) 또는 정확히 1 (예: 'spam’)입니다. 따라서 예측 편향을 검토할 때는 한 가지 예만 기반으로 예측 편향을 정확하게 판단할 수는 없으며, 예시의 '버킷'에 대한 예측 편향을 검사해야 합니다. 즉, 로지스틱 회귀의 예측 편향은 예측된 값 (예: 0.392)과 관찰된 값 (예: 0.394)을 비교할 수 있을 만큼 충분한 예시를 그룹화할 때만 의미가 있습니다.

다음 방법으로 버킷을 구성할 수 있습니다.

  • 타겟 예측을 선형으로 분할
  • 분위수 형성

특정 모델의 다음과 같은 보정 플롯을 고려하세요. 각 점은 1,000개의 값으로 구성된 버킷을 의미합니다. 축의 의미는 다음과 같습니다.

  • x축은 모델이 해당 버킷에 예측한 값의 평균을 나타냅니다.
  • y축은 해당 버킷에 대한 데이터 세트의 실제 값 평균을 나타냅니다.

두 축 모두 대수 척도입니다.

X축은 예측이고 Y축은 라벨입니다. 예측값이 중간인 경우와 높은 경우, 예측 편향이 미미합니다. 낮은 예측 값은 예측 편향이 상대적으로 높습니다.

그림 8. 예측 편향 곡선 (대수 배율)

모델의 일부에서만 예측이 이렇게 저조한 이유는 무엇인가요? 다음은 몇 가지 가능성입니다.

  • 학습 세트는 데이터 공간의 특정 하위 집합을 충분히 나타내지 않습니다.
  • 데이터 세트의 일부 하위 집합은 다른 데이터 세트보다 노이즈가 많습니다.
  • 모델이 지나치게 정규화되었습니다. 람다의 값을 줄이는 것이 좋습니다.