Makine öğrenmesi, modern şirketlerin kullandığı sağlam temelli ve veriye dayalı olduğundan güvenilirliği yüksek hizmet araçlarının önemli bir parçasıdır. Günümüzde e-ticaret platformlarından, sağlık veya perakende sektörüne kadar birçok alanda aktif bir şekilde makine öğrenmesinin kullanıldığını görmekteyiz. Öte yandan makine öğrenmesinde model eğitimine giden yollar, eldeki probleme ve mevcut verilere bağlı olarak farklılık gösterdiğinden bu yöntemlerin dikkatli bir şekilde kullanılması gerekmektedir.
Gözetimli ve gözetimsiz öğrenme, iki farklı türde makine öğrenmesi yaklaşımıdır. Bu yaklaşımlar modellerin eğitilme şekli ve gereken eğitim verilerinin durumu bakımından farklılık göstermektedir. Her yaklaşımın farklı güçlü yönleri vardır ve bu nedenle gözetimli ve gözetimsiz öğrenme modellerinin gerçekleştirdiği görev veya karşılaştığı sorunlar genellikle birbirinden farklı olmaktadır. Bu bağlamda birinin diğerine tercih edilme durumundan ziyade zorunluluktan doğan bir model türü seçimi söz konusudur.
Makine öğrenmesine başvuracak olan veri bilimcilerin mevcut verileri ve problemi iyi anlamaları gerekmektedir. Gözetimli öğrenme, etiketli veriler ile kuruluşların istenmeyen sonuçları anlamak ve önlem almak veya gelecek beklenti ve hedefleri için istenen sonuçları arttırmada kullanılmaktadır. Gözetimsiz öğrenme ise, etiketsiz veri kümelerinden çıkarımlar yaparak verileri ayırt eden bir yapıya sahiptir. Gözetimli öğrenme bir öğrencinin, öğretmenin varlığında öğrenmesine benzer şekilde model eğitimi yaparken, gözetimsiz öğrenme verideki bilgileri bir öğretmen gözetiminde olmadan öğrenir.
Adından da anlaşılacağı gibi gözetimli öğrenme, bir makinenin görevlerini yerine getirmeyi öğrenirken bir gözetmene sahip olması gibidir. Bu süreçte makine temel olarak etiketlenmiş verilerle eğitilmektedir. Öğrenme sürecini siz denetlersiniz, yani burada topladığınız veriler etiketlenir ve böylece hangi girdinin hangi çıktıyla eşleştirilmesi gerektiğini bilirsiniz. Bu, size cevabı verirken doğrulama metriklerinizle modelinizi düzeltmenize ya da iyileştirmenize olanak sağlar.
Örneğin, bir kaşık ve bıçak olarak etiketlenmiş nesnelerimizin olduğunu düşünelim. Ne oldukları kesin bir şekilde bilinen veriler şekil, boyut, keskinlik vb. özelliklerine göre bu görüntülerin ilişkisi analiz edilerek model eğitilir. Artık makineye herhangi bir etiket olmadan yeni bir görüntü sorulduğunda, makine geçmiş veriler yardımıyla bir kaşığın kaşık olduğunu doğru bir şekilde tahmin edebilecektir.
Özetle gözetimli öğrenme için makinenin cevapları bilinen etiketlenmiş verilerin özelliklerinden hareketle sonuca ulaşacak en önemli noktaları birleştirerek sonuca giden yolu öğrenmesidir diyebiliriz.
Gözetimli öğrenme, yeni beslenen verilere yanıt olarak makul tahminlerde bulunmak için tahmine dayalı modeller geliştirir. Dolayısıyla, tahmin edilmeye çalışılan sonuç için yeterli sayıda bilinen veriye (etiketlenmiş veri) sahip olunması durumunda bu teknik kullanılabilir.
Makine öğrenmesinde gözetimli öğrenme algoritmaları, ele alınacak probleme göre farklılaşmaktadır. Her problem özelinde başvuracağımız algoritmalar, özellikleri doğrultusunda birbirinden farklılık göstermektedir. Belli başlı bazı teknikler ise aşağıdaki gibidir:
Doğrusal regresyon, veri bilimi ve makine öğrenmesinde kullanılan popüler ve oldukça basit bir algoritmadır. Doğrusal regresyon, değişkenler arasındaki ilişkiyi göstermeye çalışan istatistiksel bir yöntemdir.
Bu yöntem farklı veri noktalarına bakar ve bir eğim çizgisi çizer. Katsayılar, her bir bağımsız değişken ile bağımlı değişken arasındaki ilişkinin tahmin edilen büyüklüğünü ve yönünü (pozitif/negatif) temsil eder. Doğrusal bir regresyon denklemi, belirtilen bağımsız değişkenlerin değerleri üzerinden bağımlı değişkenin değerinin tahmin edilmesini sağlar.
Bu yöntem şirket çalışanı maaş tahmini yapmak için kullanılabileceği gibi araç özellikleri verilen bir modelde basit bir fiyat tahmini için de uygulanabilir.
Naive Bayes sınıflandırıcısı, özellikler arasındaki bağımsızlık varsayımları ile Bayes teoremine dayalı bir makine öğrenmesi sınıflandırıcı modelidir. Verilen kaydın veya veri noktasının belirli bir sınıfa ait olma olasılığı gibi her sınıf için üyelik olasılıklarını da tahmin eder. En yüksek olasılığa sahip sınıf, en olası sınıf olarak kabul edilir. Bu şekli ile Bayes teoremi, kabul edilir bir ilişkiyi açıklar.
Bir örnek düşünelim. Hava durumu ve buna karşılık bağımlı değişken olarak gelen, okulda ders işlenip işlenmeyeceği ile ilgili bir olayımız olsun. Algoritma hava durumuna göre derslerin işlenme durumunu tahmin etmeye çalışıyor olacak. Geçmiş veriler hava durumu ile derslerin işlenme durumları arasındaki bilgiyi içermektedir. Buna karşılık veri kümesinin sıklık tablosu oluşturulur. Örneğin 10 satırlık veride havanın karlı olma ve okulun olmama olasılığı 0.25 olabilir.
Modele sorulur: Karlı havada okulda dersler yapılacak mı? Bu ifade doğru mu?
P(Hayır | Karlı) = P( Karlı | Hayır) * P(Hayır) / P (Karlı)
Art arda hesaplanan, olasılığı en yüksek olan sınıf tahminin sonucudur. Yani kısaca Bayes Teoremi, olayla ilgili olabilecek koşulların ön bilgisine dayanarak bir olayın meydana gelmesinin koşullu olasılığını hesaplayarak tahmin üretir.
Havanın iyi mi yoksa kötü mü olacağını tahmin etmek için kullanılabileceği gibi belirli bir belgenin (metin) bir veya daha fazla kategoriye karşılık gelip gelmediğini belirlemede uygulanabilir. Sağlık uzmanları bir hastanın kalp hastalığı ve kanser gibi belirli hastalık için yüksek risk altında olup olmadığını tespit etmek için Naive Bayes'i kullanabilir.
Oldukça yaygın olarak kullanılan bir diğer makine öğrenimi tekniği, destek vektör makinesidir. Makine öğreniminde destek vektör makineleri, sınıflandırma ve regresyon analizi için kullanılan, verileri analiz eden ilişkili öğrenme algoritmalarına sahip bir gözetimli öğrenme modelleridir.
Destek vektör makineleri doğrusal sınıflandırmaya ek olarak, girdilerini örtük olarak yüksek değere eşler ve doğrusal olmayan bir sınıflandırmayı verimli bir şekilde gerçekleştirebilir. Temelde sınıflar arasında kenar boşlukları çizer. Kenar boşlukları öyle bir şekilde çizilir ki, kenar boşluğu ile sınıflar arasındaki mesafe maksimum olur ve dolayısıyla sınıflandırma hatası en aza indirilir.
El yazısı tanıma, yüz tanıma ve metin sınıflandırması gibi uygulama alanlarında bu algoritmadan faydalanılmaktadır.
K-nearest neighbours, sadeliği ve etkinliği ile ün kazanmış bir makine öğrenmesi algoritmasıdır. Sınıflandırma tahmini için yaygın olarak kullanılmaktadır. KNN, verileri tutarlı kümeler veya alt kümeler halinde gruplandırır ve yeni girilen verileri önceden eğitilmiş verilere olan benzerliğine göre sınıflandırır. Girdi, en yakın komşularını paylaştığı sınıfa atanır. Eğitim kümesi sayesinde öğrenme, etiketli bir veri modeli gibi eğitim sağlar.
İlk olarak eğitim verileri kullanılarak bir sınıflandırıcı oluşturulur. Daha sonra en yakın komşuluk tekniğine göre, yeni veriler komşularının hangi sınıflara ait olduğu belirlenerek sınıflandırılır. KNN algoritmasında, bilinmeyen demeti sınıflandırmamıza yardımcı olan belirli bir K değeri sabitlenir. Veri kümesinde kategorisi/sınıfı bilinmeyen yeni bir örnekle karşılaşıldığında, KNN iki işlem gerçekleştirir: Yeni veri noktasına en yakın K noktalarının, yani K'nin analiz edilmesi (en yakın komşular) ve komşuların sınıflarının kullanılarak yeni verilerin hangi sınıflara sınıflandırılacağının belirlenmesi.
KNN, anlamsal olarak benzer belgelerin aranmasında ya da aykırı değerlerin saptanması ile kredi kartı dolandırıcılık tespitinde kullanılan yöntemler arasındadır.
Karar ağacı, seçimleri ve sonuçlarını bir ağaç şeklinde temsil eden bir grafiktir. Grafikteki düğümler bir olay seçimini temsil ederken grafiğin kenarları karar kurallarını veya koşulları temsil eder. Her ağaç düğümlerden ve dallardan oluşur. Her düğüm, sınıflandırılacak bir gruptaki nitelikleri temsil ederken her dal, düğümün alabileceği bir değeri temsil eder.
Karar ağaçları, bir düğümü iki veya daha fazla alt düğüme bölmeye karar vermek için birden çok algoritma kullanır. Alt düğümlerin oluşturulması, ortaya çıkan alt düğümlerin homojenliğini arttırır. Başka bir deyişle, hedef değişkene göre düğümün saflığının arttığı söylenebilir. Karar ağacı, düğümleri mevcut tüm değişkenlere böler ve ardından en homojen alt düğümlerle sonuçlanan bölmeyi seçer.
Hem sınıflandırma hem de regresyon problemleri için uygulanabilir. Son yıllarda geliştirilip kullanıma sunulmuş popüler örnek algoritmaları arasında XGBoost (2014), LightGBM (2016) ve Catboost (2017) bulunmaktadır.
Sinir ağları, birbirine bağlı birçok basit işlem düğümünden oluşur. Genellikle bu düğümleri katmanlar halinde düzenler ve aralarındaki bağlantılara ağırlıklar atanır. Amaç, eğitim verilerinin ağ üzerinden ileri ve geri yayılımının birkaç yinelemesi yoluyla bu ağırlıkları öğrenmektir.
Bir sinir ağı, katmanlar halinde düzenlenmiş işlem düğümlerini içerir. Sadece birkaç düğüm ve katmandan oluşan bir ağ, binlerce katmana ayrılmış milyonlarca düğüme dönüşebilir. Her bir nöron, değerleri ağırlıklandırılmış bu sinaptik bağlantılar aracılığıyla ağdaki diğer nöronlara bağlanır ve ağ üzerinden yayılan sinyaller bu ağırlık değerleri ile güçlendirilir veya sönümlenir. Eğitim süreci, ağın nihai çıktısının doğru cevabı vermesi için bu ağırlık değerlerinin ayarlanmasını içerir.
Obje tespiti, görüntü yakalama, büyük veri ile sınıflandırma gibi görüntü ve büyük verinin olduğu her alanda sinir ağı modeli oluşturulabilir.
Bu yazıda makine öğrenmesindeki gözetimli öğrenme algoritmalarını, nasıl çalıştıklarını ve nerede kullanıldıklarını ele aldık. Gözetimli öğrenme algoritmalarını, kısaca verilerin girdisi ile çıktısı arasındaki ilişkinin bir gözetmen yardımı ile kurulması sonucunda tahminlerin üretildiği algoritmalar olarak düşünebiliriz. Konu ile ilgili daha detaylı bilgiye erişmek için Miuul'un Makine Öğrenmesi eğitimini inceleyebilirsiniz.
Kaynaklar