과적합·편향·윤리: AI 결과를 그대로 믿으면 안 되는 이유
21강. 과적합·편향·윤리: AI 결과를 그대로 믿으면 안 되는 이유
1. 이번 강의에서 해결할 문제
학습 점수만 높은 모델이나 특정 모드 데이터가 많은 모델은 새 사용자와 소수 집단에서 실패할 수 있습니다. 숫자 하나로 배포 결정을 내려서는 안 됩니다.
2. 학습 목표
3. 핵심 개념
과적합은 학습 사례의 잡음까지 외워 새 데이터 성능이 떨어지는 상태입니다. 편향은 데이터 수집 범위, 누락, 레이블 정의, 모델과 의사결정 단계에서 생길 수 있습니다. player_id도 다른 정보와 결합하면 개인을 추적할 수 있으므로 목적·보관 기간·접근 권한·삭제 절차가 필요합니다.
4. 단계별 실습
1. 예제 파일 작성
실행 환경: 코드 편집기
실행 위치: C:\dev\game-data-lab
실행 전 확인: 기존 파일이 있으면 내용을 덮어쓰지 말고 Git diff로 이번 강의 변경 범위를 확인합니다. 실제 개인정보·API Key·토큰은 사용하지 않습니다.
대상 파일: src/audit_model_limits.py
import pandas as pd
from sklearn.metrics import accuracy_score, precision_score, recall_score
results = pd.DataFrame({
"game_mode": ["ranked", "ranked", "casual", "casual"],
"actual": [1, 0, 1, 0],
"predicted": [1, 1, 0, 0],
})
for mode, group in results.groupby("game_mode"):
print(mode, {
"n": len(group),
"accuracy": accuracy_score(group["actual"], group["predicted"]),
"precision": precision_score(group["actual"], group["predicted"], zero_division=0),
"recall": recall_score(group["actual"], group["predicted"], zero_division=0),
})
print("작은 표본이므로 차이를 일반화하지 않습니다.")
2. 실행과 결과 확인
실행 환경: Windows PowerShell
실행 위치: C:\dev\game-data-lab
실행 전 확인: Python 코드는 프로젝트의 .venv 인터프리터를 사용하고 입력 파일 경로가 존재하는지 확인합니다.
대상: src/audit_model_limits.py과 이 강의가 만드는 출력
Set-Location C:\dev\game-data-lab
.\.venv\Scripts\python.exe .\src\audit_model_limits.py
예상 결과: 모드별 표본 수와 평가 지표가 출력되며 작은 집단 평가의 불안정성을 확인합니다.
5. 분석 또는 모델이 동작하는 이유
전체 성능은 특정 집단의 실패를 평균으로 숨길 수 있습니다. 집단별 평가는 차이를 발견하는 출발점이지만 표본이 작으면 불확실성이 크므로 추가 수집과 검토가 필요합니다.
6. 자주 하는 실수와 해결법
7. 직접 실습
8. 이해 점검 질문 3개
9. 핵심 요약
과적합·편향·윤리: AI 결과를 그대로 믿으면 안 되는 이유 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.