Membantu memutuskan antara interpolasi kubik dan kuadrat dalam pencarian baris


9

Saya melakukan pencarian garis sebagai bagian dari algoritma BFGS kuasi-Newton. Dalam satu langkah pencarian baris saya menggunakan interpolasi kubik untuk bergerak lebih dekat ke minimizer lokal.

Biarkan menjadi fungsi yang menarik. Saya ingin mencari x sehingga f ( x ) 0 .f:RR,fC1xf(x)0

Biarkan , f ( x k ) , f ( x k + 1 ) dan f ( x k + 1 ) diketahui. Juga asumsikan 0 x k < x < x k + 1 . Saya cocok dengan polinomial Q ( x ) = a x 3 + b x 2 +f(xk)f(xk)f(xk+1)f(xk+1)0xk<x<xk+1 sehingga Q ( 0 ) = f ( x k ) , Q ( 0 ) = f ( x k ) , Q ( x k + 1 - x k ) = f ( x k + 1 ) dan Q ( X k + 1 - x k ) =Q(x)=ax3+bx2+cx+dQ(0)=f(xk)Q(0)=f(xk)Q(xk+1xk)=f(xk+1) .Q(xk+1xk)=f(xk+1)

Aku memecahkan persamaan kuadrat: untuk saya dicari x * menggunakan solusi bentuk tertutup.(1):Q(xxk)=0x

Karya-karya di atas baik dalam banyak kasus, kecuali bila sebagai solusi bentuk tertutup untuk ( 1 ) membagi oleh suatu yang menjadi sangat dekat dengan atau tepatnya 0 .f(x)=O(x2)(1)a0

Solusi saya adalah dengan melihat dan jika "terlalu kecil" cukup ambil solusi bentuk tertutup untuk minimizer polinomial kuadrat Q 2 ( x ) = b x 2 + c x + d yang sudah saya miliki koefisiennya b , c , d dari fit sebelumnya ke Q ( x ) .aQ2(x)=bx2+cx+db,c,dQ(x)

Pertanyaan saya adalah: Bagaimana cara membuat tes yang baik untuk kapan mengambil interpolasi kuadratik di atas kubik? Pendekatan naif untuk tes untuk adalah karena buruk untuk alasan numerik jadi saya sedang melihat | a | < ϵ τ di mana ϵ adalah presisi mesin, tapi aku tidak dapat memutuskan τ yang baik yang berskala invarian dari f .a0|a|<ϵτϵτf

Pertanyaan bonus: Apakah ada masalah numerik dengan menggunakan koefisien, , dari kubik yang gagal atau haruskah saya melakukan kuadratik baru dengan cara yang tepat untuk menghitung koefisien?b,c,d

Edit untuk klarifikasi: Dalam pertanyaan saya sebenarnya adalah apa yang biasa disebut sebagai ϕ ( α ) = f ( ˉ x k + α ¯ p k ) dalam literatur. Saya hanya menyederhanakan rumusan pertanyaan. Masalah optimasi yang saya selesaikan adalah non-linear dalam 6 dimensi. Dan saya sangat menyadari bahwa kondisi Wolfe cukup untuk pencarian garis BFGS karena itu menyatakan bahwa saya tertarik pada f ( x ) 0fϕ(α)=f(x¯k+αpk¯)f(x)0; Saya mencari sesuatu yang akan memuaskan kondisi Wolfe yang kuat dan mengambil minimizer dari pendekatan kubik adalah langkah yang baik di sepanjang jalan.

Pertanyaannya bukan tentang BFGS, melainkan bagaimana menentukan kapan koefisien kubik cukup kecil sehingga perkiraan kuadrat lebih tepat.

Sunting 2: Perbarui notasi, persamaan tidak berubah.

Jawaban:


4

Hmm ... interpolasi kubik tidak pernah terdengar untuk pencarian baris, tetapi biasanya berlebihan.

x

Ada sejumlah algoritma pencarian baris untuk BFGS. Untuk aplikasi saya sendiri, menggunakan BFGS terbatas memori (L-BFGS) pencarian baris ini bekerja dengan sangat baik. Ingatlah bahwa Anda hanya perlu memenuhi persyaratan Wolfe, dan kemungkinan Anda tidak mendapatkan banyak dengan menemukan minimizer yang tepat.

Bagaimanapun, untuk benar-benar menjawab pertanyaan Anda: Saya akan mempertimbangkan hanya beralih ke polinomial kuadrat jika memecahkan yang kubik menghasilkan nilai "buruk" seperti NaN atau Inf (seperti yang dilakukan di sini ).

b,c,d

f(xk1)f(x0)xkxk1x0

Semoga ini membantu.


b,c,dQ(x)=ax3+bx2+cx+da0Q(x)=bx2+cx+db,c,ddiperoleh untuk fit ini masuk akal untuk digunakan untuk melakukan interpolasi atau jika saya harus menghitung kembali koefisien baru untuk fit kuadratik khas.
Emily L.

Ahh, benar, tentu saja. Saya tidak melihat masalah dalam menggunakan koefisien dari sudut pandang numerik. Satu-satunya titik di mana saya pikir itu penting, sangat dekat dengan solusi di mana Anda akan berakhir.
LKlevin

a<<ba0

a0b,cd

4

Ada sebuah makalah oleh Moré, yang diimplementasikan oleh Nocedal, tentang itu:

Jorge J. Moré dan David J. Thuente. 1994. Algoritma pencarian baris dengan jaminan penurunan yang cukup. ACM Trans. Matematika Softw. 20, 3 (September 1994), 286-307. DOI http://dx.doi.org/10.1145/192115.192132 ( pracetak ).


Selamat datang di SciComp.SE! Saya memformat posting Anda untuk mempermudah menemukan kertas. Jika Anda dapat menemukan tautan ke implementasi Nocedal, itu akan sangat membantu.
Christian Clason
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.