Dalam pengaturan umum algoritma gradient descent, kami memiliki mana adalah titik saat ini, adalah ukuran langkah dan adalah gradien dievaluasi pada . x n η g r a d i e n t x n x n
Saya telah melihat dalam beberapa algoritma, orang menggunakan gradien yang dinormalisasi bukannya gradien . Aku ingin tahu apa perbedaan dalam menggunakan gradien normal dan hanya gradien .
algorithms
optimization
Pelajar
sumber
sumber
Jawaban:
Dalam algoritma gradient descent, algoritma melanjutkan dengan menemukan arah yang Anda bisa temukan solusi optimal. Arah optimal berubah menjadi gradien. Namun, karena kita hanya tertarik pada arah dan tidak perlu seberapa jauh kita bergerak di sepanjang arah itu, kita biasanya tidak tertarik pada besarnya gradien. Dengan demikian, gradien yang dinormalisasi cukup baik untuk tujuan kami dan kami membiarkanη menentukan seberapa jauh kita ingin bergerak ke arah yang dihitung. Namun, jika Anda menggunakan gradient descent yang tidak dinormalisasi, maka pada titik mana pun, jarak Anda bergerak ke arah optimal ditentukan oleh besarnya gradien (pada dasarnya ditentukan oleh permukaan fungsi tujuan yaitu titik pada permukaan curam akan memiliki magnitudo tinggi sedangkan titik pada permukaan yang cukup rata akan memiliki magnitudo rendah).
3] Jika Anda ingin membiarkan besarnya gradien menentukan ukuran langkah, maka Anda akan menggunakan gradient descent yang tidak dinormalisasi. Ada beberapa varian lain seperti Anda dapat membiarkan besarnya gradien menentukan ukuran langkah, tetapi Anda meletakkan topi di atasnya dan seterusnya.
Sekarang, ukuran langkah jelas memiliki pengaruh pada kecepatan konvergensi dan stabilitas. Manakah dari langkah langkah di atas yang berfungsi paling baik tergantung murni pada aplikasi Anda (yaitu fungsi objektif). Dalam kasus-kasus tertentu, hubungan antara kecepatan konvergensi, stabilitas dan ukuran langkah dapat dianalisis. Hubungan ini kemudian dapat memberikan petunjuk apakah Anda ingin pergi dengan gradient descent yang dinormalisasi atau tidak.
Untuk meringkas, tidak ada perbedaan antara gradient descent yang dinormalisasi dan tidak dinormalisasi (sejauh teori di balik algoritma berjalan). Namun, ini memiliki dampak praktis pada kecepatan konvergensi dan stabilitas. Pilihan satu di atas yang lain murni berdasarkan pada aplikasi / tujuan yang ada.
sumber
sumber
sumber