Ugrás a fő tartalomra

szójegyzékbejegyzés

Koszinusz-hasonlóság

Kategória
RAG, Embeddings & Search
Nehézség
Középhaladó

Meghatározás

Egy matematikai metrika, amelyet két nem nulla vektor közötti szög koszinuszának mérésére használnak egy többdimenziós térben, meghatározva, mennyire hasonló az orientációjuk, függetlenül a nagyságuktól.

Működés és összefüggések

Az AI és a gépi tanulás összefüggésében az olyan adatokat, mint a szöveg, képek vagy hang, numerikus vektorokká (beágyazásokká) alakítják. A koszinusz-hasonlóság értékeli e vektorok közötti kapcsolatot a köztük lévő szög koszinuszának kiszámításával. Az 1-es érték azt jelzi, hogy a vektorok pontosan ugyanabba az irányba mutatnak (tökéletes hasonlóság), a 0 azt jelzi, hogy ortogonálisak (nincs korreláció), a -1 pedig azt, hogy átellenesek. Ellentétben az euklideszi távolsággal, amely a pontok közötti egyenes vonalú távolságot méri, a koszinusz-hasonlóság kizárólag a vektorok orientációjára összpontosít. Ez különösen hatékonnyá teszi a nagy dimenziós adatok esetében, ahol a vektor abszolút nagysága kevésbé lehet fontos, mint az információ mögöttes szemantikai mintája vagy „iránya”.

Miért fontos

Lehetővé teszi az AI-modellek számára, hogy releváns dokumentumokat vagy kontextust kérdezzenek le a felhasználó lekérdezésének vektora és az előre kiszámított dokumentum-beágyazások adatbázisa közötti összehasonlítással.

Gyakorlati példa

Képzeljen el egy RAG-rendszert egy jogi adatbázishoz. Amikor egy felhasználó azt kérdezi: „Mik a szerződésszegés szankciói?”, a rendszer ezt a lekérdezést vektorrá alakítja. Ezután kiszámítja a koszinusz-hasonlóságot e lekérdezési vektor és több ezer jogi dokumentumvektor között. A rendszer lekéri a legmagasabb koszinusz-hasonlósági pontszámú dokumentumokat, biztosítva, hogy az AI a legszemantikailag relevánsabb jogi szöveget kapja meg egy pontos, bizonyítékokon alapuló válasz generálásához.

Gyakori hibák

  • A koszinusz-hasonlóság összekeverése az euklideszi távolsággal; az előbbi figyelmen kívül hagyja a nagyságot, míg az utóbbi érzékeny rá.
  • Azt feltételezni, hogy a magas koszinusz-hasonlósági pontszám mindig tényszerű helyességet jelent, nem pedig csak szemantikai közelséget.
  • A vektorok normalizálásának elmulasztása más távolságmetrikák használatakor, ami helytelen hasonlósági számításokhoz vezethet.
  • Koszinusz-hasonlóság alkalmazása ritka adatokra anélkül, hogy figyelembe vennénk a dimenzionalitás hatását az eredményül kapott szögre.

Gyakori kérdések

Mikor használjak koszinusz-hasonlóságot az euklideszi távolság helyett?

Használjon koszinusz-hasonlóságot, ha az adatok szemantikai orientációja fontosabb, mint az abszolút nagyság, például szövegosztályozásnál vagy dokumentumlekérdezésnél. Használjon euklideszi távolságot, ha az adatpontok tényleges távolsága vagy „mérete” kritikus jellemző.

Működik a koszinusz-hasonlóság negatív értékekkel?

Igen, a koszinusz-hasonlóság -1 és 1 között mozoghat. A negatív érték azt jelzi, hogy a vektorok ellentétes irányba mutatnak, ami hasznos lehet olyan konkrét ajánlási forgatókönyvekben, ahol olyan elemeket szeretne azonosítani, amelyek a felhasználó preferenciájának „ellentétei”.

Számításilag drága a koszinusz-hasonlóság?

Általában hatékony, különösen akkor, ha a vektorok egységnyi hosszúságúra vannak normalizálva. Ebben az esetben a koszinusz-hasonlóság egyenértékű a skaláris szorzattal, amely egy erősen optimalizált művelet a modern lineáris algebrai könyvtárakban és GPU-gyorsított keretrendszerekben.