Yaklaşık sayısal türev ile Newton-Raphson yaklaşımının sakıncaları


17

Bazı fonksiyon olduğunu varsayalım f ve ben bulmak istiyorum x , öyle ki f(x)0 . Newton-Raphson yöntemini kullanabilirim. Ancak bu, türev fonksiyonunu bilmemi gerektirir f(x). için analitik bir ifade fmevcut olmayabilir. Örneğin, f , deneysel değerlerin bir veritabanına danışan karmaşık bir bilgisayar kodu parçası ile tanımlanabilir.

Ama bile f karmaşık, ben yaklaşık edebilirsiniz f(a) herhangi bir için a az sayıda seçerek ϵ ve calculting f(a)f(a+ϵ)f(a)ϵ .

Bu yaklaşımın belirgin dezavantajları olduğunu duydum, ama ne olduklarını bilmiyorum. Wikipedia, "Bu yaklaşımı kullanmak, yakınsama yöntemi Newton'un yönteminden daha yavaş olan sekant yöntemi gibi bir şeyle sonuçlanacağını ima ediyor."

Birisi lütfen bu konuyu ayrıntılı olarak açıklayabilir ve özellikle bu teknikle ilgili sorunları tartışan bir referans sağlayabilir mi?


5
Türev yöntemi, türevin hesaplanması pahalı olduğunda mükemmel bir alternatiftir. Üç basamaklı sekant genellikle kabaca iki basamaklı Newton'a eşdeğerdir ve basamaklar daha ucuzdur.

1
Bir türevi sonlu farkla (önerdiğiniz gibi) sayısal olarak hesapladığınızda, işlevdeki herhangi bir gürültü yükseltilir, bu nedenle epsilonunuzu dikkatlice seçmelisiniz. Bir olasılık, çözüme yaklaştığınızda, f yerel olarak monotonik olduğu sürece yakınsama garanti edilen bir ikili alt bölümleme yöntemine geçmektir.
Mike Dunlavey

2
André tarafından belirtildiği gibi, iki noktalı sayısal türevler, önerdiğiniz gibi, yeniden başlatılan Secant yöntemine eşdeğerdir . Daha hızlı yakınlaşma için olsa da, ben sözde öneririm Illinois algoritması Kiriş yöntemin yakın akrabası olduğunu ve sizin durumunuzda iki karşıt olarak, adım başına sadece bir puan kullanacaktır ve benzeri vurulmayacak Yanlış konum yöntemi.
Pedro

boyutu nedir ? Boyut ne kadar yüksek olursa, bir türev o kadar değerli olur. Jacobian içermeyen Newton-Krylov, açık türevlere ihtiyaç duymayan bir seçenektir (ön koşullandırma, koşulsuz sistemler için önemlidir). x
Jed Brown

Yanıtlar:


12

Gösterim amacıyla, diyelim ki (yani, bir vektörü girdi olarak alan ve aynı boyutta bir vektörü çıkaran vektör değerli bir işlev). İki endişe vardır: hesaplama maliyeti ve sayısal doğruluk.f:RnRn

Sonlu farklar kullanarak (Jacobian matrisi, J ( x ) veya ( f ( x ) ) T türevini veya tercih ettiğiniz her şeyi) türevinin hesaplanması n fonksiyon değerlendirmesi gerektirecektir . Türevi doğrudan tanımdan kayan nokta aritmetiği kullanarak hesaplayabiliyorsanız, fark katsayısını hesaplamanız gerekir.Df(x)J(x)(f(x))Tn

Df(x)ei=limε0f(x+εei)f(x)ε

Her biri için , sen kıtlık deseni bildiğiniz (veya algılayabilir) çünkü (Curtis-Powell-Reid gibi) "akıllı sonlu fark kayıt" herhangi bir tür yapmayın varsayarak D f . Eğer n büyük, o işlev değerlendirmelerin çok olabilir. İçin analitik ifade varsa D f , o zaman daha ucuz olabilir hesaplanması. Farklılaşma yöntemleri (algoritmik olarak da bilinir) otomatik de hesaplamak için bazı durumlarda kullanılabilir D f bir işlev değerlendirme yaklaşık 3 ila 5 katı pahasına.i=1,,nDfnDfDf

Sayısal kaygılar da var. Sıfır gider olarak Açıkçası, bir bilgisayarda, böylece biz yaklaşık ne zaman, bir büyüklük sınırı alamaz , gerçekten alıyoruz ε "küçük" olması ve hesaplamaDfε

Df(x)eif(x+εei)f(x)ε,

burada bu bir yaklaşıklama anlamına gelir ve umarım bu gerçekten iyi bir yaklaşımdır. Kayar nokta aritmetik bu tahminini hesaplanması sen seç çünkü eğer zor ε çok büyük, senin yaklaştırma kötü olabilir, ama eğer seçerseniz ε çok küçük, önemli yuvarlama hatası söz konusu olabilir. Bu etkiler, yüzeysel detaylarda sayısal farklılaşma hakkındaki Wikipedia makalesinde ele alınmıştır ; makalede daha ayrıntılı referanslar bulunabilir.εε

Jakobiyen matris hata durumunda çok büyük değildir, Newton Raphson yineleme yakınsar. Ayrıntılı bir teorik analiz için, Nick Higham'ın Sayısal Algoritmalarının Doğruluğu ve Kararlılığı başlıklı Bölüm 25'e veya dayandığı Françoise Tisseur'un makalesine bakınız .Df

(n=1)

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.