Кластеризация: я должен использовать расхождение Дженсена-Шеннона или его квадрат?

15

Я группирую распределения вероятностей, используя алгоритм распространения сродства , и планирую использовать расхождение Дженсена-Шеннона в качестве метрики расстояния.

Правильно ли использовать сам JSD в качестве расстояния или JSD в квадрате? Почему? Какие различия могут возникнуть в результате выбора одного или другого?

пузырь алькубьерра
источник

Ответы:

20

Я думаю, что это зависит от того, как это должно быть использовано.

Просто для справки для других читателей, если и Q являются вероятностными мерами, то расходимость Дженсена-Шеннона равна J ( P , Q ) = 1пQ гдеR=1

J(п,Q)знак равно12(D(п||р)+D(Q||р))
- мера средней точки, аD()- дивергенция Кульбака-Лейблера.рзнак равно12(п+Q)D(||)

Теперь я хотел бы использовать квадратный корень из расхождения Дженсена-Шеннона, поскольку он является метрикой , то есть удовлетворяет всем «интуитивным» свойствам меры расстояния.

Подробнее об этом см.

Эндрес и Шинделин, Новая метрика для распределения вероятностей , IEEE Trans. на инфо. Thy. том 49, нет. 3 июля 2003 г., стр. 1858-1860.

Конечно, в некотором смысле это зависит от того, для чего это нужно. Если все, что вы используете, это для оценки некоторой попарной меры, то любое монотонное преобразование JSD будет работать. Если вы ищете что-то, что ближе всего к «квадрату расстояния», то сама JSD является аналогичной величиной.

Кстати, вас также может заинтересовать этот предыдущий вопрос и связанные с ним ответы и обсуждения.

кардинальный
источник
Круто, я прочитаю "новую метрику для распределения вероятностей" как можно скорее. Txh
окт
Благодарность! Я не осознавал, что сам JSD уже аналогичен dist ** 2
AlcubierreDrive
Спасибо за отличное объяснение! Просто быстрый вопрос. Я знаю, что J-Divergence симметрична в этом J(P,Q) = J(Q,P). Я читал, что расхождение JS симметрично в P и Q. Это значит JS(P,Q) = JS(Q,P)? Я спрашиваю об этом, потому что я использую KLdivфункцию из flexmixпакета в R. Для моих двух распределений матричный вывод из KLdiv не является симметричным. Я ожидал, что JS исправит это, но вывод JS (вычисленный с использованием KL) не является симметричным.
Легенда
1
пQ