← 문제 목록/로버스트 Nearest Centroid (median)
문제 해설

로버스트 Nearest Centroid (median)

분류 · easy

preview

로버스트 Nearest Centroid (median)

58번 Nearest Centroid 는 각 클래스의 평균 을 프로토타입으로. 평균은 outlier에 약해요 — 한 샘플이 크게 튀면 중심이 통째로 밀립니다.

해결: 평균 대신 축별 median (좌표별 median) 을 쓰면 L2L_2 거리에서 강력한 로버스트 추정량이 됩니다.

μ~c(d)=median({Xi,d:yi=c})\tilde{\mu}_c^{(d)} = \text{median}\big(\{X_{i, d} : y_i = c\}\big)

이후 로직은 58과 동일: 테스트 점에서 각 μ~c\tilde{\mu}_c 까지 L2L_2 거리 계산 → argmin.

Breakdown point

  • 평균: 한 개의 outlier만 있어도 무한대로 끌려감 (breakdown 0%).
  • 좌표별 median: 최대 50% 의 샘플이 outlier 여도 robust.

과제

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

  • 클래스 프로토타입 = 축별 median, 거리 = L2L_2.
  • 반환: shape (M,) 정수 — 각 테스트 점 예측.

테스트 케이스

#이름검증
1shape(M,)
2잘 분리된 2 클래스 → 100%
3한 클래스 outlier 추가 시 안정mean 기반은 틀리고 median 기반은 맞음
43 가우시안 blobs≥ 0.9
51D 에서 axis-median = 실제 median
코드 작성
Loading...
실행 결과

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