Pada kenalan pertama dengan metode kuasi-Newtonian orang mungkin terkejut dua kali. Pertama, setelah melihat sekilas formula, muncul keraguan bahwa ini bisa bekerja sama sekali. Namun, mereka berhasil. Lebih lanjut, tampaknya diragukan bahwa mereka akan bekerja dengan baik. Dan itu jauh lebih mengejutkan untuk melihat seberapa cepat mereka daripada berbagai variasi gradient descent, bukan pada tugas yang dibangun secara khusus, tetapi pada tugas nyata yang diambil dari latihan. Dan jika setelah ini masih ada keraguan dicampur dengan bunga, maka Anda perlu memahami mengapa ini bekerja sama sekali.
Asal dan ide dasar yang menggerakkan metode gradien, termasuk metode Newton, telah
dipertimbangkan . Yaitu, kami mengandalkan informasi tentang perilaku fungsi di sekitar posisi saat ini, yang memberi kami analisis matematika sederhana. Minimal, diasumsikan bahwa informasi tentang turunan pertama tersedia untuk kami. Bagaimana jika ini semua yang tersedia bagi kita? Apakah gradient descent kalimat kita? Tentu saja, ya, kecuali jika Anda tiba-tiba ingat bahwa kita sedang berhadapan dengan suatu
proses di mana fungsi objektif diproses dengan benar. Dan jika demikian, mengapa kita tidak menggunakan informasi yang terakumulasi tentang perilaku fungsi untuk membuat jalan kita di permukaannya sedikit kurang buta?
Gagasan untuk menggunakan informasi tentang jalan yang dicakup terletak di jantung sebagian besar cara untuk mempercepat metode keturunan. Artikel ini membahas salah satu cara akuntansi yang paling efektif, meskipun bukan yang termurah, untuk informasi semacam ini, yang mengarah ke ide metode kuasi-Newtonian.
Untuk memahami di mana kaki metode kuasi-Newtonian tumbuh dan dari mana nama itu berasal, kita kembali harus kembali ke metode minimalisasi berdasarkan solusi langsung dari persamaan titik stasioner

. Sama seperti pertimbangan metode Newton yang diterapkan pada solusi persamaan ini membawa kita ke metode optimisasi dengan nama yang sama (yang, tidak seperti nenek moyangnya, memiliki wilayah konvergensi global), kita dapat berharap bahwa pertimbangan metode lain untuk menyelesaikan sistem persamaan nonlinear akan bermanfaat dalam rencanakan ide untuk membangun metode optimasi lainnya.
Metode garis potong
Biarkan saya mengingatkan Anda bahwa metode Newton untuk memecahkan sistem persamaan

, didasarkan pada penggantian di lingkungan beberapa titik dekat dengan solusi

fungsi

pendekatan liniernya

dimana

Adalah operator linier, yang, kapan

adalah vektor dan

memiliki turunan parsial sehubungan dengan masing-masing variabel, bertepatan dengan matriks Jacobi

. Selanjutnya, persamaan diselesaikan

dan titik

diambil sebagai pendekatan baru ke solusi yang diinginkan. Sederhana dan berhasil.
Tetapi bagaimana jika kita karena suatu alasan tidak dapat menghitung matriks Jacobi? Hal pertama yang terlintas dalam pikiran dalam kasus ini adalah bahwa jika kita tidak dapat menghitung turunan parsial secara analitis, maka kita bisa mendapatkan perkiraan numerik untuknya. Opsi paling sederhana (meskipun bukan satu-satunya) untuk perkiraan seperti itu bisa menjadi rumus perbedaan terbatas yang tepat:

dimana

Apakah vektor basis jth. Matriks yang terdiri dari perkiraan tersebut akan dilambangkan dengan

. Analisis berapa banyak penggantian

pada

dalam metode Newton, konvergensinya memengaruhi, sejumlah besar karya dikhususkan, tetapi dalam hal ini kami tertarik pada aspek lain. Yaitu, perkiraan seperti itu membutuhkan perhitungan fungsi pada N poin tambahan, dan, di samping itu, fungsi

pada titik-titik ini
interpolasi fungsi

, yaitu

Tidak setiap perkiraan dari matriks Jacobi memiliki properti ini, tetapi setiap matriks dari fungsi affine yang memiliki properti ini adalah perkiraan dari matriks Jacobi. Memang kalau

dan

lalu pada

. Properti ini, yaitu, properti interpolasi, memberi kita cara konstruktif untuk menggeneralisasi metode Newton.
Biarkan

- fungsi memenuhi persyaratan

untuk beberapa sistem vektor bebas linear

. Kemudian fungsi seperti itu disebut fungsi
garis potong 
, dan persamaan yang mendefinisikannya adalah
persamaan garis potong . Jika sistem vektor

selesai (yaitu, ada persis N dari mereka dan mereka masih bebas linear), dan, di samping itu, sistem vektor

kemudian bebas linear

didefinisikan secara unik.
Metode apa pun berdasarkan perubahan persamaan lokal

persamaan bentuk

dimana

memenuhi
persamaan garis potong , yang disebut
metode garis potong .
Sebuah pertanyaan yang wajar muncul tentang bagaimana membangun garis potong untuk fungsi dengan cara yang paling rasional.

. Garis penalaran berikut nampak jelas: biarkan model affine dibangun pada titik x yang menginterpolasi fungsi yang diberikan pada titik

. Solusi persamaan

memberi kami poin baru

. Kemudian untuk membangun model affine pada suatu titik

paling masuk akal untuk memilih titik interpolasi sehingga nilainya

sudah diketahui - yaitu, ambil dari set

. Ada beberapa opsi untuk memilih poin dari yang sebelumnya banyak digunakan. Misalnya, Anda dapat mengambil titik interpolasi yang ada di dalamnya

paling tidak penting atau hanya yang pertama

poin. Dalam hal apapun, tampak jelas itu

harus dimasukkan dalam banyak titik interpolasi untuk model affine baru. Begitu seterusnya

langkah-langkah proses iteratif di set kami bisa sampai

perpindahan dibangun di atas titik-titik yang sebelumnya dilewati. Jika proses dibangun sedemikian rupa sehingga model affine baru tidak lagi digunakan

dari nilai sebelumnya, maka proses seperti itu disebut metode garis potong p-point.
Sekilas, mungkin tampak bahwa metode garis potong N-point adalah kandidat terbaik untuk peran menggantikan metode Newton, karena metode ini memanfaatkan secara maksimal informasi yang kami peroleh dalam proses penyelesaian, sambil meminimalkan jumlah perhitungan tambahan - kami menggunakan fungsi tersebut N poin terlewati. Sayangnya, ini tidak benar. Masalahnya adalah bahwa sistem vektor

keras kepala menolak untuk mandiri secara linear dengan N. cukup besar. Selain itu, bahkan jika kondisi ini ternyata terpenuhi dan model affine yang sesuai masih ada, maka ada kemungkinan bahwa arah

juga terbukti independen secara linear, ternyata lebih sedikit. Dan ini mensyaratkan fakta bahwa model affine, meskipun ada, merosot dan praktis tidak cocok.
Secara umum, yang paling stabil adalah metode garis potong 2-point. Yaitu, metode di mana pada setiap iterasi kita harus menghitung nilai N-1 fungsi tambahan. Ini jelas tidak cocok untuk tujuan praktis kita.
Lalu pertanyaannya adalah - apa semua ini?
Metode kuasi-Newtonian untuk memecahkan persamaan
Jalan keluarnya sederhana, meski tidak jelas. Jika kita tidak memiliki kemampuan teknis, berdasarkan nilai yang sudah dihitung, untuk secara unik menentukan model affine yang memenuhi persamaan garis potong, maka itu tidak perlu. Kami mengambil persamaan garis potong sebagai dasar, tetapi kami akan mengharuskan persamaan hanya terpenuhi untuk beberapa sistem vektor yang tidak lengkap

. Dengan kata lain, kami akan mensyaratkan bahwa kondisi interpolasi dipenuhi hanya untuk sejumlah kecil nilai yang diketahui. Tentu saja, dalam hal ini kita tidak dapat lagi menjamin bahwa matriks yang digunakan dalam model seperti itu akan cenderung ke matriks Jacobi, tetapi kita tidak akan membutuhkan ini. Menambah ini, model affine harus menginterpolasi fungsi pada titik saat ini, yaitu

, kami mendapatkan formulasi berikut dari metode garis potong:

Bruiden adalah orang pertama yang mempertimbangkan metode semacam ini untuk m = 1, menyebutnya kuasi-Newtonian. Jelas bahwa kondisi garis potong dalam kasus ini memungkinkan kita untuk mengidentifikasi matriks secara unik

hanya jika kondisi tambahan dikenakan padanya, dan masing-masing kondisi tambahan tersebut menimbulkan metode terpisah. Bruyden sendiri beralasan sebagai berikut:
sebagai gerakan ke arah
dari titik
to the point
tidak memberi kami informasi tambahan tentang bagaimana fungsi berubah selain
arah, maka efek dari fungsi affine baru pada vektor
harus berbeda dari efek fungsi lama pada vektor yang sama semakin sedikit semakin berbeda
dari
. Sebagai pilihan terakhir, kapan
ortogonal
, perilaku fungsi baru tidak boleh berbeda dari perilaku yang lama.
Ide Breiden brilian dalam kesederhanaannya. Memang, jika kita tidak memiliki informasi baru tentang perilaku fungsi, maka yang terbaik yang bisa kita lakukan adalah berusaha untuk tidak melanggar yang lama. Kemudian syarat tambahan

untuk semua

sedemikian rupa

memungkinkan Anda untuk secara unik menentukan matriks dari transformasi baru - ini diperoleh dengan menambahkan koreksi peringkat 1 ke matriks lama.

Namun, terlepas dari kesederhanaan dan konsistensi kesimpulan yang dibuat oleh Bruiden, mereka tidak memberikan titik tumpu yang dapat berfungsi sebagai dasar untuk membangun metode serupa lainnya. Untungnya, ada ungkapan yang lebih formal dari idenya. Yaitu, matriks dibangun dengan cara ini

Ternyata menjadi solusi untuk masalah berikut:

Kendala tugas tidak lain adalah persamaan garis potong, dan kondisi minimalisasi mencerminkan keinginan kami untuk menyimpan informasi sebanyak mungkin dalam matriks

. Ukuran perbedaan antara matriks dalam kasus ini adalah norma Frobenius, di mana masalah yang ditimbulkan memiliki solusi yang tidak ambigu. Formulasi ini dapat berfungsi sebagai titik awal untuk membangun metode lain. Yaitu, kita dapat mengubah
ukuran yang digunakan untuk mengevaluasi perubahan yang diperkenalkan dan memperketat
kondisi yang dikenakan pada matriks. Secara umum, seseorang sudah dapat bekerja dengan rumusan metode seperti itu.
Metode Optimasi Kuasi-Newton
Setelah memahami ide utama, kami akhirnya dapat kembali ke masalah optimisasi dan memperhatikan bahwa menerapkan rumus Bruyden untuk menghitung ulang model affine tidak sesuai dengan tugas kami dengan baik. Bahkan, turunan pertama dari fungsi gradien

tidak ada yang lain selain matriks Hessian, yang dengan konstruksi simetris. Pada saat yang sama, memperbarui menurut aturan Bruyden mengarah ke matriks asimetris

bahkan jika

simetris. Ini tidak berarti bahwa metode Bruden tidak dapat diterapkan untuk menyelesaikan persamaan titik stasioner, tetapi berdasarkan pada aturan pembaruan seperti itu, kita tidak mungkin dapat membangun metode optimasi yang baik. Secara umum, cukup jelas bahwa metode quasi-Newton harus bekerja lebih baik, lebih akurat sistem kondisi masalah menggambarkan spesifikasi matriks Jacobi tertentu.
Untuk memperbaiki kekurangan ini, kami menambahkan kendala tambahan untuk masalah minimisasi Bruden, secara eksplisit mensyaratkan bahwa matriks baru simetris bersama dengan yang lama:

Solusi untuk masalah ini adalah

Di sini

, dan rumus perhitungan ulang matriks dinamai penciptanya - Powell, Shanno dan Bruyden (PSB). Matriks yang dihasilkan simetris, tetapi jelas tidak positif pasti, jika hanya tiba-tiba

tidak akan menjadi linier

. Dan kami
melihat bahwa kepastian positif sangat diinginkan dalam metode optimasi.
Sekali lagi, kita akan memperbaiki kondisi masalah, menggunakan kali ini norma Frobenius yang diskalakan sebagai ukuran divergensi matriks.

Asal usul pernyataan pertanyaan semacam itu adalah topik besar yang terpisah, tetapi menarik bahwa jika matriks T adalah seperti itu

(yaitu, G juga merupakan matriks transformasi affine yang memenuhi persamaan garis potong untuk arah p), maka solusi untuk masalah ini ternyata tidak tergantung pada pilihan T dan mengarah ke rumus pembaruan

dikenal sebagai rumus Davidon-Fletcher-Powell. Metode pembaruan ini telah terbukti dalam praktiknya, karena memiliki properti berikut:
jika
dan
pasti positif
juga diidentifikasi secara positif.Saya perhatikan setelah itu jika kondisi pertama tidak terpenuhi, maka tidak ada fungsi affine dengan matriks pasti positif yang memenuhi persamaan garis potong.
Jika dalam masalah yang mengarah ke metode DFP, kami mengambil, sebagai ukuran dari perbedaan model affine, jarak bukan antara matriks itu sendiri, tetapi antara matriks yang terbalik dengan mereka, kami mendapatkan masalah

Solusinya adalah formula terkenal, ditemukan hampir bersamaan oleh Breiden, Fletcher, Goldfarb dan Shanno (BFGS).

Sampai saat ini, diyakini bahwa perhitungan ulang menurut rumus ini adalah yang paling efisien dari sudut pandang komputasi dan pada saat yang sama kurang rentan terhadap degenerasi matriks dengan sejumlah besar iterasi. Di bawah kondisi yang sama seperti DFP, rumus ini menjaga properti definiteness positif.
Semua metode yang dijelaskan untuk memperbarui matriks memerlukan koreksi peringkat 2. Ini membuatnya mudah dan mudah untuk membalikkan matriks

menggunakan rumus Sherman-Morrison dan nilainya

.

asalkan penyebut formula tidak nol. Saya tidak akan memberikan formula khusus untuk memperbarui matriks terbalik dari metode yang terdaftar, karena mudah ditemukan atau diturunkan secara independen. Satu-satunya hal yang harus dicatat dalam kasus ini adalah bahwa varian metode dengan memperbarui matriks terbalik biasanya jauh lebih tidak stabil (yaitu, mereka menderita lebih dari kesalahan pembulatan) daripada yang menyarankan memperbarui matriks asli. Paling efektif untuk memperbarui bukan matriks itu sendiri, tetapi dekomposisi Cholesky (kecuali, tentu saja, dekomposisi seperti itu terjadi), karena opsi implementasi seperti itu lebih stabil secara numerik dan, di samping itu, meminimalkan biaya penyelesaian persamaan yang menentukan arah gerak.
Masih mempertimbangkan pertanyaan tentang bagaimana matriks pertama harus terlihat dalam proses kuasi-Newtonian. Semuanya jelas di sini - semakin dekat ke matriks Hessian atau ke versi yang dikoreksi, jika Hessian tiba-tiba tidak berubah menjadi positif pasti, semakin baik dari sudut pandang konvergensi. Namun, pada prinsipnya, setiap matriks pasti positif dapat cocok untuk kita. Versi paling sederhana dari matriks semacam itu adalah satu, dan kemudian iterasi pertama bertepatan dengan iterasi penurunan gradien. Fletcher dan Powell menunjukkan (secara alami, untuk metode DFP) bahwa jika fungsi kuadrat diminimalkan, terlepas dari matriks mana (positif pasti) yang digunakan sebagai iterasi DFP awal, mereka akan mengarah ke solusi dalam iterasi N persis, di mana N adalah dimensi masalah, dan matriks kuasi-Newtonian bertepatan dengan matriks Hessian pada titik minimum. Dalam kasus kebahagiaan seperti itu, kita tentu saja tidak akan menunggu, tetapi ini setidaknya memberi alasan untuk tidak terlalu khawatir tentang pilihan yang buruk dari matriks awal.
Kesimpulan
Pendekatan yang dijelaskan untuk pembangunan metode kuasi-Newtonian bukan satu-satunya yang mungkin. Paling tidak, para penemu dari metode kuasi-Newtonian yang dijelaskan dan banyak peneliti berikutnya sampai pada formula yang sama berdasarkan pertimbangan yang sangat berbeda. Namun, menarik bahwa segera setelah metode kuasi-Newtonian tertentu muncul, maka terlepas dari metode memperolehnya, setelah waktu yang agak singkat menjadi jelas bahwa itu adalah solusi untuk beberapa masalah optimasi yang sangat mudah ditafsirkan. , , , . , , , , , — .
, , , , , , . , , — ,
- . , , . , . , — .
, . , ( , , N , , ). ( , , ), . , , — . — .