Apa itu Gradient Descent dalam Machine Learning?

Dalam setiap masalah Machine Learning di mana ada asosiasi regresi, ada satu istilah lagi yang terkait dan itu disebut Gradient Descent. Seperti yang kita ketahui bahwa Regresi Linier, Regresi Logistik, SVM, dll. Diasosiasikan dengan menemukan garis yang paling cocok untuk cocok di semua titik di mana kemiringan garis dan bias cenderung menutupi semua titik dalam kumpulan data. Ini tidak pernah terjadi karena garis yang pas mengarah ke kondisi overfitting. Jadi, perbedaan yang ada antara output target dan output yang diprediksi disebut sebagai fungsi kerugian atau fungsi biaya dan diberikan oleh perbedaan nilai prediksi dengan nilai aktual pangkat 2.

Ketika fungsi biaya ini minimum, kita mengatakan bahwa kita telah mencapai titik error terkecil dan model kita dapat digunakan sebagai model benchmark. Di bidang statistika, banyak penyetelan dan penyesuaian yang dilakukan untuk mencapai titik error terkecil.

Salah satu proses tweaking ini adalah memperbarui bobot/kemiringan dan bias/intersep. Pembaruan bobot dan bias dalam pembelajaran Mesin berbasis regresi tergantung pada fungsi biaya, jika fungsi biaya dari satu baris lebih rendah dari yang lain maka kita akan menggunakan garis itu sebagai garis yang paling cocok untuk masalah kita.

Cara kita memilih nilai bobot dan bias pada setiap pembaruan/iterasi dicapai dengan bantuan Gradient Descent. Istilah ini sering digunakan di bidang Ilmu Data. Algoritma Deep Learning modern juga mengikuti konsep Gradient Descent. Jadi, apakah Gradient Descent ini?? Mari kita pahami istilah ini secara detail:

Keturunan Gradien

Setelah seseorang menemukan fungsi biaya/kerugian/Jumlah error kuadrat mengenai bobot dan bias sekarang, dia akan terus mengubah nilai bobot dan bias. Nilai-nilai bias dan Jumlah error kuadrat dari setiap baris kemudian akan diplot dalam bentuk grafik di mana sumbu y sesuai dengan Jumlah error kuadrat dan sumbu x sesuai dengan nilai intersep. Grafik antara dua variabel ini menunjukkan bentuk parabola terbalik. Parabola ini terdiri dari titik minimum di mana nilai error akan menjadi yang paling kecil. Untuk melakukan proses ini secara manual membutuhkan banyak waktu dan tenaga karena merupakan proses yang berulang tetapi inilah penyelamat dengan nama Gradient Descent. Dengan Gradient Descent seseorang dapat menemukan titik error minimum dengan sangat cepat dan mudah.

Mekanisme yang diadaptasi oleh Gradient Descent untuk mempercepat proses pembobotan dan update bias adalah menghitung turunan/slope dari Sum of squared error terhadap bias/intercept. Nilai bias awal diambil sebagai bilangan acak apa pun dan kemudian melalui iterasi yang berurutan, algoritme penurunan Gradien mencoba meminimalkan kemiringan ini dan memperbarui bobot yang sesuai. Jika hal yang sama dilakukan dengan bantuan Sum of squared error saja maka waktu yang dibutuhkan untuk mencapai minimum global akan lebih banyak dan juga titik konvergensi yang tepat tidak akan tercapai.

Satu hal lagi yang perlu diperhatikan di sini adalah langkah awal yang diambil oleh algoritma Gradient descent sangat besar untuk konvergen dengan cepat tetapi langkah terakhir ketika cenderung mendekati titik minimum kecil agar tidak melewati minimum. Bobot dan bias yang diperbarui dicapai dengan bantuan satu parameter lagi yang dikalikan dengan kemiringan antara fungsi biaya dan intersep yang disebut learning rate. Tingkat pembelajaran ini menentukan berapa lama atau pendek kita harus mengambil langkah-langkah untuk mendapatkan bobot dan bias yang sesuai dan error yang paling kecil. Oleh karena itu, bias dan bobot baru adalah selisih bobot saat ini dikurangi kemiringan error dan intersep dikalikan dengan kecepatan pembelajaran. Nilai kecepatan belajar harus berada di antara kisaran 0 hingga 1 karena kecepatan belajar yang tinggi dapat menyebabkan kondisi di mana kemiringan terkecil tidak dapat dicapai dan cenderung berosilasi di atas parabola.

Juga, kecepatan belajar tidak boleh terlalu kecil sehingga minimalisasi error berhenti sebelum minima. Jadi, seorang Data Scientist harus ekstra hati-hati dalam memilih learning rate untuk melakukan proses Gradient Descent. Jika kita bandingkan Gradient Descent ini dengan Deep learning maka istilah yang digunakan adalah Back Propagation dan mekanismenya tetap sama.

Jadi, setiap kali kita melakukan analisis berbasis regresi atau di mana ada asosiasi yang sesuai dengan garis terbaik di bawah representasi grafis, maka mekanisme tingkat bawah di balik kerja algoritma ini adalah Gradient Descent. Rumus untuk ini diberikan di bawah ini dengan representasi bergambar yang sama:

Rumus untuk Fungsi Biaya

Rumus untuk Keturunan Gradien