Понимание использования pdist в сочетании с mdscale
Я работаю над проблемой скопления.
У меня есть набор из 100 observatons
, Каждое наблюдение описывается тремя особенностями. Я должен объединить эти наблюдения в 2 группы (у меня есть метка для каждого наблюдения).
Перед объединением наблюдений я сначала вычислил pdist
между наблюдениями, а затем я использовал функцию mdscale в MATLAB, чтобы вернуться к 3 измерениям. Я использовал transformed_observation
как ввод алгоритма кластеризации kmean для получения лучших результатов кластеризации (т. е. кластеры совпадают с метками) по сравнению с использованием исходных наблюдений. Кто-нибудь может объяснить мне, почему??? Я только что попробовал...
Здесь вы можете найти мои шаги...
% select the dimensions of my features
dimensions = 3;
% generate an example data set
observations = rand(100,dimensions);
% if yes use the combination of pdist + mdscale
use_dissimilarity = 'yes';
if strcmp(use_dissimilarity,'yes')
%compute pdist between features
dissimilarity = pdist(observations,@kullback_leibler_divergence);
%re-transform features in 3 dimensions
transformed_observations = mdscale(dissimilarity,dimensions);
else
transformed_observations = observations;
end
%cluster observations
numbercluster = 2;
[IDX, clustercentroids] = kmeans(transformed_observations, numbercluster,...
'emptyaction','singleton',...
'replicates',11,'display','off');
1 ответ
pdist
вычисляет попарные расстояния (используя KL-Divergence).
mdscale
(Многомерное масштабирование) теперь будет пытаться встроить расстояния в евклидово векторное пространство так, чтобы они лучше сохранялись.
К-среднее работает только с квадратами евклидовых расстояний (и несколькими другими расхождениями Брегмана).
Так что, на мой взгляд, ошибка в том, что Matlab позволяет вам несколько других расстояний:
'sqeuclidean' (по умолчанию) | 'городской блок' | 'косинус' | "корреляция" | "Кривляется"
Неудивительно, что это сработало лучше, если KL-Divergence подходит для вашего набора данных, потому что эта конструкция позволяет использовать k-средства на (приближение) KL-Divergence.