[인공지능개론] similarity based learning - the nearest neighbor algorithm

 

최근접 이웃 알고리즘: 유사한 사례를 찾아서

예측의 지혜, 유사 사례 찾기

낯선 환경에서 길을 잃었을 때, 우리는 주변 사람들에게 도움을 요청하곤 한다. 최근접 이웃 알고리즘(Nearest Neighbor Algorithm)도 이와 같은 원리를 사용한다. 즉, 새로운 데이터 포인트의 값을 예측하기 위해 특징 공간에서 가장 가까운 이웃을 찾고, 그 이웃의 값을 이용하여 예측을 수행한다.

최근접 이웃 알고리즘: 예측 단계

최근접 이웃 알고리즘의 예측 단계는 다음과 같다.

  1. 거리 계산: 새로운 데이터 포인트와 기존 데이터 포인트들 사이의 거리를 계산한다.
  2. 최근접 이웃 찾기: 계산된 거리 값을 기반으로 새로운 데이터 포인트와 가장 가까운 이웃을 찾는다.
  3. 예측 값 결정: 찾은 최근접 이웃의 값을 새로운 데이터 포인트의 예측 값으로 사용한다.

최근접 이웃 알고리즘 의사 코드 (Pseudocode)

Require : a set of training instances
Require : a query instance1. Iterate across the instances in memory to find the nearest neighbor
- this is the instance with the shortest distance across the feature space to the query instance

2. Make a prediction for the query instance that is equal to the value of the target feature of the nearest neighbor

보로노이 테셀레이션(Voronoi Tessellation): 수백만 개 데이터의 효율적 처리

데이터셋의 크기가 매우 클 경우, 모든 데이터 포인트와의 거리를 계산하는 것은 매우 비효율적이다. 이러한 문제를 해결하기 위해 보로노이 테셀레이션(Voronoi tessellation)을 사용할 수 있다.

보로노이 테셀레이션은 특징 공간을 각 데이터 포인트를 중심으로 하는 영역으로 분할하는 방법이다. 각 영역은 해당 데이터 포인트와 가장 가까운 모든 지점을 포함한다.

보로노이 테셀레이션을 사용하면 새로운 데이터 포인트가 어떤 영역에 속하는지 빠르게 판단할 수 있으며, 해당 영역의 중심 데이터 포인트를 최근접 이웃으로 사용하여 예측을 수행할 수 있다.

Local model


이와 같이 보로노이 테셀레이션은 특징 공간을 지역 모델(local model)로 분할한다. 이러한 지역 모델을 결합하여 전역 예측 모델(global prediction model)을 생성할 수 있다.

Global representation of the predictions

이렇게 되면 최근접 이웃 알고리즘은 새로운 데이터 인스턴스가 추가될 때 모델을 쉽게 업데이트할 수 있다는 장점이 있다. 새로운 데이터 포인트를 특징 공간에 추가하고, 보로노이 테셀레이션을 업데이트하면 된다.

노이즈 처리: k 값 조정

k-최근접 이웃 알고리즘은 k개의 최근접 이웃을 사용하여 예측을 수행한다. k 값을 조정하여 노이즈(noise)를 처리하고 과적합(overfitting)을 방지할 수 있다.

Majority vote

k 값이 작을수록 모델은 학습 데이터에 더 민감해져 과적합될 가능성이 높아진다. 반대로 k 값이 클수록 모델은 학습 데이터에 덜 민감해져 과소적합(underfitting)될 가능성이 높아진다.

overfitting

underfitting

결론

최근접 이웃 알고리즘은 유사성 기반 학습의 대표적인 알고리즘으로, 새로운 데이터 포인트와 가장 가까운 이웃을 찾아 예측을 수행한다. 보로노이 테셀레이션을 사용하여 수백만 개의 데이터를 효율적으로 처리하고, k 값을 조정하여 노이즈를 처리하고 과적합을 방지할 수 있다. 다음에는 probability based learning에 대해 다뤄보겠다.

추천글 : 

[인공지능개론] similarity based learning - feature space, measures of similarity
(https://hyeonb.blogspot.com/2024/10/similarity-based-learning.html)

[인공지능개론] information based learning - Decision tree
(https://hyeonb.blogspot.com/2024/10/information-based-learning-decision-tree.html)
hyeon_B

안녕하세요! AI 기술을 이용해 더 나은 세상을 만들어 나가고 싶은 과기원생 Hyeon이라고 합니다. 저는 앞으로 인공지능 시대에는 지식을 '활용'하는 능력이 중요해질 것이라고 생각합니다. 대부분의 일들은 인공지능이 뛰어난 모습을 보이지만, 인공지능은 데이터로 부터 연관관계를 학습하기 때문에 지식들을 새로 통합해서 활용하는 능력이 부족합니다. 인공지능이 뉴턴 전에 만들어졌다면 사과가 떨어지는 이유에 대답하지 못했을 것이고, 아인슈타인 전에 만들어졌다면 중력이 어떻게 생기는지 설명하지 못했을 것입니다. 따라서 앞으로 우리는 '본질'을 탐구하고 그 본질로부터 다른 곳에 적용하며 인공지능을 현명하게 활용해야 할 것입니다. 함께 인공지능 시대를 준비합시다!

댓글 쓰기

다음 이전

POST ADS1

POST ADS 2