Disusun oleh :
Kelebihan
Kemampuan konvergensi : Algoritma SARAH+ mungkin memiliki kemampuan
konvergensi yang baik dan cepat. Dengan penggunaan metode rekursif dan pembaruan
stokastik,dapat menghasilkan konvergensi yang lebih cepat daripada metode stokastik
sederhana.
Penghematan komputasi : jika algoritma ini dirancang dengan baik,dapat mengurangi
beban komputasi dibandingkan dengan metode stokastik non-rekursif.Hal ini terutama
penting dalam kasus di mana data pelatihan besar.
Kontrol Trade-Off : SARAH+ mungkin memberikan kontrol yang lebih baik terhadap
trade-off antara kecepatan konvergensi dan stabilitas algoritma ,terutama jika algoritma
ini memiliki parameter yang dapat disesuaikan.
Kekurangan
Kompleksitas Implementasi: Algoritma SARAH+ mungkin memerlukan kompleksitas
implementasi yang lebih tinggi dibandingkan dengan algoritma stokastik sederhana. Hal
ini dapat membuatnya sulit untuk diimplementasikan dengan benar.
Keterbatasan Informasi: Jika tidak ada dokumentasi atau penelitian yang memadai
tentang algoritma SARAH+, mungkin sulit untuk menilai kinerjanya atau memahami
kapan sebaiknya digunakan.
Sensitivitas terhadap Pemilihan Model dan Data: Algoritma stokastik bisa sensitif
terhadap pemilihan model dan data. Performanya dapat bervariasi tergantung pada
masalah yang dihadapi.
Overfitting: Algoritma rekursif yang terlalu kuat dapat mengalami risiko overfitting pada
data pelatihan.
2. PSEUDOCODE & ALGORITMA
1. Parameter
Algoritma ini memiliki tiga parameter utama:
- Learning Rate (η): Ini adalah langkah yang diambil dalam arah negatif
gradien untuk meminimalkan fungsi objektif.
- γ (0 < γ ≤ 1): Ini adalah parameter yang digunakan untuk mengontrol
toleransi. Algoritma akan berhenti ketika perbandingan antara kuadrat
norma vektor perbedaan iterasi saat ini dan sebelumnya kurang dari γ.
- Maximum Inner Loop Size (m): Ini adalah jumlah maksimum iterasi yang
diperbolehkan dalam loop dalam setiap iterasi utama. Ini digunakan untuk
mengendalikan overhead komputasi.
2. Inisialisasi: Inisialisasi w˜0 adalah titik awal untuk parameter yang ingin
dioptimalkan.
3. Iterasi Utama
Algoritma memiliki dua loop utama:
a. Loop Pertama (for s = 1, 2, ...): Loop ini digunakan untuk mengulang
seluruh proses iterasi dalam algoritma. Di dalam loop ini:
- kvt−1k2 > γkv0k2: Ini adalah salah satu kondisi berhenti, yang
memeriksa perbandingan antara norma kuadrat vektor perbedaan
iterasi saat ini dan sebelumnya.
- t < m: Ini adalah batasan untuk jumlah iterasi dalam loop kedua.
- Pilih data secara acak: Data latihan ke-i dipilih secara acak dari
data latihan (i diambil dari [n]).
- Hitung gradien aktual (vt): Ini adalah gradien data ke-i pada iterasi
saat ini dikurangi gradien data yang sama pada iterasi
sebelumnya, ditambah dengan vt-1.
- Hitung parameter iterasi selanjutnya (wt+1) dengan gradien vt dan
langkah pembelajaran η.
- Increment t.
4. Setelah loop kedua selesai, w˜s di update dengan wt, yang adalah parameter
iterasi terakhir dalam loop kedua.
Jika diimplementasikan menjadi kode program maka akan menjadi seperti berikut:
ShuffleData(dataTrain)
// mengacak data pelatihan
AppendTemporaryThetaToTemporaryList(temporaryThetaList,
temporaryTheta2)
iter <- iter + 1
2) Jika sudah terinstall, buka R Studio lalu ke bagian tab kanan bawah terdapat “Packages”.
4) Install packages bisa via Repository (CRAN) atau Download manual di google,
dikarenakan packages gradDescent tidak bisa via Repository maka harus download di
link berikut :
https://cran.r-project.org/src/contrib/Archive/gradDescent/
5) Setelah download packages, ubah install from menjadi “Package Archive File”, lalu
masukkan file yang telah didownload, lalu klik install.
6) Jika sudah terinstall, maka menu console akan menampilkan tampilan sebagai berikut :
7) Jika ingin menggunakan library pergi ke tab kanan bawah, lihat menu packages dan centang
library gradDescent.
8) Setelah instalasi package selesai, kita dapat mencoba dengan menggunakan example code yang
sudah disediakan di link berikut
http://cran.nexr.com/web/packages/gradDescent/gradDescent.pdf
Sebagai contoh kita mengambil example code dari algoritma SARAH
4. STUDI KASUS
a) Untuk studi kasus menggunakan Dataset Data Rumah dengan ketentuan seperti berikut:
- Data terdiri dari 7 kolom, Lunas Tanah, Luas Bangunan, Lebar Jalan, Jumlah
Lantai, Jumlah KT, Jumlah KM, Harga.
- Data berjumlah 20 baris.