Jaringan Saraf Tiruan Prediksi Penjualan Pada Perusahaan Industri Menggunakan Back Propagation

8

2.4 Jaringan Saraf Tiruan

Jaringan syaraf tiruan JST adalah paradigma pemrosesan suatu informasi yang terinspirasi oleh sistem sel syaraf biologi. JST dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa: 1. Pemrosesan informasi terjadi pada banyak elemen sederhana neuron. 2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung. 3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal. 4. Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi biasanya bukan fungsi linier yang dikenakan pada jumlahan input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang. Hal yang ingin dicapai dengan melatih JST adalah untuk mencapai keseimbangan antara kemampuan memorisasi dan generalisasi. Yang dimaksud kemampuan memorisasi adalah kemampuan JST untuk mengambil kembali secara sempurna sebuah pola yang telah dipelajari. Kemampuan generalisasi adalah kemampuan JST untuk menghasilkan respon yang bisa diterima terhadap pola-pola yang sebelumnya telah dipelajari. Hal ini sangat bermanfaat bila pada suatu saat ke dalam JST itu di inputkan informasi baru yang belum pernah dipelajari, maka JST itu masih akan tetap dapat memberikan tanggapan yang baik, memberikan keluaran yang mendekati Puspaningrum, 2006. Jaringan syaraf tiruan menyerupai otak manusia dalam 3 hal, yaitu : 1. Pengetahuan diperoleh jaringan melalui proses belajar. 2. Kekuatan hubungan antar sel syaraf neuron yang dikenal sebagai bobot-bobot sinaptik digunakan untuk menyimpan pengetahuan. 3. Fungsi aktivasi, yaitu fungsi yang digunakan untuk menentukan keluaran suatu neuron . 2.4.1 Konsep Dasar Jaringan Saraf Tiruan Jaringan saraf tiruan adalah suatu sistem pemrosesan informasi yang cara kerjanya memiliki kesamaan tertentu dengan jaringan saraf biologis Haykin, S. 1994.Jaringan Saraf Tiruan atau neural network memiliki pembagian arsitektur ditentukan oleh Universitas Sumatera Utara 9 hubungan antara neuron. Kerangka di dalam neural network terkumpul dalam jumlah lapisan layer dan jumlah node setiap lapisan Sutojo et al. 2011. Umumnya arsitektur di jaringan saraf tiruan memiliki lapisan-lapisan dibagi menjadi tiga, yaitu: 1. Lapisan input Unit-unit dalam lapisan node input disebut unit-unit yang bertugas menerima pola input dari luar menggambarkan suatu masalah. 2. Lapisan tersembunyi Unit-unit dalam lapisan node tersembunyi disebut unit-unit tersembunyi, yang mana nilai outputnya tidak dapat diamati secara langsung. 3. Jaringan Output Unit-unit dalam lapisan node output disebut unit-unit output, yang merupakan solusi jaringan saraf tiruan terhadap suatu permasalahan Gambar 2.1 Arsitektur dasar jaringan saraf tiruan Sutejo et al, 2011 2.5 Algoritma Backpropagation Algoritma Backpropagation adalah metode penurunan gradien untuk meminimalkan nilai eror output untuk mengubah nilai bobot arah mundur Muis, 2009. Backpropagation memiliki satu layer tersembunyi Hidden layer serta menggunakan fungsi aktivasi sigmoid biner yang berguna untuk mendapatkan nilai output eror terhadap perambatan alur maju foward propagation dikarenakan nilai target untuk unit tidak diberikan Sutojo et al. 2011. Jaringan backpropagation dengan lapisan tersembunyi pada gambar 2.2. Universitas Sumatera Utara 10 Gambar 2.2 Jaringan backpropagation dengan lapisan tersembunyi Puspitaningrum, 2006 Backpropagation memiliki penurunan gradien untuk meminimalkan kuadrat terhadap error keluaran. Untuk mendukung meminimalkan kuadrat eror backpropagation dapat dibagi menjadi dua bagian algoritma sutojo et al, 2011: 2.5.1 Algoritma tahap pelatihaan Pada tahap ini algoritma backpropagation melakukan alur maju dengan tahap pelatihan input ,tahap propagation eror, tahap propagation nilai bobot dan bias. Berikut ini adalah keterangan alur kerja algoritma tahap pelatihan backpropagation pada gambar 2.3. Gambar 2.3 Alur Kerja algoritma tahap pelatihan backpropagation Sutojo et al, 2011 Universitas Sumatera Utara 11 2.5.1.1 Inisialisasi Bobot. Menentukan angka yang nilai ambang jika memakai nilai ambang dalam kondisi berhenti ; atau mengatur nilai maksimal epoch jika memakai banyak nilai epoch dalam kondisi berhenti. Proses tahap algoritma pelatihan sebagai berikut: 1. Dalam kondisi berhenti bernilai salah maka nilai menjadi while atautidak terpenuhi do maka melanjutkan langkah ke-2 hingga langkah ke-9. 2. Pada langkah ke-3 hingga langkah ke-8 untuk menentukan pasangan pola pelatihan dengan tahapan umpan maju. Fase umpan majufoward propagation 3. Pada tiap unit input Xi, i=1,2,3,...,n mengirimkan sinyal dari unit ke-1 hingga ke- n mengirimkan sinyal ke semua unit yang ada di lapisan atasnya ke lapisan tersembunyi. Xi 2.1 4. Menghitung Nilai input Zj, j=1,2,3,...n. Pada tahap ini menghitung nilai input Zj=1 hingga Zj=n unit tersembunyi Zj dari unit ke-1 sampai ke-p; i=i,...,n; j=l,..,p sinyal output lapisan tersembunyi dihitung dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input berbot Xi: = � + ∑ =1 2.2 5. Menghitung nilai input Yk, k=1,2,3,..,n. Pada tahap ini menghitung input Yk=1 hingga Yj=n pada unit output yk dari unit ke-1 sampai unit ke= n i=l,...n; k=l,...,m menghitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyalbobot Zj bagi lapisan sinyal dengan rumus sebagai berikut: = � + ∑ � =1 2.3 Universitas Sumatera Utara 12 Fase Backpropagation Eror Menentukan propagasi eror 6. Didalam Pembangunan program di neural network khususnya Backpropagation. Backprogation memiliki satu layer tersembunyi Hidden Layer dan menggunakan fungsi aktivasi sigmoid biner. Back propagation menggunakan nilai kemelesatan atau eror, output untuk mengubah nilai bobot arah mundur. Untuk dapatkan nilai output eror, tahapan perambatan maju harus dikerjakan terlebih dahulu output Yk dari unit ke-1 sampai unit ke-m; i=l,..,p; k=l,..,m menerima target tk lalu informasi kesalahan lapisan output δk dihitung. δk dikirim ke lapisan dibawahnya dan digunakan untuk menghitung besar koreksi bobot dan bias ∆wjk dan ∆w0k antara lapisan tersembunyi dengan lapisan output : � = � − � ′ � + ∑ � =1 ∆ = � � ∆ � = � � 2.4 7. Unit pada lapisan tersembunyi unit ke-1 hingga unit ke-p; i=1,...,n;j=l,..,p; k=l,...,m melakukan penjumlahan seluruh informasi lapisan tersembunyi δj yang dapat terjadi kesalan informasi. δj melakukan perhitungan agar mengkoreksi nilai bobot dan bias ∆wjk dan ∆w0k terdapat pada input serta lapisan tersembunyi . � = ∑ � � =1 � � + ∑ =1 2.5 fase Bobot dan Bias 8. Pada tahap ini melakukan pengupdatean bobot dan bias dimanaSetiap unit output Wk , K= 1,2,3... ,m dilakukan perubahan bobot dan bias j=0,1,2,3..., p.dengan persaman berikut. w kj baru= w kj lama + Δw kj 2.6 setiap unit tersembunyi Vi, J=1,2,3,...p dilakukan perubahn bobot dan bias j=0,1,2,..n dengan persamaan berikut ini . Universitas Sumatera Utara 13 V ji baru= v ji lama + Δv ji 2.7 9 . mencoba hasil akhir dalam kondisi berhenti. 2.5.2 Algoritma Tahap Aplikasi Pada tahap ini algoritma backpropagation meneruskan proses dari algoritma pelatihan untuk melakukan tahap maju. Menginisialisasi bobot, yang melanjutkan nilai bobot bias yang terakhir dari tahap pelatihan sebagai berikut: 1. Unit di setiap input vektor melakukan langkah dari ke-2 hingga langkah ke-4. 2. Pada tiap lapisan unit Xi lapisan unit ke-1 hingga unit ke-n terhadap lapisan input; i=l,...,n pengujian Xi dengan menerima input sinyal dan sinyal Xi melakukan penyiaran ke seluruh unit lapisan yang tersembunyi atau di atasnya. 3. Pada tiap lapisan tersembunyi Zj lapisan unit ke-1 hingga lapisan unit ke-p; i=l,....,n; menghitung seluruh sinyal output merepkan aktivasi pada penjumlahan fungsi sinyal input pada Xi. Output pada lapisan sinyal tersembunyi kemudian ditransfer ke seluruh unit pada lapisan atas atau lapisan tersembunyi: = � + ∑ =1 2.8 4. Pada tiap lapisan tersembunyi Yk lapisan unit ke-1 hingga lapisan unit ke-m; i=l,....,m; menghitung seluruh sinyal output merepkan aktivasi pada penjumlahan fungsi sinyal input pada Zj. Output pada lapisan sinyal tersembunyi kemudian ditransfer ke seluruh unit pada lapisan atas atau lapisan tersembunyi: = � + ∑ � =1 2.9 2.5.3 Activation Function Fungsi aktivasi harus memiliki karakteristik secara kontinue, diferensial, serta tidak munurun fungsi secara monoton Muis, 2009. Tahapan maju harus dikerjakan terlebih dahulu dengan mengaktifkan Universitas Sumatera Utara 14 1.Fungsi Sigmoid Biner Fungsi aktivasi sigmoid biner dengan rentangan 0,1 didefenisikan berikut ini: � 1 = 1 1+ � −� 2.10 Contoh grafik pada sigmoid biner dapat dilihat pada gambar 2.4: Gambar 2.4 Fungsi aktivasi Sigmoid Kusumadewi, 2004 2.5.4 Penginisialisasi Nilai Bobot dan Bias Pada umumnya prosedur penginisialisasi nilai bobot dan bias dipengaruhi oleh cepat atau tidaknya nilai bobot terhadap neuron nilai bias. Salah satu cara didalam melakukan penginiisialisasi terhadap bobot dan bias pada backpropaagation 1. Inisialisasi Acak Umumnya pada saat menginisialisasi bobot dan bias, dari unit ke unit hingga ke unit tersembunyi dan dari unit tersembunyi ke output secara random dengan interval tertentu - ᾰ dan ᾰ contoh nilai interval -0,2 hingga 0,2, -0,7 hingga 0,7, dan -1 hingga 1. sutejo et al, 2011 2. Inisialisasi Nguyen Windrow Propagasi balik yang bobot dan bias yang diinilisasi dengan Nguyen-Windrow akan lebih cepat proses inisialisasi dari pada bilangan acak. Faktor skala Nguyen- w indrow β dengan format perhitungan: β = 0,7 p 1 Penjelasan : n= banyak unit input p = banyak unit tersembunyi β = faktor skala Inisialisasi Nguyen-Windrow Unit tersembunyi pada unit ke-1 hingga unit ke-p: 1. Menginisialisasi vektor bobot dari unit input ke unit tersembunyi j = l,..., p dengan cara sebagai berikut: a. Menentukan bobot- bobot antara unit input ke unit tersembunyi Vij : Universitas Sumatera Utara 15 Vij lama = bilangan acak antara - β dan β dimana i = l,..., n. b. Menghitung || Vij || c. Menginisialisasi kembali Vij: Vij = β . Vij lama || Vij || 2. Menentukan bias antara unit input ke unit tersembunyi j = l,..., p V 0j dengan bilangan acak yang terletak pada skala –β dan β 2.5.5 Momentum Terhadap Pengupdatean Nilai bobot Penambahan terhadahap momentum dalam pengupdatean terhadap nilai bobot yang berguna sebagai laju proses pelatihan. Momentum memacu proses kerja nilai bobot yang terus bergerak yang tidak terjebak kedalam nilai minimum lokal. Proses pelatihan yang terjadi didalam pengupdatean pada jaringan biasa dengan rumus seperti berikut: Δw jk = α δ k z j 2.11 Δv ij = α δ j x i Pada nilai output tidak terjadi nilai eror , maka δk akan berubah menjadi 0 dan maka dari ini disebabkan oleh koreksi bobot ∆Wjk = 0, maka bobot yang melakukan pengupdetan nilai akan berlanjut ke dalam arah pada sebelumnya. Parameter terhadap momentum nilai pengupdatean bobot dalam kisaran 0 hingga 1, maka persamaanya akan melakukan modifikasi seperti berikut: Δw jk t + 1 = α δ k z j + µ Δw jk t Δv ij t + 1 = α δ j x i + µ Δv ij t 2.12

2.6 Penelitian Terdahulu