1 PENDAHULUAN
1.1 Latar Belakang
Jaringan syaraf tiruan merupakan salah satu metode yang digunakan untuk memprediksi, mendiagnosa, dan klasifikasi suatu data. Jaringan syaraf tiruan (JST) merupakan suatu sistem pemrosesan informasi yang didesain berdasarkan cara kerja sistem syaraf manusia. Penelitian dan pengembangan teknologi menggunakan jaringan syaraf tiruan dapat diimplementasikan pada kehidupan sehari-hari, dunia kedokteran, dan dunia bisnis (Fausset, 1994).
Backpropagation merupakan salah satu metode dalam jaringan syaraf tiruan yang populer dan memiliki keunggulan dalam kemampuannya untuk belajar, adaptasi terhadap suatu objek, dan toleransi terhadap kesalahan (Hagan et al, 2002). Beberapa faktor yang berpengaruh dalam pemrosesan metode backpropagation adalah input, bias, learning rate.
Metode backpropagation dapat digunakan untuk mengklasifikasikan kualitas air aman dikonsumsi manusia atau tidak. Pada penelitian kali ini peneliti ingin mengklasifikasikan kualitas air menggunakan metode backpropagation. Metode backpropagation memiliki kemampuan untuk menyelesaikan permasalahan yang rumit. Akses ke air minum yang aman sangat penting untuk kesehatan, hak asasi manusia dan komponen kebijakan yang efektif untuk perlindungan kesehatan. Hal ini penting sebagai masalah kesehatan dan pembangunan di tingkat nasional, regional dan lokal. Di beberapa daerah, telah terbukti bahwa investasi dalam penyediaan air dan sanitasi dapat menghasilkan keuntungan ekonomi bersih, karena pengurangan efek kesehatan yang merugikan dan biaya perawatan kesehatan lebih besar daripada biaya melakukan intervensi.Sehingga diperlukan analisis untuk mengklasifikasikan kualitas air berdasarkan faktor-faktor yang berpengaruh.
1.2 Jaringan Syaraf Tiruan
Jaringan Syaraf Tiruan (artificial neural network) adalah sistem pemrosesan informasi yang memiliki karakteristik kemampuan yang secara umum mirip dengan jaringan saraf manusia. Sebuah jaringan syaraf terdiri dari susunan koneksi antara neuron-neuron yang disebut sebagai arsitektur, metode penentuan bobot pada koneksi yang disebut dengan proses pelatihan atau algoritma, dan aktivasi fungsi. Sebuah jaringan syaraf terdiri dari sejumlah besar elemen-elemen proses yang disebut neurons, units, cells, atau nodes. Setiap neuron terhubung dengan neuron yang lainnya yang disebut directed communication links, dengan tiap bobot diasosiasi. Bobot merepresentasikan informasi yang digunakan untuk menyelesaikan masalah. Jaringan syaraf dapat diaplikasikan ke dalam berbagai masalah, seperti storing dan recalling data atau pola, klasifikasi pola, mapping dari pola input ke pola ouput, mengelompokkan pola yang sama, atau menemukan solusi yang paling optimal (Fausset, 1994).
Jaringan syaraf tiruan pada dasarnya merupakan tiruan dari jaringan syaraf manusia. Pada jaringan syaraf manusia terdapat sel-sel yang disebut neuron, begitu juga pada jaringan syaraf tiruan juga terdapat istilah neuron. Neuron pada sistem jaringan syaraf tiruan juga biasa disebut unit, sel, atau node. Setiap neuron terhubung dengan neuron-neuron lain melalui layer dengan bobot tertentu. Bobot disini melambangkan kekuatan aksi pada proses kimia yang terjadi pada synaptic gap. Neuron mempunyai internal state yang disebut sebagai aktivasi. Input pada sistem syaraf tiruan melambangkan sinapsis pada sistem syaraf manusia. Matriks Wi melambangkan sekresi dentire. Sedangkan summing pada metode sistem syaraf tiruan melambangkan penambahan sekret pada sistem syaraf manusia. Sistem jaringan saraf banyak digunakan dalam berbagai bidang antara lain kedokteran, bisnis, keuangan, maupun elektronika termasuk pemrosesan sinyal dan sistem kontrol (Heaton, 2008).
1.3 Arsitektur Jaringan
Arsitektur jaringan merupakan hubungan antara neuron-neuron di dalam model jaringan syaraf tiruan. Neuron-neuron atau node terkumpul dalam sebuah lapisan yang disebut sebagai layer. layer dalam model jaringan syaraf tiruan dibagi menjadi tiga, yaitu:
- Lapisan Input (Input Layer) Lapisan input berisikan data-data awal yang digunakan sebagai variabel prediktor. Unit-unit dalam lapisan input disebut unit-unit input yang bertugas menerima pola input dari luar yang menggambarkan suatu permasalahan.
- Lapisan Tersembunyi (Hiden Layer) Lapisan tersembunyi berisikan unit-unit tersembunyi yang nilai output-nya tidak dapat diamati secara langsung.
- Lapisan Output (Output Layer) Lapisan outpt berisikan unit-unit yang merupakan hasil dari perhitungan model jaringan syaraf tiruan. Pada lapisan output ini lah didapatkan data hasil klasifikasi.
1.4 Min-Max Normalization
Pada metode backpropagation dibutuhkan data dengan range yang sama sehingga output didapatkan model yang dapat mengklasifikasikan data secara tepat. Oleh karena itu dibutuhkan normalisasi data. Min-max normalization merupakan salah satu metode yang dapat digunakan untuk menormalisasi data sehingga didapatkan range data dari 0-1. Misalnya, data X berada pada range 150 sampai 250, kemudian akan diakumulasi nilai ke dalam subinterval yang lebih kecil dengan range [0, 1] menggunakan rumus:
\[
x^*=\frac{x_{i}-min(x_{i})}{max(x_{i})-min(x_{i})}
\]
Dipilih min max normalization karena menurut penelitian A Study on Normalization Techniques for Privacy Preserving Data Mining, Min-Max Normalization memiliki tingkat kesalahan klasifikasi yang lebih kecil dibandingkan ZScore dan Decimal Scaling (Saranya dan Manikandan, 2013). Normalisasi akan membuat data secara otomatis berada pada nilai range minimum dan maximum (Kantardzic, 2003).
1.5 Backpropagation
Backpropagation merupakan salah satu metode dalam jaringan syaraf tiruan yang populer dan memiliki keunggulan dalam kemampuannya untuk belajar, adaptasi terhadap suatu objek, dan toleransi terhadap kesalahan (Hagan et al, 2002). Backpropagation merupakan metode yang cukup baik digunakan untuk menangani masalah dengan pola-pola yang kompleks. Pada jaringan diberikan sepasang pola yang terdiri atas pola masukan dan pola yang diinginkan. Ketika suatu pola diberikan kepada jaringan, bobot-bobot diubah untuk memperkecil perbedaan pola keluaran dan pola yang diinginkan. Latihan ini dilakukan berulang-ulang sehingga semua pola yang dikeluarkan jaringan dapat memenuhi pola yang diinginkan. Arsitektur jaringan ini terdiri dari input layer, hidden layer, dan output layer. Arsitektur Backpropagation dapat dilihat pada Gambar 1.
Gambar 1. Arsitektur backpropagation (Fausett, 1994)
Aturan pembelajaran backpropagation dikembangkan dari delta rule dengan menambahkan hidden layer. Melatih jaringan dengan menggunakan metode backpropagation melibatkan tiga tahapan: feedforward pola pelatihan masukan, backpropagation terhadap error, serta penyesuain bobot. Algoritma pelatihan backpropagation untuk jaringan dengan satu layer tersembunyi menggunakan fungsi aktivasi sigmoid biner adalah sebagai berikut:
- Langkah 0 : Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil)
- Langkah 1 : ketika kondisi berhenti salah, lakukan langkah 2-9.
- Langkah 2 : untuk masing-masing pasangan training, lakukan langkah 3-8.
Feedforward
- Langkah 3 : Tiap-tiap unit input (\(X_i\), i=1,2,3,…n) menerima sinyal \(x_i\) dan meneruskan sinyal tersebut ke semua unit pada lapisan yang ada diatasnya (lapisan tersembunyi)
- Langkah 4 : Tiap-tiap unit tersembunyi (\(Z_i\), j=1,2,3,…p) menjumlahkan sinyal-sinyal input terbobot : \[
Zin_j=V0_j+\sum^{n}_{i=1}{X_i}{V_{ij}}
\]
gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
\[ Z_j=f(Zin_j) \]
Hitung fungsi aktivasi untuk menghitung sinyal keluaran, \(Z_j=f(Zin_j)\), lalu mengirimkan sinyal ini kesemua unit pada layer diatasnya (unit keluaran).
- Langkah 5 : Tiap-tiap unit output (\(Y_k\), K=1,2,3,…m) menjumlahkan sinyal-sinyal input terbobot.
\[ Yin_k=W0_k+\sum^{p}_{i=1}{Z_i}{W_{jk}} \]
gunakan fungsi aktivasi untuk menghitung sinyal outputnya:
\[ Y_k=f(Yin_k) \]
Dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit output).
Backpropagation
- Langkah 6: Tiap-tiap unit output (\(Y_k\), K=1, 2, 3, …m) menerima target pola yang berhubungan dengan pola input pembelajaran, hitung informasi error-nya:
\[ \delta_k=(t_k-y_k)f'(Yin_k) \]
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai \(W_jk\)): \[ {\Delta}W_{jk}=\alpha\delta_kZ_j \]
hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai \(W_0k\)): \[ {\Delta}W_{0k}={\alpha}{\delta_k} \] kirimkan ini \(\delta_k\) ke unit-unit yang ada dilapisan bawahnya
- Langkah 7 : Tiap-tiap unit tersembunyi (\(Z_j\), j=1,2,3,…p) menjumlahkan delta inputnya (dari unit-unit yang berada pada lapisan diatasnya):
\[ {\delta}in_j=\sum^{m}_{k=1}{\delta_k}{W_{jk}} \]
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error: \[ \delta_j={\delta}in_jf(Zin_j) \]
Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai \(V_{1j}\)):
\[ {\Delta}V_jk=\alpha\delta_jX_i \]
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai \(V_{0j}\)):
\[ {\Delta}V_{0j}=\alpha\delta_j \]
- Langkah 8: Tiap-tiap unit output (\(Y_k\)=1,2,3,…m) memperbaiki bias dan bobotnya (i=1,2,3,…p) :
\[ W_{jk}(baru)=w_{jk}(lama)+\Delta{w_{ij}} \]
Tiap-tiap unit tersembunyi (\(Z_j\), j=1,2,3,…p) memperbaiki bias dan bobotnya (i=0,1,2,…n) :
\[ v_{jk}(baru)=v_{jk}(lama)+\Delta{v_{ij}} \]
- Langkah 9: Uji syarat berhenti
Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola dengan menggunakan fase propagasi maju saja (langkah 3 dan 4) untuk menentukan keluaran jaringan.
1.6 Data
Data yang digunakan merupakan data sekunder berupa data set jenis classification yang diambil dari kaggle data set, yaitu Water Quality dengan url : https://www.kaggle.com/datasets/adityakadiwal/water-potability. Data set ini berisikan data mengenai klasifikasi terhadap kualitas air. Terdapat 10 variabel di dalam data set ini yaitu,
1. pH value
PH merupakan parameter penting dalam mengevaluasi keseimbangan asam-basa air. Ini juga merupakan indikator kondisi asam atau basa status air. WHO telah merekomendasikan batas maksimum pH yang diizinkan dari 6,5 hingga 8,5. Rentang investigasi saat ini adalah 6,52-6,83 yang berada dalam kisaran standar WHO.
Hardness
Kekerasan terutama disebabkan oleh garam kalsium dan magnesium. Garam-garam ini larut dari endapan geologis yang dilalui air. Lamanya waktu air bersentuhan dengan bahan penghasil kesadahan membantu menentukan seberapa banyak kesadahan yang ada dalam air baku. Kekerasan awalnya didefinisikan sebagai kapasitas air untuk mengendapkan sabun yang disebabkan oleh Kalsium dan Magnesium.Solid
Air memiliki kemampuan untuk melarutkan berbagai anorganik dan beberapa mineral atau garam organik seperti kalium, kalsium, natrium, bikarbonat, klorida, magnesium, sulfat, dll. Mineral ini menghasilkan rasa yang tidak diinginkan dan warna yang encer dalam penampilan air. Ini adalah parameter penting untuk penggunaan air. Air dengan nilai TDS yang tinggi menunjukkan bahwa air tersebut sangat termineralisasi. Batas yang diinginkan untuk TDS adalah 500 mg/l dan batas maksimum adalah 1000 mg/l yang ditentukan untuk tujuan minum.Chloramines
Klorin dan kloramin adalah disinfektan utama yang digunakan dalam sistem air publik. Kloramin paling sering terbentuk ketika amonia ditambahkan ke klorin untuk mengolah air minum. Kadar klorin hingga 4 miligram per liter (mg/L atau 4 bagian per juta (ppm)) dianggap aman dalam air minum.Sulfate
Sulfat adalah zat alami yang ditemukan di mineral, tanah, dan batuan. Mereka hadir di udara ambien, air tanah, tanaman, dan makanan. Penggunaan komersial utama sulfat adalah dalam industri kimia. Konsentrasi sulfat dalam air laut adalah sekitar 2.700 miligram per liter (mg/L). Ini berkisar antara 3 sampai 30 mg/L di sebagian besar persediaan air tawar, meskipun konsentrasi yang jauh lebih tinggi (1000 mg/L) ditemukan di beberapa lokasi geografis.Conductivity
Air murni bukanlah penghantar arus listrik yang baik, melainkan isolator yang baik. Peningkatan konsentrasi ion meningkatkan konduktivitas listrik air. Umumnya, jumlah padatan terlarut dalam air menentukan konduktivitas listrik. Konduktivitas listrik (EC) sebenarnya mengukur proses ionik suatu larutan yang memungkinkannya mentransmisikan arus. Menurut standar WHO, nilai EC tidak boleh melebihi 400 S/cm.Organic_carbon
Total Organic Carbon (TOC) di perairan sumber berasal dari bahan organik alami (NOM) yang membusuk serta sumber sintetis. TOC adalah ukuran jumlah total karbon dalam senyawa organik dalam air murni. Menurut US EPA < 2 mg/L sebagai TOC dalam air olahan/minum, dan < 4 mg/Lit pada air sumber yang digunakan untuk pengolahan.Trihalomethanes
THM adalah bahan kimia yang dapat ditemukan dalam air yang diolah dengan klorin. Konsentrasi THM dalam air minum bervariasi sesuai dengan tingkat bahan organik di dalam air, jumlah klorin yang dibutuhkan untuk mengolah air, dan suhu air yang diolah. Kadar THM hingga 80 ppm dianggap aman dalam air minum.Turbidity
Kekeruhan air tergantung pada jumlah zat padat yang ada dalam keadaan tersuspensi. Ini adalah ukuran sifat pemancar cahaya air dan tes ini digunakan untuk menunjukkan kualitas pembuangan limbah sehubungan dengan materi koloid. Nilai rata-rata kekeruhan yang diperoleh untuk Kampus Wondo Genet (0,98 NTU) lebih rendah dari nilai rekomendasi WHO sebesar 5,00 NTU.Potability
Menunjukkan jika air aman untuk konsumsi manusia di mana 1 berarti Dapat Diminum dan 0 berarti Tidak dapat diminum.
Pada penelitian yang digunakan 9 variabel prediktor atau input yaitu, variabel PH, Hardness, Solid, Chloramines, Sulfate, Conductivity, Organic_carbon, Trihalomethanes, dan Turbidity. Sedangkan yang menjadi variabel respon atau outputnya adalah variabel Potability.
2 SOURCE CODE
2.1 Library yang Dibutuhkan
> library(readr)
> library(caret)
> library(mice)
> library(neuralnet)
> library(caret)
> library(knitr)
> library(rmarkdown)
2.2 Input Data
Berikut merupakan pemanggilan 5 baris paling awal dari data water_potability :
> water_potability <- read_csv("D:/STATISTIKA/Semester 6/Model Jaringan Syaraf Tiruan/water_potability.csv")
> paged_table(as.data.frame(water_potability))
2.3 Missing Value
Salah satu tahapan dalam menganalisis suatu data adalah preprocessing yang dimana di dalam preprocessing data kita harus melakukan pengecekan terhadap ada tidaknya missing value. Missing value ini dapat terjadi karena beberapa vaktor salah satunya adalah cara pengambilan data yang kurang tepat. Adanya missing value dapat menjadikan model yang kita dapatkan menjadi tidak akurat atau dapat membuat model kita tidak dapat dijalankan.
2.3.1 Cek Missing Value
Dilakukan pengecekan terlebih dahulu apakah data terdapat missing value atau tidak
> sum(is.na(water_potability)==TRUE)
1] 1434
[> paged_table(as.data.frame(md.pattern(water_potability), caption = "Tabel 2. *Missing Value*"))
Pada data tersebut didapatkan missing value sebanyak 1434 data yang tersebar ke beberapa variabel yaitu variabel Trihalomethanes sebanyak 162 data, variabel ph sebanyak 491 data, dan variabel sulfate sebanyak 781 data.
2.3.2 Penanganan Missing Value
Terdapat banyak cara yang dapat digunakan untuk menangani missing value, seperti :
1. Menghapus keseluruhan baris (Row)
2. Mengganti missing value dengan nilai konstanta yang merupakan bagian dari kumpulan nilai yang mungkin dari variabel itu, seperti 0, berbeda dari semua nilai lainnya
3. Mengganti missing value dengan nilai rata-rata, media, atau modus untuk kolom
4. Mengganti missing value dengan nilai yang diperkirakan oleh model prediktif lain
5. Mengganti missing value dengan menggunakan beberapa metode imputasi lain
Pada data dilakukan penanganan missing value dengan cara mengganti missing value dengan nilai rata-rata.
> Data_M.V <- water_potability
> Data_M.V$Trihalomethanes[is.na(Data_M.V$Trihalomethanes)] <- mean(Data_M.V$Trihalomethanes, na.rm = TRUE)
> Data_M.V$ph[is.na(Data_M.V$ph)] <- mean(Data_M.V$ph, na.rm = TRUE)
> Data_M.V$Sulfate[is.na(Data_M.V$Sulfate)] <- mean(Data_M.V$Sulfate, na.rm = TRUE)
> paged_table(as.data.frame(md.pattern(Data_M.V), caption = "Tabel 3. Penanganan *Missing Value*"))
/\ /\
`---' }
{ { O O }
==> V <== No need for mice. This data set is completely observed.
\ \|/ /
`-----'
Setelah dilakukan penanganan terhadap missing value didapatkan bahwa didalam data seperti pada tabel di atas sudah tidak terdapat missing value.
2.4 Normalisasi Data
Pada jaringan syaraf tiruan diharapkan seluruh variabel prediktor atau unit input memiliki range data yang sama sehingga model yang didapatkan memiliki tingkat akurasi yang cukup tinggi. Oleh karena itu diperlukan normalisasi data agar semua variabel prediktor atau unit input memiliki range data yang sama. Sebelum melakukan normalisasi perlu dilihat berapa range data pada semua variabel apakah sudah memiliki range yang sama atau belom. Untuk mengetahui apakah semua variabel prediktor atau unit input memiliki range yang sama dapat digunakan boxplot. Pada variabel prediktor atau unit input yang kita miliki menghasilkan boxplot sebagai berikut :
> potability <- as.factor(Data_M.V$Potability)
> Variabel_Prediktor <- Data_M.V[2:10]
> process <- preProcess(as.data.frame(Variabel_Prediktor), method=c("range"))
> Normalisasi <- predict(process, as.data.frame(Variabel_Prediktor))
> Data_norm <- data.frame(potability,Normalisasi)
> str(Data_norm)
'data.frame': 3276 obs. of 10 variables:
$ potability : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ Hardness : num 0.571 0.297 0.641 0.606 0.485 ...
$ Solids : num 0.336 0.301 0.322 0.356 0.29 ...
$ Chloramines : num 0.544 0.492 0.699 0.603 0.485 ...
$ Sulfate : num 0.68 0.582 0.582 0.647 0.515 ...
$ Conductivity : num 0.669 0.719 0.415 0.318 0.379 ...
$ Organic_carbon : num 0.313 0.497 0.562 0.622 0.359 ...
$ Trihalomethanes: num 0.7 0.451 0.533 0.808 0.254 ...
$ Turbidity : num 0.286 0.577 0.304 0.601 0.496 ...
$ Potability : num 0 0 0 0 0 0 0 0 0 0 ...
2.5 Spliting Data Train dan Data Test
> set.seed(500)
> index <- sample(1:nrow(Data_norm), round(0.75*nrow(Data_norm)))
> train_ <- Data_norm[index,]
> test_ <- Data_norm[-index,]
> str(train_)
'data.frame': 2457 obs. of 10 variables:
$ potability : Factor w/ 2 levels "0","1": 1 2 1 2 2 2 2 2 1 2 ...
$ Hardness : num 0.444 0.368 0.757 0.333 0.741 ...
$ Solids : num 0.2417 0.527 0.7095 0.1754 0.0853 ...
$ Chloramines : num 0.466 0.691 0.289 0.388 0.845 ...
$ Sulfate : num 0.636 0.54 0.582 0.597 0.582 ...
$ Conductivity : num 0.425 0.396 0.441 0.463 0.276 ...
$ Organic_carbon : num 0.469 0.38 0.392 0.321 0.373 ...
$ Trihalomethanes: num 0.636 0.337 0.446 0.722 0.615 ...
$ Turbidity : num 0.499 0.431 0.649 0.352 0.555 ...
$ Potability : num 0 1 0 1 1 1 1 1 0 1 ...
> str(test_)
'data.frame': 819 obs. of 10 variables:
$ potability : Factor w/ 2 levels "0","1": 1 1 1 1 1 1 1 1 1 1 ...
$ Hardness : num 0.606 0.728 0.566 0.652 0.621 ...
$ Solids : num 0.356 0.467 0.219 0.413 0.303 ...
$ Chloramines : num 0.603 0.561 0.33 0.683 0.607 ...
$ Sulfate : num 0.647 0.752 0.495 0.781 0.582 ...
$ Conductivity : num 0.318 0.179 0.513 0.669 0.319 ...
$ Organic_carbon : num 0.622 0.444 0.389 0.603 0.472 ...
$ Trihalomethanes: num 0.808 0.68 0.503 0.578 0.615 ...
$ Turbidity : num 0.601 0.231 0.558 0.552 0.484 ...
$ Potability : num 0 0 0 0 0 0 0 0 0 0 ...
2.6 Training
Model nn
> nn <- neuralnet(potability~.,
+ data = train_, hidden = 14, learningrate = 0.09,
+ algorithm = "backprop",
+ act.fct="tanh", err.fct = 'sse', linear.output=FALSE ,
+ stepmax=1e7)
> plot(nn)
2.7 Testing
> pred <- predict(nn, test_)
> prediksi <- as.vector(apply(pred, 1 , which.max))
> confusionMatrix(as.factor(prediksi), as.factor(as.numeric(test_$potability)))
Confusion Matrix and Statistics
Reference1 2
Prediction 1 488 331
2 0 0
: 0.5958
Accuracy 95% CI : (0.5613, 0.6297)
: 0.5958
No Information Rate -Value [Acc > NIR] : 0.5151
P
: 0
Kappa
's Test P-Value : <2e-16
Mcnemar
Sensitivity : 1.0000
Specificity : 0.0000
Pos Pred Value : 0.5958
Neg Pred Value : NaN
Prevalence : 0.5958
Detection Rate : 0.5958
Detection Prevalence : 1.0000
Balanced Accuracy : 0.5000
'Positive' Class : 1
3 HASIL DAN PEMBAHASAN
Pada penelitian kali ini digunakan 5 arsitektur yaitu 9-11-1, 9-12-1, 9-13-1, 9-14-1, dan 9-15-1. Dengan menggunakan 4 learning rate yaitu 0.01, 0.05, 0.09. Diperoleh hasil pengujian sebagai berikut :
3.1 Training Dengan Metode Backpropagation dengan Learning Rate : 0.01
Arsitektur | Epoch | Error | Akurasi Data Testing | Persen |
---|---|---|---|---|
9-15-1 | 3 | 1228.497 | 0.5958 | 60% |
9-14-1 | 4 | 1228.5 | 0.5958 | 60% |
9-13-1 | 3 | 1228.5 | 0.5958 | 60% |
9-12-1 | 30 | 1.23E+03 | 0.5958 | 60% |
9-11-1 | 360 | 4.25E+03 | 0.4042 | 40% |
Berdasarkan pengujian menggunakan metode backpropagation dengan learning rate 0.01 didapatkan hasil seperti pada tabel di atas didapatkan bahwa arsitektur 9-15-1 merupakan arsitektur terbaik karena memiliki nilai error terkecil dan memiliki jumlah epoch paling sedikit dengan akurasi penerapan model pada data testing paling besar.
3.2 Training Dengan Metode Backpropagation dengan Learning Rate : 0.05
Arsitektur | Epoch | Error | Akurasi Data Testing | Persen |
---|---|---|---|---|
9-15-1 | 48 | 6142.5 | 0.4042 | 40% |
9-14-1 | 12 | 1228.5 | 0.5958 | 60% |
9-13-1 | 2 | 1228.5 | 0.5958 | 60% |
9-12-1 | 5 | 3122.5 | 0.5958 | 60% |
9-11-1 | 7 | 4248.5 | 0.4042 | 40% |
Berdasarkan pengujian menggunakan metode backpropagation dengan learning rate 0.05 didapatkan hasil seperti pada tabel di atas didapatkan bahwa arsitektur 9-13-1 merupakan arsitektur terbaik karena memiliki nilai error terkecil dan memiliki jumlah epoch paling sedikit dengan akurasi penerapan model pada data testing paling besar.
3.3 Training Dengan Metode Backpropagation dengan Learning Rate : 0.09
Arsitektur | Epoch | Error | Akurasi Data Testing | Persen |
---|---|---|---|---|
9-15-1 | 27 | 3122.5 | 0.5958 | 60% |
9-14-1 | 2 | 1228.5 | 0.8291 | 83% |
9-13-1 | 3 | 1228.5 | 0.4042 | 40% |
9-12-1 | 2 | 1228.497 | 0.5958 | 60% |
9-11-1 | 5 | 1228.495 | 0.5958 | 60% |
Berdasarkan pengujian menggunakan metode backpropagation dengan learning rate 0.09 didapatkan hasil seperti pada tabel di atas didapatkan bahwa arsitektur 9-14-1 merupakan arsitektur terbaik karena memiliki nilai error terkecil dan memiliki jumlah epoch paling sedikit dengan akurasi penerapan model pada data testing paling besar.
3.4 Hasil Jaringan Syaraf Tiruan dengan Metode Backpropagation
Berdasarkan hasil analisis di atas maka didapatkan nilai learning rate 0.09 dengan arsitektur 9-14-1 merupakan model backpropagation terbaik dilihat dari banyaknya epoch yang dibutuhkan yaitu sebanyak 2 epoch dengan error 1228.5 dan tingkat akurasi sebesar 83%.Dengan arsitektur jaringan syaraf tiruan model backpropagation 9-14-1 dengan learning rate 0.09 sebagai berikut :
Sehingga dapat disimpulkan bahwa model backpropagation dengan learning rate 0.09 dan arsitektur 9-14-1 menghasilkan nilai akurasi yang cukup tinggi yaitu 83% akan tetapi memiliki nilai error yang cukup besar.
Diperlukan pengecekan ulang terhadap model backpropagation dengan merubah learning rate, bobot awal, arsitektur.Didapatkan juga penggunaan aplikasi R pada backpropagation juga cukup terbatas dikarenakan belum banyak yang melakukan pengembangan fungsi backpropagation di aplikasi R.
4 DAFTAR PUSTAKA
Salim, Rin.(2015).ANALISIS MEAN SQUARE ERROR (MSE) PROSES PELATIHAN MENGGUNAKAN METODE BACKPROPAGATION DENGAN SELF ORGANIZING MAPS DAN NGUYEN WIDROW.FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA : Medan.
A. Wibowo dan I. Waspada (ed.).(2016)., Ilmu Komputer Studi Kasus dan Aplikasi. Undip Press : Semarang.
Auladina, Vivi,Hardinata, J.T.,Fauza, M.(2021).Penerapan Algoritma Backpropagation Dalam Memprediksi Jumlah Pengguna Kereta Api Di Pulau Sumatera.KESATRIA: Jurnal Penerapan Sistem Informasi (Komputer & Manajemen),2(1),54-61.