25분
임계값 설정 전략: F1 최적화 & 비용 기반
Day 4: 이상 탐지 (비지도 학습)
임계값 설정 전략: F1 최적화 & 비용 기반
비전 AI — 제조 외관검사 시스템 > Day 4: 이상 탐지 (비지도 학습)
학습 목표
이상 탐지에서 임계값이 결과에 미치는 영향을 이해한다 F1 최적화와 비용 기반 임계값 설정 방법을 비교할 수 있다 제조 현장에서의 임계값 운영 전략을 수립할 수 있다
임계값: 양품과 불량의 경계선
이상 점수가 나왔다. 그런데 얼마 이상이면 불량인가? 이 경계선(임계값)이 검사 시스템의 성패를 좌우한다.
임계값에 따른 변화
[임계값이 낮으면]
→ 민감한 검사: 작은 이상도 잡아냄
→ 미검출 감소 (좋음)
→ 과검출 증가 (나쁨) → 양품 폐기 비용 증가
[임계값이 높으면]
→ 관대한 검사: 확실한 불량만 잡음
→ 과검출 감소 (좋음)
→ 미검출 증가 (나쁨) → 클레임/리콜 위험!
임계값 설정 방법 3가지
[방법 1: 통계 기반]
임계값 = 정상 점수의 평균 + k × 표준편차
k=2: 약 95% 정상 통과 (느슨)
k=3: 약 99.7% 정상 통과 (표준)
k=4: 약 99.99% 정상 통과 (엄격)
장점: 간단, 직관적
단점: 정상 분포가 가우시안이 아닐 수 있음
[방법 2: F1 최적화]
검증 데이터(정상+불량)에서 F1이 최대인 임계값 선택
for threshold in np.arange(min_score, max_score, step):
predictions = scores > threshold
f1 = f1_score(labels, predictions)
→ f1이 최대인 threshold 선택
장점: 성능 최적
단점: 불량 데이터가 필요 (소량이라도)
[방법 3: 비용 기반 (제조 추천!)]
비용 최소화 기준으로 임계값 결정
미검출 비용(C_fn): 불량 1개 유출 = 클레임 처리비
과검출 비용(C_fp): 양품 1개 폐기 = 재료비 + 가공비
총 비용 = FN × C_fn + FP × C_fp
→ 총 비용이 최소인 임계값 선택
예시:
미검출 1건 = 100만 원 (클레임)
과검출 1건 = 5만 원 (폐기)
비율 = 20:1
→ 미검출을 줄이는 방향으로 임계값 설정 (낮게)
제조 현장 운영 전략
| 전략 | 임계값 | 적용 상황 |
|---|---|---|
| 보수적 | 낮음 (민감) | 안전 부품, 의료 기기 |
| 균형 | F1 최적 | 일반 제품 |
| 효율적 | 높음 (관대) | 비용이 낮은 소모품 |
[2단계 검사 전략]
Stage 1: 낮은 임계값 (자동 검사)
→ 확실한 양품만 통과
→ 의심 제품은 Stage 2로
Stage 2: 검사원이 육안 확인
→ 의심 제품만 사람이 판단
→ AI + 사람의 하이브리드
효과: 미검출 최소화 + 과검출 완화AI로 학습하기 — 꿀팁
🤖비용 기반 임계값 최적화 계산기 코드 생성AI 학습 팁
제조 검사에서 과검(양품을 불량으로 판정)과 미검(불량을 양품으로 판정)의 비용이 다르므로, 비용 함수를 기반으로 최적 임계값을 자동 계산하는 코드를 생성한다.
자동차 엔진 부품 이상 탐지 시스템의 임계값 최적화 Python 코드를 작성해줘. 다음 비용 구조를 가정해: 미검(불량을 양품으로 통과) 비용: 리콜 발생 시 부품 1개당 500만원, 과검(양품을 불량으로 폐기) 비용: 부품 1개당 3만원. 코드에 다음을 포함해줘: 1) Precision-Recall 곡선에서 F1 최적 임계값 계산 함수, 2) 총 비용(FN × 500만 + FP × 3만)을 최소화하는 비용 기반 임계값 계산 함수, 3) 두 방법의 임계값 비교 및 예상 비용 출력, 4) 미검/과검 비용 비율 변화에 따른 최적 임계값 민감도 분석 차트(matplotlib). 실행 예시 데이터(이상 점수 배열, 레이블)도 포함해서 바로 실행 가능하게 작성해줘.
이 팁이 도움이 됐나요?
핵심 포인트
- • 임계값은 검사 시스템의 민감도를 결정하는 핵심 파라미터
- • 비용 기반 임계값: 미검출/과검출 비용 비율로 최적점 결정
- • 2단계 검사(AI 자동 + 검사원 확인)가 제조 현장의 베스트 프랙티스
- • 안전 부품은 보수적(낮은 임계값), 소모품은 효율적(높은 임계값)