Kosinisamankaltaisuuslaskuri
Valitse ulottuvuus, syötä vektorien a ja b komponentit ja lue kosinisamankaltaisuus oikealta. Desimaaleissa voit käyttää pilkkua tai pistettä.
Laske kahden vektorin kosinisamankaltaisuus eli niiden välisen kulman kosini – käytetään muun muassa datatieteessä ja koneoppimisessa.
Valitse ulottuvuus, syötä vektorien a ja b komponentit ja lue kosinisamankaltaisuus oikealta. Desimaaleissa voit käyttää pilkkua tai pistettä.
Tällä laskurilla lasket kahden vektorin kosinisamankaltaisuuden eli niiden välisen kulman kosinin. Kosinisamankaltaisuus on suosittu mittari datatieteessä ja koneoppimisessa, koska se vertaa vektorien suuntaa pituudesta riippumatta. Syötä vektorien komponentit (2D, 3D tai 4D), niin näet samankaltaisuuden, kulman ja kosinietäisyyden heti.
Kosinisamankaltaisuus mittaa, kuinka samansuuntaisia kaksi vektoria ovat. Se määritellään vektorien välisen kulman kosinina:
cos θ = (a · b) / (|a| · |b|)
Tulos on aina välillä −1…1. Koska kaava normalisoi vektorit niiden pituudella, kosinisamankaltaisuus riippuu vain vektorien suunnasta, ei niiden suuruudesta.
Laskenta etenee kolmessa osassa. Ensin lasketaan pistetulo kertomalla vastinkomponentit ja laskemalla tulot yhteen: a · b = a₁b₁ + a₂b₂ + … Sitten lasketaan kummankin vektorin pituus eli normi: |a| = √(a₁² + a₂² + …). Lopuksi pistetulo jaetaan pituuksien tulolla. Vektorien välinen kulma saadaan ottamalla tuloksesta arkuskosini.
Lasketaan vektorien a = (1, 2, 3) ja b = (4, 5, 6) kosinisamankaltaisuus.
Vektorien välinen kulma on siis noin 12,9°, joten ne ovat lähes samansuuntaisia.
Samankaltaisuuden lisäksi käytetään usein kosinietäisyyttä, joka lasketaan kaavalla:
kosinietäisyys = 1 − cos θ
Kosinietäisyys on 0, kun vektorit ovat samansuuntaisia, ja kasvaa, kun vektorit eroavat toisistaan. Se on kätevä silloin, kun halutaan mittari, jossa pieni arvo tarkoittaa suurta samankaltaisuutta – esimerkiksi haku- ja luokittelutehtävissä.
Kosinisamankaltaisuus on yksi käytetyimmistä samankaltaisuusmittareista datatieteessä. Sitä sovelletaan tekstien vertailuun sanavektorien avulla, suosittelujärjestelmissä, hakukoneissa, kuvien ja äänen tunnistuksessa sekä upotusvektorien (embedding) vertailussa. Mittari toimii erityisen hyvin korkeaulotteisessa datassa, jossa vektorien pituudet vaihtelevat mutta niiden suunta kantaa olennaisen tiedon.