1. 개요 : k-NN의 확장
E-NN (Extended Nearest Neighbor)는 기본적인 k-NN(k-Nearest Neighbors) 알고리즘을 확장하여 예측 정확도를 향상시킨 분류 알고리즘이다.
- 기본 개념은 “가까운 이웃을 보면 정답을 알 수 있다”는 k-NN과 같지만,
- 단순히 가까운 이웃만 보는 것이 아니라, "상호적인 이웃 관계"까지 고려하여 더 정교한 분류를 수행힌다.
2. 기본 개념 : k-NN
k-NN은 새로운 데이터 포인트가 주어졌을 때, 가장 가까운 k개의 이웃을 찾아, 다수결로 분류한다.
- 거리 계산 : 보통 유클리드 거리를 사용
- 단점
- 주변 데이터의 밀도나 분포를 고려하지 않음
- 노이즈에 민감, k값에 따라 결과 달라짐
3. E-NN의 핵심 아이디어
E-NN은 다음 두 가지 관점을 모두 고려한다.
관점 | 설명 |
기존처럼 내가 누구에게 가까운가 | (기존 k-NN과 동일) |
내가 가까운 이웃에게도 그들이 나를 가까운 이웃으로 보는가? | (상호성 기반) |
- 예시
- A가 B에게 가까운 이웃이라면, B도 A를 가까운 이웃으로 여기는지 확인 → 상호적인 관계 기반 분류
- 이를 통해 군집 중심성과 이웃 간의 구조적 패턴을 더 잘 파악
4. 유클리드 거리 기반 예측
- 거리 계산 방식
- 가장 널리 쓰이는 방식은 유클리드 거리 : 두 점 간의 직선 거리, 수치형 데이터에서 직관적이고 효율적
- 새로운 데이터를 입력하면, 각 학습 데이터와의 거리를 계산하여 가까운 이웃을 정한다.
- E-NN에서는 양방향 거리 기반 구조까지 함께 고려해 더 신중한 분류 판단을 내린다.
5. 파라미터 선택 전략
- k 값 (이웃 개수)
상황 | 추천 k값 |
노이즈 많은 데이터 | 큰 k (5 이상) |
선명한 분리 데이터 | 작은 k (1~3) |
데이터가 적을 때 | 작은 k (과적합 방지) |
- k는 홀수로 설정하는 경우가 많다 (2개 클래스일 때 동률 방지)
6. 정확도 향상 전략
전략 | 설명 |
정규화/표준화 | 거리 기반 모델은 스케일에 민감하므로, 변수들을 같은 기준으로 맞춰야 함 |
가중 거리(k-weighted) | 가까운 이웃에 더 큰 가중치 부여 (ex : 거리 역수 사용) |
차원 축소(PCA 등) | 고차원일수록 거리 기준이 왜곡될 수 있어 차원 축소를 활용 |
데이터 균형 조정 | 불균형한 클래스 데이터에선 오분류 위험 증가 → SMOTE 등 적용 가능 |
앙상블화 | 여러 E-NN 또는 k-NN 모델을 결합하여 성능 강화 |
7. E-NN vs k-NN 비교
항목 | k-NN | E-NN |
기준 | 거리 기반 단방향 | 거리 + 이웃 간 상호성 |
특징 | 단순하고 빠름 | 약간 더 복잡하지만 정교함 |
정확도 | 데이터에 따라 변동 큼 | 안정적, 노이즈에 덜 민감 |
해석력 | 직관적 | 상대적으로 덜 직관적 |
8. 결론
- E-NN은 k-NN의 단점을 보완한 발전형 모델로, 거리 기반 분류의 신뢰성과 정확도를 높이는 데 효과적이다.
- 특히 이웃 간의 구조적 관계나 군집 경계가 모호할 때 더 강력한 성능을 발휘한다.
E-NN은 내가 누구와 가까운가 뿐 아니라, 그들도 나를 가까이 보는가까지 고려하는 이웃 알고리즘이다.
'Theory > IE' 카테고리의 다른 글
[Data Mining_11] 신경망 (0) | 2025.04.15 |
---|---|
[Data Mining_10] 나이브 베이즈 분류기 (0) | 2025.04.15 |
[Data Mining_8] 분류 회귀 트리 (0) | 2025.04.15 |
[Data Mining_7] 로지스틱 회귀 분석 (0) | 2025.04.14 |
[Data Mining_6] 다중 선형 회귀 (0) | 2025.04.14 |