BAB II LANDASAN TEORI
2.1 Jaringan Syaraf Biologi Jaringan Syaraf Tiruan merupakan suatu representasi buatan dari otak manusia yang dibuat agar dapat mensimulasikan apa yang dipejalari melalui proses pembelajaran pada Jaringan Syaraf Tiruan tersebut.Disebut jaringan syaraf tiruan karena jaringan syaraf tiruan ini di implementasikan dengan menggunakan program pada komputer yang mampu untuk menyelesaikan proses pembelajaran. Didalam otak manusia terdiri dari banyak sekali neuron yang terhubung satu sama lain. neuron bekerja berdasarkan sinyal yang diberikan oleh neuron lain dan kemudian meneruskannya kepada neuron lainnya dan penghubung antar neuron disebut dengan sinapsis. Neuron memiliki 3 bagian utama yaitu dendrit, badan sel dan akson. Dendrit berfungsi untuk menerima sinyal infornasi dari satu atau banyak neuron yang terhubung. Sinyal yang diterima oleh dendrit akan diteruskan ke badan sel, jika badan sel cukup kuat untuk mengaktifkan sebuah neuron, maka neuron akan mengirimkan sinyal kesemua neuron yang terhubung melalui akson.
Gambar 2.1 Sel saraf biologi 6
7 2.2 Jaringan Syaraf Tiruan (Artificial Neural Network) Jaringan Syaraf Tiruan (Artificial Neural Network) merupakan bentuk perhitungan yang merepresentasikan jaringan syaraf pada manusia. Sama seperti jaringan syaraf manusia, jaringan syaraf tiruan ini memiliki neuron yang berfungsi untuk memproses input dan output. Pembuatan jaringan syaraf tiruan ini bertujuan agar komputer dapat mengenali pola, bentuk dan struktur tertentu. Menurut Haykin, S. (1994), Neural Networks: A Comprehensive Foundation, NY, Macmillan, mendefinisikan “Sebuah jaringan syaraf adalah prosesor yang terdistribusi paralel dan mempunyai kecenderungan untuk menyimpan pengetahuan yang didapatkannya dari pengalaman dan membuatnya untuk tetap tersedia untuk digunakan. Hal ini menyerupai kerja otak dalam dua hal yaitu pengetahuan diperoleh oleh jaringan melalui suatu proses belajar dan kekuatan hubungan antar sel syaraf yang dikenal dengan bobot, sinapsis digunakan untuk menyimpan pengetahuan”. Pada buku DARPA Neural Network Study (1988, AFCEA International Press, halaman 60) didefenisikan “jaringan syaraf tiruan adalah sebuah sistem yang terdiri dari banyak elemen pengolahan yang beroperasi secara paralel yang fungsinya ditentukan oleh struktur jaringan, kekuatan hubungan, dan pengolahan dilakukan pada komputasi elemen atau nodes”. Neuron model pada jaringan syaraf tiruan dapat dibedakan menjadi 2 macam: 2.2.1 Jaringan Syaraf Tiruan Masukan Tunggal (Single-input Neuron)
Gambar 2.2 Jaringan syaraf tiruan masukan tunggal
8 Dimana pada jaringan syaraf tiruan ini hanya memiliki 1 masukan saja, jika kita kaitkan dengan jaringan syaraf biologi bobot(w) disebutkan sebagai sinapsis, badan sel disebutkan sebagai penjumlahan(∑) dan fungsi transfer dan neuron ouput(a) disebutkan sebagai akson. neuron output dapat dihitung menggunakan :
a = ƒ(Wp+b) dimana ƒ adalah fungsi transfer. 2.2.2 Jaringan Syaraf Tiruan Masukan Lebih dari 1 (Multiple-Input Neuron)
Gambar 2.3 Jaringan syaraf tiruan masukan lebih dari 1 Pada jaringan ini terdapat banyak input. Untuk perhitungan output dari jaringan syaraf tiruan ini dapat dihitung menggunakan :
a = ƒ(Wp+b) dimana ƒ adalah fungsi transfer dari jaringan. 2.2.3 Fungsi Transfer Fungsi di pilih untuk memenuhi secara spesifik masalah yang terjadi pada jaringan syaraf tiruan agar dapat diselesaikan. Fungsi transfer yang sering dipergunakan yaitu hard limit, linier, dan log sigmoid. Hard Limit Transfer fungsi ini dipakai ketika output sama dengan 0 jika input argument dari fungsinya adalah kurang dari 0 atau output 1 jika input argument besar atau sama dengan 0.
9
Gambar 2.4 Hard limit fungsi transfer Linier Transfer fungsi linier digunakan ketika output (a) sama dengan input argument (n).
Gambar 2.5 Transfer Fungsi Linier Log Sigmoid Transfer fungsi log sigmoid mengambil nilai input berdasarkan range dari minus hingga plus tanpa ada batasan dan nilai output adalah range dari 0 hingga 1.
Gambar 2.6 Transfer fungsi Logsig
10 Table transfer Fungsi
Table 2.1 Transfer fungsi Nama
Input / Output
Hard Limit
a=0
n<0
a=1
n≥0
Symmetrical Hard a = -1
n<0
Limit
a = +1
n≥0
Linier
a=n
Saturating Linier
a=0
n<0
a=n
0 ≤ n ≤1
a=1
n>1
Icon
Fungsi pada Matlab hardlim
Hardlims
Purelin
Symmetric
a = -1
n <- 1
Saturating Linier
a=n
-1 ≤ n ≤1
a=1
n>1
Satlin
Satlins
Log Sigmoid
Logsig
Hyperbolic
Tansig
Tangent Sigmoid Positive Linier
Competitive
a=0
n<0
a=n
0≤n
a=1 a=0
neuron dengan nilai max n semua neuron
Poslin
Compet
11 Arsitektur dari jaringan syaraf tiruan dapat dibedakan menjadi : Jaringan syaraf tiruan lapisan tunggal (single layer network) Jaringan syaraf tiruan lapisan tunggal hanya memiliki 1 lapisan dengan bobot yang terhubung. Jaringan ini akan memproses input yang dimasukan langsung mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi(hidden layer). Jaringan ini biasa dikenal dengan 1 lapisan input dan 1 lapisan output.
Input Layer
Output Layer
Gambar 2.7 Jaringan lapisan tunggal Jaringan syaraf tiruan lapisan lebih dari 1 (multi layer network) Jaringan syaraf tiruan dengan memiliki lebih dari 1 lapisan yang terletak diantara lapisan input dan lapisan output (memiliki lebih dari 1 hidden layer). Jaringan dengan banyak lapisan ini biasa digunakan untuk menyelesaikan permasalahan yang sulit atau pembelajaran yang rumit.
Input Layer
Hidden Layer
Output Layer
Gambar 2.8 jaringan lapisan lebih dari 1(multi layer)
12 • Input Layer Merupakan data yang kita masukan untuk diproses dalam pembelajaran jaringan syaraf tiruan. Banyak jumlah node pada input layer tergantung banyak data input yang kita masukan kedalam jaringan. • Hidden Layer Banyaknya node pada lapisan ini bervariasi sesuai berapa banyak hidden layer yang digunakan. Semakin banyak hidden layer yang digunakan maka akan semakin bagus juga hasil output yang dihasilkan, tetapi dengan banyaknya hidden layer yang digunakan maka waktu yang dibutuhkan untuk pembelajaran(training) akan menjadi lama (Mitchell, 1997, P115). • Output Layer Banyaknya node pada lapisan output ini tergantung dari jaringan syaraf tiruan itu sendiri. Dimana sebelumnya kita telah memasukan input dan output pada saat melakukan pembelajaran(training). 2.2.4 Training Proses pembelajaran suatu neural network terdiri dari proses Forward, Backward, dan Update Bobot. 1 kali training bila melawati 3 proses tersebut. Semakin lama Training yang dilakukan pada sebuah jaringan syaraf tiruan semakin kecil pula error yang dihasilkan. Menurut Rao (1995, p5), ada 2 metode pembelajaran (learning) dalam jaringan syaraf tiruan : 1. Supervised Learning Supervised Learning adalah suatu metode dimana jaringan syaraf tiruan belajar dari pasangan data input dan output yang sudah diketahui. Biasanya jaringan dilatih dengan input dan target dimana suatu input vektor diaplikasikan menghasilkan nilai output, lalu hasil dari output akan dibandingkan dengan target output, dan selisihnya akan dimasukan kedalam jaringan syaraf tiruan untuk diperkecil error yang ada.
13 2. Unsupervised Learning Unsupervised Learning dianggap sebagai model dalam konsep sistem biologis. Teori ini dikembangkan oleh Kohonen (1984) dan berapa ilmuwan lainnya. dalam jaringan syaraf tiruan jenis unsupervised learning ini tidak diperlukan pasangan input dan target. Sistem pelatihannya hanya dengan menggunakan input saja yang lama kelamaan akan mengetahui karakteristik dari input dan akan membuat kelas secara sendirinya. 2.3 Backpropagation Backpropagation merupakan metode algoritma pembelajaran jenis supervised (terawasi) dimana input dan target pada Jaringan Syaraf Tiruan ini diketahui atau ditentukan. Algoritma Backpropagation menggunakan nilai error output untuk mengubah (update) bobot-bobot pada jaringan dalam arah mundur. Untuk mendapatkan nilai error jaringan ini melakukan perambatan maju (forward backpropagation). Perambatan maju diartikan jaringan berjalan secara maju dari input hingga output maka akan didapatkan nilai error. Dan nilai error tersebut akan di ubah(update) secara mundur. Algoritma backpropagation (Fausett, 1994) 1. Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil) 2. Tentukan : maksimum Epoch, target error, dan Learning Rate(α) 3. Inisialisasi Epoch = 0 4. Selama (Epoch < Maksimum) dan (error > target error), maka akan dilakukan : a. Epoch = Epoch+1 b. dilakukan pembelajaran : Feedforward 1. Tiap input (P,i i = 1, 2, 3, 4. . . . .n) akan diteruskan ke semua unit lapisan tersembunyi (Hidden Layer).
14 2. Tiap unit lapisan tersembunyi menjumlahkan input bobot, lalu digukanan fungsi aktivasi untuk menghitung sinyal output dan sinyal ini akan dikirimkan kesemua unit lapisan keluaran (output layer). Backpropagation 1. Tiap output layer menerima target dengan pola pembelajaran, lalu hitunng error 2. update nilai bobot untuk memperoleh nilai error yang sesuai ditentukan.
Training Backpropagation Pada pelatihan backpropagation yang kita latih adalah matriks yang berisi bobot dan bias untuk dapat menyesuaikan hasil sesuai dengan target yang ditentukan, berikut blok diagram cara kerja pelatihan backpropagation.
15
Gambar 2.9 Blok Diagram Pelatihan Backpropagation Pada pelatihan ini pelatihan akan berulang jika mse atau error yang terdapat lebih besar dibanding nilai yang telah ditetapkan dan nilai total training yang tidak melebihi training yang ditentukan jika memenuhi criteria seperti pada gambar maka training akan terus berulang hingga nilai mse lebih kecil dari nilai yang ditentukan dan training yang dilakukan belum mencapai nilai yang ditentukan.