Gradyan İniş Algoritması: Metodoloji, Varyantlar ve En İyi Uygulamalar

Yayınlanan: 2020-07-28

Optimizasyon, makine öğreniminin ayrılmaz bir parçasıdır. Hemen hemen tüm makine öğrenimi algoritmaları, önemli bir segment olarak bir optimizasyon işlevine sahiptir. Kelimeden de anlaşılacağı gibi, makine öğreniminde optimizasyon, bir problem ifadesine en uygun çözümü bulmaktır.

Bu makalede, en yaygın kullanılan optimizasyon algoritmalarından biri olan gradyan inişi hakkında bilgi edineceksiniz. Gradyan iniş algoritması , herhangi bir makine öğrenimi algoritması ile kullanılabilir ve anlaşılması ve uygulanması kolaydır. Peki, gradyan inişi tam olarak nedir? Bu makalenin sonunda, gradyan iniş algoritmasını ve modelin parametrelerini güncellemek için nasıl kullanılabileceğini daha net anlayacaksınız .

İçindekiler

Dereceli alçalma

Gradyan iniş algoritmasının derinliklerine inmeden önce , maliyet fonksiyonunun ne olduğunu bilmelisiniz. Maliyet işlevi, belirli bir veri kümesi için modelinizin performansını ölçmek için kullanılan bir işlevdir. Tahmin edilen değeriniz ile beklenen değeriniz arasındaki farkı bulur, böylece hata payını ölçer.

Amaç, modelin doğru olması için maliyet fonksiyonunu azaltmaktır. Bu amaca ulaşmak için, modelinizin eğitimi sırasında gerekli parametreleri bulmanız gerekir. Gradyan inişi, maliyet fonksiyonunu azaltmak için bir fonksiyonun katsayılarını bulmak için kullanılan böyle bir optimizasyon algoritmasıdır. Maliyet fonksiyonunun minimum olduğu nokta küresel minimum olarak bilinir.

Kaynak

Gradient Descent algoritmasının arkasındaki sezgi

Diyelim ki meyvenizi koyduğunuz şeye benzer büyük bir kaseniz var. Bu kase, maliyet fonksiyonunun grafiğidir. Kasenin dibi, maliyet fonksiyonunun minimum olduğu en iyi katsayıdır. Maliyet fonksiyonunu hesaplamak için katsayı olarak farklı değerler kullanılır. Bu adım, en iyi katsayılar bulunana kadar tekrarlanır.

Eğimli inişi bir vadiden aşağı yuvarlanan bir top olarak hayal edebilirsiniz. Vadi, buradaki maliyet fonksiyonunun grafiğidir. Topun vadinin dibine ulaşmasını istiyorsunuz, burada vadi tabanı en düşük maliyetli işlevi temsil ediyor. Topun başlama pozisyonuna bağlı olarak vadinin birçok tabanında durabilir. Ancak, bu dipler en düşük noktalar olmayabilir ve yerel minimumlar olarak bilinir.

Kaynak

Okuyun: Makine Öğreniminde Güçlendirme: Nedir, İşlevler, Türler ve Özellikler

Gradyan İniş Algoritması- Metodoloji

Gradyan inişinin hesaplanması, 0 veya küçük bir rastgele değer olarak ayarlanan fonksiyon için katsayıların başlangıç ​​değerleriyle başlar.

katsayısı = 0 (veya küçük bir değer)

  • Katsayının bu değeri fonksiyona konularak maliyet fonksiyonu hesaplanır.

Maliyet fonksiyonu = f(katsayı)

  • Bir fonksiyonun türevinin, fonksiyonun eğimi olduğunu kalkülüs kavramından biliyoruz. Eğimi hesaplamak, katsayı değerlerini hareket ettirmek için yönü belirlemenize yardımcı olacaktır. Yön, bir sonraki yinelemede daha düşük bir maliyet (hata) elde edecek şekilde olmalıdır.

del = türev(maliyet fonksiyonu)

  • Yokuştan iniş yönünü öğrendikten sonra katsayı değerlerini buna göre güncellersiniz. Bu katsayıların her yinelemede ne kadar değişeceğini kontrol etmek için bir öğrenme oranı (alfa) seçilebilir. Bu öğrenme oranının ne çok yüksek ne de çok düşük olmadığından emin olmalısınız.

katsayı = katsayı – (alfa * del)

  • Bu işlem, maliyet fonksiyonu 0 olana veya 0'a çok yakın olana kadar tekrarlanır.

f(katsayı) = 0 (veya 0'a yakın)

Öğrenme oranının seçimi önemlidir. Çok yüksek bir öğrenme oranı seçmek, küresel minimumu aşabilir. Aksine, çok düşük bir öğrenme oranı küresel minimuma ulaşmanıza yardımcı olabilir, ancak yakınsama çok yavaştır ve birçok yineleme gerektirir.

Kaynak

Gradyan İniş Algoritmasının Varyantları

Toplu Gradyan İniş

Toplu gradyan iniş, gradyan iniş algoritmasının en çok kullanılan varyantlarından biridir . Maliyet işlevi, her yineleme için tüm eğitim veri kümesi üzerinden hesaplanır. Bir toplu iş, algoritmanın bir yinelemesi olarak adlandırılır ve bu biçim, toplu gradyan inişi olarak bilinir.

Stokastik Gradyan İniş

Bazı durumlarda eğitim seti çok büyük olabilir. Bu durumlarda, eğitim kümesindeki her örnek için bir yinelemenin bir tahmine ihtiyacı olduğundan toplu gradyan inişinin hesaplanması uzun zaman alacaktır. Veri kümesinin çok büyük olduğu bu koşullarda stokastik gradyan inişini kullanabilirsiniz. Stokastik gradyan inişinde, katsayılar, örnek grubunun sonunda değil, her eğitim örneği için güncellenir.

Mini Toplu Degrade İniş

Hem toplu gradyan inişi hem de stokastik gradyan inişinin artıları ve eksileri vardır. Bununla birlikte, toplu gradyan inişi ve stokastik gradyan inişinin bir karışımının kullanılması faydalı olabilir. Mini toplu gradyan inişte, ne tüm veri kümesi kullanılır ne de bir seferde tek bir örnek kullanırsınız. Bir grup eğitim örneğini dikkate alıyorsunuz. Bu gruptaki örneklerin sayısı tüm veri setinden daha azdır ve bu grup mini-batch olarak bilinir.

Gradyan İniş Algoritması için En İyi Uygulamalar

  • Maliyeti zamana karşı eşleyin: Maliyeti zamana göre çizmek, her yinelemeden sonra maliyetin düşüp düşmediğini görselleştirmenize yardımcı olur. Maliyetin değişmediğini görürseniz, öğrenme oranını güncellemeyi deneyin.
  • Öğrenme oranı: Öğrenme oranı çok düşüktür ve genellikle 0.01 veya 0.001 olarak seçilir. Hangi değerin sizin için en uygun olduğunu denemeniz ve görmeniz gerekir.
  • Girişleri yeniden ölçeklendir: Tüm giriş değişkenleri [0, 1] veya [-1, 1] gibi aynı aralığa yeniden ölçeklenirse, gradyan iniş algoritması maliyet işlevini daha hızlı en aza indirecektir.
  • Daha az geçiş: Genellikle, stokastik gradyan iniş algoritmasının en iyi katsayıları bulmak için 10'dan fazla geçişe ihtiyacı yoktur.

Kontrol edin: 25 Makine Öğrenimi Mülakat Soruları ve Cevapları

toparlamak

Bir makine öğrenimi algoritmasını optimize etmede gradyan inişinin rolünü öğreneceksiniz. Akılda tutulması gereken önemli bir faktör, optimum tahmin için gradyan iniş algoritmanız için doğru öğrenme oranını seçmektir.

upGrad, Makine Öğrenimi ve Yapay Zeka alanında PG Diploması ve Makine Öğrenimi ve Yapay Zeka alanında size bir kariyer inşa etme yolunda rehberlik edebilecek bir Yüksek Lisans Diploması sağlar. Bu kurslar, Makine Öğrenimi ihtiyacını ve gradyan iniş algoritmalarından Sinir Ağlarına kadar çeşitli kavramları kapsayan bu alanda bilgi toplamak için daha sonraki adımları açıklayacaktır .

Yapay Zeka Güdümlü Teknolojik Devrime Öncülük Edin

MAKİNE ÖĞRENİMİNDE PG DİPLOMASI VE YAPAY ZEKA
Daha fazla bilgi edin