1. 유사도, 닮음 (Similarity) 이란?
  ㅇ 기하학에서, 모양이 같지만 크기는 다를 수 있는 관계를 설명            ☞ 합동 닮음 비교 참조
     - 서로 대응하는 길이의 비율이 일정하고, 대응하는 각이 모두 같음  :  닮은꼴 (Similar Figure)
  ㅇ 기계학습에서, 두 데이터가 얼마나 같은지(닮았는지)를 나타내는 척도
     - 유사도가 높다는 것은, 피처(특징) 값이 비슷하다는 것임
  ※ [참고]
     -  `수학`에서의 거리/차이   ☞ 차이점/부동성 (Dissimilarity) 참조
     -  `확률변수/신호/함수/현상 (변량)`에서의 닮음   ☞ 상관성(유사성) (Correlation) 참조
     -  `행렬`에서의 닮음   ☞ 닮음 행렬 (Similarity Matrix), 닮음 변환 참조
     -  한편, `비교` 개념의 종합화/일반화는,   ☞ 비교 (같음/닮음/다름) (Comparison) 참조
2. [기계학습]  데이터 유사도의 척도 
  ㅇ 데이터 간 유사도의 척도는, 그 적용 대상과 계산 방식에 따라 여러 유형으로 분류할 수 있음
     - 크게, 거리 기반, 공간 기반, 집합 기반, 문자열 기반, 확률 기반 등
  ㅇ 기하학적 거리 기반
     - 유클리드 거리 (Euclidean Distance) : 직선 거리
     - 맨해튼 거리 (Manhattan Distance) : 수평, 수직 거리 합
     - 민코프스키 거리 (Minkowski Distance) : 유클리드 거리와 맨해튼 거리의 일반화된 형태
     - 체비셰프 거리 (Chebyshev Distance) : 두 점 간의 축 방향으로 가장 큰 차이
  ㅇ 벡터 공간 기반
     - 코사인 유사도 : 두 벡터 간의 사잇각으로 유사도를 측정
     - 벡터 간 유사도 : 벡터 공간 내 두 벡터 사이의 거리 척도
  ㅇ 집합 기반
     - 자카드 유사도 (Jaccard Similarity) : 벡터의 교집합과 합집합 비율을 이용한 유사도
        . 공통된 것들이 많을수록 유사하다고 판단 
  ㅇ 문자열 기반 
     - 레벤슈타인 거리 (Levenshtein Distance) : 최소 편집 횟수
     - 다음-슈프롤 유사도 (Damerau-Levenshtein Distance) : 레벤슈타인 거리와 인접 문자 교환을
                                                           고려한 편집 거리
     - Jaro-Winkler 유사도 : 문자열 간의 유사성 점수를 계산
  ㅇ 확률 기반
     - 평균제곱오차 : 개별 관측값들이 중심에서 떨어진 정도를 나타내는 척도
     - 피어슨 유사도 : 피어슨 상관계수에 의해 유사도를 측정
3. [기계학습]  거리 기반의 유사도 척도 例)
  ㅇ 주로, 거리 (distance) 개념에 의한 여러가지 계산 방법들이 개발되어짐
  ㅇ 例) 유사도 척도를, 거리로써 일반화한 수학적 개념  :  민코스키 거리 (Minkowski distance)
       [# d(X,Y) = \sqrt[p]{\sum^{m}_{i=1} |x_i-y_i|^p} 
                 = \left(\sum^{m}_{i=1} |x_i-y_i|^p\right)^{1/p} #]
     - p = 1 : 맨해튼 거리 (L1 거리)
        . 격자 기반의 경로(例,도시의 도로)에서 두 점 간 거리 표현 (例,x방향 2,y방향 3,총 5) 
     - p = 2 : 유클리드 거리 (L2 거리)
     - p = ∞ : 최대 거리 (Chebyshev distance)
  ※ 한편, `거리`가 아닌 `크기`에 대해, 수학적으로 일반화된 개념은,  ☞ 노름 (Norm) 참조