Degrade iniş neden gereklidir?


10

Maliyet fonksiyonunu farklılaştırabildiğimizde ve her parametreye göre kısmi farklılaşma yoluyla elde edilen denklemleri çözerek ve maliyet fonksiyonunun minimum nerede olduğunu bulabildiğimizde parametreleri bulabiliriz. Ayrıca, türevlerin sıfır olduğu birden fazla yer bulmak mümkün, böylelikle tüm bu yerleri kontrol edebilir ve küresel minima bulabiliriz.

bunun yerine gradyan inişi neden yapılır?


2
Bir fonksiyon için türevler jenerik olarak 0'a nasıl ayarlanır? Degrade iniş gibi algoritmalarla.
Cliff AB

3
Degrade inişi , bahsettiğiniz denklemleri çözmek için kullanılan yöntem olarak düşünebilirsiniz . Eğer akıllıca cebirsel manipülasyon ile bu tür denklemleri genel olarak çözebileceğiniz inancı altındaysanız, sizi lojistik regresyon için yapmaya davet ediyorum.
Matthew Drury



her şeyi analitik olarak çözemezsiniz. Söylenemeyen sayısız sıfırlar olsa bile, tüm kritik noktaları kontrol etmek için uzun zaman alacaksınız.
Pinokyo

Yanıtlar:


8

Örneğin, analitik bir çözümünüzün olduğu doğrusal modeller söz konusu olduğunda bile, böyle bir yinelemeli çözücü kullanmak en iyisi olabilir.

Örnek olarak, lineer regresyonu ele alırsak, açık çözüm karmaşıklığına sahip bir matrisin ters çevrilmesini gerektirir . Bu, büyük veri bağlamında yasaklayıcı hale gelir.Ö(N-3)

Ayrıca, makine öğrenimindeki birçok problem dışbükeydir, bu nedenle degradeleri kullanmak ekstremaya ulaşmamızı sağlar.

Daha önce belirtildiği gibi, degrade yöntemlerinin (geri yayılım) etkili bir çözücü sağladığı sinir ağları gibi hala konveks olmayan ilgili problemler vardır. Yine bu özellikle derin öğrenme için geçerlidir.


2
Bir matrisi tersine çevirmek burada bir pipetçidir, çünkü kısmi pivotlama ile QR ayrışması daha doğru ve daha hızlıdır, ancak evet, QR hala . Yeterince büyük sistemler (örneğin> 10.000 değişken) için sorun olmaya başlayabileceğine katılıyorum. Modern, yüksek teknoloji yaklaşımı, daha sonra, çözümü yinelemeli Krylov altuzay yöntemleri (örneğin, konjugat gradyanı, GMRES) ile yaklaşık olarak belirlemektir. Ö(n3)
Matthew Gunn

1
Bazı insanların kafa karıştırıcı bulabileceği bir nokta, doğrusal bir sistemi çözmek bir optimizasyon problemidir? Cevap, doğrusal bir sistemin çözülmesinin ikinci dereceden bir hedefi en aza indirerek yeniden şekillendirilebileceğidir. Doğrusal sistemleri çözmek için bazı yinelemeli yöntemlerin, yinelemeli bir şekilde ikinci dereceden bir hedefi en aza indirdikleri perspektiften anlaşılması daha kolaydır. (Örn. Krylov altuzay yöntemi yöntemi konjüge gradyanının adım yönü gradyanı temel alır ... gradyan inişiyle gevşek bir şekilde ilişkilidir.)
Matthew Gunn

12

Degrade iniş gerekli değildir. Degrade iniş genellikle korkunç derecede verimsiz bir optimizasyon algoritması olduğu ortaya çıkıyor! Yinelemeli yöntemler için, geçişin en dik olduğu yerden daha iyi bir yön bulmak genellikle mümkündür.

Bu biraz çevirme yanıtı. Sorunuz gerçekten "neden yinelemeli yöntemlere ihtiyacımız var?" Olmalıdır. Örneğin. sorun dışbükey ise, Slater'in durumu geçerliyse ve ilk sipariş koşulları gerekli ve optimum koşullar için yeterli koşullar varsa neden doğrudan çözüme gitmeyesiniz? Yani, çözüm bir denklem sistemine çözüm olarak tanımlanabiliyorsa, sistemi neden çözmüyorsunuz? Cevap şudur:

  • İkinci dereceden bir optimizasyon problemi için, birinci dereceden koşul doğrusal bir denklem sistemidir ve lineer sistemler verimli bir şekilde çözülebildiğinden neredeyse doğrudan çözüme gidebiliriz! Biz do birinci dereceden koşullarını kullanmak ve sistemi çözmek (örn. QR ayrışma, aşağıda uyarı ile birlikte).
  • Daha genel olarak, birinci dereceden koşulların doğrusal olmayan bir denklem sistemi tanımlaması ve doğrusal olmayan bir sistemin çözülmesi oldukça zor olabilir! Aslında, doğrusal olmayan bir denklem sistemini sıklıkla sayısal olarak çözme şekliniz, onu bir optimizasyon problemi olarak yeniden formüle etmenizdir ...
  • İçin son derece büyük bir QR ayrışma ve kısmi dönebilen doğrudan sistemi çözme lineer sistemler, mümkün olmayan hale gelir. İnsanlar ne yapar?! İteratif yöntemler! (örn. yinelemeli Krylov altuzay yöntemleri ...)

7

101 hesabında "analitik yöntem" kullanarak bir fonksiyonun nasıl optimize edileceğini öğrendik: sadece maliyet fonksiyonunun türevini almamız ve türevi 0'a ayarlamamız ve denklemi çözmemiz gerekiyor. Bu gerçekten bir oyuncak problemidir ve neredeyse hiçbir zaman gerçek dünyada olmayacaktır.

Gerçek dünyada, birçok maliyet fonksiyonunun her yerde türevi yoktur (Dahası, maliyet fonksiyonu ayrık olabilir ve hiç türevi olmayabilir). Ek olarak, türevi bile hesaplayabilirseniz, denklemi analitik olarak çözemezsiniz (örneğin, nasıl çözüleceğini düşünebilirsiniz)x7+x3-52+ex+lÖg(x+x2)+1/x=0analitik? Size sayısal cevabınx=1,4786, ancak analitik çözüm bilmiyorum). Bazı sayısal yöntemler kullanmalıyız (burada polinom olgularında neden Abel Ruffin Teoremi'ni kontrol edin ).

Yinelemeli yöntemlerin kullanımı harika ve anlaşılması çok sezgisel. Bir işlevi optimize etmek istediğinizi varsayalım, bir denklemi çözmek ve cevabı almak yerine, cevabınızı yeterli yinelemeden sonra yineleme / adım sayısına göre geliştirmeye çalışıyorsunuz, cevabı "gerçek cevaba" yakın alacaksınız. En aza indirmek için kalkülüs kullanıyorsanızf(x)=x2, doğrudan alırsın x=0, ancak sayısal yöntemler kullanarak, x=1,1234x10-20.

Şimdi, bu yinelemeli yöntemlerin nasıl çalıştığını anlamak önemlidir. Anahtar kavram, daha iyi bir çözüm elde etmek için giriş parametrelerinizi nasıl güncelleyeceğinizi bilmektir. En aza indirmek istediğinizi varsayalımf(x1,x2)=x12+x22+|x1+x2| (bu maliyet işlevinin her yerde farklılaştırılamadığını, ancak "çoğu yerde" farklılaşabileceğini unutmayın, "çoğu yerde" nasıl güncelleyeceğimizi bildiğimiz için bu bizim için yeterince iyidir.) (1,1)ve maliyeti 4,0, şimdi güncellemek istiyorsun (x1,x2)nesnel işlevi küçültmek. Bunu nasıl yaptın? Her ikisini de azaltmak istediğimi söyleyebilirsinx1 x2, ama neden? Aslında , degrade kavramını kullanarak ,x, ne olacak y". . Gelen(1,1), türev (3,3), öylesine olumsuz degrade kez bir öğrenme oranı α=0.001, dır-dir (-0.003,-0.003), bu nedenle çözümümüzü 1,1 için (0.997,0.997) hangi daha iyi maliyet var.


daha fazla bilgi bu ilgili
mesajda

4

Bahsettiğiniz yaklaşım, örneğin doğrusal regresyon durumunda sadece bir dizi doğrusal denklemi çözmek için kullanılabilir, ancak sigmoid aktivasyonları olan sinir ağları gibi durumlarda, gradyan iniş yaklaşımıdır için gitmek. Dolayısıyla Gradient Descent daha genel bir yaklaşımdır.

Doğrusal denklemler için bile, doğrusal denklemler seti tarafından verilen matrislerin büyüklüğü çok büyüktür ve hafıza gereksinimini kısıtlamak zor olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.