방금 보았듯이 k-평균은 점을 가장 가까운 중심에 할당합니다. 하지만 '가장 가까운'은 무엇을 의미하나요?
지형지물 데이터에 k-평균을 적용하려면 모든 지형지물 데이터를 단일 숫자 값으로 결합하는 유사성 측정값(수동 유사성 측정값)을 정의해야 합니다.
신발 데이터 세트를 생각해 보겠습니다. 데이터 세트에 신발 사이즈가 유일한 특징인 경우 두 신발의 유사성을 크기 차이 측면에서 정의할 수 있습니다. 사이즈 간의 숫자 차이가 작을수록 신발 간의 유사성이 높습니다.
신발 데이터 세트에 크기와 가격이라는 두 가지 숫자 특성이 있는 경우 이를 결합하여 유사성을 나타내는 단일 숫자로 만들 수 있습니다. 먼저 두 특성을 비교할 수 있도록 데이터를 조정합니다.
- 크기 (s): 신발 사이즈는 가우스 분포를 형성할 가능성이 높습니다. 확인해 주세요. 그런 다음 데이터를 정규화합니다.
- 가격 (p): 데이터가 포아송 분포일 가능성이 높습니다. 확인해 주세요. 데이터가 충분하면 데이터를 중앙값으로 변환하고 로 조정합니다.
그런 다음 평균 제곱근 오차 (RMSE)를 계산하여 두 특성을 결합합니다. 이 대략적인 유사도 측정값은로 주어집니다.
간단한 예로 미국 사이즈가 8과 11이고 가격이 120과 150인 신발 두 개의 유사성을 계산해 보겠습니다. 분포를 파악하기에 데이터가 충분하지 않으므로 정규화하거나 중앙값을 사용하지 않고 데이터를 확장합니다.
작업 | 메서드 |
---|---|
크기를 조정합니다. | 최대 신발 사이즈를 20으로 가정합니다. 8과 11을 최대 크기 20으로 나눠 0.4와 0.55를 구합니다. |
가격을 조정합니다. | 120과 150을 최대 가격 150으로 나눠 0.8과 1을 구합니다. |
크기 차이를 찾습니다. | |
가격 차이를 찾습니다. | |
RMSE를 계산합니다. |
직관적으로 특성 데이터가 더 유사할수록 유사도 측정값이 증가해야 합니다. 대신 유사성 측정값 (RMSE)이 실제로 감소합니다. 유사도 측정값을 1에서 빼서 직관에 맞게 조정합니다.
일반적으로 데이터 준비에 설명된 대로 숫자 데이터를 준비한 다음 유클리드 거리를 사용하여 데이터를 결합할 수 있습니다.
데이터 세트에 신발 사이즈와 신발 색상이 모두 포함되어 있다면 어떻게 해야 하나요? 색상은 범주형 데이터이며, 머신러닝 단기집중과정의 범주형 데이터 작업에서 다루었습니다. 범주형 데이터는 숫자 크기 데이터와 결합하기가 더 어렵습니다. 실행 가능한 시스템은 다음과 같습니다.
- 단일 값 (단일항): 자동차 색상 ('흰색' 또는 '파란색' 중 하나만 선택)
- 다중 값 (다항식): 영화의 장르 (영화가 '액션'과 '코미디' 둘 다일 수 있음 또는 '액션'만 해당할 수 있음)
단일 값 데이터가 일치하는 경우(예: 파란색 신발 2켤레의 경우) 예시 간의 유사성은 1입니다. 그 외의 경우에는 유사성이 0입니다.
영화 장르와 같은 다항식 데이터는 다루기가 더 어렵습니다. 영화 장르가 고정된 세트인 경우 공통 값의 비율인 자카드 유사도를 사용하여 유사성을 계산할 수 있습니다. Jaccard 유사성 계산의 예는 다음과 같습니다.
- ['comedy', 'action'] 및 ['comedy', 'action'] = 1
- ['comedy', 'action'] 및 ['action'] = ½
- [“comedy”,”action”] and [“action”, "drama"] = ⅓
- ['comedy', 'action'] and ['non-fiction', 'biographical'] = 0
카테고리 데이터에 사용할 수 있는 수동 유사성 측정값은 Jaccard 유사성만이 아닙니다. 다른 두 가지 예는 다음과 같습니다.
- 우편번호는 두 우편번호 간의 유클리드 거리를 계산하기 전에 위도와 경도로 변환할 수 있습니다.
- 색상은 숫자 RGB 값으로 변환할 수 있으며, 값의 차이는 유클리드 거리로 결합됩니다.
자세한 내용은 범주형 데이터 작업을 참고하세요.
일반적으로 수동 유사성 측정값은 실제 유사성과 직접 일치해야 합니다. 선택한 측정항목이 변경되지 않으면 인코딩하려는 정보를 인코딩하지 않는 것입니다.
유사도 측정값을 계산하기 전에 데이터를 신중하게 사전 처리합니다. 이 페이지의 예시는 단순화되어 있습니다. 대부분의 실제 데이터 세트는 크고 복잡합니다. 앞서 언급한 것처럼 중앙값은 숫자 데이터를 처리할 때 적합한 기본값입니다.
데이터의 복잡성이 증가함에 따라 수동 유사성 측정을 생성하기가 더 어려워집니다. 이 경우 지도 학습 머신러닝 모델이 유사성을 계산하는 지도 학습 유사도 측정값으로 전환합니다. 이에 대해서는 나중에 자세히 설명하겠습니다.