WhatsApp-Button
Pengertian dan Penerapan Cosine Similarity

Pengertian dan Penerapan Cosine Similarity

  2021-02-23 17:18:38     Ulti Desi Arni     Dibaca 32 kali

Cosine similarity berfungsi sebagai alat untuk membandingkan suatu kemiripan dari dokumen ke dokumen. Dalam hal ini yang bisa dibandingkan adalah sebuah query dengan dokumen latih. Dalam sebuah proses menghitung cosine similarity, pertama yang dilakukannya adalah melakukan sebuah perkalian skalar antara query dengan sebuah dokumen yang kemudian ditambahkan, lalu itu melakukan perkalian antara ukuran panjang dari dokumen dengan ukuran panjang query yang telah dikuadratkan.

Kesamaan kosinus mengukur kesamaan antara dua vektor ruang hasil kali dalam. Ini diukur dengan cosinus sudut antara dua vektor dan menentukan apakah dua vektor menunjuk ke arah yang kira-kira sama. Ini sering digunakan untuk mengukur kesamaan dokumen dalam analisis teks.

Kesamaan cosinus adalah kosinus sudut antara dua vektor berdimensi-n dalam ruang berdimensi-n. Ini adalah perkalian titik dari dua vektor dibagi dengan hasil kali dua panjang (atau besaran) vektor. Idenya sederhana. Kesamaan kosinus mengambil sudut antara dua vektor bukan nol dan menghitung kosinus dari sudut tersebut, dan nilai ini dikenal sebagai kesamaan antara dua vektor. Skor kesamaan ini berkisar dari 0 hingga 1, dengan 0 sebagai yang terendah (paling tidak mirip) dan 1 sebagai yang tertinggi (paling mirip).

Baca Juga : Fungsi Organisasi dan Arsitektur Komputer

Dalam kasus pencarian informasi, kesamaan kosinus dari dua dokumen akan berkisar dari 0 hingga 1, karena istilah frekuensi (menggunakan bobot tf-idf) tidak boleh negatif. Sudut antara dua vektor frekuensi tidak boleh lebih besar dari 90 °.

Kesamaan kosinus terutama digunakan dalam ruang positif, yang hasilnya dibatasi dengan rapi dalam { displaystyle [0,1]} [0,1]. Nama ini berasal dari istilah "arah kosinus": dalam hal ini, vektor satuan secara maksimal "serupa" jika paralel dan secara maksimal "tidak sama" jika ortogonal (tegak lurus). Hal ini sejalan dengan cosinus, yaitu kesatuan (nilai maksimum) ketika segmen membentuk sudut nol dan nol (tidak berkorelasi) ketika segmen tegak lurus.

Proksi efektif lain untuk Jarak Kosinus dapat diperoleh dengan normalisasi { displaystyle L_ {2}} L_ {2} vektor, diikuti dengan penerapan jarak Euclidean normal. Dengan menggunakan teknik ini, setiap suku di setiap vektor pertama-tama dibagi dengan besar vektor, menghasilkan vektor dengan panjang satuan. Maka, jelaslah, jarak Euclidean di atas titik akhir dua vektor mana pun adalah metrik yang tepat yang memberikan urutan yang sama dengan jarak Cosine untuk perbandingan vektor apa pun, dan selanjutnya menghindari operasi trigonometri yang berpotensi mahal yang diperlukan untuk menghasilkan yang tepat metrik. Setelah normalisasi terjadi, ruang vektor dapat digunakan dengan berbagai teknik yang tersedia untuk setiap ruang Euclidean, terutama teknik reduksi dimensi standar. Jarak bentuk yang dinormalisasi ini terutama digunakan dalam banyak algoritme pembelajaran mendalam.

Baca Juga : Perbedaan RAM dan Memori Internal Pada Smartphone

Persyaratan khusus dalam proyek yang saat ini saya lakukan mengharuskan saya menjelajahi metode untuk mengukur kesamaan antara dua objek atau lebih. Objek dalam proyek ini adalah dua gambar yang berisi manusia yang sedang melakukan pose tertentu; tujuannya adalah untuk mengukur seberapa mirip pose dalam gambar tersebut.

Misalkan sudut antara kedua vektor adalah 90 derajat. Dalam kasus tersebut, cosine similarity akan memiliki nilai 0; ini berarti bahwa kedua vektor tersebut ortogonal atau tegak lurus satu sama lain. Semakin dekat pengukuran cosinus ke 1, maka sudut antara dua vektor A dan B semakin kecil. Gambar di bawah ini menggambarkan hal ini dengan lebih jelas.

Ada domain aplikasi lain yang mungkin Anda temukan pemanfaatan kesamaan kosinus seperti sistem rekomendasi, detektor plagiarisme, penambangan data, dan bahkan dapat digunakan sebagai fungsi kerugian saat melatih jaringan saraf. Logika di balik kesamaan kosinus mudah dipahami dan dapat diterapkan di sebagian besar bahasa pemrograman modern.

Satu hal yang saya pelajari dari menjelajahi segmen kecil matematika ini adalah bahwa sebagian besar topik sering kali dianggap rumit karena tidak ada cukup sumber daya untuk mengajarkan topik secara memadai. Jika Anda memiliki sumber belajar dan kesabaran yang sesuai, maka dimungkinkan untuk menangkap sejumlah besar topik matematika.

 

Penulis : Yazid


Sukai/Like Fan Page Facebook Garuda Cyber Indonesia
Subscribe Channel Youtube Garuda Cyber Indonesia
Follow Instagram Garuda Cyber Indonesia
Chat Wa

Signup for Newsletter

Langganan Newsletter dari Garuda Cyber untuk mendapatkan informasi terupdate dari Garuda Cyber Indonesia