Cert Notes/ 출퇴근 학습 노트
로드맵
KOEN
CLF-C02 · FoundationalCloud Practitioner - Foundational
DVA-C02 · AssociateDeveloper - Associate
SAA-C03 · AssociateSolutions Architect - Associate
SOA-C02 · AssociateCloudOps Engineer - Associate
SAP-C02 · ProfessionalSolutions Architect - Professional
DOP-C02 · ProfessionalDevOps Engineer - Professional
SCS-C03 · SpecialtySecurity - Specialty
MLA-C01 · AssociateMachine Learning Engineer - Associate
  • Week 1
    • 1.ML 수명주기와 ML 엔지니어의 역할
    • 2.ML 문제 유형과 평가 지표 기초
    • 3.AWS ML 스택 한눈에 보기
    • 4.SageMaker 개요: Studio, 학습/추론, 빌트인 알고리즘
    • 5.Week 1 종합 — ML 기초·AWS 스택 복습
  • Week 2
    • 1.데이터 수집: S3 데이터 레이크, Kinesis, 배치 수집, 데이터 포맷
    • 2.데이터 카탈로그·ETL: AWS Glue와 DataBrew
    • 3.쿼리·탐색: Athena, Redshift, EDA 기초
    • 4.데이터 저장 전략: 파티셔닝·포맷 최적화·학습용 준비
    • 5.Week 2 종합 — 데이터 수집·저장 복습
  • Week 3
    • 1.특성 공학: 모델이 읽을 수 있는 숫자로 바꾸는 기술
    • 2.SageMaker Data Wrangler: 코드 없이 끝내는 데이터 준비
    • 3.SageMaker Feature Store: 특성을 자산으로 관리하기
    • 4.데이터 편향·품질: Clarify, 불균형 처리, 데이터 분할
    • 5.Week 3 종합 — 특성 공학·데이터 품질 복습
  • Week 4
    • 1.SageMaker 학습 작업(Training Job): Estimator, 입력 채널, 인스턴스, Spot
    • 2.빌트인 알고리즘: XGBoost, Linear Learner, 이미지·텍스트, 입력 포맷
    • 3.하이퍼파라미터 튜닝(AMT): 베이지안·랜덤·그리드, 조기 종료, 워밍 스타트
    • 4.JumpStart·사전학습 모델·전이학습 + 학습 비용 최적화
    • 5.Week 4 종합: 모델 개발 1 — SageMaker 학습 복습
  • Week 5
    • 1.커스텀 학습: 스크립트 모드, BYOC, 프레임워크 컨테이너
    • 2.분산 학습: 데이터 병렬과 모델 병렬
    • 3.디버깅과 프로파일링: SageMaker Debugger와 Profiler
    • 4.모델 평가: 지표 선택, 과적합, 교차검증, 혼동행렬
    • 5.Week 5 종합: 모델 개발 2 복습
  • Week 6
    • 1.추론 옵션 개요: 4가지 배포 방식과 선택 기준
    • 2.실시간 엔드포인트: 구성, 오토스케일링, 인스턴스 선택
    • 3.비용·고급 추론: 멀티모델, 멀티컨테이너, 추론 파이프라인, Inferentia
    • 4.배치·서버리스 추론 심화: 대량 처리 튜닝과 비용 트레이드오프
    • 5.Week 6 종합: 추론 배포 복습
  • Week 7
    • 1.SageMaker Pipelines: 단계, DAG, 파라미터, 조건 단계
    • 2.Model Registry & 모델 거버넌스: 모델 패키지 그룹, 승인 워크플로, 버전 관리
    • 3.CI/CD for ML: SageMaker Projects, CodePipeline/CodeBuild 연계, 자동 배포
    • 4.IaC & 워크플로 오케스트레이션: CloudFormation/CDK, Step Functions, EventBridge, Airflow(MWAA)
    • 5.Week 7 종합: MLOps 복습
  • Week 8
    • 1.SageMaker Model Monitor: 데이터 품질·모델 품질 드리프트
    • 2.편향·설명가능성 드리프트: Clarify로 운영 중 감시
    • 3.운영 모니터링: CloudWatch 지표·알람, 엔드포인트 지연·오류, 로깅
    • 4.재학습·모델 유지보수: 자동 재학습 파이프라인과 A/B·섀도 테스트
    • 5.Week 8 종합: ML 솔루션 모니터링·유지보수 복습
  • Week 9
    • 1.SageMaker IAM 보안: 실행 역할과 최소 권한
    • 2.네트워크 격리: VPC 모드 SageMaker와 PrivateLink
    • 3.데이터·모델 보호: KMS 암호화와 Secrets
    • 4.ML 비용 최적화: Spot 학습부터 비용 모니터링까지
    • 5.Week 9 종합: 보안·거버넌스·비용 복습
  • Week 10
    • 1.도메인 1·2 통합 복습: 데이터 준비 + 모델 개발
    • 2.도메인 3·4 통합 복습: 배포·오케스트레이션 + 모니터링·보안
    • 3.전체 모의고사 페이스: 4개 도메인 종합 시나리오
    • 4.자주 틀리는 함정·키워드: "요구사항 → SageMaker 기능" 번역표
    • 5.D-Day 마무리: 시험 구성·시간 배분·시나리오 분해 전략
AIF-C01 · FoundationalAI Practitioner - Foundational
DEA-C01 · AssociateData Engineer - Associate
MLS-C01 · SpecialtyMachine Learning - Specialty
합격 후기
← MLA-C01/Week 1/Day 2
MLA-C01· AssociateWeek 1 · Day 2읽기 약 13분

Day 2 - ML 문제 유형과 평가 지표 기초

📌 핵심 정리

  • ML 문제는 학습 방식(지도/비지도/강화)과 출력 형태(분류/회귀/군집)로 나뉜다. 판별이 모든 선택의 출발점.
  • 판별 규칙: 라벨이 있으면 지도, 없으면 비지도, 보상으로 배우면 강화.
  • 분류 평가는 **혼동 행렬(TP/FP/FN/TN)**에서 출발한다. 정확도 한 숫자에 속지 마라.
  • 불균형 데이터에서 정확도는 함정 — 사기 0.1%면 "전부 정상"도 99.9%다. 정밀도·재현율·F1·PR-AUC를 본다.
  • 비즈니스가 지표를 정한다 — 놓치면 치명적이면 재현율, 오탐이 곤란하면 정밀도.

학습 방식: 라벨이 있는가, 보상이 있는가

새 프로젝트에서 "고객이 이탈할지 예측해줘"라는 요구를 받으면, ML 엔지니어가 가장 먼저 할 일은 코드 작성이 아니라 이게 무슨 종류의 문제인가를 판별하는 것이다. 문제 유형을 잘못 짚으면 그 뒤 알고리즘·지표 선택이 전부 어긋난다.

ML 알고리즘은 "무엇으로부터 배우는가"에 따라 세 갈래로 나뉜다.

학습 방식학습 신호대표 문제AWS 빌트인 예
지도 학습 (Supervised)정답 라벨분류, 회귀XGBoost, Linear Learner
비지도 학습 (Unsupervised)없음 (구조 발견)군집, 차원 축소, 이상탐지K-Means, PCA, RCF
강화 학습 (Reinforcement)보상(reward)순차적 의사결정SageMaker RL

판별은 단순하다.

  • "고객 이탈 예측" → 과거 이탈 여부(라벨)가 있다 → 지도 학습
  • "고객을 비슷한 그룹으로 묶기" → 정답 그룹이 없다 → 비지도(군집)
  • "게임 에이전트가 점수를 최대화" → 시행착오와 보상 → 강화 학습

💡 관련 이론: 지도 학습은 입력 X에서 출력 Y로의 함수 f(X)=Y를 근사하는 문제다. 라벨링 비용이 비싸기 때문에 실무에서는 적은 라벨로 학습하는 준지도 학습(semi-supervised)이나, 데이터 자체에서 라벨을 만들어내는 자기지도 학습(self-supervised, 대규모 언어모델의 학습 방식)이 중요해졌다. AWS SageMaker Ground Truth가 라벨링을 자동화·외주화하는 서비스인 이유가 이 라벨 비용 문제 때문이다.

출력 형태: 분류 vs 회귀 vs 군집

지도 학습은 출력이 무엇이냐에 따라 다시 둘로 나뉜다.

구분분류 (Classification)회귀 (Regression)군집 (Clustering)
라벨있음있음없음
출력이산적 범주연속적 숫자그룹 번호
예이탈/유지, 스팸/정상내일 매출, 집값고객 세그먼트
대표 지표Precision/Recall/F1/AUCRMSE, MAE, R²Silhouette, Inertia
XGBoost objectivebinary:logisticreg:squarederror(해당 없음)
# 분류: XGBoost로 이탈 예측 (출력 = 확률 → 이산 라벨)
estimator = sagemaker.estimator.Estimator(
    image_uri=xgboost_image, role=role,
    instance_count=1, instance_type="ml.m5.xlarge",
    hyperparameters={
        "objective": "binary:logistic",   # 이진 분류
        "num_round": 100, "max_depth": 5,
    },
)
 
# 회귀였다면 objective만 바꾸면 된다
#   "objective": "reg:squarederror"     # 연속값 예측

같은 XGBoost라도 objective 하이퍼파라미터 하나로 분류와 회귀가 갈린다. 문제 유형을 잘못 판별하면 여기서부터 어긋난다.

🔍 더 깊이: 분류라도 출력이 "확률"인지 "라벨"인지 구분해야 한다. binary:logistic은 0~1 확률을 반환하고, 이를 라벨로 바꾸려면 **임계값(threshold)**이 필요하다. 기본 0.5지만, 이탈 고객을 놓치면 안 되는 비즈니스라면 임계값을 낮춰 더 많은 사람을 "이탈 위험"으로 분류한다. 임계값 조정이 바로 다음에 볼 정밀도-재현율 트레이드오프의 핵심이다.

분류 평가의 출발점: 혼동 행렬

분류 모델을 평가하려면 먼저 **혼동 행렬(confusion matrix)**을 이해해야 한다. 예측과 실제를 교차한 2x2 표다.

                 실제 양성(Positive)   실제 음성(Negative)
예측 양성         TP (참 양성)          FP (거짓 양성)
예측 음성         FN (거짓 음성)        TN (참 음성)

              ┌──────────── 정밀도 = TP / (TP + FP)  ← 예측 양성 행 기준
              │
   TP  FP ────┘
   FN  TN ────┐
              │
              └──────────── 재현율 = TP / (TP + FN)  ← 실제 양성 열 기준

"이탈 예측" 예시로 보면 이렇게 읽는다.

칸의미이탈 예측에서
TP양성을 양성으로 맞춤이탈할 사람을 이탈로 예측
FP음성을 양성으로 잘못 봄유지할 사람에게 헛되이 쿠폰 발송
FN양성을 놓침이탈할 사람을 놓쳐 고객 이탈
TN음성을 음성으로 맞춤유지할 사람을 유지로 예측

모든 지표는 이 네 칸의 조합이다.

정확도의 함정과 정밀도·재현율

정확도(Accuracy) = (TP+TN) / 전체. 가장 직관적이지만 가장 위험하다. 사기 거래가 0.1%인 데이터에서 "전부 정상"이라 찍는 모델도 정확도 99.9%다. 이걸 불균형 데이터의 정확도 함정이라 한다.

그래서 양성 클래스에 초점을 둔 두 지표가 필요하다.

  • 정밀도(Precision) = TP / (TP+FP): "양성이라 한 것 중 진짜 양성 비율." 오탐(FP)을 줄이고 싶을 때.
  • 재현율(Recall) = TP / (TP+FN): "진짜 양성 중 잡아낸 비율." 놓침(FN)을 줄이고 싶을 때.

둘은 트레이드오프 관계다. 임계값을 낮추면 양성을 많이 예측해 재현율↑ 정밀도↓, 높이면 반대다.

비즈니스 상황더 비싼 오류더 중요한 지표이유
암 진단FN(환자를 놓침)재현율놓치면 생명과 직결
스팸 필터FP(정상을 스팸 처리)정밀도중요 메일이 사라지면 안 됨
사기 탐지FN(사기를 놓침)재현율 우선, 정밀도 균형손실 방지 vs 정상 고객 불편
광고 타깃팅FP(관심 없는 사람에 노출)정밀도예산 낭비
설비 고장 예측FN(고장을 놓침)재현율라인 정지 비용이 점검 비용보다 큼

지표를 고르는 한 줄 원칙: FN과 FP 중 비즈니스적으로 더 비싼 쪽을 줄이는 지표를 최우선한다.

📚 사례: COMPAS는 미국 법원이 쓰던 재범 예측 시스템이다. 2016년 ProPublica 보도에서 흑인 피고에 대해 "재범 위험 높음"으로 잘못 분류하는 거짓 양성(FP) 비율이 백인보다 약 2배 높다는 것이 드러났다. 전체 정확도는 인종 간 비슷했지만, FP/FN의 분포가 집단마다 달랐던 것이다. 정확도 한 숫자만 보면 놓치는 공정성 문제를 혼동 행렬 단위로 봐야 잡힌다는 교훈이다.

F1과 AUC: 하나의 숫자로 요약하기

정밀도와 재현율을 둘 다 신경 쓰고 싶을 때 F1 점수를 쓴다. 둘의 조화평균이다.

F1 = 2 * (Precision * Recall) / (Precision + Recall)

조화평균을 쓰는 이유는 둘 중 하나라도 낮으면 F1이 크게 떨어지기 때문이다. 정밀도 0.9·재현율 0.1이면 산술평균은 0.5지만 F1은 0.18이다. "한쪽만 좋아서는 안 된다"를 강제한다.

**AUC(ROC 곡선 아래 면적)**는 임계값에 무관하게 모델의 분별력을 측정한다. ROC 곡선은 모든 임계값에서의 재현율(TPR)과 거짓 양성률(FPR)을 그린 것이고, 그 아래 면적이 AUC다.

AUC 값해석
1.0완벽한 분류
0.7~0.9실무에서 흔히 보는 쓸 만한 수준
0.5무작위 추측과 동일
< 0.5거꾸로 예측하는 셈 (뒤집으면 오히려 낫다)

어느 지표를 언제 보는가 — 시험 판별에 바로 쓰이는 표다.

상황봐야 할 지표이유
클래스가 균형 잡혀 있다Accuracy직관적이고 왜곡이 적음
극단적 불균형PR-AUC, F1, RecallAccuracy·ROC-AUC가 낙관적으로 보임
임계값을 아직 안 정했다ROC-AUC임계값 무관 순위 능력 비교
임계값이 정해졌다Precision/Recall/F1실제 운영 시점의 성능
오류의 비용이 비대칭비싼 오류에 대응하는 지표비즈니스 손실 최소화

💡 관련 이론: AUC는 "무작위로 양성 샘플 하나와 음성 샘플 하나를 뽑았을 때, 모델이 양성에 더 높은 점수를 줄 확률"로도 해석된다. 임계값을 정하기 전 모델 자체의 순위 매기기 능력을 보는 지표라, 임계값이 아직 정해지지 않은 모델 비교 단계에서 유용하다. 다만 극단적 불균형 데이터에서는 AUC가 낙관적으로 나올 수 있어 PR-AUC(정밀도-재현율 곡선)를 함께 본다.

회귀의 평가 지표

회귀는 연속값이라 혼동 행렬이 없고 "예측이 실제와 얼마나 가까운가"를 잰다.

지표계산이상치 민감도단위언제 고르나
MAE오차 절대값의 평균낮음 (robust)원래 값과 같음이상치가 많고 영향을 줄이고 싶을 때
MSE오차 제곱의 평균높음제곱 단위큰 오차를 강하게 벌하고 싶을 때
RMSEMSE의 제곱근높음원래 값과 같음MSE의 장점 + 해석 쉬움
R²설명된 분산 비율중간무차원(0~1)모델이 변동을 얼마나 설명하나
  • 큰 오차를 특히 피해야 하는 문제(재고 예측 등)라면 RMSE.
  • 이상치가 많아 robust해야 하면 MAE.
  • 서로 다른 데이터셋의 모델을 비교할 땐 단위 없는 R²가 편하다.

⚠️ 함정: RMSE와 MAE는 "둘 다 낮을수록 좋다"는 점은 같지만 값의 크기를 직접 비교하면 안 된다. 같은 데이터에서 RMSE는 항상 MAE 이상이며, 둘의 격차가 크다면 소수의 큰 오차(이상치)가 존재한다는 신호다.

숫자로 확인하는 혼동 행렬

지표를 외우기보다 한 번 계산해보면 오래 간다. 사기 탐지 모델을 1,000건에 적용한 결과가 다음과 같다고 하자.

                 실제 사기(30건)      실제 정상(970건)
예측 사기          TP = 18              FP = 42
예측 정상          FN = 12              TN = 928
지표계산값읽는 법
Accuracy(18+928)/10000.946전부 정상으로 찍어도 0.97 — 의미 없음
Precision18/(18+42)0.300사기라 외친 것 중 30%만 진짜
Recall18/(18+12)0.600실제 사기의 60%만 잡음, 12건 놓침
F12×0.3×0.6/(0.3+0.6)0.400정밀도가 낮아 크게 끌려 내려감
  • 정확도 0.946은 "전부 정상"으로 찍은 모델(0.970)보다도 낮다. 불균형에서 정확도는 기준선조차 못 넘는 착시를 준다.
  • 임계값을 낮추면 TP와 FP가 함께 늘어 Recall↑ Precision↓로 움직인다.
  • 사기 1건의 손실이 오탐 1건의 처리 비용보다 훨씬 크다면 Recall을 올리는 방향이 맞다.

다중 분류의 평균 방식

클래스가 셋 이상이면 정밀도·재현율을 클래스마다 계산한 뒤 평균을 낸다. 평균 방식이 결론을 바꾼다.

평균 방식계산소수 클래스 반영언제
Macro클래스별 지표를 단순 평균크게 반영(모든 클래스 동등)소수 클래스도 똑같이 중요할 때
Weighted클래스 표본 수로 가중 평균적게 반영전체 성능을 대표시키고 싶을 때
Micro전체 TP/FP/FN을 합쳐 한 번 계산적게 반영전체 예측 건수 기준 성능

⚠️ 함정: 클래스가 불균형한 다중 분류에서 weighted 평균만 보면 다수 클래스 성능에 가려 소수 클래스의 실패가 보이지 않는다. "소수 클래스를 잘 잡는지"가 목적이면 macro 평균이나 클래스별 지표를 따로 확인해야 한다.

지표를 잘못 고르면 생기는 일

잘못된 선택결과
불균형 데이터에 Accuracy아무것도 못 잡는 모델을 "좋다"고 판정
암 진단에 Precision 최우선확실한 환자만 양성으로 골라 다수를 놓침
스팸 필터에 Recall 최우선정상 메일까지 대량 차단
회귀 문제에 Accuracy애초에 계산이 성립하지 않음
임계값이 정해졌는데 ROC-AUC만 봄실제 운영 시점의 성능을 모름

다음 글에서는 이 문제들을 실제로 푸는 도구 — AWS의 ML 스택 전체 — 를 조감한다.

📖 용어

  • 라벨(label) : 데이터에 붙어 있는 정답. "이 고객은 이탈함"처럼 모델이 맞혀야 할 값.
  • 혼동 행렬 : 예측과 실제를 교차한 2x2 표. TP·FP·FN·TN 네 칸으로 모든 분류 지표를 만든다.
  • 거짓 양성(FP) : 아닌데 맞다고 한 경우. 정상 메일을 스팸으로 보낸 것.
  • 거짓 음성(FN) : 맞는데 아니라고 한 경우. 사기를 정상으로 흘려보낸 것.
  • 정밀도(Precision) : 양성이라고 외친 것 중 실제로 맞은 비율. 헛발질을 줄이는 지표.
  • 재현율(Recall) : 실제 양성 중 잡아낸 비율. 놓침을 줄이는 지표.
  • F1 점수 : 정밀도와 재현율의 조화평균. 한쪽만 좋으면 점수가 확 떨어진다.
  • 임계값(threshold) : 예측 확률을 양성/음성으로 자르는 기준선. 낮추면 재현율↑, 높이면 정밀도↑.
  • ROC-AUC : 임계값과 무관하게 "양성에 더 높은 점수를 주는 능력"을 0~1로 잰 값. 0.5면 찍기 수준.
  • PR-AUC : 정밀도-재현율 곡선의 면적. 양성이 매우 드문 불균형 데이터에서 ROC-AUC보다 정직하다.

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

과거 이탈 여부 라벨이 있는 데이터로 고객 이탈을 예측하려 한다. 이 문제의 학습 방식과 출력 형태는?

문제 2

사기 거래가 전체의 0.1%인 데이터에서 모델이 정확도 99.9%를 기록했다. 이 정확도를 신뢰할 수 없는 이유는?

문제 3

암 진단 분류 모델에서 무엇보다 우선해야 할 평가 지표와 그 이유로 옳은 것은?

문제 4

어떤 모델이 정밀도 0.9, 재현율 0.1을 기록했다. F1 점수가 산술평균 0.5보다 훨씬 낮은 0.18로 나오는 이유는?

문제 5

ROC-AUC 값이 0.5인 분류 모델에 대한 해석으로 옳은 것은?

이전ML 수명주기와 ML 엔지니어의 역할Week 1 · Day 1다음 AWS ML 스택 한눈에 보기Week 1 · Day 3

이 페이지

  • 핵심 정리
  • 학습 방식: 라벨이 있는가, 보상이 있는가
  • 출력 형태: 분류 vs 회귀 vs 군집
  • 분류 평가의 출발점: 혼동 행렬
  • 정확도의 함정과 정밀도·재현율
  • F1과 AUC: 하나의 숫자로 요약하기
  • 회귀의 평가 지표
  • 숫자로 확인하는 혼동 행렬
  • 다중 분류의 평균 방식
  • 지표를 잘못 고르면 생기는 일
  • 용어
  • 연습 문제