Контролируемая мера сходства

Вместо сравнения данных объектов, объединенных вручную, вы можете свести данные объектов к представлениям, называемым внедрениями , а затем сравнить их. Вложения генерируются путем обучения контролируемой глубокой нейронной сети ( DNN ) на самих данных объекта. Вложения сопоставляют данные объекта с вектором в пространстве внедрения, обычно имеющем меньше измерений, чем данные объекта. Встраивания обсуждаются в модуле «Внедрения» ускоренного курса машинного обучения, а нейронные сети обсуждаются в модуле «Нейронные сети» . Векторы встраивания для аналогичных примеров, таких как видеоролики YouTube на схожие темы, которые смотрят одни и те же пользователи, в конечном итоге оказываются близко друг к другу в пространстве встраивания. Контролируемая мера сходства использует эту «близость» для количественной оценки сходства пар примеров.

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

Сравнение ручных и контролируемых мер

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

Требование Руководство Контролируемый
Устраняет избыточную информацию в коррелирующих функциях? Нет, вам необходимо исследовать любые корреляции между функциями. Да, DNN удаляет избыточную информацию.
Дает представление о рассчитанных сходствах? Да Нет, вложения не могут быть расшифрованы.
Подходит для небольших наборов данных с небольшим количеством функций? Да. Нет, небольшие наборы данных не предоставляют достаточного количества обучающих данных для DNN.
Подходит для больших наборов данных со множеством функций? Нет, вручную удалить избыточную информацию из нескольких функций и затем объединить их очень сложно. Да, DNN автоматически удаляет избыточную информацию и объединяет функции.

Создание контролируемой меры сходства

Ниже приведен обзор процесса создания контролируемой меры сходства:

Введите данные объекта. Выберите DNN: автоэнкодер или предиктор.       Извлечь вложения. Выберите измерение: скалярное произведение, косинус или евклидово расстояние.
Рисунок 1. Шаги по созданию контролируемой меры сходства.

На этой странице обсуждаются DNN, а на следующих страницах описаны оставшиеся шаги.

Выбирайте DNN на основе обучающих меток

Сократите данные объектов до вложений меньшей размерности, обучив DNN, которая использует одни и те же данные объектов как в качестве входных данных, так и в качестве меток. Например, в случае с данными о доме DNN будет использовать такие характеристики, как цена, размер и почтовый индекс, чтобы самостоятельно прогнозировать эти характеристики.

Автоэнкодер

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

Рисунок, показывающий большое количество узлов для одинаковых входных и выходных данных, сжатый до трех узлов посередине.        из пяти скрытых слоев.
Рисунок 2: Архитектура автоэнкодера.

Предсказатель

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

На рисунке показано, как большое количество узлов во входном векторе сокращается с трех скрытых слоев до слоя из трех узлов, из которого следует извлечь вложения. Последний выходной слой — это прогнозируемое значение метки.
Рисунок 3: Архитектура предиктора.

При выборе объекта для метки:

  • Отдавайте предпочтение числовым признакам, а не категориальным, поскольку потери легче вычислять и интерпретировать для числовых признаков.

  • Удалите функцию, которую вы используете в качестве метки, из входных данных в DNN, иначе DNN будет использовать эту функцию для точного прогнозирования выходных данных. (Это крайний пример утечки этикеток .)

В зависимости от вашего выбора меток результирующая DNN является либо автокодировщиком, либо предиктором.