위키득계정 ↗
기술

LMNN

LMNN기술
영문명
Large Margin Nearest Neighbor
학습 대상
양의 준정부호 거리 행렬 M
주요 항
목표 이웃 거리와 힌지 벌점
기본 최적화
목표 이웃 고정 시 볼록 문제
LMNN은 같은 범주의 목표 이웃은 가깝게 유지하고 다른 범주의 침입자는 여유 간격 밖으로 밀어내도록 거리를 학습하는 방법이다. 최근접 이웃 분류에 사용할 마할라노비스 거리 행렬을 구한다.

목표 이웃과 침입자

각 훈련점에 대해 같은 레이블의 목표 이웃을 정한다. 학습은 이 이웃까지의 거리를 줄이는 동시에 다른 레이블의 점이 그 근처에 들어오면 벌점을 준다. 같은 범주의 모든 점을 무조건 한 점으로 모으기보다 지정한 지역 이웃 관계를 중심으로 목적을 구성한다.

힌지 벌점의 계산

제곱 거리 dM(i,j)를 사용하면 대표적인 침입자 벌점은 max(0,1+dM(i,j)−dM(i,l))다. 목표 이웃 j까지가 1이고 다른 범주의 l까지가 1.5라면 벌점은 0.5다. 침입자까지의 거리가 3이면 같은 목표 거리에서 벌점은 0이다.

양의 준정부호 거리

거리 행렬 M을 양의 준정부호로 제한해 (x−y)ᵀM(x−y)가 음수가 되지 않도록 한다. 예를 들어 M=diag(4,1)이고 두 점의 차이가 (1,2)이면 제곱거리는 4+4=8이다. 원래 좌표의 첫 방향에 더 큰 가중치를 준 계산이다.

볼록성의 조건

목표 이웃을 고정하면 M에 대한 거리 항은 선형이고 힌지 항은 볼록이므로 양의 준정부호 제약 아래 볼록 최적화로 다룰 수 있다. 저차원 분해 M=LᵀL를 직접 학습하거나 이웃 집합까지 바꾸는 절차는 같은 볼록성 주장을 자동으로 이어받지 않는다. 학습된 거리의 성능은 별도 자료로 확인한다.

관련 문서

이웃 성분 분석 / 마할라노비스 거리 / 볼록 최적화 / 힌지 손실 / 양의 준정부호 행렬 / 최근접 이웃 탐색