Makine öğrenmesi, verilerle öğrenme yaparak çeşitli problemleri çözmeye çalışan algoritmalar bütünü olarak tanımlanabilir. Doğru algoritmayı seçebilmek için her zaman dediğim gibi ilk olarak veriyi anlamak gerekir. Makine öğrenmesinde ikinci en önemli adım problemi belirlemekle başlar. Bu iki önemli adım içinde hem problem tipi hem de değişken türlerini doğru anlamak gerekir. Bu yazıda, sıkça kullanılan üç makine öğrenmesi algoritması olan, Doğrusal Regresyon, Lojistik Regresyon ve K-Nearest Neighbors (KNN) algoritmalarından yola çıkarak detaylı bir giriş yapacağım. Ayrıca, her bir algoritmanın hangi problem türleri için uygun olduğuna, değişken tiplerinin nasıl ele alındığına ve değerlendirme metriklerinin nasıl kullanılacağına da değineceğiz.
Makine öğrenmesi problemleri genellikle iki temel kategoriye ayrılır:
- Regresyon Problemleri: Çıkış değişkeninin sürekli bir değer olduğu problemler. Örneğin, bir evin fiyatını tahmin etmek veya bir araba motorunun yakıt tüketimini öngörmek.
- Sınıflandırma Problemleri: Çıkış değişkeninin kategorik olduğu, yani belirli sınıflar arasında seçim yapıldığı problemler. Örneğin, bir hastanın hastalığının olup olmadığını belirlemek veya bir e-posta’nın spam olup olmadığını sınıflandırmak.
Değişken Türleri:
- Bağımsız Değişkenler (Features/X): Modelin tahmin yapması için verilen girdilerdir. Örneğin, evin alanı, oda sayısı, yaş gibi özellikler.
- Bağımlı Değişken (Target/Y): Modelin tahmin etmeye çalıştığı sonuçtur. Yani aslınd abir envi problem amaç da denilebilir. Sürekli bir değer olabilir (örneğin fiyat), ya da kategorik olabilir (örneğin hastalıklı veya sağlıklı).
Bu giriş ile birlikte şimdi bu bilgileri makine öğrenmesi algoritmalarında görelim daha açıklayıcı olacaktır. Algoritmaların hangi problem tipleri ve değişken türleri için uygun olduğuna bakalım.
Doğrusal Regresyon, sürekli (numerik) bağımlı değişkeni tahmin etmek için kullanılan bir regresyon algoritmasıdır. Bağımsız değişkenler, sürekli ya da kategorik olabilir, ancak hedef değişken her zaman sürekli olmalıdır.
Kullanım Alanı:
- Problem Tipi: Regresyon
- Bağımlı Değişken Tipi: Sürekli (Örneğin, ev fiyatı, sıcaklık, satış miktarı)
- Bağımsız Değişken Tipi: Sürekli ya da kategorik (Birden fazla değişken olabilir)
Nasıl Çalışır?
Doğrusal regresyon, bağımsız ve bağımlı değişkenler arasındaki ilişkiyi doğrusal bir fonksiyonla modellemeye çalışır. Temel amacı, bağımsız değişkenler ile bağımlı değişken arasındaki en uygun doğrusal ilişkiyi bulmaktır.
- y: Tahmin edilen bağımlı değişken (örneğin, ev fiyatı).
- x: Bağımsız değişkenler (örneğin, evin alanı, yaş, oda sayısı).
- β: Modelin öğrenmeye çalıştığı katsayılar.
- ε: Hata terimi (modelin tahminlerindeki hata).
Değerlendirme Metrikleri:
Doğrusal regresyon modellerinin performansını değerlendirmek için kullanılan yaygın metrikler şunlardır:
- R-Kare (R²): Modelin bağımlı değişkenin varyansını ne kadar iyi açıkladığını gösterir. 1’e yakın değerler, modelin bağımlı değişkeni çok iyi açıkladığını gösterir.
- Ortalama Kare Hatası (MSE): Modelin tahminlerinin gerçek değerlerden ortalama olarak ne kadar uzak olduğunu gösterir. Düşük MSE değerleri daha iyi bir performansı gösterir.
- Ortalama Mutlak Hata (MAE): Tahmin edilen değerlerin, gerçek değerlerden ne kadar sapma gösterdiğini mutlak olarak ölçer. Daha düşük MAE değerleri daha iyi performans anlamına gelir.
Örnek:
Bir evin özelliklerine göre (metrekare, oda sayısı, mahalle vb.) fiyatını tahmin etmek klasik bir doğrusal regresyon problemidir.
Adından “regresyon” geçse de Lojistik Regresyon, sınıflandırma problemleri için kullanılır. Özellikle iki sınıf arasında ayrım yapmaya çalışırken etkili bir algoritmadır. Lojistik regresyon, bağımsız değişkenler ile bağımlı değişken arasındaki ilişkiyi doğrusal regresyon gibi ele alır, ancak bağımlı değişken artık kategorik bir değişkendir (örneğin, 0 veya 1).
Kullanım Alanı:
- Problem Tipi: Sınıflandırma
- Bağımlı Değişken Tipi: Kategorik (İkili veya çoklu sınıflandırma)
- Bağımsız Değişken Tipi: Sürekli ya da kategorik
Nasıl Çalışır?
Lojistik regresyon, bağımlı değişkenin sınıfını olasılık temelli olarak tahmin eder. Temelde sigmoid fonksiyonunu kullanır ve çıktı 0 ile 1 arasında bir olasılık değerine karşılık gelir:
Bu olasılık, bir sınıfa ait olma ihtimalini gösterir. Genellikle 0.5 eşik değeri kullanılır. Eğer tahmin edilen olasılık 0.5’ten büyükse, model bu veriyi 1 (pozitif sınıf), değilse 0 (negatif sınıf) olarak sınıflandırır.
Öncelikle, sınıflandırma problemlerinde kullanılan Confusion Matrix (Karışıklık Matrisi) ile ilgili dört temel terim vardır:
- TP (True Positive): Gerçek pozitifler, doğru şekilde pozitif sınıf olarak tahmin edilen örnekler.
- TN (True Negative): Gerçek negatifler, doğru şekilde negatif sınıf olarak tahmin edilen örnekler.
- FP (False Positive): Yanlış pozitifler, negatif sınıf olmasına rağmen pozitif olarak tahmin edilen örnekler (Type I Error).
- FN (False Negative): Yanlış negatifler, pozitif sınıf olmasına rağmen negatif olarak tahmin edilen örnekler (Type II Error).
Doğruluk (Accuracy):
- Modelin doğru sınıflandırdığı örneklerin tüm örneklere oranıdır.
- Formül:
Ancak, dengesiz veri setlerinde yanıltıcı olabilir. Örneğin, veri setinin %90’ı negatif örneklerden oluşuyorsa, sadece negatif tahmin yaparak %90 doğruluk elde edilebilir.
Kesinlik (Precision):
- Pozitif olarak tahmin edilen örneklerin ne kadarının gerçekten pozitif olduğunu gösterir. Yani yanlış pozitifler azsa yüksek olur.
- Formül:
Yanlış pozitiflerin önemli olduğu spam filtreleme gibi durumlarda tercih edilir.
Duyarlılık (Recall):
- Gerçek pozitif örneklerin ne kadarının doğru tahmin edildiğini gösterir. Yanlış negatifler azsa yüksek olur.
- Formül:
Yanlış negatiflerin önemli olduğu kanser teşhisi gibi durumlarda kullanılır.
F1 Skoru:
- Kesinlik ve duyarlılığın harmonik ortalamasıdır. Bu skor, dengesiz veri setlerinde daha dengeli bir performans ölçütü sağlar.
- Formül:
Kesinlik ve duyarlılık arasında bir denge kurmak istendiğinde kullanılır.
Bu verdiğim bilgileri benimsemek zaman alabilir. Kullandıkça konuya maruz kaldıkça anlamak bunu benimsemek daha kolay olacak. Yeni başlayanlar için not şeklinde saklamanız adına size özet bir tablo hazırladım.
Örnek:
Bir müşterinin kredi başvurusunun onaylanıp onaylanmayacağını tahmin etmek, ya da bir hastanın bir hastalığa sahip olup olmadığını tahmin etmek lojistik regresyonun uygulama alanlarıdır.
K-Nearest Neighbors (KNN), sezgisel bir makine öğrenmesi algoritması olup, hem sınıflandırma hem de regresyon problemlerinde kullanılabilir. KNN’nin temel prensibi, bir veri noktasının sınıfını, ona en yakın k komşunun sınıflarına bakarak belirlemektir.
Kullanım Alanı:
- Problem Tipi: Sınıflandırma ve Regresyon
- Bağımlı Değişken Tipi: Hem sürekli (regresyon) hem de kategorik (sınıflandırma) olabilir.
- Bağımsız Değişken Tipi: Sürekli ya da kategorik
Nasıl Çalışır?
KNN algoritması, yeni bir veri noktası geldiğinde bu noktanın k en yakın komşusunu bulur. Sınıflandırma problemlerinde, bu komşuların hangi sınıfa ait olduğuna bakarak çoğunluk sınıfı seçer. Regresyon problemlerinde ise komşuların ortalamasını alarak tahmin yapar. Komşuların seçimi için genellikle Öklid uzaklığı gibi mesafe ölçümleri kullanılır.
Değerlendirme Metrikleri:
- Sınıflandırma Problemleri için: KNN sınıflandırma için kullanıldığında doğruluk, kesinlik, duyarlılık, F1 skoru gibi lojistik regresyon metrikleri kullanılır.
- Regresyon Problemleri için: KNN regresyon için kullanıldığında MSE, MAE, ve R-kare gibi doğrusal regresyonda kullanılan metrikler tercih edilir.
KNN’de Dikkat Edilmesi Gerekenler:
- k değerinin doğru seçilmesi önemlidir. Küçük bir k değeri modelin aşırı uyum (overfitting) göstermesine, çok büyük bir k değeri ise modelin genel kalıpları gözden kaçırmasına neden olabilir.
- Verilerin ölçeklendirilmesi önemlidir, çünkü KNN mesafeye dayalı bir algoritmadır ve farklı ölçeklerdeki değişkenler arasında dengesizlik yaratabilir.
Örnek:
Bir görüntü tanıma problemini düşünelim. KNN algoritması, bir resmin bir köpeğe mi yoksa bir kediye mi ait olduğunu belirlemek için o resme en yakın komşu resimleri bulur ve onların sınıflarına göre karar verir.
Problem ve Algoritma Eşleştirmesi
Doğrusal Regresyon, Lojistik Regresyon ve KNN, makine öğrenmesinde en yaygın kullanılan temel algoritmalardandır. Doğru algoritmayı seçmek için, problemin tipi, değişkenlerin türü ve performansı ölçmek için doğru değerlendirme metriklerinin kullanılması gerekir. Sürekli değerlerin tahmini için Doğrusal Regresyon, ikili sınıflandırma için Lojistik Regresyon ve sezgisel sınıflandırma/regresyon çözümleri için KNN tercih edilebilir.
Bu yazımda makine öğrenmesi alanına giriş yapmış oldum. Verdiğim bilgiler temel makine öğrenmesi alanında bilgi sahibiyim diyen herkesin bilmesi gereken temel noktalar. Bir sonraki yazımda seviyemizi bir üstte çıkartarak hiper parametre optimizasyonu ve ileri seviye algoritmalardan bahsedeceğim.
Keyifli okumalar.