Ölçü değişince birinci aday değişebilir
Bir arama denemesinde A kaydı birinci geliyor. Ekip benzerlik hesabını değiştirdiğinde B kaydı öne çıkıyor; metinler ve vektörler aynı kalmış. Bu sonuç mutlaka bir yazılım hatası değildir. İç çarpım, vektörlerin büyüklüğünden etkilenir. Kosinüs benzerliği ise iç çarpımı iki vektörün normlarıyla böler. Hangi özelliğin karşılaştırıldığı değiştiği için sıralama da değişebilir.Kaynak: scikit-learn — cosine_similarity
Bu yazıda gerçek bir metin modeli çalıştırmadan iki boyutlu sentetik vektörlerle farkı görünür hale getireceğiz. Amaç bir benzerlik ölçüsünü her durumda üstün ilan etmek değildir. Çıktı, mevcut sistemde hangi ölçünün kullanıldığını ve büyüklük bilgisinin korunmasının istenip istenmediğini tartışabileceğiniz küçük bir karşılaştırma tablosudur.
Model kartı veya indeks ayarı iç çarpım diyorsa bunu kendiliğinden kosinüs diye yorumlamayın. Vektörler önceden birim uzunluğa getirilmiş olabilir; o durumda iki hesap aynı değeri verir. Ancak bu özellik veri akışından doğrulanmalıdır. Ekranda “benzerlik” yazması, kullanılan fonksiyon ve normalleştirme adımlarını açıklamaz.
İki adayı aynı sorguyla karşılaştırın
| Kayıt | Vektör | Öklid normu |
|---|---|---|
| Sorgu q | (1, 0) | 1 |
| A | (2, 2) | √8 ≈ 2,828427 |
| B | (1, 0) | 1 |
İç çarpım, aynı konumlardaki değerlerin çarpımlarının toplamıdır. q ile A için 1×2 + 0×2 = 2 bulunur. q ile B için sonuç 1’dir. Büyük iç çarpımı daha iyi sayan bu örnek kuralında A birinci gelir. Bu kararda A’nın uzunluğu da rol oynar; yalnız yön karşılaştırması yapılmış olmaz.
Kosinüs hesabında A’nın iç çarpımı √8 ile bölünür: 2/√8 yaklaşık 0,707107 olur. B için 1/1=1 bulunur. B sorguyla aynı yöndedir ve kosinüs sıralamasında birincidir. Her iki sonuç da kendi tanımı altında doğrudur. Sorun, birinin sonucunu diğerinin anlamıyla anlatmak veya eşikleri iki ölçü arasında aynen taşımaktır.
| Aday | İç çarpım | Kosinüs | Sıra farkı |
|---|---|---|---|
| A | 2 | ≈ 0,707107 | İç çarpımda 1, kosinüste 2 |
| B | 1 | 1 | İç çarpımda 2, kosinüste 1 |
Bu sayılardan A’nın metninin yüzde 70,7 doğru olduğu çıkarılamaz. Buradaki kosinüs bir geometrik benzerlik değeridir; cevap doğruluğunun kalibre edilmiş olasılığı değildir. Metinlerin gerçekten soruya yanıt verip vermediğini ayrıca değerlendirmek gerekir. Sentetik vektörlerde ise metin anlamına dair hiçbir gözlem bulunmuyor.
A’nın yönünü değiştirmeden büyüklüğünü azaltın
A’yı pozitif 0,1 katsayısıyla çarpıp A′=(0,2;0,2) elde edin. Noktalı virgül, ondalık virgülle bileşen ayrımını karıştırmamak içindir. Yeni norm √0,08, yaklaşık 0,282843 olur. İç çarpım 0,2’ye iner; kosinüs 0,2/√0,08 ile yine yaklaşık 0,707107 çıkar. Böylece aynı yön için iç çarpım sırası değişirken kosinüs sırası korunur.
Başlangıç: iç çarpım A > B; kosinüs B > A. A pozitif 0,1 ile ölçeklenince: iç çarpım B > A′; kosinüs B > A′. A ile A′ aynı yönde olduğundan kosinüsleri eşittir. Sıralamanın ilk ölçüde değişmesi hesap hatası değildir.
Pozitif katsayı koşulu önemlidir. Vektörü negatif bir sayıyla çarpmak yönü tersine çevirir; kosinüsün işareti değişebilir. Sıfırla çarpmak ise sıfır vektörü üretir ve yön tanımı kaybolur. “Kosinüs ölçekten etkilenmez” cümlesini bu koşulları atlayarak kullanmak, yeni sınır hataları oluşturur.
Bu işlem, veri tablosundaki farklı özellik sütunlarını ayrı katsayılarla ölçeklemekle aynı değildir. Bütün vektörü tek pozitif katsayıyla çarpmak yönü korur. Bir bileşeni değiştirip diğerini sabit bırakmak genellikle yönü değiştirir. Örneğin A=(2,2) yerine (2,20) kullanırsanız sorguyla açı da değişir.
Formül ve sıralamayı birlikte isteyin
q=(1,0), A=(2,2), B=(1,0) sentetik vektörleri veriliyor. İç çarpım ve kosinüs benzerliğini ayrı hesapla; normları göster. İki sıralamanın neden farklı olduğunu açıkla. A vektörünü pozitif 0.1 ile çarparak deneyi tekrarla. Önceden normalleştirilmiş olduklarını varsayma. Sıfır vektörü için kendi hesap sözleşmende açık bir ret durumu tanımla. Benzerlik değerini yanıt doğruluğu yüzdesi olarak yorumlama.
Yanıtta yalnız A ve B sırası bulunuyorsa denetim eksiktir. Normlar, ham iç çarpımlar ve bölme sonuçları gösterildiğinde yanlış payda veya yanlış vektör kullanımı yakalanabilir. Sonuçları altı ondalıkla gösterebilirsiniz; fakat yakın skorların sırasını belirlerken yalnız ekrandaki yuvarlanmış sayılara dayanmayın. Bu örnekte fark belirgindir; başka veride eşitlik politikası gerekir.
Kontrol listesinin bir başka maddesi, sorgu vektörünün her adayda aynı kalmasıdır. Adaylardan birini başka sorguyla karşılaştırmak ölçü farkını veri farkıyla karıştırır. Tek bir değişkeni değiştirerek yaptığınız deney, sıralama farkının nedenini daha açık biçimde gösterir.
Sıfır vektörü için sonucu uydurmayın
Z=(0,0) için norm sıfırdır. Matematiksel kosinüs formülünde payda sıfır olduğundan yön benzerliği tanımlı değildir. Bu eğitim sözleşmesinde Z için sayısal skor üretmek yerine zero_vector durumu döndürülür. Bir yazılım kütüphanesi sıfır vektörüne belirli bir sayısal davranış atayabilir; bu, uygulamanın seçtiği politikadır ve matematiksel yön bilgisiyle karıştırılmamalıdır.
Üretim akışında sıfır vektörü boş metinden, bir dönüştürme hatasından veya özel bir temsil kararından kaynaklanabilir. Neden, yalnız vektöre bakılarak kesinleştirilemez. Kaydın kimliğini koruyup veri hazırlama adımına dönmek daha izlenebilir bir karardır. Reddedilen vektörü görünmez biçimde listeden çıkarmak, kaç adayın değerlendirildiğini de belirsizleştirir.
Büyüklüğü artan aynı yön
Yeni aday C=(3,0) olsun. q ile iç çarpımını ve kosinüsünü hesaplayın. Sonra C’yi B ile karşılaştırın. Kosinüs eşitliği, iki adayın aynı kayıt olduğu anlamına gelir mi? Son olarak A’nın yalnız ikinci bileşenini on kat artırmanın neden önceki pozitif ölçek deneyinden farklı olduğunu açıklayın.
C için norm 3, iç çarpım 3, kosinüs 1. İç çarpım C’yi B’nin önüne koyar; kosinüs ikisini eşit sayar. Bu eşitlik kayıt kimliğini veya içerik eşitliğini kanıtlamaz. (2,20) vektörünün kosinüsü 2/√404 ≈ 0,099504 olur; yalnız bir bileşen değiştiği için yön korunmaz.
Kendi arama denemenizde aday kimliği, kullanılan ölçü, normalleştirme durumu ve eşitlik kuralını aynı kayıtta tutun. Böylece “birinci sonuç değişti” gözlemini hangi veri ve hesap değişikliğinin açıkladığını bulabilir, ardından gerçek sorularda yanıt kalitesini ayrıca sınayabilirsiniz.
Kaynaklar ve doğrulama
- scikit-learn — cosine_similarity
Kosinüs benzerliğinin normlarla bölünmüş iç çarpım olması.
Erişim ve kontrol:
Üretimde Yapay Zekâ
Üretimde Yapay Zekâ programı, benzerlik hesabını gerçek görevde beklediğiniz sonuçla birlikte değerlendirmenize yardımcı olacak uygulamalar içerir.
- Kuruma özel planlanır