Dalam analisis data, kemiripan kosinus atau kesamaan kosinus (bahasa Inggris: cosine similarity) adalah ukuran kemiripan antara dua vektor tak-nol yang didefinisikan dalam ruang hasil kali dalam. Kemiripan kosinus adalah nilai kosinus dari sudut di antara kedua vektor tersebut; yaitu, hasil kali titik dari vektor-vektor tersebut dibagi dengan hasil kali panjang (besaran) mereka. Oleh karena itu, kemiripan kosinus tidak bergantung pada besaran vektor, melainkan hanya pada sudutnya. Kemiripan kosinus selalu berada pada interval Misalnya, dua vektor sebanding (proporsional) memiliki kemiripan kosinus +1, dua vektor tegak lurus (ortogonal) memiliki kemiripan 0, dan dua vektor yang berlawanan (opposite) memiliki kemiripan −1. Dalam beberapa konteks, nilai komponen vektor tidak dapat bernilai negatif, yang mana dalam hal ini kemiripan kosinus dibatasi pada interval .

Sebagai contoh, dalam bidang temu balik informasi dan penambangan teks, setiap kata diberi koordinat yang berbeda dan sebuah dokumen direpresentasikan oleh vektor dari jumlah kemunculan setiap kata dalam dokumen tersebut. Kemiripan kosinus kemudian memberikan ukuran yang berguna mengenai seberapa mirip dua dokumen kemungkinan besarnya, dalam hal materi subjeknya, dan tidak bergantung pada panjang dokumen tersebut.[1]

Teknik ini juga digunakan untuk mengukur kohesi (kerekatan, kepaduan) di dalam kluster pada bidang penambangan data.[2]

Salah satu keuntungan dari kemiripan kosinus adalah kompleksitasnya yang rendah, terutama untuk vektor rongga (sparse vector): hanya koordinat tak-nol yang perlu dipertimbangkan.

Nama lain untuk kemiripan kosinus meliputi kemiripan Orchini dan koefisien kekongruenan (kesesuaian/keselarasan) Tucker; kemiripan Otsuka–Ochiai (lihat di bawah) adalah kemiripan kosinus yang diterapkan pada data biner.[3]

Definisi

sunting

Kosinus dari dua vektor tak-nol dapat diturunkan dengan menggunakan rumus hasil kali titik Euklides (spasial):

Diberikan dua vektor atribut berdimensi-n, A dan B, kemiripan kosinus, cos(θ), direpresentasikan menggunakan hasil kali titik dan besaran sebagai

di mana dan masing-masing adalah komponen ke- dari vektor dan .

Nilai kemiripan yang dihasilkan berkisar dari −1 yang berarti berlawanan secara persis, hingga +1 yang berarti persis sama, dengan 0 menunjukkan ortogonalitas (ketegaklurusan) atau dekorelasi, sedangkan nilai di antaranya menunjukkan kemiripan atau ketidakmiripan menengah (intermediate).

Untuk pencocokan teks, vektor atribut A dan B biasanya adalah vektor frekuensi istilah (term frequency, TF) dari dokumen-dokumen tersebut. Kemiripan kosinus dapat dilihat sebagai metode normalisasi panjang dokumen selama perbandingan. Dalam kasus temu balik informasi, kemiripan kosinus dari dua dokumen akan berkisar dari , karena frekuensi istilah (term frequency) tidak mungkin negatif. Hal ini tetap berlaku saat menggunakan bobot TF-IDF. Sudut antara dua vektor frekuensi istilah (term frequencies) tidak mungkin lebih besar dari 90°.

Jika vektor atribut dinormalkan dengan mengurangkan rata-rata vektornya (misalnya, ), ukuran tersebut disebut kemiripan kosinus terpusat dan ekuivalen dengan Koefisien korelasi Pearson. Untuk contoh pemusatan (centering),

Jarak kosinus

sunting

Ketika jarak antara dua vektor dengan panjang satuan didefinisikan sebagai panjang selisih vektor mereka, maka

Meskipun demikian, jarak kosinus[4] sering didefinisikan tanpa akar kuadrat atau faktor dari 2:

Penting untuk dicatat bahwa, karena sebanding dengan kuadrat jarak Euklides, jarak kosinus bukanlah metrik jarak yang sesungguhnya; jarak ini tidak menunjukkan sifat ketaksamaan segitiga — atau, secara lebih formal, ketaksamaan Schwarz — dan melanggar aksioma kebetulan (coincidence axiom). Untuk memperbaiki sifat ketaksamaan segitiga sembari mempertahankan urutan yang sama, seseorang dapat mengubahnya ke jarak Euklides atau jarak sudut θ = arccos(SC(A, B)). Sebagai alternatif, ketaksamaan segitiga yang berlaku untuk jarak sudut dapat dinyatakan secara langsung dalam bentuk kosinus; lihat di bawah.

Jarak sudut dan kemiripan

sunting

Sudut ternormalisasi, yang disebut sebagai jarak sudut, antara sembarang dua vektor dan adalah metrik jarak formal dan dapat dihitung dari kemiripan kosinus.[5] Komplemen dari metrik jarak sudut ini kemudian dapat digunakan untuk mendefinisikan fungsi kemiripan sudut yang dibatasi antara nilai 0 hingga 1, inklusif (terhitung).

Ketika elemen vektor dapat bernilai positif atau negatif:

Atau, jika elemen vektor selalu bernilai positif:

Sayangnya, penghitungan fungsi kosinus invers (arccos) berjalan lambat, sehingga penggunaan jarak sudut secara komputasi akan lebih mahal dibandingkan menggunakan jarak kosinus (yang bukan metrik) yang lebih umum di atas.

Jarak Euklides ternormalisasi-L2

sunting

Proksi (pengganti, pendekatan, atau alternatif) efektif lainnya untuk jarak kosinus dapat diperoleh dengan normalisasi dari vektor-vektor tersebut, diikuti dengan penerapan jarak Euklides normal. Menggunakan teknik ini, setiap suku dalam masing-masing vektor pertama-tama dibagi dengan besaran vektor tersebut, menghasilkan vektor dengan panjang satuan. Kemudian, jarak Euklides pada titik-titik ujung dari sembarang dua vektor akan menjadi metrik yang tepat yang memberikan urutan yang sama dengan jarak kosinus (sebuah transformasi monotonik dari jarak Euklides; lihat di bawah) untuk perbandingan vektor apa pun, dan lebih jauh lagi menghindari operasi trigonometri yang berpotensi mahal, yang diperlukan untuk menghasilkan metrik yang tepat. Setelah normalisasi dilakukan, ruang vektor ini dapat digunakan dengan berbagai teknik yang tersedia secara lengkap untuk sembarang ruang Euklides, terutama teknik standar reduksi dimensi. Bentuk jarak ternormalisasi ini sering digunakan di dalam banyak algoritma pemelajaran dalam (deep learning).

Koefisien Otsuka–Ochiai

sunting

Dalam bidang biologi, terdapat konsep serupa yang dikenal sebagai koefisien Otsuka–Ochiai yang dinamai dari Yanosuke Otsuka (juga dieja sebagai Ōtsuka, Ootsuka, atau Otuka,[6] Jepang: 大塚 弥之助)[7] dan Akira Ochiai (Jepang: 落合 明),[8] juga dikenal sebagai koefisien Ochiai–Barkman[9] atau koefisien Ochiai,[10] yang dapat direpresentasikan sebagai:

Di sini, dan adalah himpunan, dan adalah jumlah elemen dalam . Jika himpunan direpresentasikan sebagai vektor bit, koefisien Otsuka–Ochiai terlihat memiliki persamaan dengan kemiripan kosinus. Skor ini identik dengan skor yang diperkenalkan oleh Godfrey Thomson.[11]

Dalam sebuah buku baru-baru ini,[12] koefisien tersebut secara tentatif salah diatributkan kepada peneliti Jepang lain dengan nama keluarga Otsuka. Kebingungan ini muncul karena pada tahun 1957, Akira Ochiai mengatributkan koefisien ini hanya kepada Otsuka (tanpa menyebut nama depan)[8] dengan mengutip sebuah artikel dari Ikuso Hamai (Jepang: 浜井 生三),[13] yang pada gilirannya mengutip artikel asli tahun 1936 oleh Yanosuke Otsuka.[7]

Sifat

sunting

Sifat yang paling menonjol dari kemiripan kosinus adalah ia mencerminkan perbandingan relatif, dan bukan absolut, dari dimensi vektor individu. Untuk sembarang konstanta positif dan vektor , vektor dan sangatlah mirip secara maksimal. Oleh karena itu, ukuran ini paling tepat digunakan untuk data yang frekuensinya lebih penting daripada nilai absolutnya; terutama, frekuensi istilah (term frequency) dalam dokumen. Namun, metrik yang lebih baru, yang didasarkan pada teori informasi, seperti Jensen–Shannon, SED, dan divergensi segitiga, telah terbukti memiliki semantik yang lebih baik setidaknya di dalam beberapa konteks.[14]

Kemiripan kosinus berkaitan dengan jarak Euklides sebagai berikut. Nyatakan jarak Euklides dengan notasi lazim , dan perhatikan bahwa

(identitas polarisasi)

melalui ekspansi (perluasan). Saat A dan B dinormalisasi menjadi panjang satuan, sehingga bentuk matematis ini sama dengan

Secara ringkas, jarak kosinus dapat dinyatakan di dalam bentuk jarak Euklides sebagai

Jarak Euklides ini disebut jarak tali busur (karena ini adalah panjang tali busur pada lingkaran satuan) dan merupakan jarak Euklides di antara vektor-vektor yang dinormalisasi menjadi jumlah satuan dari nilai-nilai kuadrat di dalamnya.

Distribusi nol (null distribution): Untuk data yang bisa bernilai negatif maupun positif, distribusi nol untuk kemiripan kosinus adalah distribusi dari hasil kali titik antara dua vektor satuan acak yang saling bebas. Distribusi ini memiliki rata-rata (mean) nol dan variansi sebesar (di mana adalah jumlah dimensi), dan meskipun distribusinya dibatasi antara −1 dan +1, seiring membesarnya , distribusi ini akan semakin mendekati distribusi normal.[15][16] Pada jenis data lain seperti aliran bit (bitstream), yang hanya mengambil nilai 0 atau 1, distribusi nol-nya mengambil bentuk yang berbeda dan mungkin memiliki rata-rata bukan nol.[17]

Ketaksamaan segitiga untuk kemiripan kosinus

sunting

Ketaksamaan segitiga biasa untuk berbagai sudut (yaitu, panjang busur pada sebuah bola berdimensi tinggi (hypersphere) satuan) memberikan kita perumusan bahwa

Oleh karena fungsi kosinus menurun seiring dengan meningkatnya sudut dalam rentang radian [0, π], arah ketaksamaan ini menjadi terbalik saat kita mengambil nilai kosinus dari masing-masing nilai tersebut:

Dengan menggunakan rumus penambahan dan pengurangan kosinus, kedua ketaksamaan ini dapat ditulis dalam bentuk kosinus aslinya,

Bentuk ketaksamaan segitiga ini dapat digunakan untuk memberikan batasan pada kemiripan minimum dan maksimum antara dua objek A dan B jika kemiripan terhadap objek referensi C telah diketahui. Pendekatan ini digunakan, misalnya, dalam pengindeksan data metrik, tetapi juga telah digunakan untuk mempercepat k-means clustering sferis (berbentuk seperti bola)[18] dengan cara yang sama seperti ketaksamaan segitiga Euklides yang telah digunakan untuk mempercepat k-means reguler.

Ukuran kosinus lunak

sunting

Kosinus lunak atau (kemiripan "lunak") di antara dua vektor mempertimbangkan kemiripan di antara pasangan fitur.[19] Kemiripan kosinus tradisional menganggap fitur-fitur model ruang vektor (vector space model, VSM) bersifat independen atau sepenuhnya berbeda, sedangkan ukuran kosinus lunak mengusulkan untuk turut mempertimbangkan kemiripan fitur dalam VSM, yang pada akhirnya membantu menggeneralisasikan konsep kosinus (dan kosinus lunak) serta gagasan mengenai kemiripan (lunak).

Sebagai contoh, dalam bidang pengolahan bahasa alami (PBA), kemiripan antarfitur cukup intuitif. Fitur-fitur seperti kata, n-gram, atau n-gram sintaksis bisa jadi sangat mirip,[20] meskipun secara formal dianggap sebagai fitur yang berbeda di dalam VSM. Misalnya, kata "bermain" dan "permainan" merupakan kata yang berbeda sehingga dipetakan ke titik yang berbeda di VSM; padahal keduanya saling terhubung secara semantik. Dalam kasus n-gram atau n-gram sintaksis, jarak Levenshtein dapat diaplikasikan (bahkan, jarak Levenshtein juga dapat diaplikasikan pada kata-kata tunggal).

Untuk menghitung kosinus lunak, matriks s digunakan untuk mengindikasikan kemiripan antarfitur. Ini dapat dihitung lewat jarak Levenshtein, kemiripan WordNet, atau ukuran kemiripan lainnya. Kemudian, kita hanya perlu mengalikannya dengan matriks ini.

Diberikan dua vektor berdimensi-N, yakni dan , kemiripan kosinus lunaknya dihitung sebagai berikut:

di mana sij = kemiripan(fituri, fiturj).

Jika tidak ada kemiripan di antara fitur (sii = 1, sij = 0 untuk ij), persamaan tersebut akan setara dengan rumus kemiripan kosinus konvensional.

Kompleksitas waktu dari ukuran ini bersifat kuadratik, yang membuatnya dapat diterapkan pada berbagai tugas di dunia nyata. Perlu dicatat bahwa kompleksitas ini dapat dikurangi menjadi subkuadratik.[21] Implementasi efisien dari kemiripan kosinus lunak semacam ini sudah disertakan di dalam pustaka sumber terbuka (open-source) Gensim.

Lihat pula

sunting

Referensi

sunting
  1. ^ Singhal, Amit (2001). "Modern Information Retrieval: A Brief Overview". Bulletin of the IEEE Computer Society Technical Committee on Data Engineering 24 (4): 35–43.
  2. ^ P.-N. Tan, M. Steinbach & V. Kumar, Introduction to Data Mining, Addison-Wesley (2005), ISBN 0-321-32136-7, bab 8; hlm. 500.
  3. ^ "cosine_similarity: Function for calculating the cosine similarity". rDrr.io. Diakses tanggal 18 November 2024.
  4. ^ Wolfram Research (2007). "CosineDistance – Wolfram Language & System Documentation Center". wolfram.com. Pemeliharaan CS1: Nama numerik: authors list (link)
  5. ^ "COSINE DISTANCE, COSINE SIMILARITY, ANGULAR COSINE DISTANCE, ANGULAR COSINE SIMILARITY". www.itl.nist.gov. Diakses tanggal 2020-07-11.
  6. ^ Omori, Masae (2004). "Geological idea of Yanosuke Otuka, who built the foundation of neotectonics (geoscientist)". Earth Science. 58 (4): 256–259. doi:10.15080/agcjchikyukagaku.58.4_256.
  7. ^ a b Otsuka, Yanosuke (1936). "The faunal character of the Japanese Pleistocene marine Mollusca, as evidence of the climate having become colder during the Pleistocene in Japan". Bulletin of the Biogeographical Society of Japan. 6 (16): 165–170.
  8. ^ a b Ochiai, Akira (1957). "Zoogeographical studies on the soleoid fishes found in Japan and its neighhouring regions-II". Bulletin of the Japanese Society of Scientific Fisheries. 22 (9): 526–530. doi:10.2331/suisan.22.526.
  9. ^ Barkman, Jan J. (1958). Phytosociology and Ecology of Cryptogamic Epiphytes: Including a Taxonomic Survey and Description of Their Vegetation Units in Europe. Assen: Van Gorcum.
  10. ^ Romesburg, H. Charles (1984). Cluster Analysis for Researchers. Belmont, California: Lifetime Learning Publications. hlm. 149.
  11. ^ Thomson, Godfrey (1916). "A hierarchy without a general factor" (PDF). British Journal of Psychology. 8: 271–281.
  12. ^ Howarth, Richard J. (2017). Dictionary of Mathematical Geosciences: With Historical Notes. Cham: Springer. hlm. 421. Bibcode:2017dmgh.book.....H. doi:10.1007/978-3-319-57315-1. ISBN 978-3-319-57314-4. S2CID 67081034. […] attributed by him to "Otsuka" [?A. Otsuka of the Dept. of Fisheries, Tohoku University].
  13. ^ Hamai, Ikuso (1955). "Stratification of community by means of "community coefficient" (continued)". Japanese Journal of Ecology. 5 (1): 41–45. doi:10.18960/seitai.5.1_41.
  14. ^ Connor, Richard (2016). A Tale of Four Metrics. Similarity Search and Applications. Tokyo: Springer. doi:10.1007/978-3-319-46759-7_16.
  15. ^ Spruill, Marcus C. (2007). "Asymptotic distribution of coordinates on high dimensional spheres". Electronic Communications in Probability. 12: 234–247. doi:10.1214/ECP.v12-1294.
  16. ^ "Distribution of dot products between two random unit vectors in RD". CrossValidated.
  17. ^ Graham L. Giller (2012). "The Statistical Properties of Random Bitstreams and the Sampling Distribution of Cosine Similarity". Giller Investments Research Notes (20121024/1). doi:10.2139/ssrn.2167044. S2CID 123332455.
  18. ^ Schubert, Erich; Lang, Andreas; Feher, Gloria (2021). "Accelerating Spherical k-Means". Dalam Reyes, Nora; Connor, Richard; Kriege, Nils; Kazempour, Daniyal; Bartolini, Ilaria; Schubert, Erich; Chen, Jian-Jia (ed.). Similarity Search and Applications. Lecture Notes in Computer Science (dalam bahasa Inggris). Vol. 13058. Cham: Springer International Publishing. hlm. 217–231. arXiv:2107.04074. doi:10.1007/978-3-030-89657-7_17. ISBN 978-3-030-89657-7. S2CID 235790358.
  19. ^ Sidorov, Grigori; Gelbukh, Alexander; Gómez-Adorno, Helena; Pinto, David (29 September 2014). "Soft Similarity and Soft Cosine Measure: Similarity of Features in Vector Space Model". Computación y Sistemas. 18 (3): 491–504. doi:10.13053/CyS-18-3-2043. Diakses tanggal 7 October 2014.
  20. ^ Sidorov, Grigori; Velasquez, Francisco; Stamatatos, Efstathios; Gelbukh, Alexander; Chanona-Hernández, Liliana (2013). Advances in Computational Intelligence. Lecture Notes in Computer Science. Vol. 7630. LNAI 7630. hlm. 1–11. doi:10.1007/978-3-642-37798-3_1. ISBN 978-3-642-37798-3.
  21. ^ Novotný, Vít (2018). Implementation Notes for the Soft Cosine Measure. The 27th ACM International Conference on Information and Knowledge Management. Torun, Italy: Association for Computing Machinery. hlm. 1639–1642. arXiv:1808.09407. doi:10.1145/3269206.3269317. ISBN 978-1-4503-6014-2.

Pranala luar

sunting

📚 Artikel Terkait di Wikipedia

Rumus Vieta untuk Pi

doi:10.1016/j.jat.2013.06.006. MR 3090772. Morrison, Kent E. (1995). "Cosine products, Fourier transforms, and random sums". The American Mathematical

Sinus dan kosinus

sebagai judul (link) "cosine". "Sine, Cosine, Tangent". www.mathsisfun.com. Diakses tanggal 2020-08-29. "Sine-squared function". Diakses tanggal August

Mazhab astronomi dan matematika Kerala

all practical purposes, been lost to India. The expansions of the sine, cosine, and arc tangent had been passed down through several generations of disciples

CORDIC

328–339. 1996. doi:10.1109/12.485571. Johansson, Kenny (2008). "6.5 Sine and Cosine Functions". Low Power and Low Complexity Shift-and-Add Based Computations

Daftar identitas trigonometri

mathworld.wolfram.com (dalam bahasa Inggris). Diakses tanggal 2021-11-29. "Cosine, Sine and Tangent of Multiple Angles (Recursive Formula)". trans4mind.com

Integral pada Trigonometri

ISBN 978-1-55608-010-4 Hazewinkel, Michiel, ed. (2001) [1994], "Integral cosine", Encyclopedia of Mathematics, Springer Science+Business Media B.V. / Kluwer