com
Lihat diskusi, statistik, dan profil penulis untuk publikasi ini di: https://www.researchgate.net/publication/327780489
KUTIPAN BACA
5 197
6 penulis, termasuk:
Shah Nazir
Universitas Peshawar
152 PUBLIKASI 1.108 KUTIPAN
LIHAT PROFIL
Semua konten yang mengikuti halaman ini diunggah oleh Shah Nazir pada 15 Desember 2018.
40154, Indonesia
4Departemen Ilmu Komputer, Universitas Swabi, Swabi, Pakistan
Abstrak
Saat ini, banyak varian penurunan gradien (yaitu, metode yang termasuk dalam
pembelajaran mesin untuk regresi) telah diusulkan. Selain itu, algoritma ini telah
banyak digunakan untuk menangani masalah dunia nyata. Namun, implementasi
dari algoritma ini ke dalam perpustakaan perangkat lunak sedikit. Oleh karena itu,
kami fokus pada pembuatan paket yang ditulis dalam R yang mencakup sebelas
algoritma berdasarkan penurunan gradien, sebagai berikut: Mini-Batch Gradient
Descent (MBGD), Stochastic Gradient Descent (SGD), Stochastic Average Gradient
Descent (SAGD), Momentum Gradient Descent (MGD), Accelerated Gradient
Descent (AGD), Adagrad, Adadelta, RMSprop dan Adam. Selain itu, analisis
eksperimental pada prediksi CO2 faktor kompresibilitas juga dilakukan. Hasil
penelitian menunjukkan bahwa akurasi dan biaya komputasi cukup baik, yaitu
0,0085 dan 0,142 detik untuk rata-rata root mean square root dan waktu simulasi.
2342
Pengembangan Paket R dan Analisis Eksperimental pada Prediksi . . . .2343
1. Perkenalan
Ada banyak masalah yang diselesaikan dengan memanfaatkan penurunan gradien dan variannya.
Misalnya, penelitian yang dilakukan oleh Klein et al. [1] menggunakan varian penurunan gradien,
yaitu penurunan gradien stokastik adaptif, untuk registrasi gambar. Dalam sastra
[2], penurunan gradien digunakan untuk memaksimalkan ketajaman objek bergerak
dalam pemindaian mikroskop elektron. Penelitian difokuskan pada segmentasi dan
pemulihan karakter yang tidak lengkap, seperti 1000 karakter Ibrani kuno dalam 8 .th
– 7th abad sebelum masehi, yang telah dilakukan dengan perhitungan dengan gradient descent [3].
Selanjutnya, metode gradien sebagian besar tertanam dan digunakan untuk optimasi
dalam metode lain. Penurunan gradien stokastik rata-rata elastis digunakan untuk
optimasi dalam deep learning dalam komputasi paralel [4]. Estimasi parameter mesin vektor
dukungan dapat dilakukan dengan menggunakan algoritma berbasis penurunan gradien
[5]. Penurunan gradien algoritma diimplementasikan untuk membangun sistem berbasis aturan
fuzzy di perpustakaan perangkat lunak “frbs[6, 7].
Sisa dari makalah ini disusun sebagai berikut. Bagian II secara singkat memberikan
pengantar tentang penurunan gradien. Bagian III menyajikan pengembangan perpustakaan
perangkat lunak di R. Pada Bagian IV dan Bagian V, kami mendemonstrasikan analisis
eksperimental yang memprediksi faktor kompresibilitas gas (yaitu,Z-faktor). Hasil dan
pembahasan disajikan pada Bagian VI. Akhirnya, Bagian VII menyimpulkan penelitian dan
pekerjaannya di masa depan.
Dalam tugas regresi, pelatihan data, yang sebagian besar diatur dalam tabel di mana
baris mewakili instance/sampel sementara kolom melibatkan parameter dan variabel
keluaran, harus disediakan. Langkah pembelajaran dilakukan untuk membangun sebuah
model. Dalam hal ini, model pada dasarnya berisi koefisien masing-masing variabel dalam
fungsi hipotesis (yaitu, persamaan linier). Jadi, dapat dilihat bahwa penurunan gradien
digunakan untuk menentukan koefisien dalam model dengan meminimalkan fungsi biaya.
Setelah mendapatkan model, prediksi atas pengujian data dapat dilakukan dengan
menghitung model linier.
Seperti yang kami sebutkan sebelumnya bahwa ada banyak varian penurunan gradien
yang telah diusulkan. Di bagian ini, kami menyediakan beberapa algoritma berdasarkan
penurunan gradien. Pertama, kami menyediakan kode pseudo penurunan gradien, seperti
yang diilustrasikan pada Gambar. 1. Jelas, memperbarui koefisien (θ) dilakukan untuk
mendapatkan model yang sesuai sehingga pemetaan antara parameter input dan parameter
output pada data training benar. Selain itu, menurut algoritma kita harus menghitung fungsi
hipotesis dari setiap sampel data untuk setiap iterasi. Karena itu, biaya komputasi bisa sangat
tinggi.
Salah satu modifikasi yang diusulkan untuk meningkatkan kinerja adalah penurunan
gradien rata-rata stokastik [15]. Gambar 2 menunjukkan bahwa biaya komputasi dikurangi
dengan melakukan proses stokastik. Selain itu, dalam hal ini kita tidak perlu menghitung
semua sampel data. Varian lain yang kami pertimbangkan dalam penelitian ini adalah mini-
penurunan gradien batch (MBGD) [14], penurunan gradien stokastik (SGD) [9],
penurunan gradien momentum (MGD) [16], penurunan gradien dipercepat (AGD) [17],
Adadelta [10], Adagrad [11], RMSprop [18], dan Adam [19]. Algoritma rinci dapat
ditemukan di literatur masing-masing.
Akhir
Gambar 2. Kode semu dari stochastic average gradient descent (SAGD) [15].
Seperti yang ditunjukkan pada Gambar. 3, kita dapat melihat bahwa secara umum,
ada tiga strategi modifikasi penurunan gradien yang diterapkan. Pertama, empat
varian, yaitu batch gradient descent, MBGD, SGD, dan SAG, termasuk dalam algoritma
yang memiliki cara berbeda dalam memilih jumlah sampel data. Dua teknik optimasi
kecepatan belajar adalah MGD dan AGD. Kelompok terakhir didasarkan pada
penentuan learning rate dengan mekanisme adaptif. Dalam grup ini, kami
mempertimbangkan 4 algoritma: Adagrad, Adadelta, RMSProp, dan Adam.
Gambar 4 menjelaskan diagram aliran data (DFD) yang diterapkan dalam paket “gradDescent”.
Terlihat bahwa enam modul telah diimplementasikan, sebagai berikut: penskalaan fitur, pemisahan
dataset, pembelajaran, prediksi, penskalaan fitur terbalik, dan perhitungan kesalahan. Penskalaan
fitur, yang juga dikenal sebagai normalisasi, digunakan untuk mengubah skala kumpulan data
dengan menggunakan penskalaan varians dan penskalaan min-max sehingga kumpulan data baru
dihasilkan dengan rentang antara [-1, 1] dan [0, 1]. Penting untuk dieksekusi ketika kita memiliki
skala yang sangat berbeda antara fitur/variabel. Pada langkah fitting, terkadang kita perlu membagi
dataset menjadi dua bagian: data training
(Kereta Data) dan pengujian data (Tes Data). Untuk mencapai tujuan ini, kami menyediakan dataset
pemisahan. Fungsi utama yang disertakan dalam paket ini adalah untuk mempelajari data pelatihan
untuk mendapatkan model. Pada langkah pembelajaran, kami menyediakan beberapa fungsi yang
terkait dengan algoritmanya. Setelah itu, dengan model yang diperoleh, kita dapat memprediksi
pengujian data. Jika kita melakukan normalisasi, de-normalisasi/penskalaan fitur terbalik harus
dijalankan untuk mendapatkan bilangan real dari nilai prediksi. Kesalahan dapat dihitung dengan
melakukan fungsi terakhir di DFD.
Ini berarti bahwa algoritma Adadelta dapat dieksekusi dengan memanggil ADELTA()
dengan parameter berikut:
- dataTrain: data.frame yang mewakili data pelatihan (M × n), di mana M adalah jumlah
kejadian dan n adalah jumlah variabel dimana kolom terakhir adalah variabel keluaran.
dataTrain harus memiliki setidaknya dua kolom dan sepuluh baris data yang hanya
berisi angka (bilangan bulat atau float).
- seed: nilai integer untuk static random. Nilai defaultnya adalah NULL, yang berarti fungsi
tersebut tidak akan melakukan static random.
iterasi: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 1000, dan 10000. Terlihat
total 120 simulasi yang kami lakukan. Kita perlu melakukan semua
simulasi untuk mendapatkan tren konvergensi.
4) Prediksi atas pengujian data dilakukan dengan memanggil ramalan().
5) Karena pada langkah sebelumnya kita melakukan normalisasi, kita perlu
mendapatkan nilai prediksi nyata dengan melakukan de-normalisasi
dengan fungsivariansDescaling().
6) Akhirnya, kami menghitung root mean squared error (RMSE) dengan
mengeksekusiRMSE(). Selain itu, beberapa perbandingan dengan metode
lain juga dilakukan.
Secara rinci, rata-rata RMSE terbaik dari semua algoritma dapat dilihat pada Tabel 1.
Dapat dilihat bahwa AGD telah mengungguli algoritma lainnya dengan 0,123 s untuk biaya
komputasi. Selain itu, metode tercepat adalah RMSPROP yang hanya membutuhkan waktu
0,044 detik.
Nilai prediksi dari semua data testing dapat dilihat pada Gambar 6. Meskipun gradient
descent dan variannya dapat mengikuti tren Z-Factor, nilai ekstrim sulit diprediksi dengan
benar. Dengan demikian, tampaknya algoritma lain yang berbasis model non-linier atau soft
computing harus dipertimbangkan untuk digunakan, seperti sistem berbasis aturan fuzzy [6,
7], dan himpunan kasar [18].
6. Kesimpulan
Dalam penelitian ini, kami telah mengembangkan R paket, yaitu "gradDescent". Ini
mengimplementasikan model linier berdasarkan penurunan gradien untuk menangani tugas
regresi. Secara total, sebelas algoritma telah disematkan sebagai berikut: Mini-Batch Gradient
Descent, Stochastic Gradient Descent, Stochastic Average Gradient Descent, Momentum
Gradient Descent, Accelerated Gradient Descent, Adagrad, Adadelta, RMSprop dan Adam.
Fitur lain juga disertakan dalam paket, seperti normalisasi, de-normalisasi, dan perhitungan
kesalahan. Selanjutnya, untuk memvalidasi implementasi, kami melakukan studi
eksperimental pada prediksiZ-Faktor, yaitu tugas yang diperlukan untuk mengetahui sifat
termodinamika gas. Hasilnya menunjukkan bahwa algoritma yang disertakan dalam paket
memberikan nilai prediksi yang masuk akal dariZ-Faktor. Jadi, paket “lulusanKeturunan” dapat
digunakan sebagai perpustakaan perangkat lunak alternatif untuk menangani berbagai tugas
regresi dalam masalah dunia realistis.
ABDN memberikan penghargaan kepada RISTEK DIKTI atas hibah dalam Penelitian
Terapan Unggulan Perguruan Tinggi Negeri (PTUPT) dan Penelitian Unggulan Strategi
Nasional (PUSN).
Referensi
1. Klein, S.; Pluim, JPW; Menatap, M.; dan Viergever, MA (2009). Optimalisasi
penurunan gradien stokastik adaptif untuk pendaftaran gambar.Jurnal
Internasional Visi Komputer, 81(3), 227.
2. Kudryavtsev, AV; Dembélé, S.; dan Piat, N. (2017). Fokus otomatis pada objek
bergerak dalam pemindaian mikroskop elektron.Ultramikroskopi, 182, 216-225.
3. Sadar, B.; dan Levin, D. (2017). Pemulihan goresan karakter tulisan tangan dengan bantuan
komputer.Desain dengan bantuan komputer, 89, 12-24.
4. Zhang, S.; Choromanska, AE; dan LeCun, Y. (2015). Pembelajaran mendalam
dengan rata-rata elastis SGD.Prosiding Kemajuan dalam Sistem Pemrosesan
Informasi Saraf. Montreal, Kanada, 685-693.
5. Vila, A.; Fauvel, M.; Chanussot, J.; Gamba, P.; dan Benediktsson, JA (2008).
Optimalisasi gradien untuk beberapa parameter kernel dalam
mendukung klasifikasi mesin vektor.Prosiding Simposium Geosains dan
Penginderaan Jauh, 2008. IGARSS 2008. IEEE International.Boston, AS, 1-2.
6. Riza, LS; Bergmeir, C.; Herrera, F.; dan Benitez, JM (2014, Juli). Belajar
dari data menggunakan paket R" FRBS".Prosiding Sistem Fuzzy (FUZZ-
IEEE), 2149-2155.
7. Riza, LS; Bergmeir, C.; Herrera, F.; dan Benitez, JM (2014). FRBS: Sistem
Berbasis Aturan Fuzzy untuk klasifikasi dan regresi di R.Jurnal Perangkat
Lunak Statistik, 65(6), 1-30.
8. Yuan, YX (1999). Langkah-ukuran untuk metode gradien.Studi AMS IP dalam
Matematika Tingkat Lanjut, 42(2), 785.
9. Bottou, L. (2010). Pembelajaran mesin skala besar dengan penurunan gradien
stokastik.Prosiding Konferensi Internasional ke-19 tentang Statistik
Komputasi (COMPSTAT'2010). Paris, Prancis, 177-186.
10. Zeiler, MD (2012). ADADELTA: metode tingkat pembelajaran adaptif. arXiv
pracetak arXiv:1212.5701. Diakses pada Desember 2017, dari https://
arxiv.org/abs/1212.5701.
11. Duchi, J.; Hazan, E.; dan Penyanyi, Y. (2011). Metode subgradien adaptif untuk
pembelajaran online dan optimasi stokastik.Jurnal Penelitian Pembelajaran
Mesin, 12, 2121-2159.
12. Riza, LS; Nasrulloh, JIKA; Junaeti, E.; Zain, R.; dan Nandiyanto, ABD
(2016). GradDescentR: Paket R yang mengimplementasikan
penurunan gradien dan variannya untuk tugas regresi.Prosiding
Teknologi Informasi, Sistem Informasi dan Teknik Elektro (ICITISEE),
Bandung, Indonesia, 125-129.
13. Cauchy, A.-L. (1847). Methode generale pour la resolution des systemes
d'equations.Comptes rendus de l'Académie des Sciences de Paris, 25, 536-538.
14. Cotter, A.; Syamir, O.; Srebro, N.; dan Sridharan, K. (2011). Algoritme mini-batch yang
lebih baik melalui metode gradien yang dipercepat.Prosiding Kemajuan dalam
sistem pemrosesan informasi saraf. Granada, Spanyol, 1647-1655.
15. Schmidt, M.; Le Roux, N.; dan Bach, F. (2017). Meminimalkan jumlah hingga dengan
gradien rata-rata stokastik.Pemrograman Matematika, 162(1-2), 83-112.
16. Qian, N. (1999). Pada istilah momentum dalam algoritma pembelajaran
penurunan gradien.Jaringan Saraf, 12(1), 145-151.
17. Nesterov, Y. (1983). Sebuah metode untuk masalah minimisasi cembung tak
terbatas dengan laju konvergensi O (1/k̂ 2).Doklady AN USSR, 269(3), 543-547.
18. Riza, LS; Janusz, A.; Bergmeir, C.; Cornelis, C.; Herrera, F.; Slezak, D.; dan
Benítez, JM (2014). Implementasi algoritma teori himpunan kasar dan
teori himpunan kasar fuzzy dalam paket R “RoughSets”.Ilmu Informasi,
287, 68-89.
19. Kingma, D.; dan Ba, J. (2014). Adam: Sebuah metode untuk optimasi
stokastik. pracetak arXiv arXiv:1412.6980. Diakses pada Desember 2017,
dari https://arxiv.org/abs/1412.6980.
20. Rowlinson, JS; dan Watson, ID (1969). Prediksi sifat termodinamika
cairan dan campuran fluida-I Prinsip keadaan yang sesuai dan
ekstensinya.Ilmu Teknik Kimia, 24(10), 1565-1574.