Tentukan tingkat belajar optimal untuk gradient descent dalam regresi linier

9

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.

Valentin Radu
sumber
willamette.edu/~gorr/classes/cs449/momrate.html Mencoba anil dengan bentuk adaptasi laju lokal: μ (t) = µ (0) / (1 + t / T); Kenaikan t ketika tanda kesalahan berubah.
Chris

Jawaban:

2

(Bertahun-tahun kemudian) mencari metode ukuran langkah Barzilai-Borwein; onmyphd.com memiliki deskripsi 3 halaman yang bagus. Kata penulis

pendekatan ini bekerja dengan baik, bahkan untuk masalah dimensi besar

tapi itu mengerikan untuk applet nya dari fungsi Rosenbrock 2d. Jika ada yang menggunakan Barzilai-Borwein, silakan komentar.

denis
sumber
1

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.

Drew
sumber
Saya juga berpikir untuk memperbanyak / membagi dua. Namun, saya khawatir bahwa mengalikan dua dengan setiap kali langkah sukses terjadi akan berakhir pada iterasi yang jauh lebih banyak. Saya berharap ada cara untuk melakukannya menggunakan gradien, karena memberikan beberapa info tentang seberapa curamnya lereng.
Valentin Radu
Tampaknya tidak masuk akal bagi saya, bahwa Anda bisa mendapatkan informasi seperti itu dari gradien. Gradient sendiri tidak memberi tahu Anda seberapa jauh Anda dari optimal, dan yang lebih penting - bagaimana gradien itu sendiri berubah ketika berubah. Untuk itu Anda akan membutuhkan seorang Goni. x
sjm.majewski
Jika Anda berurusan dengan proses stasioner yang mendasarinya, tingkat belajar maksimum diatur oleh spektrum matriks korelasi, kan?
Bintang terang