Cumartesi, Nisan 20, 2024
Ana SayfaMakine ÖğrenmesiNasıl Bir Veri Bilimcisi Gibi Düşünülür?

Nasıl Bir Veri Bilimcisi Gibi Düşünülür?

Hepimiz birer problem çözücüyüz. Her şeyi kendimizin yapma çabasını azaltmak için yola çıktık. Aynı tekrar eden görevleri tekrar tekrar yapmaktan sıkıldık. Öyleyse neden makinelerin yapmasına izin vermeyelim diye düşünmeye başladık. Bugüne baktığımızda kanser tahmin sistemlerimiz, sohbet robotlarımız, sürücüsüz arabalarımız var ve bu liste uzayıp gidiyor.

Ancak tüm bu çaba tek bir şeyden başlıyor. Problem.

Neyi çözmeye çalışıyoruz?

Başlangıç noktası budur. Tıpkı gerçek hayattaki sohbette olduğu gibi, ilk izlenim tüm konuşmanın başarısının benzerini oluşturur, bir makine öğrenimi problemi ortaya koyarken, problemin kendileri üzerinde iyi bir izlenim bırakması gerekir.

Problemin Unsurları

Herhangi bir derin öğrenme probleminde başarıya ulaşmak için açıkça tanımlanması gereken üç şey vardır.

Görev

Varsayalım ki bir computer vision problemiyle başladık. Computer vision sorununu çözen bir DL algoritması oluşturmak istiyoruz. Fakat projeye ilk adımı attığımızda, neredeyse bin tane alt problemle karşılaşıyoruz. Bunun bir örneği olarak aşağıdaki görsele bakabiliriz:

Kaynak: www.paperswithcode.com SOTA

Görev bulma olayını tekrarlıyoruz. Kitaplıktaki kitapları otomatik olarak raflara yerleştirmek için bir sistem oluşturmamız gerektiğini varsayalım.

Soru 1: Görev nedir?

Cevap: Kitaplıktaki kitapları otomatik olarak rafa koymak.

Soru 2: Bu görev nelerden oluşacak?

Cevap: Kitabın adını okumak ve ardından bir konuya göre sınıflandırmak.

Soru 3: Derin Öğrenmeyi kullanarak bunu nasıl çözebilirim?

Cevap: Metin Tanıma (Text Recognition/Computer Vision) ve Konu Sınıflandırmasını (Topic Classification/Doğal Dil İşleme) kullanabilirim.

Nihayet görevleri tanımladık ve bu aşamayı başardık.

Deneyim

Bazı şeyler öğretilemez; tecrübeli olmak gerekir. Kendi yolculuğunuza çıkmadan hayattaki en değerli dersleri asla öğrenemezsiniz.” – Roy T. Bennett

Bu durum makineler için de çok farklı değil. Bir problemi çözmek için sorunu deneyimlemeleri gerekir.

Burada soru şudur: DL sistemimin en iyi şekilde çalışması için ihtiyaç duyduğu deneyim nedir?

Yukarıdaki örneğe devam edersek, iki görevimiz var: Metin Tanıma ( Text Recognition) ve Konu Sınıflandırma(Topic Classification).

Soru: Kitaplardaki metinleri kolayca tanımak için sistemim hangi deneyimi gerektirir?

Cevap: Birçok kitap kapağı okumalı/görmeli.

Genellikle DL sistemleri için her zaman istediğimizi elde edemeyiz. O yüzden başka bir soru sormamız gerekiyor.

Soru: Söz konusu verileri temin edemezsem, sistemimin en iyi şekilde çalışmasına ne tür bir deneyim yardımcı olur?

Cevap: Bu belirli verileri bulamazsam, çeşitli arka plan renkleri, açıları ve ışık koşullarına karşı metin içeren verileri bulmalıyım.

Önemli olan, özel probleminizi kapsayacak bazı genel veriler bulmaktır. Burada genelci bir yaklaşım sergiliyorsunuz.

Devamında veri aramaya başladığımız nokta gelir. Şanslıysak buluyoruz. Değilsek, kendimize şunu sormalıyız:

Soru: Artık herhangi bir veri bulamadığım için sistemime ne tür bir deneyim yardımcı olabilir?

Cevap: Eğer alamazsam, yapmak zorunda kalacağım. Üzerlerine çeşitli açılardan basılı metinler içeren görüntüler üretmem gerekecek ve arka planlar biraz basit monoton renklerden canlı arka planlara kadar değişmek zorunda kalacağım.

Önceden deneyimlenmemiş problemlerde başvurmamız gereken yol budur. Fakat yolculuk hala tamamlanmadı.

 

Son bir soru:

Soru: Kendi sistemim için deneyim oluşturmak için mevcut herhangi bir veriyi kullanabilir miyim?

Cevap: Cevap çoğunlukla evet olacaktır ve bu problemlerimizi çok daha kolaylaştıracaktır. Bazı gerçek veriler elde etmek ve verilerimizi bunun üzerine oluşturmak, kendimize yapabileceğiniz en büyük iyiliklerden biridir.

Sistemimizin en iyi şekilde çalışması için deneyimi tasarlamalıyız.

Sistemimiz için doğru deneyimi seçmek, başarısızlığına veya başarısına karar verecektir.

Performans Ölçümü

“Herkes bir dahidir. Ama bir balığı bir ağaca tırmanma kabiliyetine göre değerlendirirseniz, aptal olduğuna inanarak tüm hayatı boyunca yaşayacaktır.” – Albert Einstein

Sistemimizin performansını yanlış bir şekilde ölçersek, bunun bir başarıdan ziyade bir başarısızlık olduğunu düşünürüz.

Yukarıdaki örnekle devam edersek, sistemimizin optimum performans gösterip göstermediğini nasıl ölçmeliyiz? Burada kendimize sormamız gereken soru şudur:

Sistemimin performansını doğru bir şekilde değerlendirmeme hangi metrik yardımcı olur?

Bizim örneğimizde cevap, doğru şekilde rafa kaldırılan kitap sayısı olacaktır. Fakat bu bize sistemin performansının bütün değerlendirmesini sunar mı? İki görevimiz olduğu için, bunların performansı tüm sistemin performansına karar verir. Yani onlar için de performans ölçütlerine karar vermiş oluyoruz.

Gerçek hayattaki tüm görevler çok yönlüdür.

Metin tanıma (Text Recognition) için karakter düzeyinde tanıma doğruluğunu seçebiliriz. Konu sınıflandırması (Topic Classification) için konuların doğru şekilde atanma sayısını seçebiliriz. Gerçek hayattaki tüm görevler çok yönlüdür ve bu nedenle birden çok boyutta değerlendirilmesi gerekir.

Özet

Bu yazıda, bir makine öğrenimi problemini nasıl inceleyeceğimizi ve bunun hakkında nasıl düşüneceğimizi ele aldık. Derin öğrenme problemini bu barebone’lara ayırmanın ne kadar önemli olduğunu anladık (Görev, Deneyim ve Performans Ölçümü). Daha sonra bizi şaşırtabilecek çözümlere ulaşmak için bu barebone’ları nasıl keşfedeceğimizi anladık. Doğru düşünmek, doğru çözümlere götürür.

RELATED ARTICLES

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

Bizi Takip Edin

4,200BeğenenlerBeğen
10,000TakipçilerTakip Et
296TakipçilerTakip Et
1,400AboneAbone Ol

BÜLTENİMİZE ABONE OLUN

Popüler