BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.2 Landasan Teori
2.2.6 Artificial Neural Network (ANN)
Artificial neural network (ANN) atau dikenal dengan jaringan saraf tiruan (JST) adalah suatu jaringan yang memodelkan sistem saraf otak manusia (neuron) dalam melaksanakan tugas pengenalan pola, khususnya klasifikasi. Pemodelan ini didasari oleh kemampuan otak manusia dalam mengorganisir neuron sehingga mampu mengenali pola secara efektif. Namun, pemodelan pada ANN jauh lebih sederhana dibanding otak manusia yang sebenarnya. Banyak sistem otak manusia yang harus disimplifikasi agar dapat dimodelkan kedalam dunia komputer.
Jaringan saraf tiruan seperti manusia belajar dari suatu contoh. Kemudian dibentuk untuk memecahkan suatu masalah tertentu seperti pengenalan pola atau klasifkasi karena proses pembelajaran. Masalah-masalah yang dipecahkan oleh jaringan saraf tiruan dapat digolongkan kedalam peramalan (forecasting). Pada contoh
penerapannya digunakan untuk aplikasi peramalan besarnya penjualan, prediksi nilai tukar uang, prediksi besarnya aliran air sungai dan lain sebagainya. Algoritma ANN adalah salah satu algoritma yag digunakan untuk mengatasi masalah peramalan atau prediksi. Jaringan Saraf Tiruan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran otak manusia tersebut. [26]
Jaringan saraf tiruan merupakan salah satu representasi untuk mensimulasikan proses pembelajaran pada otak manusia. Istilah buatan disini digunakan karena jaringan saraf ini diimplementasikan dengan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran. Jaringan saraf tiruan dapat menunjukkan sejumlah karakteristik yang dimiliki oleh otak manusia, diantaranya adalah:
1. Kemampuan untuk belajar dari pengalaman
2. Kemampuan untuk melakukan generalisasi terhadap masukan baru dari pengetahuan yang dimilki.
3. Kemampuan mengabstraksikan karakteristik penting dari masukan yang mengandung data yang tidak penting.
A. Konsep Dasar Pemodelan Jaringan Saraf Tiruan
Satu sel saraf terdiri dari 3 bagian, yaitu : fungsi penjumlahan (summing function), fungsi aktivasi (activation function), dan keluaran (output).
Gambar 2.2 Model Neuron
Informasi (input) akan dikirim ke neuron dengan bobot tertentu. Input ini akan diproses oleh suatu fungsi yang akan menjumlahkan nilai-nilai bobot yang ada. Hasil penjumlahan kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input tersebut melewati suatu nilai ambang tertentu, maka neuron tersebut akan diaktifkan. Namun jika tidak, maka neuron tersebut akan mengirimkan output melalui bobot-bobot output kesemua neuron yang berhubungan dengannya.
Dalam struktur jaringan saraf tiruan tiruan neuron adalah sebagai elemen pemproses seperti pada Gambar 2.4 yang dapat berfungsi seperti halnya sebuah neuron. Sejumlah sinyal masukan a dikalikan masing-masing penimbang yang bersesuaian w. kemudian dilakukan penjumlahan dari seluruh hasil perkalian tersebut dan keluaran yang dihasilkan dilakukan kedalam fungsi pengaktif untuk mendapatkan tingkat derajat sinyal keluarannya F(a,w).
Gambar 2.3 Model Tiruan Sebuah Neuron Dimana:
- Îąj : Nilai aktivasi dari unit j - Wj,i : Bobot dari unit j ke unit i
- ini : Penjumlahan bobot dan masukkan ke unit i - g : Fungsi aktivasi
- Îąi : Nilai aktivasi dari unit i
Misalkan ada n buah sinyal masukan dan n buah penimbang, fungsi keluaran dari neuron adalah persamaan berikut:
in = â ððð â ðžð ð
Kumpulan dari neuron dibuat menjadi sebuah jaringan yang akan berfungsi sebagai alat komputasi. Jumlah neuron dan struktur jaringan untuk setiap problema yang akan diselesaikan.
Sehingga dapat disimpulkan bahwa neuron terdiri dari 3 elemen pembentuk yaitu:
1. Himpunan unit-unit yang dihubungkan dengan jalur koneksi. Jalur-jalur tersebut memiliki bobot yang berbeda-beda. Bobot yang bernilai positif akan memperkuat sinyal dan yang bernilai negatif akan memperlemah sinyal yang dibawa. Jumlah, struktur, dan pola hubungan antar unit-unit tersebut akan menentukan arsitektur jaringan.
2. Suatu unit penjumlahan yang akan menjumlahkan input-input sinyal yang sudah dikalikan dengan bobotnya.
3. Fungsi aktivasi yang akan menentukan apakah sinyal dari inputneuron akan diteruskan ke neuron lain atau tidak.
Setiap pola-pola informasi input dan output yang diberikan kedalam jaringan saraf tiruan diproses dalam neuron. Neuron-neuron tersebut terkumpul didalam lapisan-lapisan yang disebut neuronlayers. Lapisan-lapisan penyusun jaringan saraf tiruan tersebut dapat dibagi menjadi 3, yaitu :
1. Lapisan input
Unit-unit di dalam lapisan input disebut unit-unit input. Unit-unit input tersebut menerima pola inputan data dari luar yang menggambarkan suatu permasalahan.
2. Lapisan tersembunyi (Hiden Layers)
Unit-unit di dalam lapisan tersembunyi disebut unit-unit tersembunyi. Dimana outputnya tidak dapat secara langsung diamati.
3. Lapisan output
Unit-unit di dalam lapisan output disebut unit-unit output. Output dari lapisan ini merupakan solusi jaringan saraf tiruan terhadap suatu permasalahan.
B. Fungsi Aktivasi Jaringan Saraf Tiruan
Dalam jaringan saraf tiruan, fungsi aktivasi digunakan untuk menentukan keluaran suatu neuron. Argumen fungsi aktivasi adalah net masukan (kombinasi linier masukan dan bobotnya). Beberapa fungsi aktivasi yang diantaranya:
1. Fungsi Undak Biner (Hard Limit)
Jaringan dengan lapisan tunggal sering menggunakan fungsi undak (step function) untuk mengkonversikan input dari suatu variabel yang bernilai
kontinu ke suatu output biner (0 atau 1). Fungsi undak biner (hard limit) dirumuskan sebagai:
ðī = {0, ðððð ðģ âĪ 0 1, ðððð ðģ > 0
Gambar 2.4 Fungsi Aktivasi: Undak Biner (Hard Limit) 2. Fungsi Undak Biner (Threshold)
Fungsi undak biner dengan menggunakan nilai ambang sering juga disebut dengan nama fungsi nilai ambang (threshold) atau fungsi heaviside. Fungsi undak biner (dengan nilai ambang ïą) dirumuskan sebagai:
ðī = {0, ðððð ðģ < ð 1, ðððð ðģ âĨ ð
Gambar 2.5 Fungsi Aktivasi: Undak Biner (Threshold) 3. Fungsi Bipolar (Symetric Hard Limit)
Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner, hanya saja output yang dihasilkan berupa 1, 0 atau â1. Fungsi Symetric Hard Limit dirumuskan sebagai:
ðī = {
1, ðððð ðģ > 0 0, ðððð ðģ = 0 â1, ðððð ðģ < 0
Gambar 2.6 Fungsi Aktivasi: Bipolar (Symetric Hard Limit) 4. Fungsi Bipolar (dengan threshold)
Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner dengan threshold, hanya saja output yang dihasilkan berupa 1, 0 atau â1. Fungsi bipolar (dengan nilai ambang ïą) dirumuskan sebagai:
ðī = { 1, ðððð ðģ âĨ ð â1, ðððð ðģ < ð
Gambar 2.7 Fungsi Aktivasi: Bipolar (Dengan Threshold)
5. Fungsi Linier (identitas)
Fungsi linear memiliki nilai output yang sama dengan nilai inputnya. Fungsi linier dirumuskan sebagai:
ðī = ðģ
Gambar 2.8 Fungsi Aktivasi: Linier (Identitas)
6. Fungsi Symetric Saturating Linear
Fungsi ini akan bernilai -1 jika inputnya kurang dari â1, dan akan bernilai 1 jika inputnya lebih dari 1. Sedangkan jika nilai input terletak antara â1 dan 1, maka outpunya akan bernilai sama dengan nilai inputnya. Fungsi symetric saturating linear dirumuskan sebagai:
ðī = {
1; ðððð ðģ âĨ 0 ðģ; ðððð â 1 âĪ ðģ âĪ 1 â1; ðððð ðģ âĪ â1
7. Fungsi Saturating Linear
Fungsi ini akan bernilai 0 jika inputnya kurang dari âÂ―, dan akan bernilai 1 jika inputnya lebih dari Â―. Sedangkan jika nilai input terletak antara âÂ― dan Â―, maka outpunya akan bernilai sama dengan nilai input ditambah Â―. Fungsi saturating linear dirumuskan sebagai:
ðī = {
1; ðððð ðģ âĨ 0,5
ðģ + 0,5; ðððð â 0,5 âĪ ðģ âĪ 0,5 0; ðððð ðģ âĪ â0,5
Gambar 2.10 Fungsi Aktivasi: Saturating Linear
8. Fungsi Sigmoid Biner
Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan menggunakan metode backpropagation. Fungsi sigmoid biner memiliki nilai pada range 0 sampai 1. Oleh karena itu, fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Namun, fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0 atau 1. Fungsi sigmoid biner dirumuskan sebagai:
ðī = ð(ð) = 1 1 + ðâðð
Gambar 2.11 Fungsi Aktivasi: Sigmoid Biner
9. Fungsi Sigmoid Bipolar
Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja output dari fungsi ini memiliki range antara 1 sampai â1. Fungsi sigmoid bipolar dirumuskan sebagai:
ðī = ð(ð) =1 â ð âð 1 + ðâð Dengan: ðâē(ð) =ð
2[1 + ð(ð)][1 â ð(ð)]
Fungsi ini sangat dekat dengan fungsi hyperbolic tangent. Keduanya memiliki jarak antara â1 sampai 1. Untuk fungsi hyperbolic tangent, dirumuskan sebagai:
ðī = ð(ð) = ð ðâ ðâð ðð+ ðâð Atau ðī = ð(ð) = 1 â ð â2ð 1 + ðâ2ð Dengan: ðâē(ð) = [1 + ð(ð)][1 â ð(ð)]
Gambar 2.12 Fungsi Aktivasi: Sigmoid Bipolar
C. Arsitektur Jaringan Saraf Tiruan
Secara umum, arsitektur jaringan saraf tiruan dibagi kedalam tiga macam yaitu Single-Layer Feedforward Networks, Multi Layer Perceptron, dan recurrent networks. [27]
1. Single-Layer Feedforward Networks
Arsitektur jaringan berlapis ini yang paling sederhana. Dimana hanya terdapat input layer dengan node sumber yang terproyeksi kedalam ouput layer, tetapi tidak sebaliknya. Jaringan ini adalah jaringan umpan maju atau feedforward.
2. Multi Layer Perceptron
Multi layer perceptron (MLP) adalah arsitetur jaringan yang memiliki banyak lapisan. MLP memiliki satu atau lebih lapisan tersembunyi atau hidden layer, dengan computation nodes yang berhubungan disebut hidden neuron atau hidden units. Arsitektur ini juga bisa disebut dengan multilayer feedforward neural network.
Gambar 2.14 Multi Layer Perceptron
Gambar 2.16 mengilustrasikan MLP untuk kasus dua hidden layer dengan tiga input nodes, empat neuron pada hidden layer, dan dua ouput layer atau bisa disebut dengan jaringan 3-4-4-2.
3. Recurrent Neural Network
Recurrent Neural Network (RNN) adalah jaringan yang mempunyai minimal satu feedback loop. Sebagai contoh, suatu recurrent network bisa terdiri atas satu lapisan neuron tunggal dengan masing-masing neuron memberikan kembali outputnya sebagai input pada neuron lain. Dalam struktur ini, tidak ada self-feddback loops dalam jaringan.
Gambar 2.15 Recurrent Neural Networks Tanpa Self-Feedback Loop Maupun Hidden Neurons
Gambar 2.16 Recurrent neural networks dengan hidden neurons
Ilustrasi pada arsitektur recurrent gambar memiliki hidden neurons. Arsitektur recurrent network adalah yang paling kompleks disbanding yang lain.
D. Proses Pembelajaran Pada Jaringan Syaraf Tiruan
Jaringan syaraf tiruan memiliki karakteristik yang menarik dalam proses belajar. Proses pembelajaran pada jaringan saraf tiruan memiliki kesamaan dengan perkembangan intelektual otak manusia yaitu, belajar dari latihan yang diberikan kepada jaringan syaraf tiruan. Proses pembelajaran pada jaringan syaraf tiruan melibatkan tiga pekerjaan, sebagai berikut:
1. Menghitung output.
2. Membandingkan ouput dengan target yang diinginkan. 3. Menyesuaikan bobot dan mengulangi proses.
Secara mendasar, artificial neural network atau jaringan syaraf tiruan ini memiliki dua jenis proses pembelajaran yaitu supervised learning dan unsupervised learning. [28]
A. Supervised Learning
Metode supervised learning (terawasi) pada jaringan syaraf tiruan yaitu jika output yang diharapkan telah diketahui terlebih dahulu. Pengetahuan yang akan diberikan suatu acuan untuk memetakan suatu input menjadi output yang diinginkan. Proses pembelajaran ini akan terus dilakukan selama kondisi eror atau kondisi yang diinginkan belum tercapai. Adapun setiap perolehan eror akan dikalkulasikan untuk setiap pemprosesan hingga data atau atau nilai yang diinginkan tercapai. Contoh pada proses pembelajaran ini diantaranya hebb rule, perceptron, delta rule, backpropagation, Heteroassociative Memory, Bidirectional Associative Memory (BAM).
B. Unsupervised Learning (Jaringan Kohonen)
Jaringan kohonen ini pertama kali diperkenalkan oleh Prof. Teuvo Kohonen pada tahun 1982. Unsupervised learning adalah sistem pembelajaran yang tidak terawasi sehingga memerlukan suatu target output. Pada sistem ini, tidak memerlukan adanya acuan awal, untuk mendapatkan perolehan nilai yang akan dicapai. Tujuan pada proses pembelajaran ini adalah mengelompokkan unit-unit yang hampir sama dalam area tertentu. Contoh algoritma jaringan saraf tiruan yang menggunakan metode unsupervised ini adalah competitive, hebbian, kohonen, LVQ (Learning Vector Quantization), neocognitron.