MXNet ile Derin Öğrenme 1.1: Doğrusal (Linear) Regresyon (Teori)

Herkese merhabalar, MXNet ile derin öğrenme serisine başlayacağız. Bu seride hem teorik hem uygulama kısmına ağırlık vereceğiz. Programlama dili olarak python, derin öğrenme kütüphanesi olarak MXNet kütüphanesini kullanacağız. Seride teori ve uygulama kısmı ayrı bölümler olarak yayınlanacaktır.

MXNet derin öğrenme kütüphanesini buradan sisteminize yükleyebilirsiniz.

MXNet derin öğrenme kütüphanesini buradan inceleyebilirsiniz.

Seride:

  • Doğrusal Regresyon
  • Softmax Regresyon
  • Çok Katmanlı Algılayıcılar
  • Düzenleştirme (Regularization)
  • Hiperparametreler
  • Optimizasyon
  • Derin Öğrenme Hesaplama
  • Hesaplama Performansı
  • Konvolüsyonel Sinir Ağları
  • Uygulamalar

konuları anlatılacaktır.

Serimizin ilk bölümünde doğrusal regresyon konusunu anlatacağız. İlk bölümde linear regresyonun teorik altyapısı anlatılacaktır.

Doğrusal (Linear) Regresyonun Temel Öğeleri

Doğrusal regresyon, regresyon için standart araçlar arasında hem en basit hem de en popüler olanlar arasındadır. 19. yüzyılın şafağına kadar uzanan doğrusal regresyon, birkaç basit varsayımdan kaynaklanmaktadır.

Doğrusal Model

Doğrusallık varsayımı sadece hedefin özelliklerinin ağırlıklı toplamı olarak ifade edilebilinir.

Formül 1: Doğrusal Regresyon Formül

Ağırlıklar W ile temsil edilmektedir. Bias ise b ile temsil edilmektedir. Ağırlıklar, her özelliğin tahminimiz üzerindeki etkisini belirler. Bias ise, tüm özellikler 0 değerini aldığında tahmin edilen çıktının hangi değeri alması gerektiğini söyler.

Bir veri kümesi verildiğinde amacımız, ortalama olarak modelimize göre yapılan tahminler, verilerde gözlemlenen gerçek değere en iyi uyacak şekilde ağırlıkları w ve bias b seçmektir.

Veri setindeki bütün özellikleri bir vektörde toplarız. Bu vektör X ile temsil edilmektedir. Özellikleri ve ağırlıkları çarpıp bias değeri ile toplarız. Bu toplamın sonucu şapkalı y ile temsil edilmektedir. Amacımız tahminin gerçek değere çok yakın olmasıdır (en düşük hata oranını yakalamak). Gerçek değer ile tahimini analiz etmek için loss fonksiyonunu kullanmaktayız.

Kayıp (Loss) Fonksiyonu

Kayıp fonksiyonu, hedefin gerçek ve tahmin edilen değeri arasındaki mesafeyi ölçer. Kayıp, genellikle daha küçük değerlerin daha iyi olduğu ve mükemmel tahminlerin 0 kaybına yol açtığı negatif olmayan bir sayı olacaktır. Regresyon problemlerinde kullanılan en popüler kayıp fonksiyonu ortalama kare hata fonksiyonudur.(Mean Squared Error).

Formül 2: Ortalama Kare Hata Fonksiyonu

Tahminler ve gerçek değerler arasındaki büyük farklar, ikinci dereceden bağımlılık nedeniyle kayba daha da büyük katkılar sağlar.

Modelin eğitimi sırasında amaç: Kayıp fonksiyonunu minimize edecek W ve b parametrelerini bulmaktır.

Figür 1: Verilerin Doğrusal Modele Sığdırılması

Minibatch Stokastik Gradyan İniş

Gradyan inişinin en basit uygulaması, veri setindeki her bir örnekte hesaplanan kayıpların ortalaması olan kayıp fonksiyonunun türevini almaktan oluşur. Pratikte bu çok yavaş olabilir: Tek bir güncelleme yapmadan önce tüm veri setini aktarmalıyız. Bu nedenle, güncellemeyi her hesaplamamız gerektiğinde, minibatch stokastik gradyan inişi adı verilen bir varyant olan rastgele bir mini grup örneği örneklemeye karar vereceğiz.

Her yinelemede, ilk olarak sabit sayıda eğitim örneğinden oluşan bir mini grup B‘yi rastgele örnekliyoruz. Daha sonra mini gruptaki ortalama kaybın türevini model parametrelerine göre hesaplıyoruz. Son olarak, gradyanı önceden belirlenmiş pozitif bir değer η ile çarparız ve ortaya çıkan terimi mevcut parametre değerlerinden çıkarırız.

Formül 3: Minibatch Stokastik Gradyan İnişi

B her bir mini gruptaki (parti boyutu) örnek sayısını temsil eder ve η öğrenme oranını gösterir.

Grup boyutu ve öğrenme oranı değerlerinin manuel olarak önceden belirlendiğini ve tipik olarak model eğitimi yoluyla öğrenilmediğini vurgulamamız gerekmektedir. Ayarlanabilir olan ancak eğitim döngüsünde güncellenmeyen bu parametrelere hiperparametreler denir. Hiperparametreleri, ayrı bir doğrulama veri kümesinde değerlendirilen eğitim döngüsünün sonuçlarına göre ayarlamamızı gerektirir.

Doğrusal regresyon, tüm alan üzerinde yalnızca bir minimumun olduğu bir öğrenme problemi haline gelir. Bununla birlikte, derin ağlar gibi daha karmaşık modeller için, kayıp yüzeyleri birçok minimum içerir. Neyse ki, derin öğrenme uygulayıcıları nadiren eğitim setlerindeki kaybı en aza indirecek parametreleri bulmakta zorlanırlar.

Normal Dağılım ve Karesel Kayıp

Doğrusal regresyon, normal dağılımı da keşfeden Gauss tarafından 1795’te icat edildi.

Ortalama µ ve varyans σ 2 (standart sapma σ) ile normal bir dağılımın olasılık yoğunluğu şu şekilde verilir:

Formül 4: Normal Dağılımın Olasılık Yoğunluğu
def normal(x, mu, sigma):
    p = 1 / math.sqrt(2 * math.pi * sigma**2)
    return p * np.exp(-0.5 / sigma**2 * (x - mu)**2)
import d2l

x = np.arange(-7, 7, 0.01)
params = [(0, 1), (0, 2), (3, 1)]
d2l.plot(x, [normal(x, mu, sigma) for mu, sigma in params], xlabel='x',
               ylabel='p(x)', figsize=(4.5, 2.5),
               legend=[f'mean {mu}, std {sigma}' for mu, sigma in params])
Figür 2: Normal Dağılımın Olasılık Yoğunluğunun Çıktısı (Kod Çıktısı)

Gördüğümüz gibi, ortalamanın değiştirilmesi x ekseni boyunca bir kaymaya karşılık gelir ve varyansın artırılması dağılımı yayarak tepe noktasını düşürür.

Ortalama kare hata kaybı fonksiyonu ile doğrusal regresyonu motive etmenin bir yolu, tahminlerin gürültülü tahminlerden kaynaklandığını resmi olarak varsaymaktır.

Formül 5: Tahmin işlemine gürültü eklenmesi

Böylece, belirli bir y‘ yi belirli bir x için görme olasılığını şimdi yazabiliriz.

Formül 6: Görme Olasılığı

Maksimum olabilirlik ilkesine göre seçilen tahmin ediciler, maksimum olabilirlik tahmin edicileri olarak adlandırılır. Maksimum olasılık ilkesine göre, w ve b parametrelerinin en iyi değerleri, tüm veri kümesinin olasılığını en üst düzeye çıkaranlardır:

Formül 7: Maksimum Olasılık İlkesi

Ortalama karesel hatayı en aza indirmenin, ek Gauss gürültüsü varsayımı altında doğrusal bir modelin maksimum olasılık tahminine eşdeğer olduğu sonucu çıkar.

Serinin ilk bölümünü tamamlamış bulunmaktayız. Bu bölümde doğrusal regresyounun teorik altyapısını anlattık. Serinin ikinci bölümde doğrusal regresyonu derin öğrenme kütüphanesi kullanmadan ve MXNet derin öğrenme kütüphanesini kullanarak iki farklı şekilde gerçekleştireceğiz.

Serinin sonraki bölümlerinde görüşmek dileğiyle.

Kaynakça

https://d2l.ai/d2l-en.pdf

Yazar Hakkında
Toplam 14 yazı
Abdullah Enes Doruk
Abdullah Enes Doruk
Bursa Teknik Üniversitesi Elektrik Elektronik Mühendisliği Bölümü öğrencisi. İlgilendiği alanlar; Görüntü işleme, Sürücüsüz Araçlar, Derin Öğrenme. Abdullah Enes Doruk
Yorumlar (Yorum yapılmamış)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara