Apakah kesamaan cosinus identik dengan jarak euclidean yang dinormalisasi-l2?

27

Identik makna, bahwa itu akan menghasilkan hasil yang identik untuk kesamaan peringkat antara vektor u dan satu set vektor V .

Saya memiliki model ruang vektor yang memiliki ukuran jarak (jarak euclidean, kesamaan cosinus) dan teknik normalisasi (tidak ada, l1, l2) sebagai parameter. Dari pemahaman saya, hasil dari pengaturan [cosinus, tidak ada] harus identik atau setidaknya benar-benar sangat mirip dengan [euclidean, l2], tetapi tidak.

Sebenarnya ada peluang bagus sistemnya masih bermasalah - atau apakah saya memiliki kesalahan kritis tentang vektor?

sunting: Saya lupa menyebutkan bahwa vektor didasarkan pada jumlah kata dari dokumen dalam corpus. Diberikan dokumen permintaan (yang saya juga mentransformasikannya dalam vektor jumlah kata), saya ingin mencari dokumen dari corpus saya yang paling mirip dengannya.

Hanya menghitung jarak euclidean mereka adalah ukuran lurus ke depan, tetapi dalam jenis tugas yang saya kerjakan, kesamaan cosinus sering lebih disukai sebagai indikator kesamaan, karena vektor yang hanya berbeda panjangnya masih dianggap sama. Dokumen dengan jarak terkecil / kesamaan cosinus dianggap paling mirip.

Arne
sumber
Itu semua tergantung pada apa "model ruang vektor" Anda lakukan dengan jarak ini. Bisakah Anda lebih spesifik tentang apa yang dilakukan model?
Whuber
Maaf, terkadang sulit keluar dari kepalaku sendiri. Saya menambahkan spesifikasi.
Arne
Anda masih belum menjelaskan model apa pun. Sebenarnya, satu-satunya petunjuk yang tersisa tentang "jenis tugas (Anda) kerjakan" adalah tag nlp - tapi itu sangat luas sehingga tidak banyak membantu. Apa yang saya harap dapat Anda berikan, sehingga orang dapat memahami pertanyaan dan memberikan jawaban yang baik, adalah informasi yang cukup untuk dapat mengetahui dengan tepat bagaimana Anda menggunakan ukuran jarak Anda dan bagaimana ia menentukan apa "hasil" yang mungkin terjadi.
whuber
stats.stackexchange.com/a/36158/3277 . Setiap kesamaan alias sscp-type sudut dapat dikonversi ke jarak euclidean yang sesuai.
ttnphns

Jawaban:

31

Untuk -normalisasi vektor , kita memiliki Euclidean kuadrat jarak sebanding dengan jarak cosinus , Yaitu, bahkan jika Anda menormalkan data dan algoritme Anda tidak sama dengan penskalaan jarak, Anda masih akan mengharapkan perbedaan karena kuadrat.2x,y

||x||2=||y||2=1,
||xy||22=(xy)(xy)=xx2xy+yy=22xy=22cos(x,y)
Lucas
sumber
Apakah ini akan mempengaruhi peringkat? Artinya, jika saya mengurutkan sejumlah vektor 'v_i di V' berdasarkan jarak kosinusnya ke vektor 'u', saya mendapatkan urutan tertentu untuk mereka. Apakah peringkat vektor-vektor yang sama dengan l_2 jarak euclide dinormalisasi menghasilkan urutan yang sama?
Arne
2
iirc, karena kuadrat adalah transformasi monotik (untuk angka positif), itu tidak dapat mengubah urutan urutan yang diurutkan berdasarkan panjang.
Arne
5
Anda benar, jika semua yang Anda lakukan adalah memberi peringkat vektor berdasarkan jaraknya ke , menggunakan jarak cosinus akan memberikan hasil yang sama dengan jarak Euclidean (untuk vektor yang dinormalisasi). u
Lucas
Terima kasih, apakah Anda memiliki sumber yang dapat dicoba untuk koneksi ini?
Arne
1
Yah, kurasa 'Aljabar Linear I' sudah cukup;) terima kasih lagi untuk wawasannya!
Arne
5

Kesamaan cosinus standar didefinisikan sebagai berikut dalam ruang Euclidian, dengan asumsi vektor kolom dan : Ini mengurangi ke produk dalam standar jika vektor Anda dinormalisasi ke norma satuan (dalam l2). Dalam penambangan teks normalisasi semacam ini tidak pernah terdengar, tetapi saya tidak akan menganggap itu sebagai standar.uv

cos(u,v)=u,vuv=uTvuv[1,1].
Marc Claesen
sumber