Algoritma Keturunan Gradien: Metodologi, Varian & Praktik Terbaik
Diterbitkan: 2020-07-28Pengoptimalan adalah bagian integral dari pembelajaran mesin. Hampir semua algoritma pembelajaran mesin memiliki fungsi pengoptimalan sebagai segmen penting. Seperti kata yang disarankan, optimasi dalam pembelajaran mesin adalah menemukan solusi optimal untuk pernyataan masalah.
Dalam artikel ini, Anda akan membaca tentang salah satu algoritme pengoptimalan yang paling banyak digunakan, penurunan gradien. Algoritme penurunan gradien dapat digunakan dengan algoritme pembelajaran mesin apa pun dan mudah dipahami serta diterapkan. Jadi, apa sebenarnya penurunan gradien itu? Di akhir artikel ini, Anda akan memiliki pemahaman yang lebih jelas tentang algoritme penurunan gradien dan cara menggunakannya untuk memperbarui parameter model.
Daftar isi
Keturunan Gradien
Sebelum masuk jauh ke dalam algoritma penurunan gradien, Anda harus tahu apa itu fungsi biaya. Fungsi biaya adalah fungsi yang digunakan untuk mengukur kinerja model Anda untuk kumpulan data tertentu. Ini menemukan perbedaan antara nilai prediksi Anda dan nilai yang diharapkan, sehingga mengukur margin kesalahan.
Tujuannya adalah untuk mengurangi fungsi biaya sehingga modelnya akurat. Untuk mencapai tujuan ini, Anda perlu menemukan parameter yang diperlukan selama pelatihan model Anda. Penurunan gradien adalah salah satu algoritma optimasi yang digunakan untuk menemukan koefisien suatu fungsi untuk mengurangi fungsi biaya. Titik di mana fungsi biaya minimum dikenal sebagai minimum global.
Sumber
Intuisi di balik algoritma Gradient Descent
Misalkan Anda memiliki mangkuk besar yang mirip dengan tempat Anda memasukkan buah. Mangkuk ini adalah plot untuk fungsi biaya. Bagian bawah mangkuk adalah koefisien terbaik yang fungsi biayanya minimum. Nilai yang berbeda digunakan sebagai koefisien untuk menghitung fungsi biaya. Langkah ini diulang sampai koefisien terbaik ditemukan.

Anda dapat membayangkan penurunan gradien sebagai bola yang menggelinding menuruni lembah. Lembah adalah plot untuk fungsi biaya di sini. Anda ingin bola mencapai dasar lembah, di mana bagian bawah lembah mewakili fungsi biaya terkecil. Tergantung pada posisi awal bola, bola mungkin berada di banyak dasar lembah. Namun, dasar ini mungkin bukan titik terendah dan dikenal sebagai minima lokal.
Sumber
Baca: Meningkatkan dalam Pembelajaran Mesin: Apa Itu, Fungsi, Jenis & Fitur
Algoritma Keturunan Gradien- Metodologi
Perhitungan penurunan gradien dimulai dengan nilai awal koefisien untuk fungsi yang ditetapkan sebagai 0 atau nilai acak kecil.
koefisien = 0 (atau nilai kecil)
- Fungsi biaya dihitung dengan memasukkan nilai koefisien ini ke dalam fungsi.
Fungsi biaya = f(koefisien)
- Kita tahu dari konsep kalkulus bahwa turunan dari suatu fungsi adalah gradien dari fungsi tersebut. Menghitung kemiringan akan membantu Anda mengetahui arah untuk memindahkan nilai koefisien. Arahnya harus sedemikian rupa sehingga Anda mendapatkan biaya (kesalahan) yang lebih rendah di iterasi berikutnya.
del = turunan(fungsi biaya)
- Setelah mengetahui arah menurun dari lereng, Anda memperbarui nilai koefisien yang sesuai. Tingkat pembelajaran (alfa) dapat dipilih untuk mengontrol seberapa banyak koefisien ini akan berubah di setiap iterasi. Anda perlu memastikan bahwa tingkat pembelajaran ini tidak terlalu tinggi atau terlalu rendah.
koefisien = koefisien – (alfa * del)

- Proses ini diulang sampai fungsi biaya menjadi 0 atau sangat mendekati 0.
f(koefisien) = 0 (atau mendekati 0)
Pemilihan kecepatan belajar itu penting. Memilih tingkat pembelajaran yang sangat tinggi dapat melampaui minimum global. Sebaliknya, tingkat pembelajaran yang sangat rendah dapat membantu Anda mencapai minimum global, tetapi konvergensinya sangat lambat, membutuhkan banyak iterasi.
Sumber
Varian dari Gradient Descent Algorithm
Keturunan Gradien Batch
Penurunan gradien batch adalah salah satu varian yang paling banyak digunakan dari algoritma penurunan gradien. Fungsi biaya dihitung di seluruh kumpulan data pelatihan untuk setiap iterasi. Satu batch disebut sebagai satu iterasi dari algoritma, dan bentuk ini dikenal sebagai batch gradient descent.

Penurunan Gradien Stokastik
Dalam beberapa kasus, set pelatihan bisa sangat besar. Dalam kasus ini, penurunan gradien batch akan memakan waktu lama untuk dihitung karena satu iterasi memerlukan prediksi untuk setiap instance dalam set pelatihan. Anda dapat menggunakan penurunan gradien stokastik dalam kondisi ini di mana kumpulan data sangat besar. Dalam penurunan gradien stokastik, koefisien diperbarui untuk setiap instance pelatihan dan bukan di akhir kumpulan instance.
Keturunan Gradien Batch Mini
Baik penurunan gradien batch dan penurunan gradien stokastik memiliki pro dan kontra. Namun, menggunakan campuran penurunan gradien batch dan penurunan gradien stokastik dapat bermanfaat. Dalam penurunan gradien mini-batch, seluruh dataset tidak digunakan atau Anda tidak menggunakan satu instance dalam satu waktu. Anda mempertimbangkan sekelompok contoh pelatihan. Jumlah contoh dalam grup ini lebih sedikit dari seluruh dataset, dan grup ini dikenal sebagai mini-batch.
Praktik Terbaik untuk Algoritma Gradient Descent
- Petakan biaya versus waktu: Memplot biaya sehubungan dengan waktu membantu Anda memvisualisasikan apakah biaya menurun atau tidak setelah setiap iterasi. Jika Anda melihat biaya tetap tidak berubah, coba perbarui tingkat pembelajaran.
- Tingkat belajar: Tingkat belajar sangat rendah dan sering dipilih sebagai 0,01 atau 0,001. Anda perlu mencoba dan melihat nilai mana yang paling cocok untuk Anda.
- Rescale input: Algoritme penurunan gradien akan meminimalkan fungsi biaya lebih cepat jika semua variabel input diskalakan ulang ke rentang yang sama, seperti [0, 1] atau [-1, 1].
- Lebih sedikit lintasan: Biasanya, algoritme penurunan gradien stokastik tidak memerlukan lebih dari 10 lintasan untuk menemukan koefisien terbaik.
Lihat: 25 Pertanyaan & Jawaban Wawancara Pembelajaran Mesin
Membungkus
Anda mengetahui peran penurunan gradien dalam mengoptimalkan algoritme pembelajaran mesin. Salah satu faktor penting yang perlu diingat adalah memilih tingkat pembelajaran yang tepat untuk algoritme penurunan gradien Anda untuk prediksi yang optimal.
upGrad memberikan Diploma PG dalam Pembelajaran Mesin dan AI dan Magister Sains dalam Pembelajaran Mesin & AI yang dapat memandu Anda dalam membangun karier. Kursus-kursus ini akan menjelaskan perlunya Pembelajaran Mesin dan langkah-langkah lebih lanjut untuk mengumpulkan pengetahuan dalam domain ini yang mencakup beragam konsep mulai dari algoritme penurunan gradien hingga Neural Networks.