
신경망의 과적합을 막는 가장 단순하고 효과적인 정규화. 훈련 시점에 뉴런을 랜덤하게 꺼버리는 (출력을 0으로) 기법 — 모델이 특정 뉴런에 과도하게 의존하지 못하게 만듭니다.
훈련 시:
여기서 . survive 한 값을 배 스케일업 해서 기대값을 보존:
덕분에 평가(inference) 시엔 그냥 y = x — 별도 스케일 조정 불필요.
함수 dropout-v1(x, p, seed, training) 을 완성하세요.
training=False 면 x 그대로 반환.training=True 면 rng.random(x.shape) > p 마스크 만들고 x * mask / (1 - p).seed 는 np.random.default_rng(seed) 에 전달.| # | 이름 | 검증 |
|---|---|---|
| 1 | training=False → 그대로 | |
| 2 | p=0, training=True → 그대로 | |
| 3 | 기대값 보존 (큰 샘플) | 평균 ≈ 입력 평균 |
| 4 | 시드 재현성 | |
| 5 | dropped 원소는 0 | survived 는 x/(1-p) |
코드를 작성하고 Run 을 눌러보세요.