Makine Öğrenmesi

Serdar Tafralı
Machine Learning Turkiye
15 min readDec 4, 2022

--

(Machine Learning)

Made by Serdar Tafralı — Data Scientist

Makine öğrenmesi bilgisayarların insanlara benzer şekilde öğrenmesini sağlamak maksadıyla çeşitli algoritma ve tekniklerin geliştirilmesi için çalışılan bilim ve teknolojinin birlikte kullanıldığı bir çalışma alanıdır. İlk olarak 1952 yılında, isim babası Arthur Samuel tarafından tasarlanan makine öğrenmesi, IBM’in Poughkeepsie’deki laboratuvarında dama oynaması için geliştirilmiştir. Arthur Samuel tasarladığı bu programın dama oynadığı her seferde kendisini geliştirmesi, hatalarını belirleyip düzeltmesi ve elde ettiği verilerle oyunu kazanmanın daha güçlü yollarını keşfetmesini amaçlamıştır. Bu oto-öğrenme programı, makine öğrenmesinin ilk örneklerinden biri olmuştur.

Şimdi başka bir somut örnekle makine öğrenmesine açıklık getirelim:

Yukarıdaki veri setinde Evlerin metrekareleri ve fiyat bilgileri verilmiştir.

  • Veri setinde 90 metrekare bir evin fiyatı sorgulandığında, 90 metrekare olan 3 evin ortalaması, 440.000₺ olarak yorumlanabilir.
  • Farklı bir soru olarak 94 metrekare bir evin fiyatı sorgulandığında, 93 ve 95 metrekare olan evlerin ortalaması cevap olarak yorumlanabilir.
  • 106 metrekarelik bir ev sorgulandığında ise veri setindeki metrekareye göre fiyatın bir artış trendinde olduğu gözlemlenerek 570.000₺’den yüksek olacağı yorumlanabilir.

Bu kapsamda 12 satır ve 2 değişken bulunan bu veri setinde insan gözüyle verileri yorumlayarak, değişkenler arasında doğrusal bir ilişki olduğunu gözlemleyerek bazı tahminlerde bulunduk. Ancak veri setinde on binlerce satır ve yüzlerce değişken olsaydı, bu çıkarımları gözlem yöntemiyle yorumlamak, genelleştirmek ve matematiksel olarak ifade mümkün olmayacaktı.

Bu noktada makine öğrenmesi teknikleriyle on binlerce satıra ve yüzlerce değişkene sahip bir veri setinde çıkarımlar ve genelleştirmeler yapılabilir ve yapılan gözlemler matematiksel olarak ifade edilebilir.

Makine Öğrenmesinde Çalışılan Değişken Türleri: (Variable Types)

Makine Öğrenmesi sürecinde, ilgilenilen veri seti üzerinde farklı türlerde çeşitli değişkenler mevcuttur:

  • Sayısal Değişken: sayısal değerlerle ifade edilen değişkenlerdir. Kesikli veya sürekli olarak ikiye ayrılır. Metrekare, Fiyat, Yaş, Boy, Miktar Bilgisi ile örneklendirilebilir. Ürün Paket sayısı (5–10 Paket) kesiklidir. Tam sayılarla ifade edilir. Boy uzunluğu ise 186.3 şeklinde sürekli olarak yani ondalıklı olarak rasyonel sayılarla ifade edilir.
  • Kategorik Değişkenler: (Nominal, Ordinal) Bir sınıfı yani kategoriyi ifade eden değişkenlerdir. Kadın/Erkek, Eğitim Durumu, Basketbol Takımları ile örneklendirilebilir. Nominal kategorik değişkenlerde basketbol takımları, kadın/erkek örneklerindeki gibi sınıflar arası farklılıklar yoktur ancak Ordinal kategorik değişkenler, (eğitim durumu, askeri rütbe gibi) sınıflar arasında farklılıkların olduğu değişkenlerdir.
  • Bağımlı Değişken: (Target, Dependent, Output, Response) İlgilenilen problemdeki hedef değişkendir. Makine öğrenmesi projesi kapsamında tahmin edilmek istenen değişkendir.
  • Bağımsız Değişken: (Feature, Independent, Input, Column, Predictor, Explanatory) ilgilenilen problemdeki bağımlı değişkenin değerlerinin oluşma durumuna sebep olduğu varsayılan diğer değişkenlerdir.

Şimdi bir örnek üzerinden bu yapıları değerlendirelim:

Yukarıda reklam harcamalarıyla ilgili bir veri seti betimlenmiştir. Veri setinde çeşitli mecralarda yapılan reklam harcamaları ve bu harcamalar sonucunda yapılan satışlar ifade edilmiştir. Burada bağımlı değişken sayısal bir değişken olarak sales değişkenidir. Bağımlı değişken sayısal olduğundan ötürü, bu bir Regresyon Problemi olarak nitelendirilir.

Bir başka veri seti olarak yukarıda betimlenen tabloda, hedef değişken (bağımlı değişken) olan churn (müşterinin terk etme durumunu ifade etmektedir) kategorik bir değişkendir. Ancak algoritmaların anlayabileceği şekilde temsil edilmesi amacıyla sayısal olarak encode edilmiştir. (Encoding hakkında detaylı bilgi için: Veri Biliminde Encoding İşlemleri) Churn değişkeninde ilgili şirketi terk eden ve etmeyen sınıflar mevcuttur. Burada müşterilerin çeşitli özellikleri verildiğinde, ilgili şirketi terk etme veya etmeme durumlarının tahmin edilmeye çalışıldığı bir yapı söz konusudur. Hedef değişken kategorik olduğundan dolayı, bu bir Sınıflandırma Problemi olarak nitelendirilir.

Makine Öğrenmesi Sürecinde Öğrenme Türleri (Learning Types)

Makine öğrenmesi temelinde üç farklı öğrenme türüyle ele almaktadır.

  • Denetimli Öğrenme: (Supervised Learning) Gözetimli öğrenme olarak da isimlendirilir. Eğer veri setinde Labellar (Hedef değişkenler, Bağımlı değişkenler) var ise bu durum denetimli (gözetimli) öğrenme olarak ifade edilir. Örnek olarak yapılan reklamlar sonucu elde edilen satışlar verilebilir.
  • Denetimsiz Öğrenme: (Unsupervised Learning) Gözetimsiz öğrenme olarak da isimlendirilir. Eğer veri setinde Labellar (hedef değişken/bağımlı değişken) yok ise bu durum gözetimsiz öğrenme problemi olarak geçer. Örnek olarak bir ülkenin bölgeleri özelindeki suç oranları verilebilir.
  • Pekiştirmeli Öğrenme: (Reinforcement Learning) Deneme yanılma yoluyla, yapılan yanlış hamlelerden ders çıkararak öğrenen modeller pekiştirmeli öğrenme olarak isimlendirilir. Dama oynamayı öğrenen ve her oyunda hatalarından ders çıkarıp Dama’da uzmanlaşan bir program pekiştirmeli öğrenmeye örnek olarak verilebilir.

Denetimli Öğrenme Problem Türleri:

Denetimli makine öğrenmesi problemleri Regresyon Problemi ve Sınıflandırma Problemi olarak ifade edilir.

Regresyon Problemi:

Bağımlı değişkeni yani hedef değişkeni sayısal olan problemlere Regresyon Problemi denir. Aşağıda bağımlı değişkeni (sales) sayısal olan advertising veri seti, bir regresyon problemi örneği olarak verilmiştir.

Regresyon Problemlerinde bağımlı değişken sayısaldır.

Sınıflandırma Problemi:

Bağımlı değişkenin kategorik değişken olduğu makine öğrenmesi problemlerine Sınıflandırma Problemi denir. Aşağı Churn veri seti, örnek olarak verilmiştir. Churn hedef değişkeni burada Binary Encode edilmiş bir kategorik değişkendir. Müşteri terk etme ve etmeme durumunu belirten 1 ve 0 değerleri kullanılarak ifade edilmiştir.

Sınıflandırma problemlerinde bağımlı değişken kategoriktir.

Model Başarı Değerlendirme (Model Evaluation) Yöntemleri:

Makine öğrenmesi problemlerinde, oluşturulan modelin ürettiği tahminlerin başarı oranının ölçümlendirildiği süreçtir.

Bir makine öğrenmesi yönteminin veri setindeki bağımlı ve bağımsız değişkenler arasındaki ilişkiyi öğrendiği ve bu öğrenme neticesinde tahminler üretmeye başlamasının ardından üretilen tahminlerin ne kadar başarılı olduğu gözlemlenir.

Regresyon Modellerinde başarı değerlendirme:

Yapılan tahminlerin başarısı MSE (Mean Squared Error) yani Hata Kareler Ortalaması değeri gibi bazı formüller aracılığıyla hesaplanır. MSE bir başarı değerlendirme ölçüsüdür. Özellikle optimizasyon yöntemleri kullanılırken, daha iyi modeller kurmak üzere optimize edilmeye çalışılan bir fonksiyondur.

Yukarıda örnek olarak verilen advertising veri setinde, satışların gerçek değerleri ve tahmin değerleri verilmiştir. Regresyon modellerinde kullanılan başarı ölçümlendirme metrikleri, Gerçek Değerler ile Tahmin Edilen Değerler arasındaki farkları değerlendirme imkanı sağlar. Bu metrikler, Ortalama hata metrikleri olarak da isimlendirilir. Farklı başarı değerlendirme teknikleri olarak RMSE (Root Mean Square Error), MAE (Mean Absolute Error) ve MAPE (Mean Absolute Percentage Error) örnek verilebilir.

Sınıflandırma Modellerinde Başarı Değerlendirme:

Sınıflandırma modellerinde yaygın olarak, Regresyon modellerine göre daha basit bir değerlendirme ölçütü olan Accuracy yöntemi kullanılır. Aşağıda örnek olarak verilen, bağımlı değişkeni (Churn) kategorik bir değişken olan churn veri setinde, Churn değişkeninin sınıfları gerçek değerleri, Predicted_Churn değişkeninin sınıfları ise tahmin edilen değerleri betimler.

Accuracy metriğinde başarı ölçüsü, Doğru Sınıflandırma Sayısının, Toplam Sınıflandırılan Gözlem Sayısına bölümü olarak ifade edilir. Accuracy değeri yükseldikçe modelin başarısı yükselir. Accuracy haricinde kullanılan Precision, Recall, F1 Score gibi metrikler de mevcuttur. Şimdi Accuracy metriğini detaylandırırken diğer metrikleri de inceleyelim.

Confusion Matrix: (Karmaşıklık Matrisi)

Model kurulduktan sonra ortaya çıkan tahmin edilen değerler sonucunda,
Tahmin edilen değerin ve Gerçek değerin eşleştiği gözlem birimleri:

  • 1 sınıfı için True Positive (TP)
  • 0 sınıfı için True Negative (TN)

Tahmin edilen değerin ve Gerçek değerin eşleşmediği gözlem birimleri:

  • 1 sınıfı için False Positive (FP) (İstatistikte 1.tip hata olarak betimlenir)
  • 0 sınıfı için False Negative (FN) (İstatistikte 2.tip hata olarak betimlenir)

olarak ifade edilir. Yani doğru yapılan işlemlere True ve Yanlış işlemlere ise False ifadesi kullanılır.

  • Accuracy: Doğru sınıflandırma oranıdır: (TP+TN)/(TP+TN+FP+FN)
    İncelenen sınıflandırma problemi dengeli sınıf dağılımına sahipse Accuracy metriği kullanılabilir. Sınıf dağılımı dengesizse, sınıf sayısı düşük olan sınıfı yakalama problemi oluşur.

Sınıf dağılımlarının dengesiz olduğu durumlarda Accuracy kullanılmaz. Bu durumlarda ise Precision ve Recall değerleri incelenir:

  • Precision: Pozitif sınıf (1) tahminlerinin başarı oranıdır: TP/(TP+FP) Tahmin edilen değerlerde ne kadar başarılı olunduğunun ölçüsüdür. Tahmin edilen pozitif sınıfların (1 olarak tahmin edilen sınıfların) gerçekte ne kadarının pozitif olduğunu gösterir. 1. tip hata ile ilgilenilir. Tahminlerin başarısına odaklanır.
  • Recall: Pozitif sınıfın (1) doğru tahmin edilme oranıdır. TP/(TP+FN)
    Tahmin edilen pozitif sınıfların ne kadarının doğru tahmin edildiğini betimler. 2. tip hata ile ilgilenir. Önemli bir ölçüdür. Gözden kaçırmaların maliyeti hakkında bilgi verir. Gerçekleri yakalama başarısına odaklanır.
  • F1 Score: Precision ve Recall değerlerinin harmonik ortalamasıdır:
    2*(Precision*Recall)/(Precision+Recall)
    Hem Precision Hem de Recall değerinin etkisini tutmaktadır.

Sınıflandırmalarda Olasılık Eşik Değeri: (Classification Threshold)

Sınıflandırma modellerinin başarı değerlendirme süreçlerinde, başarı ölçüm metriklerine geçmeden önce, bağımlı değişkenin tahmin edilen değerlerinin elde edilmesi gerekmektedir. Bu kapsamda sigmoid fonksiyonu kullanılarak ulaşılan olasılık değerlerinin belirlenen bir eşik değerin üstünde veya altında olması durumuna göre tahmin edilen sınıflar belirlenir. Bu eşik değere Classification Threshold denir.

Bir örnek üzerinde gözlemleyelim:

Bu örnekte birinci sınıfın gerçekleşme olasılığının değerlerine göre belirlenen, 0.50 eşik değeri üzerinden tahmin edilen sınıflar betimlenmiştir. Eşik değerin yükselmesi Accuracy’i düşürecektir. Öte yandan eşik değerin düşmesi durumunda Accuracy değeri yükselecektir. Dolayısıyla olası tüm eşik değeri değişimleri göz önüne alınarak hesaplanmalar yapılması gerekmektedir.

Özetle: Belirlenen eşik değere göre tahmin edilen değerlere ulaşılır. Ardından başarı ölçüm metriklerince değerlendirilir. Bu kapsamda eşik değeri değiştikçe başarı ölçüm değerleri de değişecektir. Dolayısıyla olası tüm eşik değer değişimleri göz önüne alınarak hesaplanmalar yapılması gerekmektedir. Bu problemi çözmek amacıyla Roc Curve Yöntemi (Receiver Operating Characteristic Curve) kullanılır.

Roc Curve Yöntemi: (Receiver Operating Characteristic Curve)

Henüz model kurulmadığı durumda elde edilecek başarının Random Classifier doğrusu kadar olması beklenir. Random Classifier doğrusunun üstünde kalan ROC eğrileri, Perfect Classifier’a doğru iç bükeyleştikçe başarı oranının artması beklenir. Bu eğriler olası Thresholdlara göre oluşan karmaşıklık matrisi üzerinden, her bir olası eşik değerine karşılık gelen True Positive ve False Positive değerleri hesaplanarak oluşturulur.

ROC eğrisi ile Random Classifier arasındaki alana Area Under Curve (AUC) denir. AUC, “ROC Eğrisi altındaki alan” anlamına gelir. Bu metrik ROC eğrisinin sayısal bir şekilde ifade edilişidir. AUC, tüm olası sınıflandırma eşikleri için toplu bir performans ölçüsüdür. AUC değerinin yüksek olması sınıflandırmanın iyi yapıldığı anlamına gelir.

LOG Loss:

Log Loss Fonksiyonunun Binary Classification için kullanılan formu

LOG loss ifadesi hem modelin başarısı, hem de optimizasyon için değerlendirilen bir metriktir. Bu fonksiyona, hiperparametreler ve ağırlıklar açısından optimizasyon yapmak üzere odaklanılır. Bu metrik Cross Entropy (Çapraz Entropi) olarak da isimlendirilir. Entropi bilgi ve çeşitlilik anlamı taşır. Entropi yüksekse bilgi, çeşitlilik ve varyans mevcuttur. Bu kapsamda entropinin düşük olması istenir. LOG Loss üzerinden başarı değerlendirme, Entropi özelinde gerçek değerler ile tahmin edilen değerlere ilişkin bir ölçme çabasıdır.

Model Doğrulama (Model Validation) Yöntemleri:

Makine öğrenmesi süreçlerinde elde edilen başarının daha doğru değerlendirilmesi için yapılan çalışmalara denir.

  • Sınama Seti Yöntemi (Holdout Method):

Veri seti, eğitim seti ve test seti olarak ikiye bölünür. Eğitim seti üzerinde modelleme işlemi yani eğitim işlemi (Train) gerçekleştirilir. Model burada öğrenir. Daha sonra ilgili modele test setinden sorular sorulur ve model test edilir. Bu şekilde iki setin başarısı değerlendirilir.

  • K-Katlı Çapraz Doğrulama (K Fold Cross Validation):

Özellikle veri seti az olduğunda eğitim ve test setinin bölünme işlemlerinde test setinin taşıdığı bilgilerin verimliliği sorgulanabilir. Bu kapsamda Holdout metoduna alternatif olarak K-Katlı Çapraz Doğrulama Yöntemi Kullanılır. Bu yöntem iki şekilde kullanılabilir:

Birinci Metot: (Çapraz Doğrulama)

  1. Orijinal veri seti 5 eşit parçaya bölünür.
  2. 1,2,3,4,5 numaralı parçalardan, 1,2,3,4 numaralı olanlar ile model kurulur. 5 numaralı parça ile test edilir.
  3. Ardından 1,2,3,5 numaralı parçalar ile model kurulur ve 4 numaralı parça ile test edilir.
  4. Ardından 1,2,4,5 numara model, 3 numara test, 1,3,4,5 numara model ve 2 numara test ve son olarak 2,3,4,5 numaralı parça model ve 1 numaralı parça test için kullanılır.
  5. <Testlerin hatalarının ve başarılarının ortalaması alınır ve Cross Validation hatası bulunur.

İkinci Metot: Özellikle zengin ve bol gözlem değerine sahip bir veri setinde çalışıldığında yaygın bir kullanıma sahiptir.

  1. Veri Seti, Eğitim ve Test seti olacak şekilde ikiye bölünür.
  2. Eğitim setine birinci metottaki Çapraz Doğrulama (Cross Validation) uygulanır.
  3. En son modelin hiç görmediği Test seti ile tekrar test edilir.

Yanlılık-Varyans Değiş Tokuşu (Bias-Variance Tradeoff):

Bir veri bilimi projesinde, uygun bir model oluşturulup, modelin uygulanmasının ardından, modelin başarısıyla ilgili, değerlendirilme yapılan süreçte karşılaşılan bir takım problemler söz konusudur. Bunlar Underfitting ve Overfitting problemleridir.

Geliştirilen modelin amacı, bağımlı ve bağımsız değişkenler arasındaki ilişkiyi ve bu ilişkinin anlamını çıkartmaktır. Bu durumda modelimizden veriyi ezberlemesini değil, verinin yapısını öğrenmesini bekleriz.

Underfitting: Modelin veriyi yeteri kadar öğrenememesidir. Yanlılık yüksektir. Varyans düşüktür. Genellenebilirlik kabiliyeti zayıftır.

Aşırı öğrenme (Overfitting): Modelin veriyi ezberlemesidir. Varyans yüksektir. Test setine gidildiğinde ezberlediği veriden farklı verilerle karşılaşacağından başarı oranı düşük olacaktır. Tahmin fonksiyonu gerçek değerleri birebir temsil eder.

Doğru Model: Yanlılığı ve varyansı düşük modeldir. Veri setinin temsil edildiği veya ezberlendiği bir model değildir. Doğru modelin amacı veri setindeki ilişkinin, örüntünün yani yapının temsil edilmesidir.

Aşırı öğrenme (overfitting) sorunu nasıl tespit edilir?

Aşırı öğrenme sorunu eğitim seti ve test setinin, model karmaşıklığı ve tahmin hatası çerçevesinde, birlikte değerlendirilmesiyle tespit edilebilir. Eğitim seti ve Test setindeki hata değişimleri incelenir.

İki hatanın birbirinden ayrılmaya başladığı nokta (çatallanmanın başladığı nokta) itibariyle aşırı öğrenme başlamıştır demektir.

Aşırı öğrenme (overfitting) sorununun önüne nasıl geçilir?

Aşırı öğrenmeyi tespit ettiğimiz noktada modelin hassaslaştırılması yani daha detaylı tahminler yapabilmesi için özelliklerinin kuvvenlendirilmesi anlamına gelen ve doğrusal modellere, ağaç yöntemlerine ve sinir ağlarına göre değişiklik gösteren Model karmaşıklığını (eğitim süresini ve iterasyon süresini vb) durdurarak aşırı öğrenmenin önüne geçilir. Model karmaşıklaştırma bir noktaya kadar alınan hataları azaltıyor olacaktır ancak optimum noktanın ardından eğitim setinde ezberlenme ve test setinde hata yükselmesi durumu yani aşırı öğrenme başlayacaktır.

Ek olarak Overfitting’e düşmemek adına korelasyon, eksik değer ve aykırı değer analizleri çok önemlidir. Örnek olarak, korelasyonu çok yüksek olan bağımsız değişkenlerin varlığı aynı bilgiyi taşımalarından ötürü yanlılığa sebep olmakla birlikte Overfitting’e düşmeye sebep olacaktır.

Modellere göre örnek vermek gerekirse, Doğrusal Yöntemlerde modele üstel terimler eklemek yani modeli hassaslaştırmak, modeli daha detaylı tahminler yapabilir bir hale getirmek anlamına gelir. Başka bir değişle modeli karmaşıklaştırmak olarak ifade edilir.

Ağaç Yöntemlerinde ise dallandırma tekniği modeli karmaşıklaştırmak için kullanılır. Optimizasyon yöntemlerine dayalı ağaç yöntemlerinde (LightGBM gibi) iterasyon sayısı model karmaşıklığı parametresi olarak kullanılır. Örnek olarak modele bağlı olarak 100, 500, 1000 iterasyon sayısında hata sayısı düşecektir ancak bir noktadan sonra test setinde hata sayısı artacaktır.

Yapay Sinir Ağlarında ise katman sayısı, hücre sayısı, iterasyon sayısı artırıldığında ya da Learning Rate gibi özel bazı sinir ağı mimarilerinde parametrelerde ayarlamalar yapıldığında veya opsiyonlar artırıldığında bir noktaya kadar eğitim setinde hata düşmeye devam edecektir ardından test setindeki hata artacaktır.

Sonuç olarak model karmaşıklaştırma aşırı öğrenmenin başladığı noktaya (Modelin eğitim setini çok iyi öğrendiği noktaya) kadar işe yarar bir tekniktir. Ancak bir noktadan sonra model eğitim setini aşırı öğreneceğinden dolayı, bu durum bağımlı ve bağımsız değişkenler arasındaki ilişkiyi öğrenmenin ötesine geçip, veriyi ezberleme halini alacaktır. Bu noktadan sonra aşırı öğrenme sonucu test hatası artmaya başlayacaktır.

Denetimsiz Öğrenme Problemleri ve Çözüm Yöntemleri:

Bir veri bilimi probleminin ilgili veri setinde, bağımlı değişkeninin (Hedef Değişkenin) olmadığı, başka bir deyişle bir etiketin (label) olmadığı durumlara Denetimsiz Öğrenme denir.

Denetimsiz öğrenme süreçlerinde sıklıkla kullanılan üç yöntem mevcuttur:

  • K-Means (K-Ortalamalar)
  • Hierarchical Cluster Analysis (Hiyerarşik Kümeleme Analizi)
  • Principal Component Analysis (Temel Bileşen Analizi)

K-Means (K-Ortalamalar)

K-Means yönteminde temel amaç gözlemleri birbirine olan benzerliklerine göre kümelere ayırmaktır.

K-Means yöntemi uygulanırken;

  1. Küme sayısı belirlenir.
  2. Rastgele k adet merkez seçilir.
  3. Her bir gözlemin k merkezlerine olan uzaklıkları hesaplanır.
  4. Her gözlem en yakın olduğu merkeze (yani kümeye) atanır.
  5. Atama işlemlerinden sonra oluşan kümeler için tekrar merkez hesaplamaları yapılır.
  6. Bu adımlar belirli bir iterasyon adedince tekrar edilir ve küme içi hata kareler toplamlarının toplamının (Total within-cluster variation) minimum olduğu durumda erişilen gözlemlerin kümelenme yapısı, nihai kümelenme olarak seçilir.

Bu yöntemin dezavantajlarından biri k değerinin kaç olacağının belirlenmesiyle birlikte rastgele k merkez seçilmesidir.

Hiyerarşik Kümeleme Analizi (Hierarchical Cluster Analysis)

Hiyerarşik kümeleme yöntemininde genel kümeleme ile benzer olarak amaç birbirine benzer olan gözlemleri, benzerliklerine göre alt kümelere ayırmaktır. Özel olarak bu kümelere ayırma işlemi hiyerarşik olarak gerçekleştirilir. Temel olarak hiyerarşik kümeleme, aşağı veya yukarı doğru Birleştirici ya da Bölümleyici olmak üzere hiyerarşik bir şekilde gözlem birimlerini kümelere dahil etmeye dayalıdır. KMeans’ten farklı olarak, küme oluşturma sürecine müdahale edilebilirdir. Bu kapsamda Agglomerative Birleştirici ve Divisive Bölümleyici olarak kullanılan iki metot söz konusudur:

Hiyerarşik Kümeleme yönteminin temel yapı taşı dendrogram adı verilen kümeleme yapısını gösteren şemadır.

  • Agglomerative Birleştirici:

Bütün gözlem birimleri tek başına bir küme gibi düşünülerek, bir ağaç dallanması gibi yukarıya doğru iki veya üç gözlem birimi bir araya gelerek bir küme oluşturur. Ardından bu kümeler bir araya gelerek başka bir küme oluşturur. Bu şekilde birleştirilerek işlemler gerçekleştirilir.

  • Divisive Bölümleyici:

Tüm gözlemlerin bir arada olduğu durumda, iki kümeye bölünür. Ardından bu işlem defalarca yapılarak her bir gözlem tek başına kalacak şekilde bölünmüş kümeler oluşturulur.

Temel Bileşen Analizi (Principal Component Analysis)

Temel amacı, çok değişkenli verinin ana özelliklerini daha az sayıda değişken/bileşen ile temsil etmektir. Başka bir deyişle, küçük miktarda bir bilginin kaybını göze alarak, değişken boyutunu azaltmaktır. Değişken gruplarının varyanslarını ifade eden özdeğerler ve veri setindeki değişkenleri gruplandırarak boyut indirgeme işlemi gerçekleştirilir. Bu gruplar arasında en çok önem arz edenler, en fazla varyansa sahip olanlardır. Bu gruplara asal bileşenler denir.

Boyut indirgeme ihtiyacı olarak; Bazı varsayım problemlerinde boyut indirgenmek, doğrusal regresyon problemlerinde çoklu doğrusal bağlantı probleminden kurtulmak, yüz tanıma probleminde resimlere (Gürültü azaltma aracı olarak) filtre yapmak belirtilebilir. Ek olarak çok boyutlu veriyi görselleştirmek için de kullanılır.

Özetle Temel bileşen analizi bir boyut indirgeme yaklaşımıdır. Veri setinin boyutunu küçük miktarda bir bilgi kaybını göze alarak indirgeme işlemidir.

Temel bileşen analizi, veri setini bağımsız değişkenlerin doğrusal kombinasyonları ile ifade edilen bileşenlere indirger. Dolayısıyla bu bileşenler arasında korelasyon yoktur.

Reinforcement Learning ( Pekiştirmeli öğrenme )

Temelde pekiştirmeli öğrenme, bir makinenin veya cihazın kendi eylemlerinden geri bildirim kullanarak deneme yanılma yoluyla öğrendiği bir tekniktir. Öğrenme, istenen davranışların ödüllendirilmesine veya istenmeyen davranışların cezalandırılmasına dayanır. Makineler için havuç ve çubuk olarak tanımlanabilir.

Thanks to 365 Data Science for image

Makineye ulaşmak için kapsayıcı bir hedef verilir. Daha sonra makine görevleri rastgele gerçekleştirir ve her yinelemede gerçekleşen sonuçları değerlendirir. Zamanla, hangi faaliyet veya davranışların iyi olduğunu ve bu nedenle ödül getirdiği için takip edilmesi gerektiğini, hangilerinin kötü olduğunu ve cezaya yol açtıkları için kaçınılması gerektiğini öğrenir.

Genel olarak makine, çevre olarak da bilinen belirli bir durumla etkileşime girerken maksimum genel ödülü aramak üzere programlanmıştır. Bu durum, makineyi uzun vadeli getiriyi maksimize edecek ve optimum çözüme ulaşacak aksiyonları almaya şartlandırır.

Bazı yönlerden, pekiştirmeli öğrenme denetimli öğrenmeye benzer. Algoritmalara açıkça belirlenmiş hedefler verilir. Ayrıca girdiler ve çıktılar arasında haritalama (mapping) kullanırlar ve sonuçlar olumlu veya olumsuz olabilir. Ancak, benzerliklerin bittiği yer burasıdır. Denetimli öğrenmeden farklı olarak, bir pekiştirmeli öğrenme algoritması etiketli veri kümeleri gerektirmez ve makineye görevi nasıl tamamlayacağına dair herhangi bir talimat verilmez. Makine kendi kendine öğreniyorsa, belirli koşullar altında, insanların bulamayacağı çözümler de dahil olmak üzere tamamen yeni çözümler ortaya çıkarabilir.

Thanks to 365 Data Science for image

Pekiştirmeli öğrenme, robotların, otonom araçların ve oyunların geliştirilmesi ile yakından ilgilidir. İlginç bir kullanım durumunu ele alalım. 2016'da Alpha Go, Game of Go’da dünya şampiyonu Lee Sedol’u yendi. Program, Google’ın ana şirketi olan Alphabet Inc’in bir yan kuruluşu olan Deep Mind tarafından oluşturuldu. Diğer yapay zeka tekniklerinin yanı sıra geliştiriciler, Alpha Go’nun kendisine karşı oynamasına izin vererek pekiştirmeli öğrenmeyi kullandılar. Milyonlarca maç boyunca, sistem Go’yu sıfırdan öğrendi ve yavaş yavaş oyunun inceliklerine alıştı. Alpha Go, yalnızca birkaç günlük bir süre içinde, 21 yıllık mesleki deneyime sahip bir şampiyonu yenmeye yetecek kadar binlerce yıllık insan bilgisi biriktirdi.

Thanks to 365 Data Science for image

Ek olarak pekiştirmeli öğrenme, pazarlama da dahil olmak üzere çeşitli iş alanlarında da uygulanabilir. Gerçek hayattan bir örneği inceleyelim. Çinli e-ticaret ve teknoloji devi Alibaba’dan araştırmacılar, reklam açık artırmalarında gerçek zamanlı teklifleri optimize etmek için bir pekiştirmeli öğrenme algoritması geliştirdi. Modern dijital pazarlama kavramına aşina olmayanlarınız için, reklam verenler bir siteyi ziyaret eden kullanıcılar tarafından görüntülenen bireysel gösterimler için teklif verebilir. Artık reklam yerleşimlerinin yatırım getirisini en üst düzeye çıkarmak için reklam verenler, ilgi alanlarına bağlı olarak reklamlarının bireysel kullanıcılar için alaka düzeyini tahmin edebilir.

Thanks to 365 Data Science for image

Ayrıca, piyasada teklif veren diğer reklam verenlerin eylemlerine yanıt verebilmeleri gerekir. Bu nedenle araştırma ekibi, her biri pazardaki farklı reklamcıları temsil eden çeşitli bilgisayar programlarını birleştiren bir algoritma oluşturdu. Esasen, işbirliği yapmalarına ve aynı zamanda birbirleriyle rekabet etmelerine izin verdi. pekiştirmeli öğrenme sayesinde algoritma, reklam verenlerin işbirliği yapan ve rekabet eden faaliyetleri arasındaki ödünleşimi dengeleyebildi ve böylece en uygun teklif verme stratejisini formüle etti. Bu yaklaşımla, yatırım getirisi aynı reklam bütçesine göre %200'ün üzerinde arttı.

--

--

Serdar Tafralı
Machine Learning Turkiye

Dedicated and eager lifelong learner with a very solid mathematical background. Deeply passionate about Data Science and Artificial Intelligence