Hatasız Kul Olmaz — Makine Öğrenmesi’nde İnsan Yanlılığı

Fethi Tekyaygil
5 min readFeb 7, 2022

Herkese merhabalar,
Bugün yepyeni bir konu ile karşınızdayım. Bu yazımda Makine Öğrenmesi modelimizi olumsuz etkileyebilecek insan faktörlerinden bahsedeceğim. Lafı çok uzatmadan yazılarımın alamet-i farikası olan o meşhur girizgahı yapalım :)

Girizgah

Makine öğrenmesi modelinizi eğittiniz, gerekli regülarizasyon ve lineer-nonlineer işlemlerini yapıp uygun ve düşük kayıp değerine sahip bir hipotez fonksiyonu elde ettiniz. Ancak her şey burada bitmiyor. Bütün bunları başarmış olsanız bile dikkate almanız gereken bir faktör daha var.
Siz.

Evet siz.
Çoğu zaman modelimiz iyi çalışsa bile insan faktörü dolayısıyla performansı tam olarak yansıtmayabilir. Bu insan faktörü etkilerinin (human bias-insan yanlılığı) farkında olmak önemlidir, böylece bu yanlılıkların etkisini azaltmak için proaktif adımlar atabilirsiniz. Burada sayılacağının aksine insan yanlılığının çeşitleri yüzün üzerindedir diyebiliriz. Burada sadece küçük bir kısımdan bahsedeceğim.

İnsan Yanlılık Çeşitleri

1. Rapor Yanlılığı(Reporting Bias):

Raporlama yanlılığı, bir veri kümesinde yakalanan olayların, özelliklerin ve / veya sonuçların sıklığı gerçek dünya sıklığını doğru bir şekilde yansıtmadığında ortaya çıkar. Örnekle çok daha güzel anlayacağınızdan eminim:

Modelimiz popüler bir web sitesine kullanıcı gönderimlerine dayanarak kitap incelemelerinin olumlu veya olumsuz olup olmadığını tahmin etmek için eğitilmiş olsun. Eğitim veri setindeki yorumların çoğunluğu aşırı fikirleri (bir kitabı seven veya nefret eden yorumcular) yansıtır, çünkü insanların buna güçlü bir şekilde yanıt vermedikleri takdirde bir kitabın incelemesini gönderme olasılığı daha düşüktür. Sonuç olarak, model bir kitabı tanımlamak için daha ince bir dil kullanan yorumların duyarlılığını doğru bir şekilde tahmin edemez. Yani bir pozitif anlama gelen çok farklı kelimeler olabilir keza negatif anlama gelen de ve insanlar yoğun duygularla bu yorumları yazarsa modelimizin bu ayrımı öğrenmesi daha da zorlaşır.

2. Otomasyon Yanlılığı (Automation Bias):

Otomasyon yanlılığı, her birinin hata oranlarına bakılmaksızın, otomatik sistemler tarafından üretilen sonuçları, otomatik olmayan sistemler tarafından üretilen sonuçlara göre tercih etme eğilimidir. Peki nedir otomatik sistemler? Örneğimize bakalım:

Bir zincir dişlisi üreticisi için çalışan yazılım mühendisleri, precision ve recall değerleri insan denetçilerininkinden %15 düşük olmasına rağmen diş kusurlarını tanımlamak için eğittikleri yeni “çığır açan” modeli uygulamaya istekliydiler. Eğer yazılım geliştiricilerimizin istediği gibi otomatik bir sistem kullanmaya devam edersek bu durumda modelimiz insanın göstereceği performanstan %15 az performans gösterecekti ve performans düşecekti.

3. Seçim Yanlılığı (Selection Bias):

Bir veri kümesinin örnekleri, gerçek dünyadaki dağıtımlarını yansıtmayan bir şekilde seçilirse, seçim yanlılığı oluşur. Seçim yanlılığı birçok farklı şekilde olabilir:

a.Kapsam Yanlılığı (Coverage Bias):
Bu yanlılıkta veriler temsili bir şekilde seçilmemiştir. Örneğin:

“Bir model, ürünü satın alan tüketiciler ile yapılan telefon anketlerine dayanarak yeni bir ürünün gelecekteki satışlarını tahmin etmek için eğitilmiştir. Bunun yerine rakip bir ürün satın almayı tercih eden tüketicilere anket yapılmadı ve sonuç olarak bu grup insan eğitim verilerinde temsil edilmedi. Bu da sadece bir kapsamın yani ürünü alan kulanıcıların bulunduğu bir veri setine sahip olduğumuz anlamına geldi.”

b.Yanıt Vermeme Yanlılığı — Katılım Yanlılığı(Non-response Bias — Participation Bias):
Veri toplama sürecine katılımdaki boşluklar nedeniyle veriler temsili değildir. Ne demek istiyorum? Örnekle anlayacağınızdan eminim:
“Bir model, ürünü satın alan tüketicilerle ve rakip bir ürün satın alan tüketicilerle yapılan telefon anketlerine dayanarak yeni bir ürünün gelecekteki satışlarını tahmin etmek üzere eğitilmiştir. Rakip ürünü satın alan tüketicilerin anketi tamamlamayı reddetme olasılıkları % 80 daha fazla olduğu için rakip ürün satın alan kişilerin verileri örnekte yeterince temsil edilmemiş oldu.”

c.Örnekleme Yanlılığı (Sampling Bias):
Veri toplama sırasında uygun randomizasyon kullanılmaz. Yani veriler uygun bir şekilde karıştırılmaz. Örneğin:

“Bir model, ürünü satın alan tüketicilerle ve rakip bir ürün satın alan tüketicilerle yapılan telefon anketlerine dayanarak yeni bir ürünün gelecekteki satışlarını tahmin etmek üzere eğitilmiştir. Araştırmacı, tüketicileri rastgele hedeflemek yerine, ortalama alıcılardan daha hevesli olabilecek bir e-postaya yanıt veren ilk 200 tüketiciyi seçerse modelimizde diğer kesimler için (rakip ürünü kullanan veya şirketin ürününü kullanan ama maile yanıt veremeyen) veri barındırmayacak böylelikle güvenilir olmayacaktır.”

4. Grup Niteliği Yanlılığı(Group Attribution Bias):

Grup Niteliği Yanlılığı bireylerin doğru olduğunu düşündükleri şeyi ait oldukları tüm gruba genelleme eğilimidir. Bu yanlılığın iki temel belirtisi şunlardır:

a. Grup İçi Yanlılık(In-group bias):
Sırf aynı gruba mensup oldunuz veya aynı karakter özelliğini taşıyorsunuz diye birini tercih etmeniz durumudur. Örneğin:

“Yazılım geliştiricileri için özgeçmiş tarama modelini eğiten iki mühendis, her ikisinin de katıldığı aynı bilgisayar bilimi akademisine katılan başvuru sahiplerinin rol için daha nitelikli olduğuna inanmaya yatkındır.”

b. Grup Dışı Yanlılık(Out-group bias):
Bu yanlılık ise Grup İçi Yanlılığın tam tersidir. Ait olmadığınız bir grubun tek tek üyelerini klişeleştirme veya özelliklerini daha yetersiz görme durumunuzdur. Örneğin:

“Yazılım geliştiricileri için özgeçmiş tarama modelini eğiten iki mühendis, bir bilgisayar bilimi akademisine katılmayan tüm başvuru sahiplerinin rol için yeterli uzmanlığa sahip olmadığına inanmaya yatkındır.”

Merak etmeyin son bir yanlılık kaldı :)

5. Üstü Kapalı Yanlılık (Implicit Bias):

Üstü Kapalı Yanlılık varsayımlar kişinin kendi zihinsel modellerine ve daha genel olarak uygulanması gerekmeyen kişisel deneyimlerine dayanılarak yapıldığında ortaya çıkar. Örneğin:

“Bir jest tanıma modelini eğiten bir mühendis, bir kişinin “hayır” kelimesini ilettiğini belirtmek için bir özellik olarak kafa titremesini kullanır. Ancak, dünyanın bazı bölgelerinde, bir kafa titremesi aslında “evet” anlamına gelebilir. Böylelikle bu mühendis hareketi daha genel olarak uyarlamak yerine kendi zihinsel modeline göre uyarlamıştır.”

Üstü Kapalı Yanlılığın genel bir formu Onay Yanlılığıdır (Confirmation Bias). Bu yanlılıkta model oluşturucular bilinçsiz olarak önceden var olan inançları ve hipotezleri doğrulayacak şekilde işler.
Bazı durumlarda, bir model oluşturucu, orijinal hipotezleriyle paralel bir sonuç üretinceye kadar modeli eğitmeye devam edebilir; buna deneycinin yanlılığı (experimenter’s bias) denir. Örneğin:

“Bir mühendis, çeşitli özelliklere (boy, kilo, cins, çevre) dayalı olarak köpeklerde saldırganlığı tahmin eden bir model inşa eder. Mühendis, çocukken hiperaktif bir fino köpeği ile hoş olmayan bir karşılaşma yaşadı ve o zamandan beri fio cinsini saldırganlıkla ilişkilendirdi. Eğitilmiş model, finoların çoğunun nispeten uysal olmasını öngördüğünde, mühendis modeli daha küçük finoların daha şiddetli olduğunu gösteren bir sonuç elde edene kadar birkaç kez yeniden eğitir. Burada mühendisimizin finoları saldırgan olarak düşünmesi onay yanlılığı, kendi istediği çıktıyı elde edene kadar modeli eğitmesi deneycinin yanlılığı olarak kabul edilebilir.”

SONUÇ

Modelimiz ne kadar iyi eğitilecek olursa olsun eğitim esnasında işin içine insan faktörü girme riski olduğundan bazı konularda daha dikkatli olmalıyız. Yukarıda saydığım maddelerin yanı sıra çok daha fazla konuda dikkatli olmanız gerekiyor. Bu maddelerin listesine buradan ulaşabilirsiniz. Biliyorum hatasız kul olmaz ama siz yine de dikkatli olun derim ben :)

KAYNAKÇA

Google ML Crash Course

KAPANIŞ

Bu yazımda size model eğitirken insandan kaynaklanabilecek hatalardan bahsetmeye çalıştım. Umarım faydalı, öğretici ve az sıkıcı bir yazı olmuştur. Buraya kadar geldiyseniz tebrikler ve teşekkürler :)

Herkese bol sağlıklı, mutlu ve evde kaldığımız bu dönemlerde sabırlı günler diliyorum. Daha fazla yazı için lütfen takipte kalın :)

-Fethi Tekyaygil

--

--

Fethi Tekyaygil

.NET Core Backend & Google Certified Tensorflow Developer — Flutter & Solidity Padawan — Animal Person