Edellytys – Etäisyysmitat tiedonlouhinnassa
Tiedonlouhinnassa samankaltaisuusmitta viittaa etäisyyteen ulottuvuuksilla, jotka edustavat datakohteen piirteitä, tietokokonaisuudessa. Jos tämä etäisyys on pienempi, samankaltaisuuden aste on suuri, mutta kun etäisyys on suuri, samankaltaisuuden aste on pieni.
Joitakin suosittuja samankaltaisuuden mittoja ovat –
- Euklidinen etäisyys.
- Manhattanin etäisyys.
- Jaccardin samankaltaisuus.
- Minkowskin etäisyys.
- Kosiinimäinen samankaltaisuus.
Kosiinimäinen samankaltaisuus on metriikka, joka on hyödyllinen määriteltäessä, kuinka samankaltaisia datakohteet ovat niiden koosta riippumatta. Voimme mitata kahden lauseen samankaltaisuutta Pythonissa käyttämällä Cosine Similarityä. Kosinuksen samankaltaisuudessa tietokokonaisuuden tieto-objekteja käsitellään vektorina. Kaava kahden vektorin välisen kosinin samankaltaisuuden löytämiseksi on –
Cos(x, y) = x . y / ||x|| * ||y||
missä,
- x . y = vektoreiden ’x’ ja ’y’ tulo (piste).
- ||x|| ja ||y|| = kahden vektorin ’x’ ja ’y’ pituus.
- ||x|| * ||y|| = kahden vektorin ’x’ ja ’y’ ristitulo.
Esimerkki :
Tarkastellaan esimerkkiä, jossa etsitään kahden vektorin – ’x’ ja ’y’ välinen samankaltaisuus käyttäen kosinin samankaltaisuutta.
Vektorilla ’x’ on arvot, x = { 3, 2, 0, 5 }
Vektorilla ’y’ on arvot, y = { 1, 0, 0, 0, 0 }
Kosinin samankaltaisuuden laskukaava on : Cos(x, y) = x . y / ||x|| * ||y||
x . y = 3*1 + 2*0 + 0*0 + 5*0 = 3||x|| = √ (3)^2 + (2)^2 + (0)^2 + (5)^2 = 6.16||y|| = √ (1)^2 + (0)^2 + (0)^2 + (0)^2 = 1∴ Cos(x, y) = 3 / (6.16 * 1) = 0.49
Kahden vektorin ’x’ ja ’y’ välinen eroavaisuus saadaan kaavalla –
∴ Dis(x, y) = 1 - Cos(x, y) = 1 - 0.49 = 0.51
- Kahden vektorin välinen kosinin samankaltaisuus mitataan muodossa ’θ’.
- Jos θ = 0°, vektorit ’x’ ja ’y’ menevät päällekkäin, mikä osoittaa, että ne ovat samankaltaisia.
- Jos θ = 90°, vektorit ’x’ ja ’y’ ovat toisistaan poikkeavia.
Kahden vektorin välinen kosinin samankaltaisuus
Hyötyjä :
- Kosinin samankaltaisuudesta on hyötyä, koska vaikka kaksi samankaltaista datakohdetta olisivatkin kaukana toisistaan euklidisella etäisyydellä mitattuna koonsa vuoksi, niiden välillä voi silti olla pienempi kulma. Pienempi kulma, suurempi samankaltaisuus.
- Kun se piirretään moniulotteiseen avaruuteen, kosinin samankaltaisuus kuvaa datakohteiden orientaatiota (kulmaa) eikä suuruutta.