본문으로 건너뛰기

M11.03 · 학습/검증/시험 분리·과적합·데이터 누수

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • 평가하려는 일반화 주장에 맞춰 학습/검증/시험과 episode·물체·시간의 분리 단위를 설계한다.
  • 학습 자료만의 정규화 통계를 계산하고 전처리·파생 자료·미래 입력의 데이터 누수를 진단한다.
  • 가상 학습곡선에서 모델 선택과 과적합 신호를 해석하고 시험 잠금 및 결과 기록 범위를 설명한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M11.01의 손실/학습과 M11.02의 전처리·Dataset, M02.04의 평균/분산이 선수다. 기본은 합성 분할표/곡선과 종이 계산이다. 실제 학습을 돌리거나 일반화 성능을 실증한 자료가 아니다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

어떤 새 상황을 시험하는가

학습 train 자료는 파라미터를 맞추는 데 쓰고, 검증 validation 자료는 모형/학습률/정지 시점/임계값 같은 선택에 쓴다. 시험 test 자료는 선택을 마친 절차를 최종 평가하는 데 남긴다. 이름만 test로 붙였어도 결과를 보고 모형을 고르면 이미 선택에 쓴 자료다. 한번의 최종 평가를 의도한다면 잠금 규칙과 공개 시점을 먼저 정한다.

일반화는 무엇이 새것인지에 따라 의미가 달라진다. 같은 작업의 새로운 프레임, 새 episode, 보지 않은 물체/장소/사람, 미래 날짜는 다른 질문이다. 연속 영상의 이웃 프레임은 배경·자세가 매우 비슷할 수 있으므로 프레임을 무작위로 흩으면 같은 장면을 사실상 양쪽에서 볼 수 있다. 수천 프레임이 있다고 수천 독립 상황을 시험했다고 말하지 않는다.

가상 수집표에 episode A/B는 물체 O1, C는 O2, D는 O3를 사용하고 각 episode에 프레임 3개가 있다고 하자. 새 물체 일반화를 보려면 A/B의 6프레임을 train, C의 3개를 validation, D의 3개를 test로 둘 수 있다. object 그룹은 서로 겹치지 않는다. 대신 학습 물체가 하나, 검증/시험 물체도 각각 하나인 매우 작은 예이므로 넓은 일반화를 입증하지 못한다. 이 표는 분할 원리를 보여 줄 뿐 권장 데이터 규모나 성능 실험이 아니다.

A를 train, B를 test로 두면 episode는 다르지만 O1이 겹쳐 새 물체 질문을 시험하지 못한다. 평가 주장이 새 episode라면 다른 설계가 타당할 수도 있으므로 ‘episode 분리면 모든 누수 해결’이라는 일반 규칙을 만들지 않는다. 날짜/장소/사람까지 함께 달라져 있으면 어느 요인이 결과를 바꿨는지 분리하기도 어렵다. 공식 그룹 교차검증 설명처럼 보지 않은 그룹 평가에서는 같은 그룹이 양쪽에 나타나지 않게 한다.

전처리도 자료에서 배우는 연산이다

데이터 누수는 예측 때 알 수 없는 정보가 모형 구축이나 평가 선택에 들어가는 일이다. 라벨을 입력에 넣는 명백한 경우 외에도 전체 자료의 평균/표준편차로 정규화하는 일이 포함된다. scikit-learn 공식 지침은 먼저 분할하고 학습 부분에만 fit한 뒤 같은 변환을 검증/시험에 적용하도록 설명한다. 결측값 대치·특징 선택·중복 제거 정책도 어느 자료로 정했는지 확인한다.

자료 분리는 원본 그룹부터: 원본 episode/대상 그룹 → 학습 분할 → 검증 분할 → 시험 분할.그림 원본 크기로 보기

그림 M11.03-1. 각 칸은 서로 다른 역할/근거다. 아래 방향은 자료/처리의 연결이며 실제 성공을 자동으로 보장하지 않는다. 직접 제작한 개념도이며 본문의 조건과 함께 읽는다.

정규화 예로 무차원 train 값이 [0,2], test 값이 [10]이라고 하자. 학습 평균 μ=1, 여기서 n을 학습 값의 개수라 하고 분모 n을 쓰는 모집단 분산 σ²=((0−1)²+(2−1)²)/2=1이라 σ=1이다. z=(x−μ)/σ 변환으로 test10은 9가 된다. 이것이 값이 커 보인다고 test까지 포함해 통계를 다시 계산하는 이유가 되지는 않는다. 학습 범위 밖 입력일 수 있음을 드러내는 결과다.

전체 [0,2,10]으로 계산하면 평균은 4, 분산은(16+4+36)/3=56/3, 표준편차는 약 4.32049다. test10의 z는 약 1.38873으로 달라진다. 목표 y를 쓰지 않았어도 시험 입력의 정보를 전처리에 맞춘 것이므로 해당 평가 정책에서는 누수다. σ=0인 상수 특징은 나눗셈이 정의되지 않으므로 학습 자료에서 정한 제거/별도 scale 정책을 명시해야 한다. ε를 쓴다면 그 값과 이유도 기록한다.

정규화된 숫자만 저장하지 말고 통계를 추정한 train ID/범위·정의·단위와 적용 코드를 보존한다. 검증/시험은 같은 학습 변환을 적용하는 것이지 각자 평균 0/분산 1로 다시 맞추는 것이 아니다. 자료 증강으로 만든 회전/잘라내기 이미지도 원본 그룹을 따라 분할해야 한다. 원본과 거의 같은 증강본을 양쪽에 넣고 평가가 독립이라고 주장하지 않는다.

시간순 분리에서도 창의 경계를 본다

로봇 자료는 한 프레임만 아니라 과거 관측 창과 미래 행동 chunk를 함께 쓸 수 있다. 원시 시각을 먼저 나눠도 만들어진 표본의 창이 경계를 넘으면 같은 원자료가 양쪽에 쓰일 수 있다. 예를 들어 시각t의 표본이 관측[t−2,t]와 목표[t+1,t+2]를 사용한다면, 경계 근처 표본은 입력뿐 아니라 목표가 어느 구간에 속하는지도 검사한다. 기록만 과거순으로 정렬했다고 이 겹침이 없어지지 않는다.

배포에서 현재까지의 관측만 사용할 수 있는데 미래 프레임을 입력 특징으로 넣는 것은 인과적 사용 조건을 위반한다. 반면 미래 행동을 예측할 목표로 사용하는 것 자체가 무조건 누수는 아니다. 입력과 감독 목표의 역할을 구별한다. 필요한 gap/분리 규칙은 관측·목표 창과 자기상관/평가 목적에 맞춰 정하며 만능 숫자로 고정하지 않는다. TimeSeriesSplit 공식 문서의 gap은 이런 시간 분리 설계를 생각하는 자료지만 그 클래스가 그룹 중복이나 모든 창 누수를 자동 검사하는 것은 아니다.

학습곡선은 선택 근거와 한계를 함께 준다

가상 epoch 1/2/3의 train 손실을 1.0/0.4/0.2, validation을 1.0/0.8/1.2라고 하자. 미리 정한 ‘validation 손실 최소’ 규칙이면 epoch 2를 선택한다. 마지막 epoch 3는 train에서 더 좋지만 선택 기준에서는 나쁘다. 이것은 과적합을 의심할 신호이나 작은 validation의 변동·분포 차이·잘못된 평가 모드/전처리도 함께 조사한다. 그래프 하나만으로 원인을 확정하지 않는다.

선택 후 test를 열어 결과를 기록하고 그 결과로 학습률/threshold를 다시 조정했다면 test를 계속 최종 독립 평가라고 부르지 않는다. 새 평가 자료를 두거나 재사용한 선택 절차를 투명하게 보고한다. regularization/자료 증강/early stopping은 검증 선택의 후보이지 시험 자료를 모형에 몰래 섞어도 되는 허가가 아니다.

보고에는 split manifest의 표본/그룹 ID와 원본 해시, 제외/증강/중복 정책, 통계의 train 범위, 선택한 epoch/기준, 시험 공개 시점과 실패 사례를 남긴다. 수치 하나보다 물체/조건별 오류와 독립 그룹 수가 해석에 중요하다. 기존 5.8 학습 파이프라인을 실행하는 선택 심화에서도 이 계약이 선행한다. 아래 활동은 학습 성과를 꾸민 곡선이 아닌 명시된 가상 숫자의 해석이다.

관련 기존 자료 · 보충해서 읽기

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    5.3 LeRobotDataset v3 설계

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    5.5 정규화와 통계

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

  • 기존 상세 본문 · 관련 기존 자료 · 보충 참고

    5.10 평가 설계

    목표 일부 관련

    기존 자료의 관련 범위이며 신규 목표 전체의 품질 검수는 아직 진행하지 않았습니다.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

입력은 A/B=O1, C=O2, D=O3의 각 3프레임 표, train[0,2]/test[10] 정규화 예, 세 epoch의 가상 손실이다. 새 물체 일반화와 validation 손실 최소 선택을 목표로 정한다.

  1. train/validation/test를 배정하고 episode만 나누는 방식의 한계를 설명한다. 독립 그룹 수와 주장 범위를 적는다.
  2. train만의 μ/σ와 test z를 구하고 전체 통계를 쓴 결과와 비교한다. 증강본/미래 입력/창 경계의 누수를 각각 진단한다.
  3. 선택 epoch를 정하고 과적합 신호의 다른 가능한 원인을 적는다. test 잠금과 재사용/결과 기록 정책을 제안한다.

관찰은 분할·누수/통계·선택/보고로 나눈다. 막히면 각 표본의 원본 물체/episode와 시간 창을 써 보고 fit과 transform을 구분한다. 실제 학습이나 설치는 필요하지 않다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

관련 기존 자료 · 보충해서 읽기

  • 기존 실습 원고 · 관련 기존 자료 · 보충 참고

    실습 5-B: Episode split과 정규화 누출

    목표 일부 관련

    실습 원고 참조. 로컬/ROS/Isaac/GPU/실물 실행과 장비 없는 기본 경로의 목표 검수는 미실시. 연결된 원고의 환경·절차를 확인하세요. 원고 열람은 실습 수행을 뜻하지 않습니다.

  • 코드·원본 파일 · 관련 기존 자료 · 보충 참고

    05_lerobot_smolvla/code/normalization.py

    목표 충족 범위 없음

    파일 열람은 코드 실행·실습 완료를 뜻하지 않습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

같은 물체 O1의 episode A/B를 각각 train/test로 나눴다. 보지 않은 물체의 일반화를 평가한 것인가? 어떤 그룹 정책과 평가 주장 구분이 필요한가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

train[2,4], test[8]의 train 평균과 분모n의 표준편차, test z를 구하라. test까지 넣은 평균으로 바꾸거나 배포에 없는 미래 프레임을 입력에 쓰면 어떤 문제가 생기는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

train 손실은 0.5→0.2, validation은 0.6→0.9다. validation 최소로 선택한다면 어느 시점을 고르는가? test 결과를 보고 threshold를 바꾼 뒤의 평가 주장을 설명하라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

관련 기존 자료 · 보충해서 읽기

  • 기존 서술 문항 · 관련 기존 자료 · 보충 참고

    train/validation 전체에서 normalization stats를 계산하는 것이 왜 누출인가?

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

  • 기존 보고서 · 관련 기존 자료 · 보충 참고

    실습 보고서 · 기존 원고와 평가 안내

    목표 일부 관련

    개별 해설/루브릭의 목표별 충분성은 후속 단위 검수. AI 평가·코드 실행 통과를 의미하지 않음.

    개별 모범답안은 미작성입니다. 기존 관련 개념에 근거한 AI 피드백이며 추론한 해설을 구분해야 합니다.

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.