BAB II KAJIAN PUSTAKA A. JARINGAN SYARAF TIRUAN 1. Definisi Jaringan Syaraf Tiruan - OPTIMALISASI JARINGAN BACKPROPAGATION DITINJAU DARI JUMLAH NEURON DALAM LAPISAN TERSEMBUNYI - repository perpustakaan

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. Kemampuan yang dimiliki jarin- gan syaraf tiruan dapat digunakan untuk belajar dan menghasilkan aturan atau operasi dari beberapa contoh atau input yang dimasukkan dan mem- buat prediksi tentang kemungkinan output yang akan muncul atau me- nyimpan karakteristik dari input yang disimpan kepada jaringan syaraf tiruan.

  Setiap pengolahan elemen membuat perhitungan berdasarkan pada jumlah masukan (input). Sebuah kelompok pengolahan elemen disebut atau lapisan dalam jaringan. Lapisan pertama adalah input dan yang

  layer

  terakhir adalah output. Lapisan diantara lapisan input dan output disebut dengan lapisan tersembunyi (hidden layer). Salah satu organisasi yang dikenal dan sering digunakan dalam paradigma jaringan syaraf tiruan ada- lah perambatan galat mundur / backpropagation (Hermawan, 2006).

  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 sebaiknya 2/3 dari ukuran lapisan masukan di tambah ukuran lapisan keluaran, dan jumlah neuron dalam lapisan tersembunyi sebaiknnya lebih kecil atau ku- rang 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 lapisan tersembunyi seperti pada Gambar 1. 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 lapisan dapat menyelesaikan permasalahan yang lebih sulit dari pada lapisan dengan tunggal, dengan pembelajaran yang lebih rumit.
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 -

  ή.

  Gambar 3. Jaringan Syaraf Tiruan dengan Kompetitif

3. 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

  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 backpropagation menggunakan error output untuk mengubah nilai b
  • – bobotnya dalam arah mundur (backward). Untuk mendapatkan error ini, tahap perambatan maju (forward propagation) harus dikerjakan terlebih dahulu. Pada saat per-
ambatan maju, neuron

  • – neuron diaktifkan dengan menggunakan fungsi akti-
  • – fasi yang dapat dideferensikan seperti sigmoid, persamaan dan perhitungan perhitungan pada persamaan (1), (2), (3) :

  ........................................................................................ (1) ( )

  ( )

  dengan : ( ) ( ) atau tangen sigmoid :

  ( ) atau .............................................................................. (2) ( ) dengan

  ( ) ( ) ( ) atau purelin : ( )

  ( ) ........................................................................................................ (3) 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 Y. 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 adalah fungsi aktivasi tansig dan antara lapisan tersembunyi dengan lapisan output adalah fungsi aktivasi purelin (tid- ak 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 :

  1. Untuk tiap pasangan elemen yang akan dilakukan :

  Feedforward :

  a. Tiap

  • – tiap unit input (Xi, i = 1,2,3,…,n) menerima sinyal dan meneruskan sinyal tersebut kesemua unit pada lapisan yang ada diat- asnya (lapisan tersembunyi).

  b. 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 pada persamaan (5).

  ( ) .................................................................................... (5) Dan mengirimkan sinyal tersebut kesemua unit di lapisan atasnya (unit

  • – unit output).

  c. 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 persamaan (7).

  ( ) .................................................................................... (7) Dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya

  (unit – unit output).

  Backpropagation :

  d. Tiap

  • – tiap unit output (Yk, k = 1,2,3,…,m) menerima target pola yang berhubungan dengan pola input pembelajaran, menghitung informasi pada persamaan (8).

  error

  ( ) ( ) .................................................................... (8) Kemudian dihitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai ) pada persamaan (9).

  ................................................................................ (9)

  Selain itu hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai awal ) pada persamaan (10).

  .................................................................................. (10) Mengirim ini ke unit – unit yang ada pada lapisan bawahnya.

  e. Tiap

  • – tiap unit tersembunyi (Zj, j = 1,2,3,…,p) menjumlahkan delta

  input (dari unit

  • – unit yang berada pada lapisan atasnya) pada persa- maan (11).

  ...................................................................... (11) ∑

  Mengalikan nilai tersebut dengan turunan dari fungsi aktiva- sinya 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 untuk memperbaiki nilai ) pada persamaan (14).

  ................................................................................... (14)

  f. Tiap

  • – tiap unit output (Yk, k = 1,2,3,…,p) memperbaiki bias dan bo- botnya (j = 0 ,1,2,…,p) pada persamaan (15).

  ( ) ( ) ............................................... (15) Tiap

  • – tiap unit tersembunyi (Zj, j = 1,2,3,…,p) memperbaiki bi- as dan bobotnya (i = 0,1,2,3,…,n) pada persamaan (16).

  .................................................. (16) ( ) ( )

  Jaringan backpropagation telah dikembangkan oleh Mustafidah, dkk. (2014), yaitu menguji dengan menggunakan 12 algoritma backpropa-

  

gation diantaranya adalah algoritma Fletcher-Reeves Update, Polak-

Ribiere, Powell-Beale Restarts, Scaled Conjugate Gradient, Gradient

Descent dengan Momentum dan Adaptive Learning Rate, Resilent

Backpropagation, BFGS, One Step Secant, Levenberg-Marquardt, dari 12

  algoritma pelatihan dipilih algoritma yang paling optimal berdasarkan pola data uji validitas.

  Penelitian selanjutnya dikembangkan oleh Mustafidah & Suwarsito (2015b), yaitu menguji dengan 12 algoritma dan dipilih algoritma yang paling optimal berdasarkan error yang dihasilkan. Berdasarkan penelitian keduanya algoritma pelatihan yang paling optimal adalah algoritma pelati- han trainlm.

  Salah satu contoh implementasi dari algoritma pembelajaran back- yang diambil dari penelitian Febrianto & Mustafidah (2013),

  propagation

  yaitu untuk mengetahui tingkat kualifikasi calon siswa pada sistem infor- masi penerimaan siswa baru di Madrasah Aliyah Negeri 2 Banjarnegara sehingga pihak sekolah dapat mengambil tindakan terhadap calon siswa dengan kualifikasi yang tinggi dan rendah, percobaan tersebut menggunakan beberapa parameter diantaranya dengan menggunakan epoh 10000, target error 0.001 dan learning rate antara 0.3 sampai 0.8 menghasilkan MSE lebih kecil dari target error yang berkisar 0.0009.

C. ALGORITMA LEVENBREG-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 sebagai berikut pada persamaan (17).

  H = J’ * J ........................................................................................ (17) dan gradien dapat dihitung sebagai berikut 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.

  Algoritma Levenberg-Marquardt menggunakan pendekatan untuk menghitung matriks Hessian, melalui perbaikan metode Newton pada persa- maan (19).

  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 san-

  gan cepat dan akurat untuk mendapatkan error minimum, oleh karena itu di- harapkan 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 menghasilkan 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, E. L. & Casella, 1998).

  Perhitungan kesalahan atau error merupakan pengukuran bagaimana jaringan dapat belajar dengan baik sehingga jika dibandingkan dengan pola yang baru akan dengan mudah dikenali. Kesalahan pada keluaran jaringan merupakan selisih antara keluaran sebenarnya (current output) dan keluaran yang diinginkan (desired output). Selisih yang dihasilkan antara keduanya ditemukan dengan cara dihitung menggunakan suatu persamaan. Suatu error dapat dihitung dengan MSE (Mean Squared Error). MSE merupakan fungsi kinerja jaringan yang mengukur kinerja berdasarkan rata-rata dari kuadrat er-

  . (Kusumadewi, 2004).

  ror 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 bahasa pemograman yang dikembangkan oleh MathWorks.Inc. Matlab tidak hanya berfungsi se- bagai bahasa pemograman, tetapi sekaligus sebagai alat visualisasi, yang berhubungan langsung dengan ilmu matematika. Oleh karena itu, matlab se- makin banyak digunakan oleh para programer yang menghendaki kepraktisan dalam membuat program (Paulus & Nataliani, 2007).

  Perangkat lunak ini menawarkan kemudahan dan kesederhanaan dalam menyelesaikan permasalahan yang berhubungan dengan vektor dan matriks.

  Memperoleh inversi dan menyelesaikan persamaan linier merupakan contoh permasalahan yang dapat dipecahkan dengan cara yang sangat singkat dan mudah sekali. Untuk menangani persoalan

  • – persoalan spesifik, matlab me- nyediakan sejumlah toolbox yang bisa dipakai untuk mempermudah 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: 1. net.trainParam.show : dipakai untuk menampilkan frekuensi pe- rubahan MSE (default : setiap 25 epoh).

  2. net.trainParam.epochs : dipakai untuk menentukan jumlah epoh maksimum pelatihan (default : 100 epoh).

  3. 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 epoh mencapai batas yang ditentukan dalam net.trainParam.epochs.

  4. net.trainParam.lr : dipakai untuk menentukan laju pemahaman (α

  = learning rate). Default = 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.

  5. net.trainParam.time : dipakai untuk membatasi lama pelatihan (dalam detik). Pelatihan akan dihentikan jika lamanya melebihi nilai yang ditentukan dari net.trainParam.time.

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 untuk 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.

G. ANAVA

  ANAVA atau disebut juga ANOVA (Analysis of Variancce) merupa- kan perluasan dari uji rata

  • – rata k sampel, dengan k > 2.
    • H :

  VS H 1 : minimal 2 mean tidak sama.

  • dimana MST = Mean Square of Treatment MSE = Mean Square of Error Pada ANAVA jika H ditolak maka masih mempunyai pekerjaan untuk menentukan mean
    • – mean mana saja yang berbeda. Untuk itu perlu dilakukan

  MCA (Multiple Comparison Analysis) atau Analisis Pembandingan Ganda (Taniredja & Mustafidah, 2011).