Dalam artikel ini kami akan mencoba memahami algoritme penurunan gradien dan matematika di baliknya.

Mari kita ambil masalah regresi linier sederhana di mana kita ingin memprediksi berat badan seseorang berdasarkan tinggi badannya. Untuk memulai masalah pembelajaran mesin yang diawasi, pertama-tama kita memerlukan data pelatihan yang memberi kita hubungan antara entitas: tinggi dan berat dalam kasus ini. Entitas yang membantu proses prediksi disebut variabel atau fitur independen. Bisa ada satu atau lebih variabel independen. Misalnya, dalam contoh kita, tinggi dan usia seseorang dapat diturunkan beratnya (Sekarang kita hanya akan fokus pada satu fitur — Regresi Linier Univariat). Entitas yang kita prediksi disebut variabel terikat atau target. Kita akan menggunakan “x” untuk menunjukkan fitur dan “y” untuk menunjukkan variabel target. Kami akan menggunakan “m” untuk menunjukkan jumlah sampel dalam data pelatihan. Katakanlah kita memiliki data 10 orang untuk melatih model kita, dalam hal ini, m = 10 . Terakhir, h(x) akan digunakan untuk menunjukkan fungsi hipotesis yang akan menentukan prediksi “y”.

Fungsi biaya digunakan untuk mengukur akurasi prediksi. Katakanlah hθ​(xi) adalah nilai prediksi dari variabel target (untuk catatan ke-i) dan yi​ adalah nilai sebenarnya yang diberikan (untuk catatan ke-i). Jadi, perbedaan antara keduanya memberi kita kesalahan (atau kerugian). Selisihnya dikuadratkan untuk menghilangkan tanda negatif yang diikuti dengan menjumlahkan komponen kesalahan untuk setiap nilaii di mana i=1,2,3…m dan akhirnya dibagi dengan jumlah total sampel kereta, sehingga menghasilkan mean squared error(MSE). Tujuan kami adalah meminimalkan istilah kesalahan ini : J(θ0​,θ1​)

Intuisi visual fungsi biaya dalam ruang 2d

(Ruang 2D: 2 variabel ; 1 fitur independen 'x' dan 1 variabel target 'Y')

Untuk mempermudah, katakanlah θ0 = 0 , yang membuat fungsi biaya hanya bergantung pada θ1, yaitu “h​(xi ​) = θ1x”. Sekarang jika Anda melanjutkan memplot θ1terhadap fungsi biaya J(θ1), kita akan mendapatkan grafik seperti di bawah ini.

Intuisi visual fungsi biaya dalam ruang 3d

Rekap singkat turunan sekolah menengah atas (Bacaan Opsional)

Secara sederhana turunan suatu fungsi dalam kalkulus adalah perubahan nilai keluaran terhadap sedikit perubahan nilai masukan. Misalnya, sebuah mobil menempuh jarak 'S' dalam waktu 'T', maka pada titik mana pun 't' kecepatan mobil dapat dihitung sebagai Sedikit perubahan jarak “ds” / Sedikit perubahan dalam waktu “dt”, bila dt mendekati 0.

Turunan parsial sama dengan turunan, hanya saja turunan tersebut mempunyai lebih dari satu variabel. Setiap komponen turunan parsial dihitung dengan menjaga agar variabel lain tetap konstan. Seperti yang mungkin telah Anda simpulkan bahwa ini entah bagaimana akan terkait dengan masalah kita tentang regresi linier satu fitur vs beberapa fitur.

Sasaran: Meminimalkan fungsi Biaya menggunakan Gradient Descent

Algoritme penurunan gradien membantu menemukan minimum (atau maksimum) lokal dari suatu fungsi tertentu. Algoritme dimulai dengan titik acak pada grafik di bawah dan kemudian berdasarkan kemiringan titik tersebut (turunan) memutuskan arah pergerakan selanjutnya. Jika kemiringan positif θ1menurun, sedangkan kemiringan negatif θ1meningkat hingga menyatu ke minimum lokal dimana akhirnya kemiringan menjadi 0 (pada θ1 = 1 ).

Secara matematis, algoritma penurunan gradien dapat digambarkan sebagai:

Perhatikan, jika J(θ0​,θ1​) positif, θj akan meningkat sebagai θj := θj + (beberapa nilai positif)dan jika J(θ0​,θ1​) negatif, θjakan berkurang karena θj := θj + (beberapa nilai negatif)

“α” di sini menentukan seberapa besar langkahnya. Semakin besar nilai α maka semakin besar kenaikan atau penurunannya. Ini disebut kecepatan pembelajaran. Nilai α yang sangat besar mungkin tidak akan pernah mencapai nilai minimum lokal karena kemungkinan besar algoritma akan menyimpang dari nilai minimum lokal dan terus berosilasi. Di sisi lain, kecepatan pembelajaran yang sangat kecil berarti jumlah langkah akan meningkat pesat dan dengan demikian algoritma akan menjadi sangat lambat, oleh karena itu lebih baik mempertimbangkan nilai “α” yang optimal.

Catatan penting di sini adalah saat menghitung parameter selama setiap langkah penurunan gradien; semua parameter harus diperbarui secara bersamaan

Hal penting lainnya yang perlu diperhatikan adalah kita tidak perlu mengubah kecepatan pemelajaran untuk mencapai nilai minimum lokal karena kemiringan akan terus menurun seiring dengan konvergensi algoritme menuju nilai minimum lokal, yang mengakibatkan nilai komponen kedua menjadi lebih kecil persamaan di bawah ini, yang berarti langkah-langkahnya lebih kecil.

Intuisi visual penurunan gradien dalam ruang 3d

Pikirkan tentang ini, Anda sedang berdiri di puncak gunung dan Anda harus turun untuk mencari teman Anda yang memiliki semua perbekalan. Anda akan melihat sekeliling dan kemudian mencari tahu ke arah mana Anda harus melangkah maju, agar tujuan Anda semakin dekat. Kurang lebih itulah fungsi penurunan gradien.

Selamat Belajar!!