Back to IF3270 Pembelajaran Mesin

Batch Gradient Descent and the Perceptron Learning (Delta) Rule

Questions/Cues

  • Mengapa batch gradient descent menghitung pembaruan bobot setelah seluruh data?
  • Bagaimana fungsi kesalahan (error) didefinisikan untuk perceptron?
  • Langkah‑langkah matematis apa yang menghasilkan delta rule?
  • Apa peran laju belajar (learning rate) η dalam konvergensi?
  • Bagaimana cara memeriksa konvergensi pada setiap epoch?
  • Kapan batch gradient descent dapat terjebak pada minimum lokal?
  • Apa perbedaan utama antara fungsi aktivasi terthreshold dan tidak terthreshold?

Reference Points

  • Slide_Outline.pptx (Slides 13‑26)
  • Perceptron_Training.pptx (Slides 16‑23, 24‑26)
  • Gradient_Descent_Theory.pdf (Pages 19‑23)
  • Raschka & Liu (2022) Machine Learning with PyTorch and Scikit‑Learn (Chapter 4)

Batch Gradient Descent Overview

Batch gradient descent (BGD) adalah strategi optimisasi yang memperbarui semua bobot model sekaligus setelah menghitung gradien total pada seluruh kumpulan data pelatihan. Ide dasarnya mirip dengan menuruni sebuah lembah: gradien menunjukkan arah menurun paling curam, dan langkah (learning rate η) menentukan seberapa jauh kita melangkah pada tiap iterasi. Karena gradien dihitung atas semua contoh, nilai yang diperoleh merupakan rata‑rata yang stabil, sehingga arah pergerakan lebih konsisten dibandingkan metode yang memperbarui bobot per contoh. Pada konteks perceptron, BGD memastikan bahwa setiap epoch menghasilkan satu set bobot yang menurunkan fungsi kesalahan secara global.

Secara formal, misalkan terdapat  contoh pelatihan dengan dan label . Bobot model dituliskan (termasuk bias dengan ). Pada setiap epoch, gradien fungsi kesalahan dihitung sebagai:

di mana adalah prediksi perceptron. Pembaruan bobot kemudian:

Karena semua contoh dipertimbangkan sekaligus, BGD cenderung menghasilkan lintasan konvergensi yang halus, meskipun memerlukan memori yang cukup untuk menampung seluruh dataset pada tiap iterasi.

Error Function for the Perceptron (Sum‑of‑Squares)

Pada perceptron tradisional, fungsi aktivasi bersifat diskrit (sign). Namun untuk menerapkan gradient descent, kita memerlukan fungsi yang dapat diturunkan. Oleh karena itu, biasanya dipilih fungsi sum‑of‑squares error (SSE) tanpa threshold:

Pada persamaan di atas, output model bersifat kontinu, sehingga gradien dapat dihitung secara analitis. SSE memiliki bentuk parabola dalam ruang bobot, yang berarti permukaan kesalahan adalah convex (cembung) bila data dapat dipisahkan secara linear; dalam kasus tidak terpisahkan, permukaan tetap berbentuk parabola tetapi dengan minimum global yang merepresentasikan solusi “best‑fit”.

Contoh numerik: dengan tiga contoh , , dan , inisialisasi bobot . Menghitung menghasilkan semua nol, sehingga error pada tiap contoh adalah . Gradien total menjadi . Dengan , pembaruan bobot pertama menjadi . Proses ini diulang hingga perubahan bobot menjadi sangat kecil atau error total berada di bawah ambang tertentu.

Derivation of the Delta Rule

Delta rule adalah nama lain untuk pembaruan bobot yang diperoleh dari gradien descent pada fungsi SSE. Dari definisi gradien di atas:

Jika kita menuliskan (output kontinu), maka:

untuk setiap komponen bobot . Persamaan ini menunjukkan bahwa perubahan pada bobot sebanding dengan selisih antara target dan prediksi, dikalikan dengan nilai fitur yang bersangkutan, dan dijumlahkan atas semua contoh. Karena selisih dapat bernilai positif atau negatif, bobot akan naik atau turun sesuai kebutuhan untuk mengurangi error.

Pada implementasi praktis, biasanya dilakukan dalam dua fase: (1) akumulasi selama satu epoch (menyimpan nilai sementara), dan (2) penambahan akumulasi tersebut ke bobot setelah seluruh contoh diproses. Ini memastikan bahwa setiap epoch menghasilkan satu langkah gradien yang konsisten.

Algorithmic Steps for Batch Perceptron Training

  1. Inisialisasi: Pilih nilai kecil acak untuk semua bobot (termasuk bias).
  2. Loop Epoch: Selama belum memenuhi kriteria penghentian (misalnya error < ε atau jumlah epoch maksimum), lakukan:

a. Set semua .

b. Iterasi contoh: Untuk tiap contoh :

  • Hitung output kontinu .
  • Hitung selisih .
  • Untuk tiap bobot , akumulasikan .

c. Pembaruan bobot: Setelah semua contoh diproses, set untuk semua .

d. Evaluasi error: Hitung kembali nilai SSE dengan bobot baru; jika penurunan error kurang dari toleransi, hentikan.

Contoh numerik singkat: dengan dataset dua‑dimensi dan , setelah epoch pertama bobot berubah menjadi . Pada epoch kedua, gradien menjadi lebih kecil, sehingga pembaruan bobot berkurang, dan error menurun secara eksponensial hingga konvergen.

Convergence, Learning Rate, and Local Minima

Laju belajar (η) berperan penting dalam kecepatan dan stabilitas konvergensi. Jika η terlalu besar, langkah gradien dapat melampaui minimum dan menyebabkan osilasi atau divergensi. Sebaliknya, η yang terlalu kecil menghasilkan konvergensi yang sangat lambat, terutama pada dataset besar. Praktik umum adalah memulai dengan nilai η ≈ 0.01‑0.1 dan menurunkannya secara bertahap (learning‑rate schedule) bila error tidak menurun signifikan.

Karena fungsi SSE pada model linear bersifat kuadratik, permukaan error memiliki satu minimum global bila data dapat dipisahkan secara linear; dalam kasus tidak terpisahkan, minimum global tetap ada (representasi best‑fit). Namun, bila fungsi aktivasi dipertahankan sebagai fungsi step (sign), permukaan error menjadi tidak diferensial dan dapat menimbulkan minimum lokal yang membuat algoritma tidak konvergen. Oleh karena itu, dalam praktik BGD biasanya dipasangkan dengan fungsi aktivasi kontinu (misalnya linear atau sigmoid) selama fase pelatihan, kemudian hasil bobot dapat dipakai kembali pada fungsi step untuk klasifikasi akhir.

Untuk memeriksa konvergensi, selain memantau nilai SSE, dapat juga memeriksa norma gradien . Jika norma ini mendekati nol, maka perubahan bobot selanjutnya akan sangat kecil, menandakan bahwa titik optimum telah tercapai.

Summary

Batch Gradient Descent memperbarui bobot perceptron setelah menghitung gradien total pada seluruh data, menghasilkan langkah optimisasi yang stabil namun memerlukan memori penuh. Fungsi kesalahan yang umum dipakai adalah sum‑of‑squares, yang menghasilkan permukaan error kuadratik dan memungkinkan derivasi Delta Rule: . Algoritma melibatkan akumulasi pembaruan selama satu epoch, diikuti oleh pembaruan simultan pada semua bobot, dengan konvergensi dipengaruhi kuat oleh learning rate dan sifat convexitas error. Pada data yang tidak dapat dipisahkan secara linear, BGD tetap menemukan solusi best‑fit, meskipun tidak menjamin klasifikasi sempurna.