데이터의 유사도 (거리척도)


                                         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/



  거리가 가까우면 두 데이터는 유사하다고 볼 수 있고, 거리가 멀면 두 데이터는 관계없다고 판단할 수 있으며,

어떤 데이터와 어떤 범주와의 거리가 가까우면, 이 데이터는 이 범주에 속해있다고 볼 수 있다.

예를 들어, 아래 그림에서는 임을 쉽게 알 수 있으므로, 는 가깝고, 는 멀다”, “보다 에 더 가깝다”는 의미를 줄 수 있다.


   그림입니다.
원본 그림의 이름: CLP00004e6c0004.bmp
원본 그림의 크기: 가로 785pixel, 세로 446pixel



  노름


  벡터 에 대하여 의 크기를 다음과 같이 나타내고, 노름(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