Sitemap
Ensar Gök

Ensar Gök

Student @ Yıldız Technical University

Linear Regression

4 min readJan 21, 2024

Linear Regression, bir tür Supervised Learning algoritmasıdır. Elimizde bulunan x ve y verileriyle bir fonksiyon oluştururuz. Bu fonksiyon bir evin değerini tahmin etme fonksiyonu olsun. Bu durumda evin tahmini değeri y, evin özellikleri, mesela büyüklüğü de x olsun.f(x) = w*x + b = y. Burada, w evin özelliklerinin ağırlığını, b ise doğru kayma miktarını temsil eder. Hedefimiz, bu tahmini mümkün olduğunca gerçeğe yakın tutmaktır.

Cost & Loss

Biz f(x)fonksiyonumuzla bulduğumuz tahmini y değerini ŷ şeklinde gösterelim. Tahmin ettiğimiz evin gerçek değerini ise y olsun. Bu durumda fonksiyonumuzun bulduğu değer ile gerçek değer arasındaki fark (ŷ — y) olur.

Bu farkın, pozitif ya da negatif olması önemli değildir. Önemli olan bu farkın ne kadar büyük olduğudur. Bu nedenle, farkın karesini alarak Loss fonksiyonunu hesaplarız: (ŷ — y)². Bu karelerin toplamı, Loss fonksiyonunu oluşturur. Tüm eğitim verileri için bu fonksiyonu kullanarak hesapladığımız Loss değerlerinin toplamı ise bize Cost’u verir. Cost için bu fonksiyonu kullanırız:

Cost fonksiyonu

Bu denklemde m harfi elimizdeki train veri sayısıdır. Her bir train verisi için Loss hesaplanır ve ortalaması alınır.

“Neden mutlak değer yerine karesi?”

Mutlak değer fonksiyonu |ŷ — y| kullanmak yerine, farkın karesini (ŷ — y)² kullanmamızın birkaç nedeni vardır:

  1. Diferansiyel Kolaylığı:
    Farkın karesini almak, matematiksel olarak diferansiyasyonu daha kolaydır. Gradient descent gibi optimizasyon algoritmalarınında bize daha rahat çalışma olanağı sağlar.
  2. Hata Vurgusu:
    Farkın karesini almak, daha büyük hataları daha fazla öne çıkarır. Örneğin küçük bir sayının karesi, kendisinden 2 kat büyük bir sayının 2'de biri değil, 4'te biridir. Büyük hatalara odaklanarak modelin daha hızlı öğrenmesini sağlarız.

Bu yüzden farkın karesini kullanılarak Loss fonksiyonu oluşturulur. Böylece, modelin daha verimle bir şekilde öğrenmesi sağlanır.

Gradient Descent

Gradient Descent, bir modelin eğitilmesinde kullanılan optimizasyon algoritmalarından biridir. Bir modelin Cost fonksiyonu, o modelin parametrelerine bağlı olarak ikinci dereceden bir polinomdur. Bu polinomun minimum noktası, fonksiyonumuzun en yakın tahminleri yaptığı noktadır.

Bizim amacımız w ve b parametrelerini o noktadaki değerlere yaklaştırmaktır. Parametrelerin güncellenmesi için fonksiyonun bulunduğumuz noktadaki kısmi türevlerine dayanır. Bu türevler, fonksiyonun hangi yönde ve ne kadar hızla azaldığını belirler.

Gradient Descent

Burada α ‘learning rate’ değeridir. Learning rate, parametrelerin hangi oranda değişeceğini belirliyor. Learning rate’in çok büyük ya da çok küçük olması sorunlar yaratabilir. Eğer çok büyükse, istenilen değeri atlayabiliriz; çok küçükse, istenilen değere ulaşması çok uzun sürebilir.

Press enter or click to view image in full size
Learning rate’in çok büyük ve küçük olduğu durumların görselleştirilmiş hali.

Gradient Descent algoritması, model minimum hata seviyesine gelene kadar çalışır. Her adımda modelin parametrelerini güncelleyerek, fonksiyonun minimum noktasına yaklaştırmamızı ve modelin daha iyi tahminler yapmasını sağlar.

Multiple Linear Regression

Bir model üzerinde çalışırken genellikle birden fazla veri değerimiz olur, böyle bir durumda. Örneğin, evin büyüklüğü ve oda sayısı gibi birkaç özelliği modelimizde kullanabiliriz. Bu durumda, her bir özellik için ayrı ağırlık (w) değerleri bulunmalıdır.

Get Ensar Gök’s stories in your inbox

Join Medium for free to get updates from this writer.

İlk örnekte evin değerini tahmin etmek için sadece evin büyüklüğünü (x1) kullanıyorduk, şimdi de örneği evin büyüklüğü ve oda sayısı (x1 ve x2) gibi birden fazla özellik kullanalım. Bu durumda, modelimizi şu şekilde gösterebiliriz: f(x) = w1*x1 + w2*x2 + b = y

Burada, w1​ ve w2​ ağırlık değerleridir ve her bir özellik için ayrı bir ağırlığa sahiptirler. Gradient Descent algoritmasında, her bir ağırlık değeri için ayrı bir türev hesaplamak gerekir.

Feature Scaling

Feature Scaling, bir regresyon modelinde kullanılan özelliklerin farklı aralıklarda olması durumunu ele alır. Örneğin, evin büyüklüğü ile oda sayısı arasındaki sayısal değerler genellikle büyük farklılıklara sahiptir. Örneğin, evin büyüklüğü ortalama 70–200 arasında değişirken, oda sayısı genellikle 1–4 aralığında değişebilir.

Press enter or click to view image in full size

Bu durum, büyüklüğün w katsayısının oda sayısından çok daha fazla etkileyeceği anlamına gelir. Büyük ölçüde değişen bir özellik, modelin eğitimini ve optimizasyon algoritmalarını olumsuz etkileyebilir. Özellikle, Gradient Descent algoritması üzerinde etkisi büyük olabilir. Çünkü katsayılardaki küçük bir değişiklik, diğer katsayıya göre daha fazla etki yapabilir ve bu da ideal değere ulaşma sürecini yavaşlatabilir.

Bu sorunu çözmek için Feature Scaling kullanılır. Feature Scaling, özelliklerin değerlerini belirli bir aralığa getirme işlemidir. Bu, büyüklük ve oda sayısı gibi farklı aralıklara sahip özelliklerin benzer bir ölçekte olmalarını sağlar. İki yaygın Feature Scaling yöntemi şunlardır:

Mean normalization:

Her özellik değerinden ortalama değeri çıkarmak ve ardından bir aralığa ölçeklendirmek.

x̄, x değerlerinin ortalamasını temsil ediyor.

Z-score Normalization

Her özellik değerini ortalama değerinden çıkarmak ve standart sapmaya bölmek.

x̄, x değerlerinin ortalamasını; σ, x değerlerinin standart sapmasını temsil ediyor.

Polynomial Regression

“Şimdiye kadar hep doğrusal bir fonksiyonla çalıştık, ancak bazen özelliklerimiz, örneğin gördüğümüz gibi, doğrusal olmayan bir şekilde etkileşime girebilir. Örneğin, fiyat değeri, boyut özelliğiyle doğrusal bir bağlantı göstermek yerine, boyutun kareköküyle daha iyi açıklanabilir:

burada gördüğümüz price değeri kabaca size değerinin kareköküyle ilişkili durmaktadır, yani aralarında doğrusal bir bağlantı değil üstel bir bağlantı vardır. Bu durumu ifade etmek için f(x) = w*√x + b gibi bir fonksiyon kullanabiliriz.

--

--

Ensar Gök
Ensar Gök

Written by Ensar Gök

Student @ Yıldız Technical University