머신러닝 활용 품질관리

Chapter.8 머신러닝 활용 품질관리(5)

devjjun 2026. 6. 22. 08:13

TIL(Today I Learned)


1️⃣실무에 바로 쓰는 머신러닝 기초 6

앙상블 기법

 

  • 배깅과 부스팅을 통해 모델 조합으로 성능 향상 

과적합 vs 과소적합

  • 과적합: 복잡도 높음 -> 정규화, 드롭아웃, 조기종료, 데이터 증강 등으로 대응 

  • 과소적합: 복잡도 낮음 -> 모델 파라미터 수 늘리기, 학습 시간(에폭) 늘리기 

하이퍼 파라미터 튜닝

  • GridSearchCV, RandomizedSearchCV 등을 통해 모델 성능 최적화 

Fearture Importance 

  • 시각화를 통해 트리 기반의 모델의 경우 어느정도 해석도 가능

Q1: 배깅(Bagging)과 부스팅(Boosting)의 가장 큰 차이점

A1: 배깅은 여러 모델을 ‘병렬적으로’ 독립 학습시킨 뒤 결과를 결합(평균/투표)하는 방식이고, 부스팅은 모델을 ‘순차적으로’ 학습하면서 이전 모델의 오류를 단계적으로 보정해 나가는 방식

 

Q2: 앙상블 모델(랜덤 포레스트, XGBoost 등)은 언제 쓰면 좋은지?

A2: 높은 예측 성능이 필요하고, 데이터 패턴이 복잡하거나 단일 모델로는 성능이 충분하지 않을 때 사용

 

Q3: 과적합을 빠르게 판단할 수 있는 방법은 무엇인지?

A3: 만약 학습 정확도(또는 점수)는 높지만, 검증이나 테스트 정확도가 낮다면 과적합을 의심할 수 있다.

 

Q4: 하이퍼파라미터를 튜닝할 때 GridSearchCV와 RandomizedSearchCV 중 어떤 것을 사용하면 좋은지?

A4: 탐색해야 할 파라미터 범위가 좁고, 후보가 적을 때는 GridSearchCV가 효율적이며, 후보 범위가 매우 넓고 많은 경우에는 RandomizedSearchCV로 무작위 샘플링을 활용하여 탐색 시간을 줄이는 것이 좋다.

 

Q5: 부스팅 기법(XGBoost, LightGBM 등)에서 자주 보는 ‘학습률(learning_rate)’은 무엇이고 어떻게 설정해야 하는지?

A5: 학습률은 각 단계별 모델이 학습된 결과를 어느 정도 비율로 반영할지를 결정하는 하이퍼파라미터입니다. 일반적으로 학습률을 너무 크게 설정하면 학습 과정이 불안정해지고, 너무 작게 설정하면 학습 속도가 매우 느려집니다. 보통 0.1~0.01 사이를 시작점으로 잡고 실험하면서 조정


2️⃣CSTS 자격증 준비 

자격증 시험 범위 정리

제1장 테스트 개요

  • 1.1 테스트 목적 / 1.2 오류·결함·장애 (개념·결함유형·개발단계별결함·테스팅/디버깅/재테스팅)
  • 1.3 테스트의 현실 (비현실성·진화과정·테스트 원칙 ★) / 1.4 테스트와 품질(평가·보증)
  • 1.5 기본 용어 (대상/레벨·피처/유형·설계기법·케이스·절차·환경)

제2장 테스트 분류와 테스팅 방법

  • 2.2 분류 (레벨별·유형별·설계기법별) / 2.3 방법 (리그레션·생명주기·위험기반·모델기반)

제3장 개발 단계와 테스트

  • 3.2 컴포넌트(모의객체·FIRST원칙) / 3.3 통합(점진적통합) / 3.4 시스템·인수 / 3.5 리그레션

제4장 품질 특성과 비기능 테스트

  • 기능적합성·성능효율성·호환성·사용성·신뢰성·보안성·유지보수성·이식성

제6장 생명 주기 모델과 테스트

  • 순차적 / 진화적 / 애자일

제8장 정적 테스트 ★

  • 8.2 리뷰 프로세스 / 8.3 관리리뷰 / 8.4 기술리뷰 / 8.5 인스펙션(역할·과정) / 8.6 워크쓰루 / 8.7 감사 / 8.8 정적분석(코딩표준·복잡도)

제9장 구조 기반 테스트 ★★

  • 9.2 제어흐름 그래프 / 9.3 이해 / 9.4 문장 / 9.5 결정 / 9.6 조건 / 9.7 결정·조건 / 9.8 변형 조건/결정(MC/DC)

제10장 명세 기반 테스트 ★★

  • 10.2 동등분할 / 10.3 결정 테이블 / 10.4 경곗값 분석 / 10.5 조합 테스트 / 10.6 입력 / 10.7 상태 전이

제11장 테스트 프로세스 개요

  • 11.3 테스트 관리 프로세스(활동·산출물) / 11.4 동적 테스트 프로세스(활동·산출물) / 11.5 테스트 산출물·관계

제12장 테스트 계획

  • 12.2 컨텍스트 명세(대상·범위·제약·이해관계자) / 12.3 위험 분석(프로젝트·제품) / 12.4 전략 수립(설계기법·환경·메트릭·완료기준 ★) / 12.6 산출물

제13장 테스트 설계/구현 및 환경 구축·관리

  • 13.2 설계·케이스개발·절차개발·환경/데이터 요건 / 13.3 환경 구축·관리 / 13.4 산출물

제14장 테스트 실행 및 결함 보고 ★

  • 14.2 실행(절차실행·결과비교·기록) / 14.3 결함보고(분석·기록·추적·결함 생명주기 ★) / 14.4 산출물

제15장 모니터링/제어 및 종료

  • 15.2 모니터링·제어(현황보고) / 15.3 종료(환경정리·종료보고) / 15.4 산출물

커리큘럼 

https://docs.google.com/document/d/1bjM_R3eZ8-NV7KDvdf9KxhDpTlxYVJEF8EtywyhILkE/edit?usp=sharing

 

CSTS_일반등급_26일_커리큘럼.md

CSTS 일반등급 26일 커리큘럼 (6/22 ~ 7/18 시험) 시험 정보 · 90분 / 70문제 / 75점 이상 합격 4지선다 50문제(75점) · O/X 10문제(10점) · 단답형 10문제(15점) 문제당 평균 77초 — 9·10장 계산문제에서 시간

docs.google.com


💡 느낀점

앙상블을 공부하면서 가장 와닿은 건, 결국 "여러 개의 약한 모델을 어떻게 묶느냐"라는 점이었다. 배깅은 데이터를 여러 번 복원추출해서 독립적으로 학습한 모델들을 평균 내는 방식이라 분산(variance)을 줄이는 데 강하고, 부스팅은 앞 모델이 틀린 부분에 가중치를 더 줘가며 순차적으로 보완하는 방식이라 편향(bias)을 줄이는 데 강하다는 걸 구분하게 됐다. 랜덤포레스트가 "독립 + 평균"이라면, XGBoost·CatBoost 같은 부스팅은 "직렬 + 보정"이라는 정반대 구조라는 게 머릿속에 정리됐다.