Ручное измерение сходства

Как только что было показано, k-средние присваивает точки ближайшему центроиду. Но что значит «ближайший»?

Чтобы применить k-средние к данным объекта, вам нужно будет определить меру сходства, которая объединяет все данные объекта в одно числовое значение, называемое мерой сходства вручную .

Рассмотрим набор данных об обуви. Если в этом наборе данных единственным признаком является размер обуви, вы можете определить сходство двух туфель с точки зрения разницы между их размерами. Чем меньше числовая разница между размерами, тем больше сходство между обувью.

Если в этом наборе данных об обуви есть два числовых признака: размер и цена, вы можете объединить их в одно число, обозначающее сходство. Сначала масштабируйте данные, чтобы обе функции были сопоставимы:

  • Размер(ы): Размер обуви, вероятно, образует распределение Гаусса. Подтвердите это. Затем нормализуйте данные.
  • Цена (p): Данные, вероятно, представляют собой распределение Пуассона. Подтвердите это. Если у вас достаточно данных, преобразуйте их в квантили и масштабируйте до \([0,1]\).

Затем объедините две функции, вычислив среднеквадратичную ошибку (RMSE). Эта грубая мера сходства определяется\(\sqrt{\frac{(s_i - s_j)^2+(p_i - p_j)^2}{2}}\).

В качестве простого примера рассчитайте сходство двух туфель американских размеров 8 и 11 и цен 120 и 150. Поскольку у нас недостаточно данных для понимания распределения, мы будем масштабировать данные без нормализации или использования квантилей.

Действие Метод
Масштабируйте размер. Предположим, что максимально возможный размер обуви равен 20. Разделите 8 и 11 на максимальный размер 20, чтобы получить 0,4 и 0,55.
Масштабируйте цену. Разделите 120 и 150 на максимальную цену 150, чтобы получить 0,8 и 1.
Найдите разницу в размерах.\(0.55 - 0.4 = 0.15\)
Найдите разницу в цене.\(1 - 0.8 = 0.2\)
Рассчитайте RMSE.\(\sqrt{\frac{0.2^2+0.15^2}{2}} = 0.17\)

Интуитивно понятно, что ваша мера сходства должна увеличиваться, когда данные объектов становятся более похожими. Вместо этого ваша мера сходства (RMSE) фактически уменьшается. Сделайте так, чтобы ваша мера сходства следовала вашей интуиции, вычитая ее из 1.

\[\text{Similarity} = 1 - 0.17 = 0.83\]

В общем, вы можете подготовить числовые данные, как описано в разделе «Подготовка данных» , а затем объединить данные, используя евклидово расстояние.

Что, если бы этот набор данных включал в себя как размер, так и цвет обуви? Цвет — это категориальные данные , которые обсуждаются в ускоренном курсе машинного обучения « Работа с категориальными данными» . Категориальные данные сложнее объединить с числовыми данными о размере. Может быть:

  • Однозначный (однозначный), например цвет автомобиля («белый» или «синий», но не оба одновременно)
  • Многозначный (многозначный), например жанр фильма (фильм может быть как «боевиком», так и «комедией», или только «боевиком»).

Если одновалентные данные совпадают, например, в случае двух пар синих туфель, сходство между примерами равно 1. В противном случае сходство равно 0.

С мультивалентными данными, такими как жанры фильмов, работать сложнее. Если существует фиксированный набор жанров фильмов, сходство можно рассчитать с помощью соотношения общих значений, называемого сходством Жаккара . Пример расчета сходства Жаккара:

  • ["комедия","боевик"] и ["комедия","боевик"] = 1
  • [«комедия», «боевик»] и [«боевик»] = ½
  • [«комедия», «боевик»] и [«боевик», «драма»] = ⅓
  • [«комедия», «боевик»] и [«документальная литература», «биографический»] = 0

Сходство Жаккара — не единственная возможная мера сходства вручную для категориальных данных. Два других примера:

  • Почтовые индексы можно преобразовать в широту и долготу перед расчетом евклидова расстояния между ними.
  • Цвет можно преобразовать в числовые значения RGB, при этом различия в значениях объединяются в евклидово расстояние.

Дополнительную информацию см. в разделе Работа с категориальными данными .

В общем, ручная мера сходства должна напрямую соответствовать фактическому сходству. Если выбранная вами метрика этого не делает, значит, она не кодирует ту информацию, которую вы хотите кодировать.

Прежде чем рассчитывать меру сходства, тщательно обработайте данные. Примеры на этой странице упрощены. Большинство реальных наборов данных большие и сложные. Как упоминалось ранее, квантили являются хорошим выбором по умолчанию для обработки числовых данных.

По мере увеличения сложности данных становится сложнее вручную создать меру сходства. В этой ситуации переключитесь на контролируемую меру сходства , при которой контролируемая модель машинного обучения вычисляет сходство. Более подробно это будет обсуждаться позже.