Makine Öğrenmesi I (Machine Learning I)

Şevval Yurtekin
5 min readJul 6, 2021

--

https://www.ceralytics.com/3-types-of-machine-learning/

Bu yazımda sizlerle makine öğrenmesinin genel modelini anlamak için takılması gereken iki gözlükten birincisini ele alacağım.

Makine öğrenmesi yapay zekanın alt bilim dalıdır. Tanımlayacak olursak,

Bilgisayarların insanlar gibi öğrenmesini sağlamak için çeşitli algoritma ve teknikler geliştiren (matematiksel ve istatistiksel işlemler ile), veriler üzerinden tahminlerde bulunan algoritmaların tasarım ve geliştirme süreçlerini konu edinen bir bilim dalıdır.

Temel kavramlara değinmek istiyorum.

  1. Değişkenler (Variables)

Bağımlı ve bağımsız değişkenler olmak üzere ikiye ayrılır. Bağımlı değişkenler bir çok literatürde target, dependent, output, response olarak adlandırılabilir. Veri setinde ilgilendiğimiz değişkendir bağımlı değişken. Çoğunlukla target olarak adlandırılır. Yapay sinir ağlarında output olarak adlandırılmaktadır. İstatistiksel çalışmalarda dependent olarak adlandırılmaktadır.

Bağımsız değişkenler, genellikle features olarak adlandırılır. Bir çok literatürde input, column, predictor, explanator olarakta adlandırılabilir. Veri setindeki bağımlı değişkeni oluşturan değişkenler olarak ifade edilebilir.

2. Öğrenme Türleri (Learning Types)

Öğrenme, gözetimli(supervised), gözetimsiz(unsupervised) ve pekiştirmeli /takviyeli(reinforcement) olmak üzere temelde üçe ayrılır.

Gözetimli öğrenme, bağımlı ve bağımsız değişkenlerin bir arada olduğu öğrenme türüdür. Yani bu öğrenme türünde verilen girdi ile istenilen bir çıktı arasında eşleşme yapan bir fonksiyon üretir.

Gözetimsiz öğrenme, bağımlı değişkenin olmadığı bir öğrenme türüdür. Yani veri üzerinden bilinmeyen bir yapıyı tahmin etmek için bir fonksiyon kullanılan tekniktir.

Pekiştirmeli öğrenme ise, gözetimli ve gözetimsiz öğrenmeden farklı bir yapıya sahiptir. Ödül-ceza sistemi bulunmaktadır. Burada makinenin amacı istenilen eyleme ulaşılan doğru yolu bulmaktır, doğru yola giderken yaptığı hatalardan çıkarımlar yapar ve belli bir ödül-ceza temeli üzerinde çalışır. Ardından çıkarımlarından en az hata ile doğru eylemi bulmaya çalışır.

3. Problem Türleri

Regresyon, bağımlı değişken sayısal değerlerden oluşmaktadır. İki ya da daha çok nicel değişken arasındaki ilişkiyi ölçmek için kullanılmaktadır.

Sınıflandırma, bağımlı değişken kategorik değerlerden oluşmaktadır. Örneğin, hayatta kalma durumu, kadın-erkek gibi. Ve bu değerlerden bir sınıf tahmini yapılmak isteniyorsa sınıflandırma problemidir.

4. Model Eğitmek (Model Training)

Veri setinin yapısını öğrenmek için model oluştururuz.

Sınıflandırma
Regresyon

5. Model Değerlendirme Yöntemleri (Model Evaluation)

Yaptığımız tahmin başarılı mı? Sorusunun cevabını bu kısımda ele alacağım.

Performans metrikleri problem türüne göre değişmektedir.

Regresyon modeli için başarı metrikleri, hata kareler ortalaması (MSE), hata kareler ortalamasının karekökü (RMSE) ve mutlak hatalar (MAE).

Hata Kareler Ortalaması (MSE), gerçek değerlerden tahmin edilen değerleri çıkarıp karesinin toplamını alıp, gözlem sayısına bölmemiz ile elde edilir. Tahminde ortalama yaptığımız hatayı bulmamızı sağlar.

Hata Kareler Ortalamasının Karekökü (RMSE), MSE’ deki kare alma işlemini (aslında veriyi şişirmiş olduk) dönüştürmüş olduk.

Mutlak Hatalar Yöntemi (MAE), gözlemlerin mutlak farklarının toplamı alınıp, gözlem sayısına bölünmesi ile bulunur.

Sınıflandırma yöntemlerinde başarı metrikleri, confusion matrix(hata matrisi), ROC eğrisi ve Log Loss.

Hata Matrisi (Confusion matrix), gerçek değerler ile tahmin edilen değerler arasında bazı değerleri hesaplamamıza yardımcı olur.

True Positive (TP), doğruya doğru demek diyebiliriz.

True Negative(TN), yanlışa yanlış demek diyebiliriz.

False Positive(FP), doğruya yanlış demek diyebiliriz.

False Negative(FN), yanlışa doğru demek diyebiliriz. (Hasta olana hasta değil demek)

Accuracy (Doğruluk), doğru tahminlerin toplam tahmin sayısına oranıdır.

(TP + TN) / (TP + TN + FP + FN)

Precision, pozitif sınıf tahminlerinin başarı oranıdır.

TP / (TP + FP)

Recall, pozitif sınıfın doğru tahmin edilme oranıdır.

TP / (TP + FN)

F1 Score, harmonik ortalama ile precision ve recall’u ağırlıklandırıp daha doğru bir sonuç elde etmemizi sağlar. Dengesiz veri problemlerinde daha iyi bir sonuç verir.

2 * (Precision * Recall) / (Precision + Recall)

ROC eğrisi (ROC Curve), sınıflandırma problemlerinin performansının değerlendirilmesinde AUC-ROC eğrisinden yararlanırız. False Positive Rate ile True Positive Rate değerlerini kullanır. ROC eğrisi, farklı sınıflandırma eşiklerine(threshold) göre görselleştirme yapar. Sol üst köşeye yaklaştıkça, testin genel doğruluğu artmaktadır.

AUC ( Area Under the Curve), ROC eğrisinin altında kalan alandır. 1'e yaklaştıkça modelin başarısı artmaktadır.

6. Model Doğrulama Yöntemleri (Validation)

6.1 Holdout Yöntemi (Sınama Seti Yaklaşımı)

Veri setimizi eğitim(train) ve test seti olarak böldüğümüz yaklaşımdır. Eğitim seti ile modeli kurup, test seti ile test edip, model performansını değerlendiririz. %20 test, %80 eğitim veya %30 test, %70 eğitim verisi şeklinde bölebiliriz.

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

Holdout yöntemiyle eğitim ve test seti olarak ayırdığımız verimizi modele sokup, performansını gözlemlediğimizde overfitting’e uğrayıp uğramadığını, bu duruma engel olmamızı sağlayan bir yöntemdir. (Veri seti ayrımını rastgele yapamamış olabiliriz)

Öncelikle ilk yöntem olarak orjinal veri seti içerisinde, veriyi örneğin 5 parçaya böleriz. Her iterasyonda 4 parça ile model kurup diğer parça ile test ederiz. Başka bir 4 parça ile model kurup diğer parça ile test ederiz. k kere bu işlem devam eder. Daha sonra test setlerinin ortalamasını alıp, ortalama hatayı elde etmiş oluruz. Bu yöntemi küçük verilerde kullanabiliriz.

Bir diğer yöntem ise eğitim ve test seti olarak ayırdığımız veriden, eğitim setine cross validation yöntemi uygulamaktır. Yeterli verinin olması durumunda kullanabiliriz.

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

Underfitting, yüksek yanlılığı ifade eder. Modelin veri setini hiç öğrenememe durumudur.

Doğru Model, düşük yanlılık, düşük varyans. Verinin paternini yakalayabilen modeldir, elimizdeki veriyi temsil edebiliyor olması durumudur.

Overfitting, yüksek varyans. Modelin veriyi birebir öğrenmesidir, kopyalamasıdır.

Model karmaşıklığı, modeli karmaşıklaştırmak (varyansı arttırmak) demektir. Örneğin ağaç yöntemlerinde dallanma sayısını arttırmak, doğrusal yöntemlerde üstel ifadeler kullanmak, yapay sinir ağlarında nöron sayısı, katman sayısı gibi değerleri arttırmak modeli karmaşıklaştıracaktır.

Model karmaşıklığı eğitim setini güçlendirir, tahmin hatasını azaltır. Ancak, test setinde bu durum böyle değildir. Bu durum test setinde overfitting’i arttırmaktadır. Bunu gözlemlemek için eğitim seti ile test setinin birbirinden ayrılmaya başladığı noktada diyebiliriz ki overfitting başladı. Bu noktada durmalıyız.

Umarım kavramları net bir şekilde anlamanızı sağlarım. Model eğitim ve başarı değerlendirme ile ilgili çalışmalarımı görmek için burayı inceleyebilirsiniz.

Ayrıca Kaggle hesabımda da çalışmalarım bulunmaktadır.

Keyifli okumalar dilerim :)

REFERANSLAR

DSMLBC5

--

--