Regresi linear: Penurunan gradien

Penurunan gradien adalah teknik matematika yang secara berulang menemukan bobot dan bias yang menghasilkan model dengan kerugian terendah. Gradient descent menemukan bobot dan bias terbaik dengan mengulangi proses berikut untuk sejumlah iterasi yang ditentukan pengguna.

Model memulai pelatihan dengan bobot dan bias acak mendekati nol, lalu mengulangi langkah-langkah berikut:

  1. Hitung kerugian dengan bobot dan bias saat ini.

  2. Tentukan arah untuk memindahkan bobot dan bias yang mengurangi kerugian.

  3. Pindahkan nilai bobot dan bias dalam jumlah kecil ke arah yang mengurangi kerugian.

  4. Kembali ke langkah pertama dan ulangi prosesnya hingga model tidak dapat mengurangi kerugian lebih lanjut.

Diagram di bawah menguraikan langkah-langkah iteratif yang dilakukan penurunan gradien untuk menemukan bobot dan bias yang menghasilkan model dengan kerugian terendah.

Gambar 11. Ilustrasi proses penurunan gradien.

Gambar 11. Penurunan gradien adalah proses iteratif yang menemukan bobot dan bias yang menghasilkan model dengan kerugian terendah.

Konvergensi model dan kurva kerugian

Saat melatih model, Anda sering kali melihat kurva kerugian untuk menentukan apakah model telah berkonvergensi. Kurva kerugian menunjukkan bagaimana perubahan kerugian saat model dilatih. Berikut adalah tampilan kurva kerugian umum. Kerugian berada di sumbu y dan iterasi berada di sumbu x:

Gambar 12. Grafik kurva kerugian yang menunjukkan penurunan tajam, lalu penurunan bertahap.

Gambar 12. Kurva kerugian yang menunjukkan model menyatu di sekitar tanda iterasi ke-1.000.

Anda dapat melihat bahwa kerugian menurun secara drastis selama beberapa iterasi pertama, lalu menurun secara bertahap sebelum stabil di sekitar iterasi ke-1.000. Setelah 1.000 iterasi, kita dapat yakin bahwa model telah berkonvergensi.

Dalam gambar berikut, kita menggambarkan model pada tiga titik selama proses pelatihan: awal, tengah, dan akhir. Memvisualisasikan status model pada snapshot selama proses pelatihan memperkuat hubungan antara memperbarui bobot dan bias, mengurangi kerugian, dan konvergensi model.

Dalam gambar, kita menggunakan bobot dan bias turunan pada iterasi tertentu untuk merepresentasikan model. Dalam grafik dengan titik data dan snapshot model, garis kerugian biru dari model ke titik data menunjukkan jumlah kerugian. Semakin panjang garis, semakin besar kerugiannya.

Pada gambar berikut, kita dapat melihat bahwa sekitar iterasi kedua, model tidak akan dapat membuat prediksi dengan baik karena jumlah kerugian yang tinggi.

Gambar 13. Kurva kerugian dan grafik model yang sesuai, yang miring dari titik data.

Gambar 13. Kurva kerugian dan snapshot model di awal proses pelatihan.

Pada iterasi ke-400, kita dapat melihat bahwa penurunan gradien telah menemukan bobot dan bias yang menghasilkan model yang lebih baik.

Gambar 14. Kurva kerugian dan grafik model yang sesuai, yang memotong titik data, tetapi tidak pada sudut yang optimal.

Gambar 14. Kurva kerugian dan snapshot model di tengah pelatihan.

Dan pada iterasi ke-1.000, kita dapat melihat bahwa model telah menyatu, menghasilkan model dengan kerugian serendah mungkin.

Gambar 15. Kurva kerugian dan grafik model yang sesuai, yang cocok dengan data.

Gambar 15. Kurva kerugian dan snapshot model di dekat akhir proses pelatihan.

Latihan: Periksa pemahaman Anda

Apa peran penurunan gradien dalam regresi linear?
Penurunan gradien adalah proses berulang yang menemukan bobot dan bias terbaik yang meminimalkan kerugian.
Penurunan gradien membantu menentukan jenis kerugian yang akan digunakan saat melatih model, misalnya, L1 atau L2.
Penurunan gradien tidak terlibat dalam pemilihan fungsi kerugian untuk pelatihan model.
Penurunan gradien menghapus pencilan dari set data untuk membantu model membuat prediksi yang lebih baik.
Penurunan gradien tidak mengubah set data.

Konvergensi dan fungsi konveks

Fungsi kerugian untuk model linear selalu menghasilkan permukaan konveks. Sebagai hasil dari properti ini, saat model regresi linear konvergen, kita tahu bahwa model telah menemukan bobot dan bias yang menghasilkan kerugian terendah.

Jika kita membuat grafik permukaan kerugian untuk model dengan satu fitur, kita dapat melihat bentuk cembungnya. Berikut adalah permukaan kerugian untuk set data mil per galon hipotetis. Bobot berada di sumbu x, bias berada di sumbu y, dan kerugian berada di sumbu z:

Gambar 16. Grafik 3D permukaan kerugian.

Gambar 16. Permukaan kerugian yang menunjukkan bentuk cembungnya.

Dalam contoh ini, bobot -5,44 dan bias 35,94 menghasilkan kerugian terendah pada 5,54:

Gambar 17. Grafik 3D permukaan kerugian, dengan (-5.44, 35.94, 5.54) di bagian bawah.

Gambar 17. Permukaan kerugian yang menunjukkan nilai bobot dan bias yang menghasilkan kerugian terendah.

Model linear akan konvergen saat menemukan kehilangan minimum. Jika kita membuat grafik titik bobot dan bias selama penurunan gradien, titik-titik tersebut akan terlihat seperti bola yang menggelinding menuruni bukit, dan akhirnya berhenti di titik yang tidak memiliki lagi kemiringan ke bawah.

Gambar 18. Permukaan kerugian 3D konveks dengan titik penurunan gradien yang bergerak ke titik terendah.

Gambar 18. Grafik kerugian yang menampilkan titik penurunan gradien yang berhenti di titik terendah pada grafik.

Perhatikan bahwa titik kerugian hitam membentuk bentuk kurva kerugian yang persis sama: penurunan tajam sebelum menurun secara bertahap hingga mencapai titik terendah pada permukaan kerugian.

Dengan menggunakan nilai bobot dan bias yang menghasilkan kerugian terendah—dalam hal ini bobot -5,44 dan bias 35,94—kita dapat membuat grafik model untuk melihat seberapa baik model tersebut sesuai dengan data:

Gambar 19. Grafik pon dalam ribuan vs. mil per galon, dengan model yang sesuai dengan data.

Gambar 19. Model yang di-plotting menggunakan nilai bobot dan bias yang menghasilkan kerugian terendah.

Ini akan menjadi model terbaik untuk set data ini karena tidak ada nilai bobot dan bias lain yang menghasilkan model dengan kerugian yang lebih rendah.