Makine Öğrenmesi

Züleyha Çakır
6 min readAug 4, 2021

--

Merhabalar!

Veri bilimi dünyasında kaybolurken başlı başına derya deniz olan makine öğrenmesi dünyasına dalmamak mümkün değil! Makine öğrenmesi son zamanların en ilgi gören konuları arasında diyebiliriz. Sizlere bu yazımda makine öğrenmesinin temelini oluşturan konuları anlatmaya çalışacağım. Umarım faydalı olur:) keyifli okumalar…

Makine öğrenmesi; bilgisayarların insanlara benzer şekilde öğrenmesini sağlamak amacıyla çeşitli algoritmaların, tekniklerin geliştirilmesi için çalışılan bilimsel çalışma alanıdır.

Makine öğrenmesinde model kurarak veriden bir örüntü yakalamaya, özüt çıkarmaya çalışırız.

Neden Makine Öğrenmesi?

Elimizde çok fazla sayıda gözlem ve değişken olduğunda veriyi tanımamız, tahminler yapmamız zorlaşır. Makine öğrenmesi algoritmalarının hayatımızda teknik olarak dolduracağı boşluk burasıdır. Örneğin; bir tıp doktorunun belirli bir hastalığa ilişkin tahlil sonuçlarıyla ilgili konularda teşhis koyması için çok uzun yıllar birçok farklı senaryoya ilişkin tahlil sonuçlarını incelemesi gerekirken, biz bu durumu bir bilgisayara yüzbinlerce hastalıklı/hastalıksız ilgili konuya ait tahlil sonuçlarını gösterdiğimizde algoritma doktorun yıllarca sürecek çalışmalar neticesinde ulaşacağı tecrübeye birkaç saat içerisinde ulaşabiliyor.

Makine öğrenmesi; daha hızlı olması nedeniyle zamandan tasarruf sağlayan, insan faktörünün yanlış yorumlama ya da algılama sonucuna göre daha az hata yapan ve daha az maliyetlerle eğitilebilen sistemlerdir.

Makine öğrenmesinin günlük hayatta en çok kullanıldığı alanlardan bahsedecek olursam:

Sosyal medya platformları ve e-ticarette kullanılan tavsiye sistemleri benzer özelliklere sahip kullanıcıların/müşterilerin aldıkları ürünlerde, beğendikleri/takip ettikleri müzikler/filmler için birinin diğerinden farklı olarak satın almadığı ürünü, beğenmediği müziği/filmi tavsiye eder. Onu alan bunu da aldı problemleri diyebiliriz.

Kredi başvurusu değerlendirme çalışmaları da günlük hayatta sık olarak karşımıza çıkan diğer bir örnektir. Algoritmaya elimizdeki verilerle bu kişiler kredisini ödeyebilen kişiler, bu kişiler ise ödeyemeyen kişiler diyoruz. Algoritma bu kişiler arasındaki ayrımı geçmiş verilerden öğrenip, ortaya çıkarmaya çalışacak şekilde kredisini ödeyemeyenlerin bunu neden ödeyemediğini incelemiş oluyor ve bir karar destek sistemi ortaya çıkıyor diyebiliriz.

Değişken Türleri:

Bağımlı Değişken: makine öğrenmesi probleminde tahmin etmek için hedeflediğimiz ana değişkenimizdir. İlgili olduğu alanlara göre target, dependent, output, response gibi farklı isimlendirmeleri bulunmaktadır.

Örneğin; kişilerin araç fiyatlarını tahmin etmek istediğimizde araç fiyatı odaklandığımız ana değişkenimizdir.

Bağımsız Değişken: makine öğrenmesi probleminde tahmin ettiğimiz bağımlı değişkeni oluşturduğu varsayılan diğer değişkenlerdir. İlgili olduğu alanlara göre feature, independent, input, column, predictor, explanatory gibi farklı isimlendirmeleri bulunmaktadır.

Örneğin; kişilerin araç fiyatlarını tahmin etmek istediğimizde vites türü, km, hasar durumu, marka, model gibi değişkenler bağımsız değişkenlerdir.

Öğrenme Türleri:

  • Denetimli Öğrenme (Supervised Learning): Veri setinde bağımlı değişken ve bağımlı değişkeni meydana getiren bağımsız değişkenlerin bir arada olduğu öğrenme türüdür. Neye karşılık ne olduğu bilgisi, bağlılık vardır. Elimizde verimiz çoksa başarımız artar. Burada regresyon ve sınıflandırma problemleri olarak ele alırız.
  • Denetimsiz Öğrenme (Unsupervised Learning): Veri setinde bağımlı değişkenin olmadığı öğrenme türüdür. Neye karşılık ne olduğu bilgisi, bağlılık yoktur. Bağımsız değişkenlerin belirli eylemler sonucunda bir şeye sebep olması, bir yapıyı ortaya çıkarması gibi bir işaretleme yapılamamaktadır, bir etiket yoktur. Burada ilgili değişkenlerde kümeleme yaparız. Veri setleri birbirinden ne kadar bağımsız ilişkilere sahipse kümelemeyi o kadar başarılı hale getirir.
  • Pekiştirmeli Öğrenme (Reinforcement Learning): simülasyonlarda birçok deneme sonucu istenilen davranışları ödüllendirmeye, istenmeyen davranışları cezalandırmaya dayalı bir öğrenme türüdür.

Problem Türleri:

-Regresyon problemlerinde; bağımlı değişkenimiz sayısal/sürekli bir değişkendir. Bağımlı değişken ile bağımsız değişkenler arasındaki doğrusal ilişkiyi ifade eder.

-Sınıflandırma problemlerinde; bağımlı değişkenimiz kategoriktir.

Regresyon Modellerinde Başarı Değerlendirme:

MSE=Hata Kareler Ortalaması
RMSE=Hata Kareler Ortalamasının Karekökü
MAE=Ortalama Mutlak Hata

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

  • Confusion Matrix:

Accuracy(Doğruluk):Doğru sınıflandırma oranıdır.

Precision(Kesinlik):Tahminlerin başarı oranıdır.

Recall(Anma):Pozitif sınıfın doğru tahmin edilme oranıdır.

F1 Score=2*(Precision* Recall)/(Precision+Recall) , precision ve recall’ u dengelememizi sağlar.

  • ROC Curve (Receiver Operating Characteristics) & AUC (Area Under Curve):

ROC; olası bütün eşik değerlere göre eşik değeri değiştirir. Her eşik değeri değiştirildiğinde True Positive Rate (gerçekte durum pozitifse bunların kaçını pozitif tahmin ettiğimizi gösterir) ve False Positive Rate (gerçekte durum negatifken bunların kaçını pozitif olarak tahmin ettiğimiz, yanlış alarmı gösterir) hesaplayıp bir grafikte çizer. Grafik ne kadar yukarı doğru eğim gösterirse başarısı artıyor demektir.

AUC; ROC eğrisi altında kalan alandır. Tüm olası sınıflandırma eşikleri için toplu bir performans ölçüsüdür. Bu alanın büyük olması modelin başarılı olduğu, küçük olması da başarısız olduğu anlamına gelir.

Model Doğrulama Yöntemleri:

Model kurmak; bağımlı değişken ile bağımsız değişkenler arasındaki ilişkiyi modellemek demektir. Model doğrulama yöntemlerinde modellerin ürettiği başarı sonuçlarının daha doğru değerlendirilmesi amaçlanır.

Holdout Yöntemi (Sınama Seti Yöntemi): Amacımız modelin performansını değerlendirebilmektir.

Orjinal veri seti üzerinden model kurup, hata değerlerine bakıp bir değerlendirme yapıyoruz. Eğitim seti ile modeli fit ediyoruz, eğitiyoruz. Test seti ile bağımlı değişken için tahmin istiyoruz.

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

  • Tüm veriye CV: veri seti k parçaya ayrılır. Daha sonra belirlenen k adet parçadan biri dışarıda bırakılır ve elde kalan diğer parçalarla model oluşturulur. Model dışarıda bırakılan parça ile test edilir. Aynı işlem bütün diğer parçalar için de tekrar edilir. Bu işlemler sonucunda elde edilen hataların ortalaması alındığında hatamızı bulmuş oluruz.
  • Veri setini eğitim ve test seti olarak 2' ye ayırıyoruz. Eğitim setine CV yapıyoruz. K adet parçaya ayırıp k-1 ile model kuruyoruz, 1 parçayla da test ediyoruz. Aynı işlemi bütün parçalar için tekrar ediyoruz ve test setinin ortalama hatasını alıyoruz. Dışarıdaki test setini de kullanarak test işlemine bakıyoruz. Gözlem sayısı bol olduğundan en doğru kabul edilebilecek kullanım yöntemidir.

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

Model kurarken elimizde 2 tip hata olur; eğitim hatası ve test hatası. Eğitim hatası, test hatasının yanlı ve kötü bir tahmincisidir. Aslında birbirlerine bağımlılıkları vardır.

Eğitim hatası: modeli kurmak için kullanılan veri setinden elde edilen hatadır.

Test hatası: kurulan modeli test etmek için kullanılan veri seti için oluşan hatadır.

Underfitting (az öğrenme): model veriyi öğrenememiştir. Yüksek yanlılık vardır. Yanlılık; gerçek değerler ile tahmin edilen değerler arasındaki farkı ifade etmektedir. İlk görsele baktığımızda fonksiyonumuz gerçek değerleri tahmin etme konusunda başarılı değil çünkü verinin tüm noktalarını temsil edemiyor. Modeli az/eksik öğrendiğinden bazı gözlemleri iyi temsil edebiliyorken bazılarını temsil edemiyor.

Balanced (dengeli, doğru model): düşük yanlılık ve düşük varyansa sahiptir. Veri setinin tüm gözlemleri temsil etme kabiliyeti ve düşük varyanslı olmasıdır.

Overfitting (aşırı öğrenme): modelin veriyi birebir ezberlemesidir. Bizim istediğimiz modelin verinin özütünü öğrenmesidir. Varyans; değişkenlik demektir. Burada modelin esnekliği, hassaslığıdır. Varyansın yüksek olması veri setindeki yapıyı oldukça yüksek bir şekilde temsil edilmesi demektir. Model elindeki örnek setini çok iyi öğrenmiştir başka gözlemlerle çalıştırılmak istendiğinde başarısı düşmektedir; çünkü ezber yapmış oldu.

Bir sonraki yazıda görüşmek üzere…

Kaynaklar:

--

--