Saya kira ini adalah pertanyaan dasar dan itu ada hubungannya dengan arah gradien itu sendiri, tapi saya sedang mencari contoh di mana metode urutan ke-2 (misalnya BFGS ) lebih efektif daripada penurunan gradien sederhana.
optimization
Batang
sumber
sumber
Jawaban:
Berikut adalah kerangka umum untuk menafsirkan gradient descent dan metode Newton, yang mungkin merupakan cara yang berguna untuk memikirkan perbedaan sebagai suplemen untuk jawaban @ Sycorax. (BFGS mendekati metode Newton; saya tidak akan membicarakannya secara khusus di sini.)
Kami meminimalkan fungsif , tetapi kami tidak tahu bagaimana melakukannya secara langsung. Jadi, sebagai gantinya, kita mengambil perkiraan lokal pada titik saat ini x dan meminimalkannya.
Metode Newton mendekati fungsi menggunakan ekspansi Taylor orde kedua:
Jadi penurunan gradien seperti menggunakan metode Newton, tetapi alih-alih mengambil ekspansi Taylor orde kedua, kita berpura-pura bahwa Hessian adalah . IniGsering merupakan pendekatan secara substansial lebih burukfdariN, dan keturunan maka gradien sering mengambil langkah jauh lebih buruk daripada metode Newton. Ini diimbangi, tentu saja, dengan setiap langkah penurunan gradien menjadi jauh lebih murah untuk dihitung daripada setiap langkah metode Newton. Mana yang lebih baik sepenuhnya tergantung pada sifat masalah, sumber daya komputasi Anda, dan persyaratan akurasi Anda.1tsaya G f N
Melihat contoh @ Sycorax tentang meminimalkan kuadrat sebentar, perlu dicatat bahwa perspektif ini membantu memahami kedua metode.
Dengan metode Newton, kita akan memiliki sehingga berakhir dengan jawaban yang tepat (hingga masalah akurasi floating point) dalam satu langkah.N= f
Penurunan gradien, di sisi lain, menggunakan
sumber
Pada dasarnya, keuntungan dari metode turunan kedua seperti metode Newton adalah bahwa ia memiliki kualitas pemutusan kuadratik. Ini berarti bahwa ia dapat meminimalkan fungsi kuadrat dalam sejumlah langkah yang terbatas. Metode seperti gradient descent sangat bergantung pada tingkat pembelajaran, yang dapat menyebabkan optimisasi bertemu secara perlahan karena memantul di sekitar yang optimal, atau menyimpang seluruhnya. Tingkat belajar yang stabil dapat ditemukan ... tetapi melibatkan perhitungan hessian. Bahkan ketika menggunakan tingkat pembelajaran yang stabil, Anda dapat memiliki masalah seperti osilasi di sekitar yang optimal, yaitu Anda tidak akan selalu mengambil jalur "langsung" atau "efisien" menuju minimum. Jadi butuh banyak iterasi untuk mengakhiri, bahkan jikaAnda relatif dekat dengan itu. Metode BFGS dan Newton dapat konvergen lebih cepat meskipun upaya komputasi setiap langkah lebih mahal.
Untuk permintaan Anda akan contoh: Misalkan Anda memiliki fungsi objektif
Ini akan stabil jika besarnya vektor eigen darisaya- α A kurang dari 1. Kita dapat menggunakan properti ini untuk menunjukkan bahwa tingkat pembelajaran yang stabil memuaskan
Dalam konteks spesifik jaringan saraf, buku Neural Network Design memiliki cukup banyak informasi tentang metode optimasi numerik. Diskusi di atas adalah kondensasi bagian 9-7.
sumber
Dalam optimasi cembung Anda memperkirakan fungsi sebagai polinomial tingkat kedua dalam kasus satu dimensi:
Dalam hal ini turunan kedua
Jika Anda tahu turunannya, maka mudah untuk menebak berikutnya untuk yang optimal:
Kasus multivarian sangat mirip, cukup gunakan gradien untuk turunan.
sumber
@Dougal sudah memberikan jawaban teknis yang bagus.
Penjelasan no-matematika adalah bahwa sementara pendekatan linier (orde 1) memberikan "bidang" yang tangensial ke titik pada permukaan kesalahan, pendekatan kuadratik (orde 2) menyediakan permukaan yang memeluk kelengkungan permukaan kesalahan.
Video pada tautan ini sangat membantu memvisualisasikan konsep ini. Mereka menampilkan orde 0, orde 1 dan orde 2 aproksimasi ke permukaan fungsi, yang secara intuitif memverifikasi apa jawaban lain hadir secara matematis.
Juga, posting blog yang bagus tentang topik (diterapkan pada jaringan saraf) ada di sini .
sumber