Sayısal optimizasyon için neden üçüncü türevi kullanmıyorsunuz?


29

Hessian'lar optimizasyon için çok iyiyse (bkz. Newton'un yöntemi ), neden orada durdunuz? Üçüncü, dördüncü, beşinci ve altıncı türevleri kullanalım mı? Neden olmasın?


11
Optimum olanı bulduktan sonra, neden daha ileriye bakmalısınız? Gerçekten, gerçekten ne sormaya çalışıyorsun? İstatistiksel sorunuz nedir?
whuber

2
Çoğu durumda, optimal tahmin denklemlerini çözen veya nesnel işlevleri en aza indiren tahminlerin sınırlı dağılımı ortaklaşa normaldir, bu nedenle tamamen ilk ve ikinci anları ile karakterize edilebilirler.
AdamO

3
Bir şey yapabilirsen, yapman gerektiği anlamına gelmez . Yüksek mertebeden türevler gürültüye karşı giderek daha hassastır.
Vladislavs Dovgalecs

6
Bu soruyu konu dışı olarak kapatmak için oy kullanıyorum çünkü bu istatistikle ilgili değil. Sayısal optimizasyon hakkında
Aksakal

11
Bilimsel bir atılım yapmadınız. Halley seni 3 1/4 yüzyılda dövdü. Halley, E., 1694, "Genel olarak herhangi bir denklemin köklerini bulmanın yeni, kesin ve kolay bir yöntemi, ve daha önce bir azaltma olmadan bu" Philos. Trans. Roy. Soc. Londra, 18, 136-145. Optimizasyon için 3. türev yöntemleri var olmuştur ve uzun yıllar çalışılmıştır, ancak büyük bir popülerlik kazanamamıştır. İyi uygulanırsa, en büyük avantajı iyi uygulanan bir Newton yöntemine kıyasla sağlamlıkta bir artış olabilir. Bu en kötü problemler için avantajlı olabilir.
Mark L. Stone

Yanıtlar:


31

Soruyu "Newton'un yöntemi neden üçüncü veya daha yüksek türevleri değil, yalnızca birinci ve ikinci türevleri kullanıyor?" Olarak yorumluyorum.

Aslında, çoğu durumda, üçüncü türevine gitmek yardımcı olur; Daha önce özel şeyler yaptım. Ancak, genel olarak, daha yüksek türevlere gidilmesi, hesaplama karmaşıklığı ekler - tüm bu türevleri bulmanız ve hesaplamanız gerekir ve çok değişkenli problemler için, ilk türevlerden çok daha fazla üçüncü türev vardır! - eğer varsa, elde ettiğiniz adım sayısındaki tasarruftan daha ağır basar. Örneğin, eğer 3 boyutlu bir sorunum varsa, 3 birinci türev, 6 ikinci türev ve 10 üçüncü türevim var, bu yüzden yapmam gereken değerlendirme sayısını iki katından daha fazla olan üçüncü dereceden bir sürüme geçiyorum (9'dan 9'a kadar) 19), bu değerlendirmeleri yaptıktan sonra adım yönünü / boyutunu hesaplamanın artan karmaşıklığından bahsetmiyorum bile, ancak neredeyse kesinlikle yarıya atmam gereken adım sayısını kesmeyecek.

Şimdi, genel durumda, değişkenlerinin, toplanması kısmi türev olacak sayıda , bu nedenle, beş değişken üçüncü toplam sayısı ile ilgili bir sorun için dördüncü ve beşinci kısmi türevler, birinci ve ikinci kısmi türevlerin sayısında 10 kat fazla bir artışa (20) 231 eşit olacaktır. Bu ekstra hesaplama yükünü telafi etmek için yineleme sayımlarında yeterince büyük bir düşüş görebilmek için değişkenlerde beşinci dereceden polinomlara çok, çok yakın bir probleminiz olması gerekir.knth(k+n1k1)


3
Daha yüksek türevlerden nasıl faydalandığınızı açıklayabilir misiniz ?
whuber

5
@whuber OP'nin neyi kastettiği, açıkça açıkça itiraf etmeliyim ki, Newton'un optimizasyondaki yöntemidir. Asıl soru, "Neden Newton'un yöntemi üçüncü veya daha yüksek türevleri değil, yalnızca birinci ve ikinci türevleri kullanıyor?" Sorusudur. Konu dışı olduğu gibi ne istediği de belli değil, ama bir nedenden ötürü kapatmak için oy vermek yerine sadece bir cevap verebileceğimi düşündüm.
Jbowman

4
+1 Bunun iyi bir cevap olduğunu düşünüyorum, ancak taylor genişlemesine dayanarak ne yaptığınızı göstererek daha iyi olabilir.
Matthew Drury

8
Profesörlerimden biri olarak - aynı zamanda çok başarılı bir danışman - bir keresinde bize şöyle dedi: “Ne zaman daha iyi bir fare kapanı yapmayı düşündüğünüzü düşündüğünüzde, aynı fikirleri bulan 1000 kişinin neden olduğunu anlamaya çalışın. "piyasaya sürmeden önce" Newton'u kullanmanın tek amacı hesaplamadan tasarruf etmektir - yoksa sadece ayrıntılı araştırma yapardık. Sizi temin ederim ki, 3 boyutlu bir soruna üçüncü bir türev eklemek, işlev bir kübik olmadıkça, büyük ölçüde azaltılmış yinelemelerle her adımda hesaplamanın iki katına çıkması için çok nadiren ödeme yapar.
jbowman

9
Hayır, değil - ilk göründüğünden daha derin bir yorum. Mesele iki yönlüdür - ilk bakışta iyi görünen çoğu fikir, hiç de açık olmayan nedenlerden ötürü değildir, ve çığır açan bir gerçek için anahtar, fikrin kendisi değil, kusurun üstesinden gelen veya işleyen bir şey olabilir. fikir. Bu akıl yürütme, aslında, bunu işaret eder ve fikirdeki zayıflıkları aramanızı söyler. Vazgeçmekle ilgili değil, bir şeyleri düşünerek ve buna eleştirel bir gözle bakmakla ilgili.
jbowman

22

Bu sorunun istatistiksel yönünü gerçekten göremiyorum, bu yüzden optimizasyon bölümüne cevap vereceğim.

Yakınsama için 2 bölüm vardır: yineleme maliyeti ve yineleme sayısı

Hemen hemen her cevap sadece iterasyon maliyetine odaklanmakta ve iterasyon sayısını göz ardı etmektedir . Ama ikisi de önemli. 1 nanosaniye içinde yinelenen, ancak yakınsaması yinelemeyi alan bir yöntem size bir fayda sağlamaz. Üfleyen bir yöntem de yineleme maliyeti ne kadar ucuz olursa olsun yardımcı olmaz.1020

Neler olduğunu çözelim.

Öyleyse: Neden> 2. dereceden türevlerini kullanmıyorsunuz?

Kısmen çünkü (ve bu 2. sıra için de geçerlidir, ancak bunun üzerinde biraz daha fazla):

Yüksek dereceli yöntemler genellikle yalnızca optimum seviyeye yakın olduğunda daha hızlı birleşir .

Diğer taraftan, optimum seviyeden uzak olduklarında daha kolay patlarlar!

(Tabii ki, bu her zaman doğru değildir ; örneğin, bir kuadratik Newton'un yöntemiyle 1 adımda birleşir. Fakat gerçek dünyada hoş özelliklere sahip olmayan keyfi fonksiyonlar için, bu genellikle doğrudur.)

Bu, optimum seviyeden uzak olduğunuzda, genellikle düşük dereceli (okuma: birinci dereceden) bir yöntem istediğiniz anlamına gelir . Sadece yakın olduğunuzda yöntemin sırasını arttırmak istersiniz.

Öyleyse neden olan 2 mertebede durağı zaman yakın kökünden?

Çünkü "ikinci dereceden" yakınsama davranışı gerçekten "yeterince iyi" dir!

Nedenini öğrenmek için, ilk olarak ne "kuadratik yakınsama" anlamak zorunda anlamına gelir .

Matematiksel olarak, kuadratik yakınsama araçlarının takdirde, yineleme adresinden hatasıdır , sonra sonunda bazı sabit için de geçerlidir aşağıdaki :ϵkkc

|ϵk+1|c |ϵk|2

Düz İngilizce olarak, bu, optimum seviyeye yaklaştığınızda (önemli!), Her ekstra adımın doğruluk rakamını iki katına çıkardığı anlamına gelir .

Niye ya? Bir örnek görmek kolaydır: için ve , sahip , vs olan gülünç hızlı . ( Süper üstel !)c=1|ϵ1|=0.1|ϵ2|0.01|ϵ3|0.0001

Neden 2. dereceden ziyade 1. sırada durmuyorsun?

Aslında, insanlar genellikle ikinci dereceden türevler çok pahalı hale geldiğinde bunu yapar. Ancak doğrusal yakınsama çok yavaş olabilir. Örneğin, eğer o zaman almak için doğrusal yakınsamaya sahip 10.000.000 yinelemeye ihtiyacınız olacak , ancak kuadratik yakınsamaya sahip sadece 23 yinelemeye ihtiyacınız olacak. Öyleyse neden doğrusal ve ikinci dereceden yakınsama arasında ciddi bir fark olduğunu görebilirsiniz . Bu, örneğin 2. ve 3. dereceden yakınsaklık için geçerli değildir (bir sonraki paragrafa bakınız).ϵk=0.9999999|ϵ|<0.5

Bu noktada, herhangi bir bilgisayar bilimi biliyorsanız, 2. derece yakınsama ile sorunun zaten çözülmüş olduğunu anlıyorsunuzdur . Nedenini görmüyorsanız, işte neden: ikiye katlamak yerine her yinelemedeki rakam sayısını üçe katlamaktan kazanacak pratik hiçbir şey yok - sizi ne alacak? Sonuçta, bir bilgisayarda, bir doublekesin sayı bile 16 ondalık basamaktan oluşan 52 bit hassasiyete sahiptir. Belki de gerekli olan adım sayısını 16'dan 3'e düşürür ... ki bu , her yinelemede, üçüncü boyut türevlerini hesaplamak zorunda kalmanın bedeli olduğunu fark edene kadar , ki bu boyutlandırma lanetisana vurur. Bir İçin boyutlu bir sorun, sadece bir faktör ödenen bir faktör kazanmak için dilsiz olduğunu. Ve gerçek dünyada, sorunların yalnızca değil , en az yüzlerce boyutu (hatta binlerce hatta milyonlarca) var ! Demek ki, 20,000 ... faktörü ödeyerek çok az akıllı bir taksit ödeyerek belki 20 faktör kazanıyorsunuz.6656

Fakat yine de: boyutluluğun lanetinin hikayenin yarısı olduğunu hatırlayın .

Diğer yarısı ise , optimum olmaktan uzak olduğunuzda genellikle daha kötü davranışlarda bulunmanız, bu genellikle yapmanız gereken tekrar sayısını olumsuz etkiliyor.

Sonuç

Genel bir ortamda, 2'den yüksek dereceli yöntemler kötü bir fikirdir. Tabii ki, (örneğin belki veri tablonuza ilave yardımcı varsayımları getirebilir eğer yok o zaman belki olduklarını bulabilir, yüksek dereceden polinomu benzemeye veya vb optimum, yerini sınırlayan yollarını var) iyi bir fikir - ancak bu, probleme özgü bir karar olacak ve yaşayacağınız genel bir kural değil.


Harika cevap, ama Abel-Ruffini teoreminin kırmızı bir ringa balığı olduğunu düşünüyorum. Öncelikle, çok değişkenli problemlerden bahsediyoruz, bu nedenle tek değişkenli polinomların sıfırlarını hesaplamak en kolay sınırlı bir ilgi alanı alt sorunudur. Daha da önemlisi, çözüm için kapalı bir formül olup olmadığının önemi yoktur: pratikte, bildiğim kadarıyla insanlar 4. derece polinomlar için bile kapalı formüller kullanmazlar. Çok uzun, karmaşık ve dengesizler. Polinomların sıfırları pratik olarak (eşlik matrisi üzerindeki QR kullanılarak) sayısal olarak hesaplanır.
Federico Poloni

@FedericoPoloni: Evet, aynı düşünceler aklıma geldi ve onu koymaya karar verdim. İlk başta bende yoktu ... Sanırım belki de daha yüksek derecelere sahip olmanın başka bir örneği olarak koymalıyım. Beklenmeyen problemler. Ama yararsızsa tekrar çıkaracağım, yorum için teşekkürler.
Mehrdad

@FedericoPoloni: PS, sayısal hesaplama konusuyken, Sturm işlevlerini ilginç bulabilirsiniz (eğer daha önce duymadıysanız).
Mehrdad

7

hesaplamak bile oldukça iştir:

H=[2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2].

Şimdi üçüncü türevin nasıl göründüğünü görün: Bu üç boyutlu bir matristir. Öğeleri şöyle görünür:

H/x=[Hx1Hx2Hxn]
(H/x)ijk=3fxixjxk

Altıncı türev altı boyutlu matris olacaktır:

6fxixjxkxlxmxn

Genellikle, takas Hessian'dan daha yüksek bir seviyeye çıkmak için uygun değildir. Gürültü amplifikasyonuna karşı daha yüksek dereceli yaklaşımlar kullanarak hızdaki potansiyel kazanım arasındaki dengeyi kast ediyorum. Girdilerde her zaman parazit var çünkü istatistiksel uygulamalardan bahsediyoruz. Bu ses türevler tarafından güçlendirilecektir.

Golf oynarsanız, optimizasyondaki analoji ilk önce yeşile dönmeye çalışırken salınmaktır, bir delik için endişelenmeyin. Bir kere, yeşilin üzerine, bir deliğe nişan alacağız.


4

Tipik olarak, bu tür algoritmaların etkinliğini analiz ettiğinizde, dördüncü dereceden bir algoritmanın bir aşaması gibi, kabaca bir ikinci dereceden algoritmanın iki aşaması ile aynı etkinliğe sahip sonuçlar bulacaksınız.

Bu nedenle, hangi algoritmanın kullanılacağının seçimi nispeten basittir: dördüncü dereceden algoritmanın bir adımı iki kat daha fazla iş veya ikinci dereceden algoritmanın bir adımından daha fazlasını alıyorsa, bunun yerine ikincisini kullanmalısınız.

Bu tür yöntemler için tipik durum budur: Klasik algoritma, genel problemler için optimum iş-etkililik oranına sahiptir. Daha yüksek dereceli bir yaklaşımın hesaplanması alışılmadık derecede kolay olan ve klasik değişkeni geride bırakan zaman zaman sorunlar olsa da, bunlar nispeten nadirdir.


2

Türevlerin sırasını, işleve polinom yaklaşımının bir sırası olarak düşünebilirsiniz. Çoğu optimizasyon yordamı dışbükeyliğe dayanır. İkinci dereceden bir polinom her yerde dışbükey / içbükey, üçüncü dereceden veya daha yüksek bir polinom her yerde dışbükey olmayacaktır. Çoğu optimizasyon yordamı, bu nedenle kuadratiklerle dışbükey fonksiyonların art arda yaklaşımlarına dayanır. Dışbükey olan ikinci dereceden bir yaklaşım, ikinci dereceden dışbükey olmak için uygulanacak pozitif bir kesinlik şartı gerektirir.


3
Hayır, kuadratiklerin dışbükey veya içbükey olması gerekmez ( düşünün ). x2y2
Dirk

@Dirk neye eşittir? x2y2
Ovi

1
Bu kuadratik bir fonksiyondur ama ne dışbükey ne de içbükey.
Dirk

@Dirk evet haklısınız, pozitif yarı kesin bir uyarı eklemeliydim. Bunu cevabımı ekleyeceğim.
Lucas Roberts

1

SGD yakınsama için 3. dereceden yöntemleri savunan tek kişi benim olacağım, ama kesinlikle tüm alanda değil katsayılara ihtiyaç duyacağız , ancak örneğin sadece tek bir yönde, sadece tek bir ek katsayı gerektiren Zaten bu yönde 2. dereceden modeli var.dim3/6

Tek yön 3. dereceden model neden faydalı olabilir? Örneğin, bu doğrultuda sıfıra yakın ikinci türev, temel olarak iki alternatif senaryo anlamına gelir: plato veya bükülme noktası - yalnızca ilki daha büyük adım boyutunu gerektirir ve 3. türev bunları ayırt etmeye izin verir.

Hibrit çok dereceli yöntemlere gideceğimize inanıyorum : düşük dereceli bir alt alanda ikinci dereceden yöntem, örneğin yakın zamandaki gradyanların PCA'sı, hala bu alt alana dik derecenin bir kısmına doğru serbest birinci dereceden eşzamanlı gradyan inişine izin veren ve ... Örneğin, en uygun tek yön için 3. dereceden bir model ekleyeceğim.

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.