Makine Öğrenmesi Bölüm 2: Doğrusal Regresyon

Görkem Aksoy
4 min readJan 13, 2023

--

Makine Öğrenmesi serisinin bir önceki bölümünde Temel Kavramlar üzerine bilgilendirme yapmıştım. Bu bölümde ise modellere giriş yapacağız. Tabi ki ilk öğreneceklerimiz, anlaması en basit olan modellerden doğrusal regresyon modelidir. Yalnız baştan uyarayım, anlaması basit gibi gözükse de, iş sadece modelin anlaşılır olması ile bitmiyor. Detayları aktarırken işlerin basit gibi gözüken durumlarda bile karmaşıklaşabileceğini göreceğiz.

https://towardsdatascience.com/introduction-to-machine-learning-for-beginners-eed6024fdb08 sitesinden alıntıdır

Doğrusal Regresyon

Bağımlı değişkenin, yani öngörmeye çalıştığımız değerin sayısal değişken olduğu durumda kullanılan bir modeldir. Doğrusal denmesinin sebebi, bağımlı değişken ile bağımsız değişkenler arasında orantısal ilişki olduğunu varsaymasıdır. Bunun ne anlama geldiğini modelin kendisi üzerinden açıklayabiliriz:

https://towardsdatascience.com/simple-linear-regression-in-python-numpy-only-130a988c0212 sitesinden alıntıdır

Yukarıdaki formülde, Y bağımlı değişkeni, X ise bağımsız değişkeni ifade ediyor. B0 sabiti, B1 ise X’in katsayısını ifade ediyor. Bir örnek üzerinden gidelim. Ev fiyatlarını tahmin etmeye çalışıyoruz ve evin metrekare cinsinden alan bilgisi üzerinden tahmin yürütmek istiyoruz. Bu durumda;

Y -> Ev fiyatı (TL)

X -> Evin boyutu (metrekare)

Y ile X arasındaki ilişkiyi görebilmek adına aşağıdaki gibi minik bir veri setimiz olduğunu düşünelim:

Veri setini incelediğimizde evin boyutu arttıkça evin fiyatının da arttığını görüyoruz. Bu artış doğrusal bir artış ise, yani evin boyutu 1 m2 arttığında evin fiyatının da sabit bir B1 katsayısı ile arttığını düşünüyorsak, doğrusal regresyon kullanmak evin fiyatını tahmin edebilmek adına yeterli olacaktır.

B0 ve B1 değerlerini bulmak için, öncelikle bir makine öğrenmesi modelinde başarının ne olduğunu anlamak gerekir. Çünkü ilgili başarı kriterine göre en yüksek performansı göstereceğimiz şekilde katsayıları ayarlarız. İlk yazıda, bağımsız değişkenin sayısal olduğu durumda hangi başarı kriterlerini kullandığımızdan bahsetmiştim. Tabi ki günümüzde bu değerler artık elle hesaplanmıyor. Sisteme tanıtılmış olan bir başarı kriterine göre optimum B0 ve B1 değerleri bulunuyor. Doğrusal regresyonda başarı kriteri ise “Hata kareler toplamı” metriğidir. Amacımız aşağıdaki değeri minimize edecek B0 ve B1 değerlerini bulmaktır:

n farklı gözlem için (mesela ev fiyat tahmini için n=10'dur) gerçek değerler ile tahmin edilen değerler arasındaki farklılıkların toplamlarının alabileceği en düşük değeri elde etmeye çalışırız. En düşük kareler yöntemi denilen yöntem aracılığıyla, B0 ve B1 değerlerine ulaşırız. Bu değerlere ulaştığımız formül ise aşağıdaki gibidir. Aslında hem B0 hem de B1 üzerinden RSS formülünün türevini aldıktan sonra 2 bilinmeyenli denklem çözülüp sonuca ulaşılmaktadır.

Yukarıdaki örneğimiz için, modelimizi oluşturduğumuzda, aşağıdaki gibi bir denklem karşımıza çıkacaktır:

Y = 784 + 13X

Kısaca bu denklemi yorumlayalım. Evin metrekaresi 0'a çok yakın olsa bile, evin bir baz fiyatı var. Her bir metrekare artışı evin fiyatını 13 birim etkiliyor. Yani 55 m2 evin 54m2 evden 13.000 TL daha yüksek olmasını bekleriz. Yukarıdaki veri setinde yer alan evlere benzer özellikte olan fakat fiyatını bilmediğimiz, boyutunu m2 cinsinden bildiğimiz bir ev için tahmin yapıp karşılaştırma yapabiliriz. Aslında çok basit gibi durmakla birlikte, birbirine yakın konumda olan, diğer parametreleri birbirine benzer olan evler için böyle bir model muhtemelen beklediğimizden daha başarılı sonuç verecektir.

Sonuç demişken, başarı kriterimiz, yani gerçekle tahmin arasında ne kadar fark olduğunu da görelim:

Bu örnek için çok parlak bir sonuç elde edemedik. Bu verileri tamamen uydurduğum için böyle oldu. Hata kareler ortalamasına baktığımızda, ev fiyatlarının çok üstünde bir değer görüyoruz. Normalde modelin başarısını başka modellerle kıyaslamak daha uygun olacaktır fakat tek başına modelimizin ne kadar tutarlı sonuçlar verdiği konusunda biraz da olsa fikir sahibi olmak için hata kareler ortalaması ile veri setimizdeki değerlerin ortalamaları arasında bir karşılaştırma yapabiliriz. Beklentimiz en azından hata kareler ortalamasının daha düşük olmasıdır. Aynı problem için, doğrusal regresyon dışında bir yöntem (ör: karar ağaçları) kullanarak modellerin başarı performansları karşılaştırılabilir.

Mevcut modelin başarı performansını nasıl artırabiliriz diye sorarsanız, bu durumda yapılacak şey, modeli “karmaşıklaştırmaktır”. Yani modele yeni değişkenler ekleyerek tahmin kuvvetini artırabiliriz. Fakat bunun bir bedeli vardır. Daha karmaşık bir modeli sokaktaki vatandaşa açıklamak zordur. Bazen modeli kendinize dahi açıklamakta zorlanabilirsiniz. Eğer anlam arayışı içerisinde değilseniz, yine de ipin ucunu kaçırmadan karmaşıklığı tercih edebilirsiniz. Mesela yukarıdaki örnekte, ben 1 m2 artış için B1 birim fiyat artışı yaşanıyor gibi bir açıklama yapmaya gerek duymuyorum, artışın tam olarak nasıl yaşandığı beni ilgilendirmiyor, tek amacım ev fiyatını daha doğru tahmin etmek derseniz, istediğiniz değişkenleri ekleyin. Elinizde sadece m2 bilgisi varsa, kendisiyle birlikte (Yani X ile birlikte) karesini, küpünü ötesini berisini de modele ekleyerek, modelin ne kadar gelişim gösterdiğini gözlemleyebilirsiniz.

Daha önceki verdiğim örnek tek değişkenli yani “basit” doğrusal regresyon örneğiydi. Eğer ev fiyatını tahmin etmek için m2 bilgisi dışında örneğin kaç oda olduğu, evin kaçıncı katta olduğu gibi birden çok bilgi bulunuyorsa, bu durumda “çoklu” doğrusal regresyon modeli kurabiliriz. Başarı değerlendirme yönteminde bir farklılık bulunmamaktadır. Katsayıların bulunması için de çözüm yöntemi aynıdır (en düşük kareler yöntemi).

Çoklu doğrusal regresyonda dikkat edilmesi gereken, bağımsız değişkenler arasında korelasyon bulunuyorsa, bağımlı değişkenle bağımsız değişken arasındaki ilişki sağlıklı bir şekilde görülemeyebilir. Örneğin, kurduğumuz modelde bir bağımsız değişkenin (X1 diyelim) katsayısı (B1) eksi değer alırken, yani bağımlı değişkenle aralarında negatif bir ilişki var gibi gözüküyor iken, sadece X1 üzerinden bir model kurduğumuzda katsayısı artı olabilir. İlk modele bakarak doğrudan yorum yapamayız. Yani yukarıda bahsettiğim gibi, model karmaşıklaştığı için modelin açıklanabilirliği de düşmüş olacaktır.

--

--

Görkem Aksoy

BSc in Industrial Engineering - METU | Data-Science | Statistics | Content Creator