Makine Öğrenmesi -II

Herkese merhaba makine öğrenmesi serimizin ikinci kısmından devam edeceğiz. Hazırsanız başlayalım.
Bir önceki yazımdan sizlere makine öğrenmesi nedir, makine öğrenmesinin hayatımızdaki yeri nedir, yöntem bakımından makine öğrenmesi türleri nelerdir, problemin ele alış bakımından makine öğrenmesi türleri nelerdir?
Diyerek belli başlı konular hakkında bilgi vermiştim. Şimdi ise bu yazımda makine öğrenmesi kavramına biraz daha değinelim.
Model Değerlendirme Metrikleri (Model Evaluation Metrics)
Bu işlemler birden fazla modeli birbirleri ile kıyaslamak amacıyla gerçekleşir. Buradaki amacımız başarı oranını kıyaslamak için çeşitli yöntemler kullanmaktır. Bu değerler ne kadar küçükse o kadar başarılıdır diyebiliriz.
Ortalama Kare Hata (Model Squared Error)

Ortalama kare hata, bir değişkenin gerçek değeri ile tahmin edilen değerin arasındaki farkın karesinin ortalamasıdır. Bir makine öğrenme algoritmasının hızını ölçmek için kullanılır. Kare işleminden dolayı daima pozitif değerdedir. Sıfır değerine ne kadar yakınsa performansı o kadar yüksektir.
n : Toplam terim sayısı
yi : Gözlemin gerçek değeri
¯yi : Tahmin edilen değer
Kök Ortalama Kare Hata (Root Mean Square Error)

Kök ortalama kare hatası, ortalama kare hatasının standart sapmasıdır.
Ortalama Mutlak Hata (Mean Absolute Error)

Ortalama mutlak hata, bir değişkenin gerçek değeri ile tahmin edilen değerlerinin farkının mutlak değerinin ortalamasıdır. RMSE daha küçük hataları şişirerek daha büyük hata oluşturur değerlerinin farkının karesini almasından dolayı. Ancak MAE herhangi bir şişirme işlemi gerçekleştirmez. Artışlarla beraber doğrusal olarak artar. Mutlak değerinin alınmasına dikkat edilmelidir. Yoksa önüne geçilmeyecek hatalar alabiliriz.
Model Doğrulama Yöntemleri
Modellerin ürettiği sonuçları doğru değerlendirilmesi çalışmasıdır.
Haldout Yöntemi(Sınama Seti Yaklaşımı)

Elimizdeki veri setinin 2/3 oranında eğitim seti(Training),1/3 oranında test seti olmak üzere ikiye ayrılır. Model ilk başta eğitim setine göre eğitilir. Daha sonra ise test setinden çıktının tahmin edilmesi beklenir.
K Fold Cross Validation(K-Katlı Çapraz Doğrulama):

Bu yöntemde orijinal veri seti eğitim seti ve test seti olmak üzere ikiye ayrılır. K adet parçaya ayrılır. Seçilen alt kümelerden bir tanesi boş bırakılır. Diğer kalan kümeler ile model kurulur, dışarıda bırakılan küme ile test edilir. Sınırlı veri kümeleri için avantajlıdır. Çünkü elimizdeki verileri hem test hem eğitim olarak kullanıyoruz. Bunların ortalamasını alırız. Çıkan sonuç bize hata yüzdesini verir.
Leave One Out

K adet küme vardır. Küme sayısı gözlem sayısı eşittir. Bir gözlem dışarıda bırakılır diğerleri ile test hatası hesaplanır.
ROC CURVE(Receiver operating characteristic)

ROC eğrisi, ikili sınıflandırma sistemlerinde ayrım eşik değerinin farklılık gösterdiği durumlarda, hassasiyetin kesinliğe olan oranıyla ortaya çıkmaktadır. ROC daha basit anlamda doğru pozitiflerin, yanlış pozitiflere olan kesri olarak da ifade edilebilir.(wikipedia)
Toparlarsak model başarısını değerlendirmek amacıyla, farklı sınıflandırma eşiklerine göre gösterilen bir yöntemdir. ROC eğrisinin altında kalan alan AUC(Area Under Curve) ROC eğrisinin iki sınıfın ayırt edilebilmesinin bir ölçüsüdür.
Logaritmik Kayıp (Logarithmic Loss):

Çıktısı 0 ile 1 arasında olan ve tahmin edilen değer ile gerçek değer arasında ne kadar değişiklik gösterdiğini bağlı olarak bize ortalama hatayı gösterir.
Yanlılık Varyans Değiş Tokuşu (Bias Variance Tradeoff )

Aşırı Uyum Gösterme(Overfitting)
Oluşturulan modelin eğitim verisindeki detayları en ince detayına kadar çalışıp, oluşturulan çıktılarının ezberlenmesi ile sadece uğraştığı veriler üzerinden başarı elde etmesidir. Örnek vermek gerekirse bir öğrencinin defterindeki tüm soruları ezberleyip sınava gitmesi ve sadece karşısına çıkan soruları yapması diğer soruları doğru yapamaması bu olaya örnek verilebilir. Bizim amacımız modelin verideki her şeyi tahmin etmesi değildir. Bir doğru bulması (bir yol, bir kalıp) bu bulduğu doğrunun diğer verilere de aynı şekilde uygulanabiliyor olması gerekir. Eğer ki bu sorunla karşılaşıyorsak bu problemi çözmek için veri eklenebilir, değişkenler azaltılabilir v.b teknikler kullanılabilir.
Az Uyum Gösterme(Underfitting)
Oluşturulan modelin eğitim verisini modelleyemeyen ve model ile veriler arasında sürekli uyumsuzluk yaşayan sonuç olarak kötü performans göstermesidir.
İyi Uyum Gösterme(Good Balance)
Modelimizi uzun süre eğiterek veri setini zamanla tahmin edebilmesini sağlarız. Düşük varyans ve düşük yanlılık içerir.
Eğitim Hatası İle Test Hatasının Karşılaştırılması

Bir algoritmasını eğittiğimizde modelin her yenilenmesinde ne kadar iyi performans gösterdiğini ölçebiliriz. Belirli sayıda yenilemeye kadar yeni yenilemeler modeli iyileştirir. Ancak daha sonrasında model eğitim verilerini aşırı doldurmaya başladığında eskisi gibi olmayabilir. Bunun için yapılması gereken bu noktayı geçmeden eğitimi durdurmaktır. Bu noktadaki çözüm ise karmaşıklığı azaltmaktır.
https://www.udemy.com/user/mustafa-vahit-keskin/ (dsbootcamp)
https://www.analyticsvidhya.com/blog/2018/04/fundamentals-deep-learning-regularization-techniques/.
https://towardsdatascience.com/understanding-auc-roc-curve-68b2303cc9c5.
https://www.geeksforgeeks.org/underfitting-and-overfitting-in-machine-learning/.