Saya hanya bekerja dengan buku Collective Intelligence (oleh Toby Segaran) dan menemukan skor jarak Euclidean. Dalam buku ini penulis menunjukkan bagaimana menghitung kesamaan antara dua array rekomendasi (yaitu skor .
Dia menghitung jarak Euclidean untuk dua orang, dan p 2 dengan d ( p 1 , p 2 ) = √
Ini masuk akal bagi saya. Apa yang saya tidak benar-benar mengerti adalah mengapa ia menghitung pada akhirnya yang berikut untuk mendapatkan "kesamaan berdasarkan jarak":
Jadi, saya mendapatkan bahwa ini pasti konversi dari jarak ke kesamaan (kan?). Tetapi mengapa formular terlihat seperti ini? Adakah yang bisa menjelaskannya?
distance-functions
similarities
navige
sumber
sumber
Jawaban:
Kebalikannya adalah untuk mengubah dari jarak ke kesamaan.
Angka 1 dalam penyebutnya adalah untuk membuatnya sehingga nilai maksimum adalah 1 (jika jaraknya 0).
Akar kuadrat - saya tidak yakin. Jika jarak biasanya lebih besar dari 1, root akan membuat jarak besar kurang penting; jika jarak kurang dari 1, itu akan membuat jarak besar lebih penting.
sumber
Untuk mengukur jarak dan kesamaan (dalam arti semantik) hal pertama yang perlu diperiksa adalah apakah Anda bergerak di ruang Euclidean atau tidak. Cara empiris untuk memverifikasi ini adalah memperkirakan jarak sepasang nilai yang Anda ketahui artinya.
sumber
Seperti yang Anda sebutkan, Anda tahu perhitungan jarak Euclidence jadi saya menjelaskan rumus kedua.
Rumus Euclidean menghitung jarak, yang akan lebih kecil untuk orang atau barang yang lebih mirip. Seperti jika mereka sama maka jarak adalah 0 dan sama sekali berbeda maka lebih tinggi dari 0.
Namun kita membutuhkan fungsi yang memberikan nilai lebih tinggi dari mereka yang serupa. Ini dapat dilakukan dengan menambahkan 1 ke fungsi (sehingga Anda tidak mendapatkan kesalahan pembagian-oleh-nol) dan membalikkannya. Seperti jika distence 0 dan skor kesamaan 1/1 = 1
sumber