데이터의 유사도 (거리척도)
by 이상구 with 이재화
[참고] http://matrix.skku.ac.kr/math4ai/part1/
유사도
인공지능이 데이터를 바탕으로 수행하는 주요 업무는 크게 판단(decision)과 예측(prediction)으로 나눌 수 있다.
- 이미지인식으로 읽은 사진으로부터 사진 속의 사람이 누구인지 판단 - 음성인식으로 저장된 음성신호로부터 말하는 내용을 판단 - 의료영상을 인식한 후 스스로 비교 분석하여 질병의 원인과 성질을 판단 - 전자상거래의 인터넷 기록을 활용한 사용자의 과거 구매 이력으로부터 그 사용자가 어떤 상품에 관심이 있는지 예측하여 다음 구매할 상품을 추천 - 금융에서 주식의 과거의 가격과 거래 정보로부터 미래 가격의 흐름을 예측 - 바둑 대국의 현재 상황에서 어떤 위치에 다음 바둑돌을 놓을 때의 승률을 예측 |
그리고 주어진 데이터의 특징의 따라 데이터가 어느 범주(class 또는 category)에 속하는지 판단하는 것을 분류(classification)라고 한다. 주어진 데이터를 분류하기 위해서는 각 데이터가 우리가 다룰 수 있는 (계산할 수 있는) 형태로 표현할 수 있고, 각 범주와 얼마나 가까운지 (혹은 유사한지) 계산하여 최종 판단해야 한다. 이러한 척도를 데이터의 유사도(similarity)라고 한다.
거리
그렇다면 서로 다른 두 데이터가 얼마나 유사한지 어떻게 평가할 수 있을까? 물론 데이터의 종류와 분석가의 관심사에 따라 유사도를 재는 척도는 다양하다. 가장 쉽게 생각해볼 수 있는 것은 두 데이터 사이의 거리를 계산하는 것이다.
데이터는 순서쌍(tuple) 또는 벡터(vector)로 표현할 수 있으므로, 예를 들어, 두 점 ,
사이의 거리는 다음과 같이 계산한다.
* 데이터의 기본 표현인 행렬과 벡터
http://matrix.skku.ac.kr/math4ai-tools/vector_matrix/
거리가 가까우면 두 데이터는 유사하다고 볼 수 있고, 거리가 멀면 두 데이터는 관계없다고 판단할 수 있으며,
어떤 데이터와 어떤 범주와의 거리가 가까우면, 이 데이터는 이 범주에 속해있다고 볼 수 있다.
예를 들어, 아래 그림에서는 임을 쉽게 알 수 있으므로, “
와
는 가깝고,
와
는 멀다”, “
는
보다
에 더 가깝다”는 의미를 줄 수 있다.
노름
벡터 에 대하여
의 크기를 다음과 같이 나타내고,
의 노름(norm)이라 한다.
즉 는 원점에서 점
에 이르는 거리와 같다. 따라서 두 벡터
,
에 대하여
는 두 점
와
사이의 거리가 된다. 즉 다음이 성립한다.
위 정의는 고차원 데이터에 대해서도 쉽게 확장된다. 예를 들어, 3차원 데이터 ,
에 대하여,
,
라 할 때, 다음이 성립한다.
*노름(norm)
http://matrix.skku.ac.kr/K-MOOC-LA/cla-week-1.html
예제 1. 두 벡터 ,
에 대하여
,
,
를 계산하여라.
예제 2. 세 개의 데이터 ,
,
에 대하여
는
와
중 어느 데이터에 더 가까운지 판단하여라.
생각해보기
Question 1. 거리 척도를 사용하여 유사도를 계산할 수 있는 데이터의 종류에는 어떤 것이 있는지 생각해보자.
Question 2. 거리 척도가 적절하지 않은 데이터의 경우에 사용할 수 있는 유사도를 생각해보자.
Copyright @ 2020 SKKU Matrix Lab. All rights reserved.
Made by Manager: Prof. Sang-Gu Lee and Dr. Jae Hwa Lee