Theory/IE

[Data Mining_9] E-NN 알고리즘

zzzzzooooo0000099999 2025. 4. 15. 10:24

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은 내가 누구와 가까운가 뿐 아니라, 그들도 나를 가까이 보는가까지 고려하는 이웃 알고리즘이다.