Persyaratan: Terakhir kali saya menulis artikel tentang memilih model penyematan dan mendapatkan vektor, algoritma mana yang harus digunakan untuk menghitung kesamaan vektor setelah memanggil model penyematan untuk mendapatkan nilai vektor dan menyimpannya di database vektor?
Vektor
Dalam aljabar linier, vektor sering didefinisikan dalam ruang vektor yang lebih abstrak (juga dikenal sebagai ruang linier). Vektor adalah blok bangunan dasar dalam ruang vektor.
(Banyak panah mewakili banyak vektor)
Kesamaan vektor
Beberapa metode untuk perhitungan kesamaan vektor:
- Jarak Euclidean
- Kesamaan Kosinus
- Koefisien korelasi Pearson (Pearson)
- Cosinus yang Disesuaikan
- Jarak Hamming
- Jarak Manhattan
- Jarak Chebyshev
- Jarak Euclidean
Kesamaan Kosinus
Kesamaan kosinus mengukur kesamaan antara dua vektor dengan mengukur nilai kosinus dari sudut di antara keduanya. Nilai kosinus dari sudut 0 derajat adalah 1, sedangkan nilai kosinus dari sudut lain tidak lebih besar dari 1; Dan nilai minimumnya adalah -1. Dengan demikian nilai kosinus sudut antara dua vektor menentukan apakah kedua vektor menunjuk ke arah yang kira-kira sama. Ketika dua vektor memiliki penunjuk yang sama, nilai kesamaan kosinus adalah 1; Ketika sudut antara kedua vektor adalah 90°, nilai kesamaan kosinus adalah 0. Ketika dua vektor menunjuk ke arah yang berlawanan, nilai kesamaan kosinus adalah -1. Hasil ini tidak tergantung pada panjang vektor, hanya arah penunjukan vektor. Kesamaan kosinus biasanya digunakan dalam ruang positif, sehingga nilai yang diberikan adalah antara -1 dan 1.
Kesamaan kosinus menggunakan nilai kosinus dari sudut antara dua vektor dalam ruang vektor sebagai besarnya perbedaan antara dua individu. Semakin dekat nilai kosinus ke 1, semakin dekat sudutnya ke 0 derajat, yaitu semakin mirip kedua vektor tersebut, yang disebut "kesamaan kosinus".
Koefisien Korelasi Pearson
Mengingat dua variabel acak X dan Y, koefisien korelasi Pearson dapat digunakan untuk mengukur seberapa berkorelasi keduanya, menggunakan rumus berikut:
Koefisien Jaccard
Misalkan ada dua himpunan X dan Y (perhatikan bahwa keduanya di sini bukan vektor), rumus perhitungannya adalah:
Produk Titik
Produk kuantitatif, juga dikenal sebagai produk skalar dan produk titik, disebut produk dalam dalam ruang Euclidean, dan unsur-unsur yang sesuai dikalikan dan ditambahkan, dan hasilnya adalah besaran skalar (yaitu, angka). Ini mengacu pada operasi biner yang menerima dua vektor pada bilangan real R dan mengembalikan skalar numerik nyata. Ini adalah produk dalam standar ruang Euclidean.
Jarak umum
Jarak Minkowski
Minkowski Distane adalah ekspresi umum dari beberapa rumus pengukuran jarak, ketika p=1, Minkowski Distane adalah jarak Manhattan; Ketika p=2, Distane Minkowski adalah jarak Euclidean; Minkowski Distane mengambil bentuk batas jarak Chebyshev.
Jarak Manhattan
Jarak Euclidean
Jarak Chebyshev
Jarak Hamming
Dalam teori informasi, jarak Hemming antara dua string yang sama adalah jumlah karakter dalam posisi berbeda yang sesuai dengan dua string. Misalkan ada dua string: x=[x1,x2,...,xn] dan y=[y1,y2,...,yn], maka jarak antara keduanya adalah:
di mana II mewakili fungsi indikatif, keduanya adalah 1 untuk yang sama, jika tidak adalah 0.
Divergensi KL
Mengingat variabel acak X dan dua distribusi probabilitas P dan Q, divergensi KL dapat digunakan untuk mengukur perbedaan antara kedua distribusi menggunakan rumus berikut:
ringkasan
Jarak produk pip dan kesamaan kosinus sering digunakan untuk mengukur kesamaan dalam data vektor atau teks。 Ini terutama digunakan untuk mengukur kesamaan vektor, seperti kesamaan dokumen dalam penambangan teks dan pemrosesan bahasa alami, atau pengambilan informasi, sistem rekomendasi, dan bidang lainnya. Jika Anda menggunakan model penyematan modern seperti Sentence-BERT atau model pra-terlatih lainnya, output default biasanya dinormalisasi, jadi "Akumulasi titikIni adalah pilihan yang lebih disukai.
Referensi:
Login hyperlink terlihat.
Login hyperlink terlihat.
Login hyperlink terlihat.
Login hyperlink terlihat. |