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


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=1ti=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

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

Зауважте, що

||xx||2=(xx)T(xx)=||x||+||x||2||xx||.

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

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

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

||xx||2=2(1f(x,x))
f(x,x)=xTx,

так

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

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


3

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

K(x,x)=exp(xx22σ2)

Відстаньвикористовується в експоненті. Значення ядра знаходиться в діапазоні . Є один параметр настройки . В основному, якщо висока, буде близьким до 1 для будь-якого . Якщо низький, невелика відстань від до призведе до того, що буде близьким до 0.xx[0,1]σσK(x,x)x,xσxxK(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.