Chapter II PDF
Chapter II PDF
LANDASAN TEORI
Saat ini, komputer modern dengan teknologi canggih merupakan sebuah kekuatan
bagi perkembangan zaman. Meskipun demikian banyak hal yang masih tetap belum
dapat diselesaikan dengan menggunakan komputer, baik karena algoritmanya yang
belum diketahui ataupun walaupun algoritma penyelesaiannya sudah diketahui
namun run time nya masih sangat lama. Hal inilah yang menjadi tantangan bagi para
ahli untuk mendapatkan metode lain untuk memecahkan masalah ini, sehingga
kegiatan manusia bahkan yang paling sederhana dapat dikerjakan secara komputasi.
Cara kerja jaringan saraf manusia menjadi inspirasi untuk menyelesaikan masalah
tersebut [5].
Minat yang sangat besar pada jaringan saraf tiruan yang terjadi baru-baru ini
dapat disebabkan oleh beberapa faktor. Pertama, pola training yang telah
dikembangkan menjadi sebuah model jaringan yang lebih pintar yang dapat
mengatasi masalah. Kedua, komputer digital dengan kecepatan tinggi membuat
simulasi proses jaringan lebih mudah dikerjakan. Ketiga, teknologi zaman sekarang
menyediakan hardware yang spesifik untuk jaringan saraf. Bagaimanapun, pada saat
yang bersamaan perkembangan pada komputasi tradisional telah membuat
pembelajaran jaringan saraf tiruan lebih mudah, keterbatasan yang dihadapi oleh
komputer tradisional telah memotivasi beberapa arah dari penelitian mengenai
jaringan saraf tiruan [3].
Secara umum Haykin [4] mendefinisikan sebuah jaringan saraf tiruan adalah
sebuah mesin yang dirancang untuk mempolakan cara bagaimana otak mengerjakan
sebuah fungsi tertentu. Jaringan biasanya diimplementasikan dengan menggunakan
komponen elektronika atau disimulasikan dalam sebuah perangkat lunak pada
komputer digital. Untuk mencapai tampilan yang baik, jaringan saraf tiruan memakai
interkoneksi yang sangat besar antara sel-sel komputasi yang disebut “neuron” atau
“unit pemroses”. Sebagai mesin yang adaptif, sebuah jaringan saraf tiruan adalah
sebuah prosessor besar terdistribusi yang paralel yang tersusun dari unit pemroses
sederhana yang mempunyai kecenderungan untuk menyimpan pengalaman dan
pengetahuan dan membuatnya siap untuk digunakan. Hal itu menyerupai otak dalam
dua aspek:
Menurut Fausett [3] sebuah jaringan saraf tiruan adalah sistem pemroses
informasi yang mempunyai karakter tampilan tersendiri yang hampir sama dengan
jaringan saraf pada biologi. Jaringan saraf tiruan telah dikembangkan sebagai
generalisasai model matematika dari jaringan saraf biologi, berdasarkan asumsi:
Jaringan saraf terdiri dari elemen pemroses sederhana yang dinamakan neuron,
unit, sel atau node. Setiap neuron terkoneksi dengan neuron yang lain masing-masing
dengan bobot terhubung. Bobot merepresentasikan informasi yang digunakan oleh
jaringan untuk menyelesaikan masalah. Jaringan saraf dapat diaplikasikan untuk
masalah yang sangat luas, seperti penyimpanan dan pemanggilan kembali data atau
pola, mengklasifikasian pola, menampilkan pemetaan secara umum dari pola input
menjadi pola output, mengelompokkan pola yang sama, atau menemukan solusi untuk
mengoptimisasikan masalah [12].
Setiap neuron mempunyai fungsi aktivasi atau level aktivitas, yang merupakan
fungsi dari input yang telah diterima. Neuron mengirimkan aktivasinya sebagai
sebuah sinyal ke beberapa neuron yang lain. Sebuah neuron hanya dapat mengirimkan
sebuah sinyal dalam satu waktu, walaupun sinyalnya disebarkan pada beberapa
neuron yang lain.
Ciri utama yang dimiliki oleh jaringan saraf tiruan adalah kemampuannya
untuk belajar. Belajar (learning) pada jaringan saraf tiruan dapat diartikan sebagai
proses penyesuaian parameter pembobot karena keluaran yang diinginkan tergantung
pada harga pembobot interkoneksi yang dimiliki oleh sel. Proses belajar akan
dihentikan jika nilai kesalahan atau error sudah dianggap cukup kecil untuk semua
Sangat jelas jika sebuah jaringan saraf tiruan mendapatkan kekuatan komputasinya
melalui stuktur distribusi paralel yang sangat besar dan kemampuannya untuk belajar
dan menggeneralisasikan data. Generalisasi merujuk pada jaringan saraf tiruan yang
menghasilkan output yang sesuai walaupun input belum pernah ditemukan
sebelumnya selama pembelajaran (training). Kemampuan memproses informasi yang
seperti inilah yang memungkinkan jaringan saraf tiruan mampu mencari solusi atas
masalah dalam skala yang besar dan sulit. Dalam prakteknya, jaringan saraf tiruan
tidak dapat menyediakan solusi dengan bekerja sendiri. Jaringan saraf tiruan harus
diintegrasikan ke dalam sebuah sistem yang konsisten dengan keahlian teknik,
khususnya pada masalah yang kompleks [4]. Jaringan saraf tiruan menawarkan
kemampuan sebagai berikut:
1. Nonlinearity. Sebuah neuron buatan bisa saja linear atau tidak linear. Jaringan
saraf tiruan yang terdiri dari interkoneksi neuron yang nonlinear yang
membuat jaringan saraf tersebut nonlinear. Ketidaklinearan adalah sifat yang
sangat penting secara khusus jika mekanisme fisik yang berperan untuk
membangkitkan sinyal input bersifat nonlinear.
7. VLSI Implementability. Sifat dasar dari jaringan saraf tiruan yang paralel
membuatnya berpotensi untuk mengkomputasikan tugas-tugas tertentu dengan
cepat. Fitur yang sama ini membuat jaringan saraf tiruan tepat pada
implementasi penggunaan teknologi VLSI (very large scale integrated). Salah
satu manfaat dari VLSI adalah menyediakan sebuah cara untuk mendapatkan
sebuah tingkah laku yang kompleks dalam sebuah kebiasaan yang hirarki.
Internal processing
In 1 In 1 In n
Gambar 2.1 diatas mengilustrasikan struktur jaringan saraf tiruan secara umum.
Biasanya terdapat satu atau lebih masukan. Gambar di atas juga menunjukkan bahwa
neuron input terkoneksi dengan neuron output melalui sebuah proses dalam “kotak”.
Model jaringan yang sebenarnya menentukan sifat dari kotak ini. Susunan ini sangat
umum, namun bukanlah satu-satunya. Beberapa model menghilangkan media
penghubung dan langsung menghubungkan neuron input dengan neuron output.
Dalam kasus ini, seluruh beban dari jaringan diambil alih oleh proses yang
dikerjakan oleh neuron output. Model yang lain memperbolehkan neuron output
terkoneksi satu sama lain sabagaimana dengan lapisan sebelumnya. Hanya model lain
tidak membedakan secara jelas antara neuron input dan neuron output. Jika neuron
masukan telah masuk, jaringan mengolah neuron sampai kepada sebuah kesimpulan
dimana neuron input telah menjadi neuron output.
Sebuah jaringan saraf tiruan biasanya dilatih dalam dua metode. Yang paling
umum adalah pelatihan terbimbing (supervised training). Setiap contoh pada pelatihan
ini secara lengkap menspesifikasikan semua input sebagaimana output yang
diinginkan ketika input direpresentasikan. Kemudian kita memilih subset dari
Dan yang ketiga adalah metode pelatihan hibrid. Gabungan antara pelatihan
terbimbing dan tak terbimbing. Tak terbimbing dikarenakan output target tidak
dispesifikasikan. Disebut terbimbing dikarenakan pada waktu yang bersamaan,
jaringan memberikan respon pada pelatihan dimana responnya baik atau buruk.
Menurut Fausett [3], sering kali sangat tepat memvisualisasikan neuron sebagai
lapisan. Umumnya, neuron-neuron pada lapisan yang sama berkelakuan sama. Faktor
kunci untuk menentukan perilaku dari sebuah neuron adalah dengan fungsi
aktivasinya dan pola koneksi dengan neuron yang lain sehingga neuron dapat
mengirim dan menerima sinyal. Lebih spesifik lagi, pada banyak jaringan saraf tiruan,
neuron pada sebuah lapisan bisa saja terkoneksi sepenuhnya atau tidak terkoneksi
sama sekali. Jika setiap neuron pada sebuah lapisan (misalkan lapisan
tersembunyi/hidden layer) terkoneksi dengan neuron pada lapisan yang lain (misalkan
lapisan output) maka setiap unit tersembunyi terkoneksi dengan setiap unit output.
Sebuah lapisan adalah kumpulan dari neuron-neuron yang berbagi input yang
sama. Setiap neuron pada sebuah lapisan mempunyai dendrit yang berhubungan
dengan axon pada neuron pada lapisan sebelumnya. Lapisan pertama sebagai lapisan
input dimana neuron tidak mempunyai dendrit. Neuron tersebut hanya sebagai
placeholder atau penopang sehingga lapisan berikutnya dapat menyadap nilai
inputnya sama dengan cara kerja lapisan berikutnya. Lapisan terakhir merupakan
lapisan output. Lapisan diantara lapisan input dan lapisan output disebut lapisan
tersembunyi atau “hidden layer”. Lapisan pertama hanya memberikan nilai input pada
jaringan. Pada lapisan berikutnya, neuron ditugasi untuk mengidentifikasi karakter
dari input [8]. Adapun jenis arsitektur jaringan yang sering dipergunakan yaitu:
W1j
X Wi1 Y
Wn1
W1j
Xi Wij Yj
Wnj
W1
X Wim Y
Wnm
W11
X V11 Y
1 Wj1 1
Vi1
Z1
Wn1
Vn1
V1j W1k
Xi Vij Zj Wjk Y
k
Vnj
Wnk
V1p
Vip Z W1m
Wjm
X Y
Vnp m
Wpm
A1 - Am
- - -
-
Ai - Aj
1 1
2.2 Backpropagation
Gambar 2.5 menunjukkan jaringan saraf tiruan banyak lapis dengan satu lapisan
tersembunyi (unit Z) , unit output (unit Y) dan unit tersembunyi yang juga mempunyai
bias. Bias pada unit output Y k ditandai dengan w 0k , bias pada unit tersembunyi Z j
ditandai dengan v 0j . Bias bertindak sebagaimana halnya bobot dimana outputnya
selalu 1. Selama proses pembelajaran backpropagation, sinyal dikirim dalam arah
yangberlawanan.
w01 w11 wj1 wp1 w0k w1k wjk wpk w0m w1m wjm wpm
1 Z1 Zj Zp
v01 v11 vi1 vn1 v0j v1j vij vnj v0p v1p vip vnp
1 X1 Xi Xn
Simbol-simbol yang digunakan ini tidaklah mutlak, bisa saja berganti dengan simbol-
simbol yang lainnya asalkan fungsi logika yang dimaksudkannya tetap sama.
2.2.2 Algoritma
Setelah algoritma pelatihan di atas dilakukan, dan didapat output yang paling
mendekati target, maka bobot dan bias akhir dari pelatihan disimpan dan dilakukan
proses pengujian. Algoritma pengujian jaringan backpropagation:
Z j = (Z_in j )
5. Langkah 4 : for k=1..m:
Y k = (Y_in k )
6. Langkah 5 : jika Y k ≥ 0.5 maka Y k = 1, else Y k = 0.
Keterangan:
1. x input pelatihan, x = (x 1 . . .x i . . .x n )
2. t output target, t = (t 1 . . .t k . . .t m )
3. δ k penyesuaian bobot dari koreksi error untuk w jk yang disebabkan oleh
error pada unit output Y k yang dipropagasikan kembali terhadap lapisan
tersembunyi.
4. δ j penyesuaian bobot dari koreksi error untuk v ij yang disebabkan oleh
propagasi balik dari informasi error dari lapisan output terhadap lapisan
tersembunyi Z j .
5. α periode pembelajaran / learning rate.
6. x i input unit i. Untuk unit input, sinyal input dan sinyal output adalah
sama, yaitu x i .
7. v oj bias pada unit tersembunyi j.
8. Z j unit tersembunyi j.
9. w 0k bias pada unit output k.
10. Y k unit output k.
2.2.3 Fungsi Aktivasi
1. Fungsi Identitas
Fungsi identitas disebut juga sebagai fungsi linear. Fungsi linear memiliki nilai output
yang sama dengan nilai inputnya. y = x
f x x
untuk semua harga x
Fungsi ini biasanya digunakan pada unit input untuk memberi nilai awal harga setiap
unitnya.
menghasilkan nilai output bernilai biner (yaitu 1 atau 0) atau bipolar (1 atau -1).
Fungsi tangga binary ini juga dikenal sebagai fungsi threshold atau fungsi heaviside.
1 jika x
y
0 jika x
1 jika x0
y
1 jika x0
sigmoid yang umum adalah fungsi logistik dan fungsi tangent hyperbolic. Kedua
fungsi ini bermanfaat khususnya untuk penggunaan neural network karena hubungan
yang sederhana antara nilai fungsi pada sebuah point dan nilai dari derivatif pada
untuk menghasilkan output yang diinginkan bernilai binary atau berada pada interval
0 dan 1. Fungsi dengan range ini juga dikenal dengan binary sigmoid.
1
f x
1 exp x
f ' x f x 1 f x
sampai 1.
1
g x 2 f x 1 1
1 exp x
1 exp x
1 exp x
g ' x 1 g x 1 g x
2
sering juga di gunakan sebagai fungsi aktivasi ketika range output yang di inginkan
1 jika x 0.5
y x 0.5 jika 0.5 x 0.5
0 x 0.5
jika
1 jika x 1
y x jika 1 x 1
1 jika x 1
exp x exp x
h x
exp x exp x
1 exp 2 x
1 exp 2 x
Pemilihan bobot dan bias akan mempengaruhi apakah jaringan mencapai error
minimum global atau error minimum lokal, dan bagaimana mengatasinya dengan
cepat. Pembaharuan bobot antara dua unit bergantung pada turunan aktivasi fungsi
unit di atasnya dan aktivasi fungsi unit di bawahnya. Dalam hal ini, sangat penting
menghindari pemilihan bobot dan bias yang membuat fungsi aktivasi atau turunannya
mendekati nol. Nilai inisialisasi bobot tidak dapat terlalu besar atau sinyal input
terhadap unit tersembunyi atau unit output akan jatuh di wilayah dimana turunan
fungsi sigmoid mempunyai nilai yang sangat kecil. Dengan kata lain, jika inisialisasi
Prosedur yang umum untuk menginisialisasi bobot dan bias adalah dengan
membuat nilai acak dengan range -0,5 dan 0,5 atau -1 dan 1 atau interval lain yang
sesuai. Nilai bobot mungkin saja positif atau negatif karena nilai akhirnya setelah
pelatihan dapat berubah tanda. Modifikasi sederhana untuk inisialisasi acak
dikembangkan oleh Nguyen dan Widrow.
v ij (lama) = jumlah acak antara -0.5 dan 0.5 (atau antara –γ dan γ)
v ij (lama) =
Set bias:
Tidak ada alasan yang teoritis yang menyatakan untuk menggunakan lebih dari dua
lapisan tersembunyi. Masalah penggunaan lebih dari dua lapisan tersembunyi dapat
kita temukan pada konsisi kehidupan nyata. Masalah yang sering terjadi adalah
pelatihan seringkali berjalan sangat lambat ketika menggunakan lebih lapisan
tersembunyi, hal ini disebabkan oleh dua efek:
Salah satu cara untuk menentukan jumlah neuron tersembunyi adalah dengan
aturan piramida geometris. Dimana jumlah neuron mengikuti bentuk piramida dengan
menurunnya jumlah input terhadap output. Diilustrasikan pada Gambar 2.14.
Output = m
Hidden =
Input = n
Pendekatan yang terbaik untuk menentukan jumlah optimal neuron yang akan
dipergunakan dalam jaringan adalah komsumsi waktu. Mulai dengan jumlah neuron