← 문제 목록/Nearest Shrunken Centroid (자동 특성 선택) [medium]
문제 해설

Nearest Shrunken Centroid (자동 특성 선택) [medium]

선형 분류 · medium

preview

Nearest Shrunken Centroid [medium]

v1 Nearest Centroid 는 각 클래스 평균을 그대로 사용. 고차원 (e.g., 유전자 발현 데이터 D>1000D > 1000) 에서는 노이즈 특성의 편차도 그대로 반영 → overfitting.

Nearest Shrunken Centroid (Tibshirani et al. 2002): 전체 평균으로부터의 offset 을 soft-thresholding 으로 줄이거나 0 으로 → 유의미한 특성만 남김 (자동 특성 선택).

알고리즘

  1. xˉ\bar{x} = 전체 평균.
  2. 각 클래스 cc 의 평균 μc\mu_c 와 offset dc=μcxˉd_c = \mu_c - \bar{x}.
  3. 풀링된 표준편차 ss (특성별): sj=ci:yi=c(xijμc,j)2NKs_j = \sqrt{\frac{\sum_c \sum_{i: y_i = c} (x_{ij} - \mu_{c,j})^2}{N - K}}
  4. 표준화 offset: dc,j=dc,j/(sj+s0)d'_{c,j} = d_{c,j} / (s_j + s_0) (small regularizer s0s_0).
  5. Soft-threshold with Δ\Delta: dc,j=sign(dc,j)max(dc,jΔ,0)d''_{c,j} = \text{sign}(d'_{c,j}) \cdot \max(|d'_{c,j}| - \Delta, 0)
  6. 축소된 중심: μ~c,j=xˉj+sjdc,j\tilde\mu_{c,j} = \bar{x}_j + s_j \cdot d''_{c,j}.
  7. 예측: xxμ~c\tilde\mu_c 간 유클리드 거리 argmin.

Δ\Delta 효과

  • Δ=0\Delta = 0: v1 nearest centroid 와 동일.
  • Δ\Delta: 대부분 성분이 0 → 모든 클래스가 전체 평균에 수렴 → 구분 불가.
  • 중간 Δ\Delta: 판별력 있는 특성만 살림 → 노이즈 감쇠.

과제

함수 nearest_shrunken_centroid(X_train, y_train, X_test, delta) 를 완성하세요.

  • 반환: (M,) 예측.
  • 풀링 표준편차 + soft-threshold + 축소 중심 거리 최소화.
  • s0=1108s_0 = 1 \cdot 10^{-8} (0 나눗셈 방지).

테스트 케이스

#이름검증
1반환 shape (M,)
2delta=0 → v1 nearest centroid 와 일치
3분리 가능 2 클래스 → 높은 정확도
4고차원 + 노이즈 특성: shrinkage 가 과적합 감소
5큰 delta → 모든 축소 (0 에 가까움), 예측 임의
6클래스 레이블 복원 (0, 1, ..., K-1 을 벗어난 레이블도 처리)
7sklearn NearestCentroid(shrink_threshold=δ) 와 유사 정확도
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.