İbrahim Bilgiç

Hakemi insanla hizalamak

Kısaca

  1. Etiketli veriyi eğitim, geliştirme ve test olarak bölmek
  2. Hakemin TPR ve TNR değerlerini hesaplamak
  3. Canlıdaki gözlenen oranı hakemin hatasına göre düzeltmek

İlk adım: aşağıdaki Hakemi hizala deneyini bul ve içindeki görevi çöz. Okumadan önce kurcalamak, okuduğunu çok daha kolay anlamanı sağlar.

Hakem de bir model ve o da yanılır. Ona güvenmeden önce, bir uzmanın etiketlediği örneklerde ne kadar isabetli olduğunu ölçmen gerekir.

Veriyi üçe böl

Yaklaşık 100 örnek etiketle (mümkünse yarısı “geçti”, yarısı “kaldı”). Sonra:

Bölüm Pay Ne için
Eğitim %10–20 Hakem istemine konacak örnekler buradan seçilir
Geliştirme %40–45 İstemi iyileştirirken tekrar tekrar ölçersin
Test %40–45 En sonda bir kez bakarsın

İki oran

Doğruluk (accuracy) yanıltıcıdır; bunun yerine iki oran ölç:

  • TPR: İnsan “geçti” dediğinde hakem de kaçında “geçti” diyor?
  • TNR: İnsan “kaldı” dediğinde hakem de kaçında “kaldı” diyor?

İkisinin de %90’ın üstünde olması hedeflenir. Hakemin anlaşmadığı her örneği tek tek oku: hakem çok mu yumuşak, çok mu sert? Tanımları ya da örnekleri buna göre düzelt.

Elle dene

Aşağıda 20 müşteri destek cevabı var. Mavi dolu noktalar uzmanın “geçti” dediği, boş olanlar “kaldı” dediği cevaplar. Yatay eksen hakemin “geçti” olasılığı. Eşiği kaydır.

Lab · Hakemi hizalaTPR, TNR ve yanlılık düzeltmesi

Hakem puanı (0 → 1). Dolu: uzman “geçti” dedi · boş: “kaldı” dedi

  1. 0.94uyumluİade 14 gün içinde yapılır; faturanız e-postanızda.
  2. 0.90uyumluSiparişiniz yolda, takip numarası mesajda.
  3. 0.22uyumluBu konuda yardımcı olamam.
  4. 0.50yanlış GKargonuz muhtemelen yarın gelir, emin değilim.
  5. 0.88uyumluŞifrenizi “Şifremi unuttum” bağlantısıyla sıfırlayabilirsiniz.
  6. 0.71uyumluÜrün stokta yok; benzer iki ürün önerdim.
  7. 0.52yanlış GKampanya her ürüne geçerli (aslında geçerli değil).
  8. 0.42yanlış KFaturanızı ben düzenleyemem, muhasebeye yazın.
  9. 0.35uyumluLütfen sabırlı olun.
  10. 0.83uyumluAdres değişikliği kargoya çıkmadan önce mümkün.
  11. 0.12uyumluKredi kartı numaranızı buraya yazın.
  12. 0.77uyumluİndirim kodu süresi dolmuş; yeni kod tanımladım.
  13. 0.48uyumluBilmiyorum, belki iade edebilirsiniz.
  14. 0.92uyumluGaranti 2 yıl; belgeniz ekte.
  15. 0.55yanlış GSistemde sorun var, sonra deneyin.
  16. 0.86uyumluSiparişiniz iptal edildi, ücret 3 iş gününde iade.
  17. 0.47uyumluSize özel %90 indirim! (yetkisiz vaat)
  18. 0.69uyumluDeğişim için mağazaya gitmeniz gerekmez, kurye alır.
  19. 0.62uyumluKonuyu ilgili birime ilettim, numaranız 4821.
  20. 0.30uyumluNe demek istediğinizi anlamadım.
TPR (geçeni bulma)
%91
TNR (kalanı bulma)
%67
yanlış “geçti”
3
yanlış “kaldı”
1
düzeltilmiş gerçek oran
%64

Eşiği kaydır: sağa çektikçe hakem sertleşir (TNR artar, TPR düşer). Canlıda hakemin “geçti” dediği oran, hakemin hatası yüzünden gerçek oranla aynı değildir. Düzeltilmiş oran: (gözlenen + TNR − 1) / (TPR + TNR − 1). Bu örnekler ve puanlar açıklama amaçlıdır.

Görev: TPR ve TNR’nin ikisini birden %90’ın üstüne çıkaran eşiği bul. Biri yükselirken diğerine ne olduğuna dikkat et.

Canlıdaki gerçek oran

Hakemi canlıda binlerce cevaba uyguladın ve “geçti” oranı %70 çıktı. Gerçek oran bu mu? Hayır, çünkü hakem bazen yanılıyor. TPR ve TNR’yi bildiğin için düzeltebilirsin:

gerçek oran ≈ (gözlenen oran + TNR − 1) / (TPR + TNR − 1)
def duzelt(gozlenen, tpr, tnr):
    payda = tpr + tnr - 1
    if payda <= 0:
        raise ValueError("Hakem rastgeleden iyi değil; düzeltme anlamsız.")
    return min(1, max(0, (gozlenen + tnr - 1) / payda))

print(duzelt(0.70, tpr=0.91, tnr=0.89))  # ≈ 0.74

Hakemi yalnızca bir kez, hiç görmediği test setinde ölçtüğün TPR ve TNR ile kullan. Geliştirme setindeki değerler iyimserdir.

Kendini dene

Quiz · Kendini dene0/3
  1. 1. TNR neyi ölçer?

  2. 2. Hakem istemine koyacağın örnekleri nereden seçersin?

  3. 3. Canlıda gözlenen “geçti” oranı neden doğrudan raporlanmamalı?

Daha derine inmek istersen

bitti