BAB II
KAJIAN PUSTAKA
A. JARINGAN SYARAF TIRUAN
1. Definisi Jaringan Syaraf Tiruan
Jaringan syaraf tiruan (artificial neural network) adalah model komputasi yang terinspirasi secara biologis, jaringan syaraf tiruan terdiri dari beberapa elemen pengolahan (neuron) dan ada hubungan antara neu-ron (Shanmuganathan, 2016). Jaringan syaraf tiruan dapat digambarkan sebagai model matematis dan komputasi untuk fungsi aproksimasi non-linear, klasifikasi data cluster dan regresi non-parametrik atau sebuah simulasi dari korelasi model syaraf biologi.
Model jaringan syaraf ditunjukkan dengan kemampuan dalam emulasi, analisis, prediksi, dan asosiasi. Kemapuan yang dimiliki jaringan syaraf tiruan dapat digunakan untuk belajar dan menghasilkan aturan atau operasi dari beberapa contoh atau input yang dimasukkan dan membuat prediksi tentang kemungkinan output yang akan muncul atau menyimpan karakteristik dari input yang disimpan kepada jaringan syaraf tiruan.
Dalam menentukan jumlah neuron yang digunakan dalam lapisan
tersembunyi terdapat beberapa aturan atau metode yaitu jumlah neuron
da-lam lapisan tersembunyi baiknya diantara ukuran lapisan masukan dan
lapisan keluaran, jumlah neuron dalam lapisan tersembunyi sebaikmnya
2/3 dari ukuran lapisan masukan di tambah ukuran lapisan keluaran, dan
jumlah neuron dalam lapisan tersembunyi sebaiknnya lebih kecil (kurang
dari) dua kali ukuran masukan (Heaton, 2008).
2. Arsitektur Jaringan Syaraf Tiruan
Jaringan syaraf tiruan dirancang dengan menggunakan suatu aturan
yang bersifat menyeluruh ( general rule ) dimana seluruh model jaringan
memiliki konsep dasar yang sama. Arsitektur sebuah jaringan akan
menen-tukan keberhasilan target yang akan dicapai karena tidak semua
permasa-lahan dapat diselesaikan dengan arsitektur yang sama. Berikut macam –
macam arsitektur jaringan syaraf tiruan:
a. Jaringan dengan lapisan tunggal (single layer net)
Jaringan dengan lapisan tunggal hanya memiliki satu lapisan
dengan bobot terhubung. Jaringan ini hanya menerima input kemudian
secara langsung akan mengolahnya menjadi output tanpa harus melalui
Gambar 1. Jaringan Syaraf Tiruan dengan Lapisan Tunggal
b. Jaringan dengan banyak lapisan (multilayer net)
Jaringan dengan banyak lapisan memiliki satu atau lebih lapisan yang terletak diantara lapisan input dan lapisan output seperti terlihat pada Gambar 2. Umumnya terdapat lapisan bobot – bobot yang terletak antara 2 lapisan yang bersebelahan. Jaringan dengan banyak
Gambar 2. Jaringan Syaraf Tiruan dengan Banyak Lapisan
c. Jaringan dengan lapisan kompetitif (competitif layer net)
Hubungan antar neuron pada lapisan kompetitif ini tidak diper-lihatkan pada diagram arsitektur. Gambar 3 menunjukkan salah satu
contoh arsitektur jaringan dengan lapisan kompetitif yang memiliki bobot -ή.
1. Implementasi Jaringan Syaraf Tiruan
Beberapa hasil penelitian implemantasi jaringan syaraf tiruan
dian-taranya adalah :
a. Mustafidah, dkk. (2013a) menerapkan jaringan syaraf tiruan untuk
memprediksi tingkat validitas soal dengan menggunakan algoritma pelatihan trainlm dan menghasilkan pengenalan pola data dengan memiliki kecocokan sebesar 85.54% dengan tingkat error 0.00063347.
b. Menerapkan jaringan syaraf tiruan untuk prediksi prestasi belajar ma-hasiswa Program Studi Teknik Informatika Universitas
Muhammadi-yah Purwokerto didasarkan atas nilai-nilai dalam mata pelajaran yang diujikan dalam Ujian Nasional saat di SLTA. Dalam penelitian ini dil-akukan pembandingan tingkat keoptimalan dari algoritma pelatihan
traingd, traingdm, learngd, dan learngdm. Dengan rata-rata masing-masing algoritma yaitu learngd : 0.0215, learngdam: 0.0163, traingd : 0.0211, dan traingdm : 0.0267 (Mustafidah, dkk, 2013b).
B. ALGORITMA PEMBELAJARAN BACKPROPAGATION
Berdasarkan penelitian yang telah dilakukan oleh Mustafidah & Suwarsito (2015), pada backpropogation terdapat 12 algoritma pelatihan yang
pelatihan tentnya perlu dipilih algoritma yang paling optimal sehingga diperoleh hasil yang terbaik, dalam penelitian tersebut dilakukan pengujian
terhadap algoritma pelatihan yang terdapat dalam jaringan backpropogation sejumlah 12 algoritma. Algoritma pelatihan ditinjau dari error yang dihasilkan.
Menurut Kusumadewi (2003), backpropagation merupakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyi. Algoritma backpropogation menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk mendapatkan error ini, tahap perambatan maju (forward propagation) harus dikerjakan terlebih dahulu.pada saat perambatan
maju, neuron-neuron diaktifkan dengan menggunakan fungsi aktifasi yang dapat dideferensikan seperti sigmoid, persamaan dan perhitungan-perhitungan
Arsitektur jaringan backpropagation seperti terlihat pada Gambar 4, pada Jaringan Backpropagation terdiri dari 3 unit (neuron) pada lapisan input, yaitu X1, X2, dan X3 ; 1 lapisan tersembunyi dengan 2 neuron, yaitu Z1 dan Z2; serta 1 unit pada lapisan tersembunyi, adalah V1, V2, dan V3. Untuk b1 dan b1 adalah bobot bias yang menuju ke neuron pertama dan kedua pada lapisan tersembunyi. Bobot yang menghubungkan Z1 dan Z2 dengan neuron pada lapisan output, adalah W1 dan W2. Bobot bias menghubungkan lapisan tersembunyi dengan lapisan output. Fungsi aktivasi yang digunakan, antara lapisan input dan lapisan tersembunyi, dan antara lapisan tersembunyi dengan lapisan output adalah fungsi aktivasi sigmoid biner (tidak diperlihatkan pada gambar).
Gambar 4. Arsitektur Jaringan Backpropagation Berikut adalah algoritma backpropagation :
Menginisialisasi bobot (ambil bobot awal dengan nilai random yang
cukup kecil).
Mengerjakan langkah – langkah berikut selama kondisi berhenti bernilai
FALSE.
Langkah – langkahnya seperti berikut :
Feedforward:
1. Tiap – tiap unit input (Xi, i=1,2,3,…,n) menerima sinyal dan
mene-ruskan sinyal tersebut kesemua unit pada lapisan yang ada diatasnya (lapisan tersembunyi).
2. Tiap – tiap unit tersembunyi (Zj, j=1,2,3,…,p) menjumlahkan sinyal –
sinyal input terbobot pada persamaan 4.
∑ ... (4)
Kemudian gunakan fungsi aktivasi untuk menghitung sinyal output pa-da persamaan 5.
( ) ... (5)
Dan mengirimkan sinyal tersebut kesemua unit di lapisan atasnya (unit
– unit output).
3. Tiap – tiap unit output (Yk, k=1,2,3,…,m) menjumlahkan sinyal – sinyal input terbobot pada persamaan 6.
∑ ... (6) Gunakan fungsi aktivasi untuk menghitung sinyal output pada persa-maan 7.
( ) ... (7)
Dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit – unit output).
( ) ( ) ... (8)
Kemudian dihitung koreksi bobot pada persamaan 9.
... (9)
Selain itu hitung juga koreksi bias (yang nantinya akan digunakan
un-tuk memperbaiki nilai awal ) pada persamaan 10.
... (10)
Mengirim ini ke unit – unit yang ada pada lapisan bawahnya.
5. Tiap – tiap unit tersembunyi (Zj, j=1,2,3,…,p) menjumlahkan delta input pada persamaan 11.
∑ ... (11)
Mengalikan nilai tersebut dengan turunan dari fungsi aktivasinya untuk menghitung informasi error pada persamaan 12.
( ) ... (12)
Kemudian menghitung koreksi bobot (yang nantinya akan digunakan
untuk memperbaiki nilai ) pada persamaan 13.
... (13)
Selain itu hitung juga koreksi bias (yang nantinya akan digunakan
un-tuk memperbaiki nilai ) pada persamaan 14.
... (14)
6. Tiap – tiap unit otput (Yk, k=1,2,3,…,p) memperbaiki bias dan
bo-botnya (j=0,1,2,…,p) pada persamaan 15.
Tiap – tiap unit tersembunyi (Zj, j=1,2,3,…,p) memperbaiki bias dan bobotnya (i=0,1,2,3,…,n) pada persamaan 16.
( ) ( ) ... (16)
C. ALGORITMA LEVENBERG-MARQUARDT
Berdasarkan penelitian yang telah dilakukan oleh Mustafidah &
Harjono, (2017). Jaringan syaraf tiruan khususnya metode backpropogation banyak digunakan untuk memecahkan masalah. Dan pada penelitian tersebut
telah di uji bahwa algoritma yang paling optimal adalah algoritma Levenberg-Marquardt.
Algoritna Levenberg-Marquardt dirancang menggunakan pendekatan turunan kedua tanpa harus menghitung matriks Hessian. Apabila jaringan saraf feedforward menggunakan fungsi kinerja sum of square, maka matriks Hessian dapat didekati seperti pada persamaan 17.
H = J’ * J ... (17)
dan gradien dapat dihitung seperti pada persamaan 18.
Gw = J’ * e ... (18)
Dimana J adalah matriks Jacobian yang berisi turunan pertama dari error jaringan terhadap bobot, dan e adalah suatu vektor yang berisi error jaringan. Matriks Jacobian dapat dihitung dengan teknik backpropagation standar, yang lebih sederhana dibandingkan dengan matriks Hessian.
Wk+1 = Wk–[J’ * J + m * 1] -1*J’ * e ... (19)
Apabila m bernilai 0, maka pendekatan ini akan sama dengan metode
Newton. Akan tetapi jika m terlalu besar, maka pendekatan ini sama dengan gradient descent dengan learning rate yang sangat kecil. Metode Newton sangan cepat dan akurat untuk mendapatkan error minimum, oleh karena itu diharapkan algoritma sesegera mungkin dapat mengubah nilai m menjadi 0 (Kusumadewi, 2004).
D. MEAN SQUARED ERROR (MSE)
Mean Squared Error atau disingkat dengan MSE adalah metode yang menghasilkan kesalahan – kesalahan yang kemungkinan lebih baik untuk kesalahan kecil, tetapi terkadang mengahasilkan perbedaan besar. Nilai MSE dapat dianalogikan sebagai varian ditambah dengan kuadrat bias dari suatu
model. Dimana adalah model yang dievaluasi dan adalah model sebenarnya. Jika tidak ada bias antara model yang dibangun dengan model
sebenarnya (unbiased model), maka MSE sepadan dengan varian dari model. Semakin kecil varian suatu model, semakin robust model tersebut dalam melakukan peramalan (Lehmann & Casella, 1998).
dapat dihitung dengan MSE (Mean Squared Error). MSE merupakan fungsi kinerja jaringan yang mengukur kinerja berdasarkan rata-rata dari kuadrat er-ror. (Kusumadewi, 2004).
Persamaan yang digunakan adalah, seperti pada persamaan 20.
∑ ∑ ( )
... (20)
= nilai keluaran jaringan syaraf
= nilai target yang diinginkan untuk setiap keluaran = jumlah seluruh pola
= jumlah keluaran
E. MATLAB
Matlab (Matrix Laboratory) merupakan salah satu produk perangkat lunak matematik dari MathWorks.Inc., dan R (R:A Language and Environ-ment for Statistical Computing) matlab merupakan produk perangkat lunak bebas. Matlab digunakan untuk melakukan analisis statistik, memberikan kebebasan untuk pengguna menerapkan algoritma tertentu dan melakukan
operasi yang disesuaikan dengan kebutuhan secara kompleks (Marques de Sá, 2007).
Perangkat lunak ini menawarkan kemudahan dan kesederhanaan dalam
perhi-tungan, misalnya toolbox neural network yang bisa dipakai untuk fungsi – fungsi yang berkaitan dengan jaringan syaraf tiruan (Irawan, 2012).
Matlab menyediakan berbagai variasi pelatihan Backpropagation yaitu pelatihan kelompok dan pelatihan backpropagation (Siang, 2005). Dalam pelatihan backpropagation dapat menggunakan perintah train ada beberapa parameter pelatihan yang dapat digunakan diantaranya yaitu:
a. net.trainParam.show : dipakai untuk menampilkan frekuensi
peru-bahan mse (default : setiap 25 epoch)
b. net.trainParam.epochs : dipakai untuk menentukan jumlah epoch
maksimum pelatihan (default : 100 epoch).
c. net.trainParam.goal : dipakai untuk menentukan batas nilai mse
agar iterasi dihentikan. Iterasi akan berhenti jika mse < batas yang
diten-tukan dalam net.trainParam.goal atau jumlah epoch mencapai
ba-tas yang ditentukan dalam net.trainParam.epochs
d. net.trainParam.lr : dipakai untuk menentukan laju pemahaman (α
= learning rate). Defaultnya = 0.01. Semakin besar nilai α , semakin cepat
pula proses pelatihan. Akan tetapi jika α terlalu besar, maka algoritma
menjadi tidak stabil dan mencapai titik minimum lokal.
e. net.trainParam.time : dipakai untuk membatasi lama pelatihan
(dalam detik). pelatihan akan dihentikan jika lamanya melebihi nilai yang
F. SPSS
Santoso dalam Taniredja & Mustafidah (2011), menyatakan bahwa
SPSS singkatan dari Statistical Package For Social Science yaitu merupakan paket statistika untuk ilmu – ilmu sosial, akan tetapi SPSS banyak juga
digunakan untuk bidang – bidang lain yang memang membutuhkan statistika. Sejak dikeluarkannya SPSS dengan versi under DOS sampai sekarang dengan versi under Windows, sudah dikembangkan SPSS sampai generasi atau
re-lease 17 yang paling baru dengan penambahan fasilitas yang makin lengkap seperti grafik pengendali untuk Quality control dan penambahan fasilitas un-tuk link S-Plus yaitu Package Statistika terbaru yang sangat cocok unun-tuk tujuan ilmiah dan pengembangannya, tidak hanya pengolahan data semata. SPSS berfungsi untuk membantu memproses data – data statistik secara cepat
dan tepat, serta menghasilkan berbagai output yang dikehendaki oleh para pengambil keputusan. Statistik dapat diartikan sebagai suatu kegiatan yang
bertujuan untuk mengumpulkan data, meringkas atau menyajikan data kemudian menganalisis data dengan menggunakan metode tertentu, dan menginterpretasikan hasil dari analisa tersebut.
MSE = Mean Square of Error
Pada anava jika Ho ditolak maka kita masih mempunyai pekerjaan
un-tuk menenun-tukan mean – mean mana saja yang berbeda. Untuk itu perlu dil-akukan MCA (Multiple Comparison Analysis) atau Analisis Pembandingan