
10번 one-hot 의 응용. 정답 클래스에 1 대신 1 - ε 을 주고, 나머지에 ε / (K - 1) 을 분배합니다:
여전히 각 행의 합은 1 (확률 분포).
분류기에 "100% 확신하지 마" 라는 시그널. 모델이 학습 데이터의 정답 레이블을 너무 자신 있게 예측하지 않도록 억제해서:
ε = 0 이면 원본 one-hot 과 동일.
함수 label_smooth(y, num_classes, epsilon) 를 완성하세요.
y 정수 1D 배열.(N, K) float 배열.np.full + 인덱싱으로 on_value, off_value 세팅.| # | 이름 | 검증 |
|---|---|---|
| 1 | 각 행 합 = 1 | result.sum(axis=1) ≈ 1 |
| 2 | 정답 위치 값 = 1 - ε | 해당 셀이 1 - ε |
| 3 | 다른 위치 값 = ε / (K - 1) | 맞아야 함 |
| 4 | ε = 0 → one-hot | np.eye(K)[y] 과 동일 |
| 5 | shape (N, K) |
코드를 작성하고 Run 을 눌러보세요.