Kosinisamankaltaisuus

Laske kahden vektorin kosinisamankaltaisuus eli niiden välisen kulman kosini – käytetään muun muassa datatieteessä ja koneoppimisessa.

Kosinisamankaltaisuuslaskuri

Valitse ulottuvuus, syötä vektorien a ja b komponentit ja lue kosinisamankaltaisuus oikealta. Desimaaleissa voit käyttää pilkkua tai pistettä.

Vektori a

Vektori b

Mainos
LAINOJEN KILPAILUTUS

Kilpailuta lainat – yksi hakemus, monta tarjousta

  • Vertaile tarjoukset todellisen vuosikoron mukaan
  • Yksi hakemus usealle pankille
  • Palvelu on sinulle maksuton
Kilpailuta lainat

Kosinisamankaltaisuus – vektorien suunnan vertailu

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.

Mikä on kosinisamankaltaisuus?

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.

Tuloksen tulkinta

Laskentamenetelmä

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.

Vaiheittainen esimerkki

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.

Kosinisamankaltaisuus ja kosinietäisyys

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ä.

Missä kosinisamankaltaisuutta käytetään?

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.

Kokeile myös näitä palveluita

Mainos

Usein kysytyt kysymykset

Mikä on kosinisamankaltaisuus?
Kosinisamankaltaisuus (cosine similarity) mittaa, kuinka samansuuntaisia kaksi vektoria ovat. Se on vektorien välisen kulman kosini ja saa arvoja välillä −1…1. Arvo 1 tarkoittaa, että vektorit osoittavat täsmälleen samaan suuntaan, 0 että ne ovat kohtisuorassa ja −1 että ne osoittavat vastakkaisiin suuntiin. Vektorien pituus ei vaikuta tulokseen, vain niiden suunta.
Miten kosinisamankaltaisuus lasketaan?
Kosinisamankaltaisuus lasketaan jakamalla vektorien pistetulo niiden pituuksien tulolla: cos θ = (a · b) / (|a| · |b|). Pistetulo a · b saadaan kertomalla vastinkomponentit ja laskemalla tulot yhteen. Pituus |a| on komponenttien neliöiden summan neliöjuuri. Tämä laskuri tekee laskennan automaattisesti.
Mitä eroa on kosinisamankaltaisuudella ja pistetulolla?
Pistetulo riippuu sekä vektorien suunnasta että pituudesta, kun taas kosinisamankaltaisuus on normalisoitu eli riippuu vain suunnasta. Kosinisamankaltaisuus saadaan jakamalla pistetulo pituuksien tulolla, jolloin tulos on aina välillä −1…1. Tämä tekee siitä vertailukelpoisen mittarin eri kokoisten vektorien välillä.
Mikä on kosinietäisyys?
Kosinietäisyys on kosinisamankaltaisuutta täydentävä mittari, joka lasketaan kaavalla 1 − kosinisamankaltaisuus. Kun vektorit ovat samansuuntaisia, kosinietäisyys on 0, ja kun ne ovat kohtisuorassa, etäisyys on 1. Kosinietäisyyttä käytetään usein samankaltaisuuden sijaan, kun halutaan mittari, jossa pieni arvo tarkoittaa suurta samankaltaisuutta.
Missä kosinisamankaltaisuutta käytetään?
Kosinisamankaltaisuus on keskeinen mittari datatieteessä ja koneoppimisessa. Sitä käytetään muun muassa tekstidokumenttien vertailussa (sanavektorit), suosittelujärjestelmissä, hakukoneissa ja upotusvektorien (embedding) samankaltaisuuden mittaamisessa. Se sopii erityisen hyvin korkeaulotteiselle datalle, jossa vektorien pituudet vaihtelevat mutta suunta on olennainen.
Oliko tästä laskurista apua?

Kokeile näitä laskureita

Matriisit ja lineaarialgebra

Kaikki laskurit

Suositut laskurit

Kaikki laskurit

Kokeile myös näitä palveluita

Mainos

Linkitä tämä laskuri

Kopioi koodi ja liitä se omalle sivustollesi.

Suositut laskurit