Як я можу конвертувати відстань (евклідову) в оцінку подібності


13

Я використовую означає кластеризацію для голосу кластера динаміків. Коли я порівнюю висловлювання з кластерними даними динаміків, я отримую (евклідову відстань) середнє спотворення. Ця відстань може бути в межах . Я хочу перетворити цю відстань у показник подібності . Підкажіть будь ласка про те, як я можу цього досягти.k[0,∞][0,1]

Відповіді:


16

Якщо являє собою евклідову відстань від точки до точки ,d(p1,p2)p1p2

11+d(p1,p2)

зазвичай використовується.


Виправте мене, якщо я помиляюся, якщо у нас і де кожен і має розмірність . Тоді ми можемо визначити подібність, наприклад, . X=(x1,x2,x3,...,xt)Y=(Y1,Y2,Y3,...,Yn)xyD
Similarity=1t∑i=1t11+minDistance(xi,Y)
— Мухаммед

Я розумію, що плюс 1 у знаменнику полягає у тому, щоб уникнути поділу на нульову помилку. Але я виявив, що значення плюс одне непропорційно впливає на значення d (p1, p2), що перевищують 1, і в кінцевому підсумку значно знижує показник подібності. Чи є інший спосіб зробити це? Може бути, s = 1-d (p1, p2)
— aamir23

9

Ви також можете використовувати:1edist де distпотрібна функція відстані.


Чи можете ви надати будь-який довідник / документацію, пов'язану з цим рівнянням, в якому ви його знайшли? @Dougal
— Justlife

@AnimeshKumarPaul Я не писав цієї відповіді, просто покращив її форматування. Але він часто використовується як версія, наприклад, "узагальненого ядра RBF"; див., наприклад, тут . Це питання стосується того, чи є вихід позитивним ядром; якщо вам це не байдуже, це, принаймні, задовольняє інтуїтивне поняття подібності, що більш віддалені точки менш схожі.
— Дугал

@Justlife: Google для цієї "енциклопедії відстаней" і вибирає результат разом із документом pdf.
— Неопрацьоване виняток

7

Це здається, що ви хочете чогось схожого на косинусну схожість, що саме по собі є оцінкою подібності в одиничному інтервалі. Насправді існує прямий зв’язок між евклідовою дистанцією та схожістю косинусів!

Зауважте, що

||x−x′||2=(x−x′)T(x−x′)=||x||+||x′||−2||x−x′||.

У той час як косинусна подібність де - кут між і .

f(x,x′)=xTx′||x||||x′||=cos⁡(θ)
θxx′

Коли маємо і ||x||=||x′||=1,

||x−x′||2=2(1−f(x,x′))
f(x,x′)=xTx′,

так

1−||x−x′||22=f(x,x′)=cos⁡(θ)
у цьому спеціальному випадку.

З обчислювальної точки зору може бути ефективніше просто обчислити косинус, а не евклідова відстань, а потім виконати перетворення.


3

Як щодо гауссового ядра ?

K(x,x′)=exp⁡(−‖x−x′‖22σ2)

Відстаньвикористовується в експоненті. Значення ядра знаходиться в діапазоні . Є один параметр настройки . В основному, якщо висока, буде близьким до 1 для будь-якого . Якщо низький, невелика відстань від до призведе до того, що буде близьким до 0.‖x−x′‖[0,1]σσK(x,x′)x,x′σxx′K(x,x′)


1
Зауважте, що ця відповідь та винятки @Unhandled дуже пов'язані: це , де цей [введення коефіцієнта масштабування] - , гауссова ядро ​​з показником . Це все ще буде дійсним ядром , хоча ОП не обов’язково про це дбає. exp⁡(−γd(x,x′)2)exp⁡(−γd(x,x′))d
— Дугал

0

Якщо ви використовуєте метрику відстані, яка природно між 0 і 1, як відстань Геллінгера. Тоді ви можете використовувати 1 - відстань для отримання подібності.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.