Bagaimana seseorang dapat menentukan tingkat pembelajaran optimal untuk gradient descent? Saya berpikir bahwa saya dapat secara otomatis menyesuaikannya jika fungsi biaya mengembalikan nilai yang lebih besar daripada pada iterasi sebelumnya (algoritme tidak akan menyatu), tetapi saya tidak begitu yakin apa nilai baru yang harus diambil.
regression
machine-learning
gradient-descent
Valentin Radu
sumber
sumber
Jawaban:
(Bertahun-tahun kemudian) mencari metode ukuran langkah Barzilai-Borwein; onmyphd.com memiliki deskripsi 3 halaman yang bagus. Kata penulis
tapi itu mengerikan untuk applet nya dari fungsi Rosenbrock 2d. Jika ada yang menggunakan Barzilai-Borwein, silakan komentar.
sumber
Anda berada di jalur yang benar. Pendekatan umum adalah menggandakan ukuran langkah setiap kali Anda mengambil langkah menurun yang sukses dan membagi dua ukuran langkah ketika Anda secara tidak sengaja pergi "terlalu jauh." Anda dapat mengukur dengan beberapa faktor selain 2, tentu saja, tetapi umumnya tidak akan membuat perbedaan besar.
Metode optimasi yang lebih canggih kemungkinan akan mempercepat konvergensi sedikit, tetapi jika Anda harus memutar pembaruan Anda sendiri untuk beberapa alasan di atas menarik dan cukup sering cukup baik.
sumber