Почему уменьшение размерности улучшает неконтролируемую кластеризацию киноплакатов? - PullRequest
0 голосов
/ 30 октября 2018

Я пишу статью, в которой пытаюсь группировать постеры фильмов на основе их визуальных особенностей Цель состоит в том, чтобы объединить постеры фильмов, которые выглядят одинаково.

Чтобы получить количественное описание того, как «выглядят» плакаты, я выделил 25088 функций для всех плакатов, используя предварительно обученный VGG16 CNN. Эти функции хранятся в матрице с размерами ( # постеры фильмов, 25088 ).

На основе извлеченных функций я хочу:

  1. Создание групп / групп похожих постеров фильма, которые можно извлечь из сценария рекомендации.
  2. Получите список n наиболее похожих плакатов с данным плакатом (например, n наиболее похожих плакатов с плакатом Мадагаскара).

Я буду использовать алгоритм кластеризации: K-означает , и я оценил качество кластеризации, используя Коэффициент силуэта .

Я пробовал следующее:

  • Кластеризация с использованием необработанных элементов с помощью K-средних (с использованием косинусного сходства)
  • Выполнение PCA (10 компонентов) перед кластеризацией
  • Выполнение NMF (10 компонентов) перед кластеризацией
  • Вычисление матрицы сходства, чтобы можно было получить список n самых похожих постеров фильма.

Я пытаюсь найти лучшее и самое простое решение. Поэтому у меня два вопроса:

  1. Использование PCA и NMF приводит к более высокому Силуэтному коэффициенту (соответственно 0,2 и 0,35) по сравнению с 0,01 по необработанным данным. Это потому, что большая часть отклонений отбрасывается через PCA и NMF? Я обеспокоен тем, что это так, поскольку коэффициент силуэта повышается, поскольку я уменьшаю количество компонентов как в PCA, так и в NMF.
  2. Чтобы получить список из n наиболее похожих плакатов, я вычислил матрицу сходства, из которой я печатаю фильмы с наибольшим косинусным сходством с данным фильмом. Есть ли способ сделать это без расчета матрицы сходства? Мне кажется, что это должно быть возможно с использованием информации в выходных матрицах из PCA и NMF.

1 Ответ

0 голосов
/ 30 октября 2018

Вы не должны сравнивать Силуэт, рассчитанный на разных данных.

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

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

PCA пытается сохранить дисперсию, а не углы. Так что косинус и PCA применимы в разных ситуациях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...