PENGENALAN KARAKTER TULISAN TANGAN DENGAN MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK RESILIENT
Oleh : DONNY WAHYU SAPUTRO G06499031
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR 2006
PENGENALAN KARAKTER TULISAN TANGAN DENGAN MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK RESILIENT
Skripsi Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Oleh : DONNY WAHYU SAPUTRO G06499031
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR 2006
ABSTRAK DONNY WAHYU SAPUTRO. Pengenalan Karakter Tulisan Tangan dengan Menggunakan Jaringan Syaraf Tiruan Propagasi Balik Resilient. Dibimbing oleh PRAPTO TRI SUPRIYO dan AZIZ KUSTIYO. Teknologi komputer telah banyak diterapkan untuk membantu menyelesaikan berbagai masalah. Salah satu permasalahan tersebut adalah pengenalan karakter tulisan tangan, yang telah lama diidentifikasi sebagai salah satu permasalahan yang sulit. Untuk memecahkan masalah tersebut dirancang suatu perangkat lunak yang menerapkan sistem yang menyerupai sistem kerja otak manusia yang dikenal dengan jaringan syaraf tiruan (JST). Dalam penelitian ini dibangun suatu sistem yang dapat melakukan pengenalan citra-citra karakter tulisan tangan menggunakan JST resilient backpropagation (RPROP). Data yang diambil berupa karakter numeral (0,1,2,…,9) dari 13 orang dengan menggunakan media kertas. Dari 13 orang tersebut 10 orang menuliskan karakter sebanyak 2 kali, di mana penulisan pertama digunakan untuk data pelatihan dan penulisan kedua digunakan untuk data pengujian. Tiga orang sisanya hanya menuliskan karakter sebanyak 1 kali, karakter tulisan tangan dari 2 orang digunakan untuk menambah data pelatihan sedangkan karakter tulisan tangan dari 1 orang lainnya digunakan untuk menambah data pengujian. Karakter-karakter tulisan tangan tersebut kemudian diubah menjadi citra digital dengan menggunakan scanner dan setiap karakter disimpan sebagai satu file citra, sehingga didapat 230 buah file citra. Dari data tersebut 120 citra digunakan sebagai data pelatihan dan 110 citra lainnya digunakan sebagai data pengujian. Sistem dibangun dengan graphical user interface (GUI) sehingga sistem mudah digunakan dan user-friendly. Dari hasil percobaan didapatkan parameter-parameter optimal yaitu JST dengan 80 -5 neuron hidden, toleransi galat 10 , Faktor Naik sebesar 1.2 dan Faktor Turun sebesar 0.7. Dengan penggunaan parameter-parameter tersebut sistem dapat mengenali karakter tulisan tangan dengan tingkat generalisasi tertinggi sebesar 93.64%.
Kata kunci : pengenalan karakter tulisan tangan, jaringan syaraf tiruan, propagasi balik resilient
Kupersembahkan Karyaku Untuk Ibu, Bapak, dan Keluargaku Tercinta
Judul Skripsi :
Pengenalan Karakter Tulisan Tangan dengan Menggunakan Jaringan Syaraf Tiruan Propagasi Balik Resilient
Nama
:
Donny Wahyu Saputro
NIM
:
G06499031
Menyetujui, Pembimbing I
Pembimbing II
Drs. Prapto Tri Supriyo, M.Kom.
Aziz Kustiyo, S.Si., M.Kom.
NIP 131878952
NIP 132206241
Mengetahui, Dekan Fakultas Matematika Dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Prof. Dr. Ir. Yonny Koesmaryono, M.S. NIP 131473999
Tanggal Lulus:
RIWAYAT HIDUP Penulis lahir di Bogor pada tanggal 31 Juli 1981 sebagai anak pertama dari tiga bersaudara, anak dari pasangan Budi Iswahyudi dan Betty Subardini. Tahun 1999 penulis lulus dari SMU Negeri 3 Bogor dan pada tahun yang sama melanjutkan pendidikan ke Institut Pertanian Bogor (IPB) melalui jalur Ujian Seleksi Masuk IPB (USMI) pada Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Pada tanggal 3 Februari 2003 sampai dengan 3 April 2003, penulis melaksanakan kerja praktik di Badan Koordinasi Survei dan Pemetaan Nasional (BAKOSURTANAL). Penulis ditempatkan pada bagian Pusat Sistem Jaringan dan Standardisasi Data Spasial (PSJSDS) untuk mengembangkan Sistem Web Internal BAKOSURTANAL. Sejak Oktober 2003 sampai dengan Januari 2005 Penulis pernah bekerja sebagai programmer di PT. Epsylon Citra Informatika, yang bergerak di bidang teknologi informasi. Penulis cukup berpengalaman dalam mengembangkan beberapa situs web dinamis dengan menggunakan PHP dan MySQL, situs yang telah dibuat penulis di antaranya adalah situs web Departemen Kehutanan Republik Indonesia.
KATA PENGANTAR Alhamdulillah, segala puji dan syukur penulis panjatkan kepada Allah Subhanahu Wa Taala atas segala rahmat dan karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Topik yang dipilih dalam penelitian ini adalah sistem pengenalan karakter tulisan tangan, dengan judul Pengenalan Karakter Tulisan Tangan dengan Menggunakan Jaringan Syaraf Tiruan Propagasi Balik Resilient. Penulis mengucapkan terima kasih kepada Bapak Drs. Prapto Tri Supriyo, M.Kom., dan Bapak Aziz Kustiyo, S.Si, M.Kom. selaku dosen pembimbing serta Bapak Irman Hermadi, S.Kom, M.S. selaku dosen penguji yang telah memberikan saran, koreksi, dan bimbingan selama pengerjaan tugas akhir ini. Selanjutnya penulis juga mengucapkan terima kasih kepada: 1 Seluruh keluarga besar penulis, khususnya kepada kedua orang tua penulis tercinta, Ibu dan Bapak, serta adik penulis Siwi dan Onggo atas segala cinta kasih, doa, kesabaran, dukungan, dan dorongan semangat kepada penulis selama ini. 2 Ade, Yustin dan Hadi yang bersedia menjadi pembahas. Erwin, Yogi, ilkomerz 39 dan ilkomerz 40 yang datang ke seminar. 3 Rahmat, Arum, Ipink, Dhika, Hanief, Baskoro, Dewis, Pepenk, Farid, Boy, Udho, Henny, Copit, dan rekan-rekan Ilkomerz 36. Terima kasih sebesar-besarnya atas semua dukungan dan doanya. Penelitian ini bisa diselesaikan berkat kalian semua. 4 Seluruh staf pengajar dan pegawai Departemen Ilmu Komputer. 5 Semua rekan, sahabat, dan saudara yang tidak dapat penulis sebutkan satu persatu. Semoga karya ilmiah ini dapat bermanfaat.
Bogor, Desember 2006
Donny Wahyu Saputro
vii
DAFTAR ISI Halaman DAFTAR TABEL............................................................................................................................ix DAFTAR GAMBAR .......................................................................................................................ix DAFTAR LAMPIRAN....................................................................................................................ix PENDAHULUAN.............................................................................................................................1 Latar Belakang .............................................................................................................................1 Tujuan...........................................................................................................................................1 Ruang Lingkup .............................................................................................................................1 TINJAUAN PUSTAKA....................................................................................................................1 Representasi Citra Digital.............................................................................................................1 Normalisasi...................................................................................................................................2 Jaringan Syaraf Tiruan .................................................................................................................2 Propagasi Balik Resilient (RPROP) .............................................................................................2 METODE PENELITIAN..................................................................................................................4 Akuisisi Data ................................................................................................................................4 Tahapan Pengenalan Karakter ......................................................................................................4 Karakteristik JST Yang Digunakan..............................................................................................5 Parameter Penilaian Sistem ..........................................................................................................5 Lingkungan Pengembangan .........................................................................................................5 HASIL DAN PEMBAHASAN.........................................................................................................6 Menentukan Parameter-Parameter JST yang Optimal..................................................................6 Menguji Parameter-Parameter JST yang Optimal ........................................................................9 Kelebihan dan Keterbatasan Sistem .............................................................................................9 Perbandingan dengan Penelitian Sebelumnya ..............................................................................9 KESIMPULAN DAN SARAN .......................................................................................................10 Kesimpulan.................................................................................................................................10 Saran...........................................................................................................................................10 DAFTAR PUSTAKA .....................................................................................................................10 LAMPIRAN....................................................................................................................................11
viii
DAFTAR TABEL Halaman 1 Karakteristik JST yang digunakan .................................................................................................5 2 Definisi target jaringan...................................................................................................................5 3 Perbandingan dengan penelitian sebelumnya...............................................................................10
DAFTAR GAMBAR Halaman 1 Representasi citra digital ................................................................................................................1 2 Model JST sederhana .....................................................................................................................2 3 Model JST propagasi balik.............................................................................................................3 4 Tahapan Pengenalan.......................................................................................................................4 5 Grafik perbandingan generalisasi rata-rata terhadap jumlah hidden neuron ..................................6 6 Grafik perbandingan epoch rata-rata terhadap hidden neuron .......................................................6 7 Grafik perbandingan generalisasi rata-rata terhadap toleransi galat...............................................7 8 Grafik perbandingan epoch rata-rata terhadap toleransi galat........................................................7 9 Grafik perbandingan generalisasi rata-rata terhadap FN................................................................8 10 Grafik perbandingan epoch rata-rata terhadap FN .......................................................................8 11 Grafik perbandingan generalisasi rata-rata terhadap FT ..............................................................8 12 Grafik perbandingan epoch rata-rata terhadap FT........................................................................9 13 Grafik generalisasi pada setiap ulangan .......................................................................................9
DAFTAR LAMPIRAN Halaman 1 Algoritme JST RPROP ................................................................................................................12 2 Tabel percobaan jumlah hidden neuron dengan toleransi galat 10-5, Faktor Naik sebesar 1.2 dan Faktor Turun sebesar 0.5 .............................................................................................................14 3 Tabel percobaan toleransi galat dengan 80 hidden neuron, Faktor Naik sebesar 1.2 dan Faktor Turun sebesar 0.5.........................................................................................................................16 4 Tabel percobaan Faktor Naik dengan 80 hidden neuron, toleransi galat 10-5 dan Faktor Turun sebesar 0.5 ...................................................................................................................................17 5 Tabel percobaan Faktor Turun dengan 80 hidden neuron, toleransi galat 10-5 dan Faktor Naik sebesar 1.2 ...................................................................................................................................18 6 Hasil pengujian menggunakan parameter-parameter JST yang optimal ......................................19
ix
PENDAHULUAN Latar Belakang Saat ini pemanfaatan teknologi komputer telah banyak diterapkan dalam berbagai aspek kehidupan manusia. Tujuan utamanya adalah untuk membantu menyelesaikan masalahmasalah tertentu. Salah satu permasalahan tersebut adalah pengenalan karakter tulisan tangan. Pengenalan karakter tulisan tangan telah lama diidentifikasikan sebagai permasalahan yang sulit dipecahkan oleh komputer (Tay & Khalid 1997). Untuk memecahkan masalah tersebut dirancang suatu perangkat lunak yang menerapkan sistem yang menyerupai sistem kerja otak manusia yang dikenal dengan jaringan syaraf tiruan (neural network). Jaringan syaraf tiruan merupakan salah satu teknik untuk pengenalan pola yang memiliki kemampuan yang sangat baik (Tay & Khalid 1997). Telah banyak penelitian yang dilakukan untuk mengenali karakter tulisan tangan, di antaranya dilakukan oleh Nugroho (2003) yang menggunakan metode-metode jaringan syaraf tiruan propagasi balik standar. Penelitian tersebut masih dapat dikembangkan dengan penggunaan metode praproses dan juga penggunaan jaringan syaraf tiruan yang lain dan juga diperlukan kombinasi percobaan yang lebih banyak. Beberapa modifikasi dari prosedur propagasi balik telah diajukan untuk menambah kecepatan pembelajaran. Martin Riedmiller dan Heinrich Braun telah mengembangkan suatu metode yang disebut Resilient Backpropagation (RPROP). Menurut Riedmiller & Braun (1993), algoritme RPROP sejauh ini terbukti sebagai metode yang memiliki kecepatan pembelajaran yang baik dan juga andal. Salah satu kelemahan jaringan propagasi balik adalah pelatihan akan berjalan dengan lambat jika dimensi input terlalu besar. Untuk mengatasi masalah tersebut biasanya dilakukan praproses tertentu untuk mengekstraksi ciri pada data input sehingga dimensi input-nya menjadi lebih kecil. Algoritme RPROP mampu mengatasi masalah lambatnya waktu pelatihan, sehingga praproses untuk mereduksi dimensi input tidak perlu dilakukan. Dalam penelitian kali ini akan ditelaah pengenalan karakter tulisan tangan dengan jaringan syaraf tiruan RPROP.
Tujuan Tujuan dari penelitian ini adalah untuk mengimplementasikan jaringan syaraf tiruan propagasi balik resilient dalam mengenali pola citra karakter tulisan tangan. Ruang Lingkup Penelitian ini dibatasi pada pemrosesan citra digital dengan komposisi warna grayscale. Karakter tulisan tangan yang digunakan hanya dibatasi pada karakter numeral Arabic (0,1,2,…,9).
TINJAUAN PUSTAKA Representasi Citra Digital Citra digital merupakan suatu fungsi intensitas cahaya dua dimensi f(x,y), dimana x dan y menunjukkan koordinat spasial. Nilai f pada setiap titik (x,y) menunjukkan tingkat kecerahan citra pada titik tersebut (Gonzales & Woods 2002). Citra digital dapat berupa citra dalam skala keabuan (grayscale) ataupun citra berwarna (color). Setiap citra digital direpresentasikan dalam bentuk matriks yang berukuran m × n dimana m dan n menunjukkan jumlah baris dan kolom matriks tersebut. Seperti yang diperlihatkan pada Gambar 1. ⎡ f (1,1) f (1,2) L f (1, n) ⎤ ⎢ f (2,1) f (2,2) L f (2, n) ⎥ ⎥ f ( x, y) = ⎢ ⎢ L L L L ⎥ ⎥ ⎢ ⎣ f (m,1) f (m,2) L f (m, n)⎦ Gambar 1 Representasi citra digital
Setiap elemen matriks tersebut menunjukkan nilai pixel. Suatu citra digital dengan format grayscale 8 bit memiliki 256 intensitas warna pada setiap pixel-nya. Nilai pixel tersebut berkisar antara 0 sampai 255, dimana nilai 0 menunjukkan intensitas paling gelap, sedangkan nilai 255 menunjukkan intensitas paling terang. Citra karakter tulisan tangan yang direpresentasikan sebagai matriks m × n, dikonversi menjadi sebuah vektor kolom yang disebut vektor citra. Transpose dari vektor citra tersebut adalah sebagai berikut : f(x,y)T=[f(1,1) f(2,1)…f(1,n) f(2,n)…f(m,n)]
1
Normalisasi Proses pembelajaran JST dapat dikerjakan lebih efisien jika dilakukan praproses tertentu pada input jaringan. Menurut Mathworks (1999), praproses dapat dilakukan dengan cara menormalisasi data. Tujuan normalisasi ini adalah untuk mendapatkan data dengan mean nol dan standar deviasi sama dengan satu. Jika kumpulan citra pelatihan terdiri dari p citra dan setiap citra Ii berukuran n×n direpresentasikan sebagai vektor Gi berdimensi n2, terbentuk matriks A: A = [G1 G2 ... Gp] Normalisasi pada matriks A dilakukan dengan langkah-langkah sebagai berikut: 1 Cari mean dari tiap baris matriks A
μ i=
1 p
2 Sinyal-sinyal disampaikan antar-neuron melalui suatu hubungan komunikasi. 3 Setiap hubungan komunikasi memiliki bobot tertentu yang akan dikalikan dengan sinyal yang disampaikan melalui hubungan tersebut. 4 Setiap neuron memiliki fungsi aktivasi yang akan menentukan sinyal output terhadap input yang diberikan kepadanya. Sebagai contoh, neuron Y diilustrasikan pada Gambar 2 menerima input dari neuron X1,. .., Xn. Bobot pada hubungan dari X1, …, dan Xn ke neuron Y adalah w1, …, wn. Input untuk neuron ke Y (y_in) adalah jumlah perkalian antara sinyal X1, …, Xn dengan bobotnya sebagai berikut : y _ in = w1 x1 + ... + wn x n
p
∑ pixel
n
ij
j =1
=
∑w x
i i
i =1
dengan i = 1, 2, ..., n2 2 Cari standar deviasi dari setiap baris matriks A
δ i=
1 p −1
p
∑ ( pixel
ij − μ i )
j =1
dengan i = 1, 2, ..., n2. 3 Kurangi setiap pixel dengan mean-nya lalu bagi dengan standar deviasi. pixel _ normal ij =
( pixel ij − μ i )
δi
dengan i = 1, 2, ..., n2 dan j = 1, 2, ..., p. Jika kumpulan citra pelatihan dinormalisasi menggunakan langkah-langkah di atas, setiap citra input baru G juga harus dinormalisasi dengan menggunakan mean dan standar deviasi setiap baris matriks A. Jaringan Syaraf Tiruan Sebuah jaringan syaraf tiruan (JST) adalah sebuah sistem pemrosesan informasi yang mempunyai karakteristik serupa dengan jaringan syaraf biologis (Fausett 1994). Jaringan syaraf tiruan merupakan generalisasi dari pemodelan matematis syaraf biologis, berdasarkan asumsi bahwa: 1 Pengolahan informasi dilakukan oleh elemen-elemen sederhana yang disebut neuron.
Gambar 2 Model JST sederhana Nilai aktivasi y dari neuron Y ditentukan oleh fungsi aktivasi terhadap input yang diterimanya, y=f(y_in). Fungsi aktivasi merupakan fungsi yang menentukan level aktivasi, yakni keadaan internal sebuah neuron dalam jaringan. Output aktivasi ini biasanya dikirim sebagai sinyal ke semua neuron pada layer di atasnya. Propagasi Balik Resilient (RPROP) Propagasi balik merupakan algoritme pembelajaran yang terawasi (supervised learning) dan biasanya digunakan oleh jaringan multilayer untuk mengubah bobotbobot yang terhubung dengan semua neuron pada hidden layer (Kusumadewi 2004).
2
Jaringan propagasi balik memiliki karakteristik sebagai berikut: • Jaringan multilayer o Arsitektur yang digunakan adalah jaringan multilayer, yaitu satu input layer, satu output layer, dan satu atau lebih hidden layer. JST propagasi balik dengan satu hidden layer ditunjukkan oleh Gambar 3. Pada gambar tersebut, input layer ditunjukkan oleh unit-unit Xi, sementara output layer ditunjukkan oleh unit-unit Yj. Hidden layer ditunjukkan oleh unit-unit Zk. o Setiap neuron pada suatu layer dalam jaringan propagasi balik mendapat sinyal input dari semua neuron pada layer sebelumnya beserta satu sinyal bias. • Fungsi aktivasi o Fungsi aktivasi yang umum digunakan pada JST propagasi balik adalah: ß Fungsi Sigmoid biner (output-nya memiliki rentang [0,1]) 1 f ( x) = 1 + exp( − x ) dengan turunannya f '( x) = f ( x)[1 − f ( x)] ß Fungsi Sigmoid bipolar (output-nya memiliki rentang [-1,1]) 1 − exp( − x ) f ( x) = 1 + exp( − x ) dengan turunannya 1 f '( x) = [1 + f ( x)][1 − f ( x)] 2 Proses pelatihan jaringan propagasi balik melibatkan tiga tahap, yaitu: • Feedforward Penghitungan nilai aktivasi. Setiap neuron pada hidden layer dan output layer menghitung masing-masing nilai aktivasinya sesuai dengan fungsi aktivasi yang digunakan. • Propagasi balik galat Setiap output neuron menghitung informasi galat antara nilai output yang dihasilkan dan nilai target. Informasi galat ini dikirimkan ke layer di bawahnya (propagasi balik galat). • Penyesuaian bobot-bobot jaringan Setiap output neuron dan hidden neuron mengubah bias dan bobot-bobotnya sesuai dengan nilai galat.
Model JST propagasi balik dengan satu hidden layer ditunjukkan pada Gambar 3. 1
1
w01
v01
w0n w0j
v0p v0k v11
X1
Z1
v1k . . .
v1p
. . .
vi1 vik
Xi
. . .
vm1 vmp
input layer
. . .
Yj
wkj wkn
. . .
wp1
vmk Xm
Y1
wk1
Zk
vip . . .
w11 w1j w1n
wpj wpn
Zp
Yn
hidden layer
output layer
Gambar 3 Model JST propagasi balik. Sebelum proses pelatihan dilakukan, inisialisasi bobot awal merupakan satu hal yang perlu diperhatikan, mengingat nilai bobot awal sangat mempengaruhi kinerja akhir jaringan. Inisialisasi bobot awal dapat dilakukan menggunakan metode NguyenWidrow. Metode Nguyen-Widrow akan menginisialisasi bobot-bobot jaringan dengan nilai antara -0.5 sampai 0.5, sedangkan bobotbobot dari input layer ke hidden layer dirancang sedemikian rupa sehingga dapat meningkatkan kemampuan hidden layer dalam melakukan proses pelatihan. Metode Nguyen-Widrow dilakukan dengan menentukan terlebih dahulu faktor pengali (β) yang didefinisikan sebagai berikut:
β = 0.7( p) n p
1
n
: jumlah unit input : jumlah unit tersembunyi
Kemudian inisialisasikan bobot-bobot dari input layer ke hidden layer V ik ( new) =
β V ik (old ) V k (old )
Vik(old) = nilai acak antara -0.5 sampai 0.5 i = 1, 2, ..., m k = 1, 2, ..., p Di sisi lain, bobot bias (V0k) diinisialisasi antara nilai –β sampai dengan β.
3
JST yang dibangun dengan struktur multilayer biasanya menggunakan fungsi aktivasi sigmoid. Fungsi aktivasi ini akan membawa input dengan rentang yang tak terbatas ke nilai output dengan rentang terbatas, yaitu antara 0 sampai 1. Salah satu karakteristik dari fungsi sigmoid adalah gradien-nya akan mendekati nol, apabila input yang diberikan sangat banyak. Gradien yang mendekati 0 akan menyebabkan rendahnya perubahan bobot. Apabila bobot-bobot tidak cukup mengalami perubahan, maka algoritme akan sangat lambat untuk mendekati nilai optimumnya (Kusumadewi 2004). Algoritme RPROP berusaha untuk mengeliminasi besarnya efek dari turunan parsial dengan cara hanya menggunakan tanda turunannya saja dan mengabaikan besarnya nilai turunan. Tanda turunan ini akan menentukan arah perbaikan bobot-bobot. Besarnya perubahan setiap bobot ditentukan oleh suatu faktor yang diatur pada parameter yang disebut Faktor Naik (FN) atau Faktor Turun (FT). Apabila gradien fungsi error berubah tanda dari satu iterasi ke iterasi berikutnya, maka bobot akan berkurang sebesar FT. Sebaliknya, apabila gradien error tidak berubah tanda dari satu iterasi ke iterasi berikutnya, maka bobot akan bertambah sebesar FN. Apabila gradien error sama dengan 0, maka perubahan bobot sama dengan perubahan bobot sebelumnya. Pada awal iterasi, besarnya perubahan bobot diinisialisasikan dengan parameter delta0. Besarnya perubahan tidak boleh melebihi batas maksimum yang terdapat pada parameter deltamax, apabila perubahan bobot melebihi maksimum perubahan bobot, maka perubahan bobot akan di set sama dengan maksimum perubahan bobot. Untuk lebih jelasnya algoritme RPROP disajikan pada Lampiran 1.
METODE PENELITIAN Akuisisi Data Data awal diambil dari 13 orang dan data yang diambil berupa karakter numeral (0,1,2,…,9) dengan menggunakan media kertas. Dari 13 orang tersebut 10 orang menuliskan karakter sebanyak 2 kali, di mana penulisan pertama digunakan untuk data pelatihan dan penulisan kedua digunakan untuk data pengujian. Tiga orang sisanya hanya menuliskan karakter sebanyak 1 kali, dari 3 orang tersebut karakter tulisan tangan
dari 2 orang digunakan untuk menambah data pelatihan sedangkan karakter tulisan tangan dari 1 orang lainnya digunakan untuk menambah data pengujian. Karakter-karakter tulisan tangan tersebut kemudian diubah menjadi citra digital dengan menggunakan scanner dan setiap karakter disimpan sebagai satu file citra, sehingga didapat 230 buah file citra. Dari data tersebut 120 citra digunakan sebagai data pelatihan dan 110 citra lainnya digunakan sebagai data pengujian. Setiap citra disimpan dengan komposisi warna grayscale berukuran 50 × 50 pixel. Tahapan Pengenalan Karakter Tahapan proses pengenalan karakter tulisan tangan dapat dilihat pada Gambar 4.
Gambar 4 Tahapan Pengenalan Pada setiap citra akan dilakukan proses cropping (pemotongan) untuk menghilangkan bagian-bagian dari citra yang kurang penting. Bagian-bagian tersebut adalah sisi-sisi di bagian luar pola yang bukan merupakan pola karakter tulisan tangan. Dari proses cropping akan dihasilkan ukuran citra yang beragam. Kalau ukuran citra terlalu besar akan memperlambat kinerja sistem. Oleh karena itu, akan dilakukan proses resizing untuk mereduksi dan menyeragamkan ukuran citra input. Citra input akan diseragamkan ukurannya menjadi citra grayscale berukuran 20 × 15. Citra karakter tulisan tangan berukuran 20 × 15 akan direpresentasikan menjadi vektor kolom
4
berdimensi 300. Dengan demikian seluruh data latih akan direpresentasikan berupa matriks berukuran 300 × 120. Kemudian dilakukan proses normalisasi data input dengan mengurangi intensitas setiap pixel dengan rataan nilai pixel dimensinya dan dibagi dengan standar deviasinya. Tahap berikutnya adalah tahap pelatihan JST RPROP dengan menggunakan data pelatihan. Kemudian dilakukan proses pengujian dengan menggunakan parameterparameter JST yang didapat dari proses pelatihan dan pengujian dilakukan dengan menggunakan data pengujian. Hasil dari proses pengujian berupa tingkat akurasi dan waktu yang dibutuhkan untuk melakukan pengenalan. Karakteristik JST Yang Digunakan Pada penelitian ini akan digunakan model JST dengan struktur yang ditunjukkan pada Tabel 1. Tabel 1 Karakteristik JST yang digunakan Karakteristik Spesifikasi Arsitektur 1 hidden layer Neuron input 300 Hidden neuron 10 sampai 100 Neuron output 10 Inisialisasi bobot Nguyen-Widrow Fungsi aktivasi Sigmoid biner delta0 0.07 deltamax 50 Toleransi galat 10-3, 10-4, 10-5, 10-6, 10-7, dan 10-8 FN 1.1, 1.2, 1.3, 1.4, 1.5, dan 1.6 FT 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, dan 0.9 Maksimum epoch 500
Tabel 2 Definisi target jaringan Karakter Kelas Target Angka Karakter 0 1 1000000000 1 2 0100000000 2 3 0010000000 3 4 0001000000 4 5 0000100000 5 6 0000010000 6 7 0000001000 7 8 0000000100 8 9 0000000010 9 10 0000000001 Parameter Penilaian Sistem a Proses Pelatihan Sistem Parameter-parameter yang dinilai pada proses pelatihan sistem adalah parameter konvergensi JST untuk mengetahui kecepatan sistem dalam mempelajari pola-pola pada data pelatihan baik dalam satuan detik (waktu latih) maupun dalam satuan epoch. Satu epoch adalah satu iterasi pembelajaran semua pola pada data pelatihan. b
Proses Pengenalan Karakter Tulisan Tangan Pada proses pengenalan karakter tulisan tangan yang akan dinilai adalah waktu yang dibutuhkan untuk melakukan pengenalan. JST propagasi balik dikenal sebagai JST yang dapat memberikan respon yang cukup baik untuk pola-pola yang serupa tetapi tidak identik dengan pola pembelajaran (Fausett 1994). Pengujian JST untuk pengenalan pola dapat dilakukan dengan generalisasi, yaitu jumlah (dalam %) pola yang berhasil dikenali dengan benar oleh JST. Generalisasi diberikan oleh persamaan berikut (Nugroho 2003): Generalisasi =
Jumlah output neuron disesuaikan dengan banyaknya kelas target (pada penelitian ini terdapat 10 kelas target). Setiap target akan merepresentasikan satu karakter tulisan tangan. Elemen target ke-i yang bernilai 1 merepresentasikan kelas target ke-i. Definisi target secara lengkap dapat dilihat pada Tabel 2. Misalnya target dengan nilai elemen pertamanya satu dan yang lain nol maka target tersebut merepresentasikan kelas karakter pertama.
Jumlah pola yang dikenali × 100% Jumlah seluruh pola
Lingkungan Pengembangan Sistem dikembangkan dengan menggunakan kompiler Matlab versi 6.5 yang dilengkapi dengan image processing toolbox dan neural network toolbox. Untuk pengolahan citra digunakan perangkat lunak Adobe Photoshop 8.0. Sistem operasi yang digunakan adalah Microsoft Windows XP. Spesifikasi hardware komputer yang digunakan adalah PC dengan prosesor AMD Athlon 650 MHz, RAM sebesar 256 MB, dan kapasitas harddisk 40 GB.
5
HASIL DAN PEMBAHASAN Menentukan Parameter-Parameter JST yang Optimal Pada penelitian ini dilakukan empat jenis percobaan untuk mengetahui dampak pengubahan karakteristik JST terhadap nilainilai parameter konvergensi dan generalisasi. Keempat percobaan ini bertujuan untuk menemukan kombinasi optimal antara hidden neuron , toleransi galat, Faktor Naik (FN) dan Faktor Turun (FT).
Dari Gambar 6 dapat diketahui jumlah epoch cenderung mengecil seiring dengan penambahan jumlah hidden neuron. Semakin banyak jumlah hidden neuron maka akan semakin banyak pula hubungan antar neuronneuron sehingga akan semakin banyak pula proses perhitungan yang harus dilakukan. Dari percobaan yang dilakukan, epoch yang diperlukan untuk mencapai toleransi galat cenderung untuk mengecil jika jumlah hidden neuron diperbesar. 80
1
94
Generalisasi Rata-rata (%)
92 90 88 86 84 82
70 60
Epoch Rata-rata
Percobaan 1: Pengaruh Jumlah Hidden Neuron Pada percobaan ini jumlah hidden neuron diubah-ubah dengan tujuan untuk mendapatkan jumlah hidden neuron yang optimal sehingga menghasilkan generalisasi yang baik. Jumlah hidden neuron yang digunakan JST dalam percobaan ini adalah 10, 20, 30, 40, 50, 60, 70, 80, 90, dan 100 neuron. Di sisi lain, toleransi galat ditentukan sebesar -5 10 , FN sebesar 1.2, FT sebesar 0.5, sehingga seluruhnya terdapat 10 perlakuan. Proses pelatihan diulang sebanyak 5 kali untuk setiap perlakuan. Generalisasi maksimum yang dihasilkan JST adalah sebesar 95.45% (105 citra uji dikenal dengan benar). Generalisasi maksimum didapat pada saat jumlah hidden neuron berjumlah 80 (data selengkapnya disajikan pada Lampiran 2). Dari 5 kali pengulangan, generalisasi rata-rata terbesar juga dicapai pada jumlah hidden neuron sebanyak 80. Grafik hubungan antara jumlah hidden neuron terhadap rata-rata generalisasi dapat dilihat pada Gambar 5.
50 40 30 20 10 0 10
20
30
40
50
60
70
80
90 100
Hidden Neuron
Gambar 6 Grafik perbandingan epoch ratarata terhadap jumlah hidden neuron Jumlah epoch minimum sebesar 10 epoch dicapai pada hidden neuron sebanyak 80, 90, dan 100. Dari 5 kali pengulangan diperoleh rata-rata epoch 80 hidden neuron sebesar 11.6, rata-rata epoch untuk 90 dan 100 hidden neuron adalah sebesar 13.2 dan 12.2. Hal ini menunjukkan bahwa JST dengan 80 hidden neuron menghasilkan menghasilkan epoch yang lebih kecil dibandingkan JST dengan 90 atau 100 hidden neuron. Dari uraian di atas diketahui bahwa arsitektur JST dengan 80 hidden neuron dapat menghasilkan tingkat generalisasi tertinggi dengan epoch terkecil sehingga merupakan pilihan terbaik.
80
2
78 76 74 72 70 10
20
30
40
50
60
70
80
90 100
Hidden Neuron
Gambar 5 Grafik perbandingan generalisasi rata-rata terhadap jumlah hidden neuron
Percobaan 2: Pengaruh Toleransi Galat Percobaan selanjutnya bertujuan untuk menentukan toleransi galat yang optimal, sehingga didapatkan sistem dengan generalisasi yang baik. Sistem akan diuji menggunakan JST dengan 80 hidden neuron, FN sebesar 1.2, FT sebesar 0.5, dan 6 nilai toleransi galat yang berbeda yaitu 10-3, 10-4, 10-5, 10-6, 10-7, dan 10-8, yang masing-masing akan diulang sebanyak 5 kali.
6
90
14 12 10 8 6 4 2 0 0.001
0.0001 0.00001 1E-06
1E-07
1E-08
Toleransi Galat
Gambar 8 Grafik perbandingan epoch ratarata terhadap toleransi galat Dari hasil ini diketahui bahwa dengan -5 menggunakan toleransi galat sebesar 10 cukup untuk menghasilkan sistem dengan generalisasi yang tinggi. Dari hasil dari percobaan 1 dan 2 dapat diambil kesimpulan bahwa JST dengan 80 -5 hidden neuron dan toleransi galat 10 merupakan parameter-parameter yang optimal bagi sistem. 3
89.5 Generalisasi rata-rata (%)
16
Epoch rata-rata
Dari Gambar 7 dapat dilihat bahwa generalisasi rata-rata meningkat seiring dengan penurunan toleransi galat. Ini menunjukkan bahwa dengan menurunkan toleransi galat maka tingkat akurasi JST akan semakin tinggi, walaupun peningkatan generalisasinya tidak terlalu besar. Hanya saja -6 pada saat toleransi galat 10 mulai terlihat gejala sistem yang overfit. Hal ini tampak -6 pada penggunaan toleransi galat sebesar 10 tidak terjadi peningkatan generalisasi ratarata, bahkan pada pemilihan nilai toleransi -6 terjadi galat yang lebih kecil dari 10 penurunan generalisasi rata-rata pada toleransi -7 -8 galat sebesar 10 dan 10 . Gejala sistem overfit timbul disebabkan sistem mulai terlalu spesifik mempelajari pola pada data pelatihan (seen data), sehingga sulit untuk mempelajari pola-pola baru pada data pengujian (unseen data). Generalisasi tertinggi didapat pada -5 toleransi galat sebesar 10 yaitu sebesar 91.82% (hasil selengkapnya disajikan pada Lampiran 3).
89
88.5
88
87.5
87 0.001 0.0001 1E-05 1E-06 1E-07 1E-08 Toleransi Galat
Gambar 7 Grafik perbandingan generalisasi rata-rata terhadap toleransi galat Jumlah epoch rata-rata meningkat seiring dengan penurunan toleransi galat (Gambar 8). Hal ini disebabkan karena semakin kecil toleransi galat maka proses penghitungan untuk mencapai toleransi galat akan semakin banyak. Karena perbedaan jumlah epoch ratarata antara keenam nilai toleransi galat yang dicobakan tidak besar dan keenamnya menghasilkan rata-rata epoch yang cukup kecil, maka parameter toleransi galat optimal dapat dipilih dari nilai toleransi galat yang mencapai generalisasi rata-rata tertinggi.
Percobaan 3 : Pengaruh Faktor Naik (FN) Percobaan selanjutnya bertujuan untuk menentukan parameter FN yang optimal, sehingga dapat menghasilkan sistem yang stabil dan memiliki tingkat generalisasi yang tinggi. Sesuai dengan hasil dari percobaan sebelumnya, pada percobaan ini akan digunakan JST dengan 80 hidden neuron, -5 toleransi galat 10 , dan FT sebesar 0.5 yang masing-masing akan diulang sebanyak 5 kali. Sedangkan nilai FN yang akan diuji adalah 1.1, 1.2, 1.3, 1.4, 1.5, dan 1.6. Data selengkapnya dapat dilihat pada Lampiran 4. Generalisasi tertinggi didapat pada FN sebesar 1.2 yaitu 92.73%. Generalisasi ratarata tertinggi juga dihasilkan oleh FN sebesar 1.2 yaitu 90.36%. Grafik perbandingan generalisasi rata-rata terhadap FN dapat dilihat pada Gambar 9. Pada grafik terlihat bahwa pemilihan nilai FN lebih besar dari 1.2 akan menurunkan generalisasi.
7
-5
Generalisasi rata-rata (%)
90 80 70 60 50 40 30 20 10 0 1.1
1.2
1.3
1.4
1.5
1.6
Faktor Naik
Gambar 9 Grafik perbandingan generalisasi rata-rata terhadap FN Epoch minimum dicapai oleh FN sebesar 1.1 dan 1.2, yaitu 9 epoch, sedangkan rata-rata epoch minimum dicapai pada nilai FN sebesar 1.1 yaitu 10 epoch. Jika dilihat pada Gambar 10, dengan memperbesar nilai FN jumlah epoch juga akan semakin besar. Perbedaan jumlah epoch rata-rata dari nilai FN sebesar 1.1 sampai dengan 1.4 tidak begitu signifikan. Tetapi dengan memperbesar nilai FN dari 1.5 ke 1.6 terjadi peningkatan jumlah epoch yang cukup besar, rata-rata epoch naik sampai 39 epoch. Pemilihan nilai FN sebesar 1.2 dapat menghasilkan generalisasi yang tinggi dengan epoch yang cukup kecil. 70 60
neuron, toleransi galat sebesar 10 dan FN sebesar 1.2 merupakan parameter-parameter yang optimal bagi sistem. . 4 Percobaan 4 : Pengaruh Faktor Turun (FT) Percobaan selanjutnya bertujuan untuk menentukan nilai parameter FT yang optimal. Pada percobaan ini, akan diuji 9 nilai parameter FT yaitu 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, dan 0.9 yang masing-masing akan diulang sebanyak 5 kali. Di lain pihak, berdasarkan hasil dari percobaan sebelumnya akan digunakan parameter JST dengan 80 -5 hidden neuron, toleransi galat 10 , dan FN sebesar 1.2. Dengan memperbesar nilai FT dari 0.1 sampai dengan 0.7 memang menaikkan generalisasi rata-rata, akan tetapi dengan nilai FT yang lebih besar dari 0.7 terjadi penurunan generalisasi rata-rata. Dari percobaan ini generalisasi tertinggi didapat pada FT sebesar 0.7 yaitu sebesar 94.55% (hasil selengkapnya disajikan pada Lampiran 5). Pada Gambar 11 dapat dilihat grafik perbandingan generalisasi rata-rata terhadap FT. 100 90 Generalisasi rata-rata (%)
100
80 70 60 50 40 30 20
Epoch rata-rata
50 10 40
0 0.1
30
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Faktor Turun
20
Gambar 11 Grafik perbandingan generalisasi rata-rata terhadap FT
10 0 1.1
1.2
1.3
1.4
1.5
1.6
Faktor Naik
Gambar 10 Grafik perbandingan epoch ratarata terhadap FN Dari uraian di atas, pemilihan nilai FN 1.2 mampu menghasilkan sistem yang stabil dengan generalisasi yang tinggi. Dari hasil dari percobaan 1, 2 dan 3 dapat diambil kesimpulan bahwa JST dengan 80 hidden
Epoch minimum dicapai pada FT sebesar 0.5, 0.6, dan 0.7 yaitu 10 epoch, sedangkan jika dilihat dari epoch rata-rata, FT sebesar 0.5 menghasilkan epoch rata-rata 13.8, FT sebesar 0.6 dan 0.7 menghasilkan epoch rata-rata masing-masing sebesar 11 dan 11.8. Dapat dilihat pada Gambar 12, dengan menaikkan nilai FT dari 0.1 sampai dengan 0.7 jumlah epoch rata-rata cenderung untuk turun walaupun perbedaannya tidak besar. Penggunaan nilai FT sebesar 0.8 dan 0.9 terjadi penaikkan jumlah epoch rata-rata,
8
bahkan dengan menggunakan FN sebesar 0.9 epoch rata-rata naik hingga 113.2 epoch. 140
Epoch rata-rata (%)
120 100 80 60 40 20 0 0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Faktor Turun
Gambar 12 Grafik perbandingan epoch ratarata terhadap FT Dari uraian di atas, pemilihan nilai FT sebesar 0.7 merupakan pilihan yang tepat karena menghasilkan generalisasi yang tinggi dengan epoch yang cukup kecil, sehingga dapat dipilih nilai FT yang optimal yaitu sebesar 0.7. Menguji Parameter-Parameter JST yang Optimal Parameter-parameter optimal yang didapat dari percobaan-percobaan sebelumnya digunakan untuk menguji sistem. Parameterparameter tersebut yaitu, JST dengan 80 -5 hidden neuron, toleransi galat sebesar 10 , FN sebesar 1.2 dan FT sebesar 0.7. Pengujian diulang sebanyak 5 kali, grafik generalisasi pada setiap ulangan dapat dilihat pada Gambar 13. 95 94 93 Generalisasi (%)
Pada pengujian ini, generalisasi tertinggi didapat pada ulangan pertama yaitu sebesar 93.64% (103 dari 110 citra dikenali dengan benar). Dari 5 kali pengulangan diperoleh rata-rata generalisasi 91.64%, rata-rata epoch 12.6, rata-rata waktu pelatihan 1.8726 detik dan rata-rata waktu uji 0.052 detik. Hasil selengkapnya disajikan pada Lampiran 6.
92 91 90 89 88 87 86 85 1
2
3
4
5
Ulangan ke-
Gambar 13 Grafik generalisasi pada setiap ulangan
Kelebihan dan Keterbatasan Sistem Kelebihan sistem. Dengan pemilihan parameter-parameter JST yang baik (dalam penelitian ini digunakan 80 hidden neuron, -5 toleransi galat sebesar 10 , FN sebesar 1.2 dan FT sebesar 0.7) sistem dapat mengenali citra-citra uji dengan tingkat akurasi sebesar 93.64%, rata-rata waktu pelatihan 1.8726 detik dan rata-rata waktu uji 0.052 detik. Pemilihan parameter-parameter JST tersebut dapat dilakukan dengan lebih mudah karena sistem dibangun dengan menggunakan graphical user interface (GUI), sehingga mudah digunakan dan user friendly. Keterbatasan sistem. Sistem masih mempunyai keterbatasan yaitu belum tersedianya fasilitas untuk menambah data baru secara otomatis. Perbandingan dengan Penelitian Sebelumnya Pada penelitian yang dilakukan Nugroho (2003), dilakukan perbandingan metodemetode praproses untuk mereduksi dimensi, mengekstraksi ciri dan mengukur jarak antara 2 vektor citra atau lebih. Penelitian tersebut membandingkan metode tanpa ekstraksi, metode Euclidean, dan metode Principal Component Analysis (PCA), sedangkan model JST yang digunakan adalah JST propagasi balik standar. Data untuk pelatihan dan pengujian digunakan data yang sama, sehingga tingkat akurasi yang didapat cukup tinggi. Dari hasil yang didapat dari penelitian tersebut, generalisasi tertinggi dicapai oleh metode tanpa ekstraksi dan metode Euclidean yaitu sebesar 98.5% dan 98.8%. Untuk semua metode yang dicobakan, pada epoch ke-1000 belum bisa mencapai target. Bisa dikatakan JST propagasi balik standar yang dipakai dalam penelitian tersebut memerlukan lebih dari 1000 epoch untuk melakukan pelatihan citra-citra karakter tulisan tangan. Berdasarkan dari penelitian tersebut, pada penelitian ini digunakan metode tanpa ekstraksi ciri dan JST yang digunakan adalah JST RPROP yang merupakan modifikasi dari JST propagasi balik standar. Hasil yang
9
didapat pada penelitian ini, menunjukkan bahwa generalisasi tertinggi sebesar 93.64%. Generalisasi yang didapat memang lebih kecil dari penelitian sebelumnya, karena pada penelitian ini data untuk pelatihan berbeda dengan data untuk pengujian. Di lain pihak, epoch rata-rata yang diperlukan untuk melakukan pelatihan citra-citra karakter tulisan tangan hanya 12.6 epoch. Semakin besar epoch maka semakin besar pula waktu yang dibutuhkan dalam pelatihan JST. Jika dibandingkan dengan penelitian sebelumnya yang menggunakan JST propagasi balik standar, JST RPROP yang digunakan dalam penelitian ini menghasilkan epoch yang sangat kecil, sehingga JST RPROP dapat melakukan pelatihan citra-citra karakter tulisan tangan jauh lebih cepat dibanding JST propagasi balik standar, dengan tingkat generalisasi yang cukup tinggi. Perbandingan hasil yang diperoleh dalam penelitian ini dengan penelitian sebelumnya dapat dilihat pada Tabel 3. Tabel 3 Perbandingan dengan penelitian sebelumnya Model
Generalisasi (%)
RPROP • Tanpa ekstraksi
93.64
Propagasi balik standar • Tanpa ekstraksi • PCA 70% • PCA 85% • Euclidean
98.5 91 95.4 98.8
Epoch 12.6
1000+ 1000+ 1000+ 1000+
melatih seluruh citra pelatihan sebesar 1.8726 detik dan rata-rata epoch sebesar 12.6. Saran Penelitian ini masih dapat dikembangkan untuk menciptakan sistem baru yang lebih baik. Saran-saran bagi penelitian lebih lanjut antara lain: • Pengujian dilakukan secara real time. • Melakukan penambahan pola citra untuk melihat kinerja sistem dengan jumlah data yang besar.
DAFTAR PUSTAKA Fauset, L. 1994. Fundamentals of Neural Networks. Prentice-Hall, New Jersey. Gonzales, R. C. & Woods, R. E. 2002. Digital Image Processing. Addison Wasley, Massachussets. Kusumadewi, S. 2004. Membangun Jaringan Syaraf Tiruan Menggunakan MATLAB & Excel Link. Yogyakarta: Graha Ilmu. Mathworks Inc. 1999. Neural Network for Use With Matlab. Natick: The Mathworks Inc. Nugroho, M. A. 2003. Perbandingan Beberapa Metode Praproses Pada Pengenalan Karakter Tulisan Tangan Menggunakan Jaringan Syaraf Tiruan Propagasi Balik. Skripsi. Jurusan Ilmu Komputer Fakultas Matematika Dan Ilmu Pengetahuan Alam Institut Pertanian Bogor, Bogor.
KESIMPULAN DAN SARAN Kesimpulan Jaringan syaraf tiruan propagasi balik resilient dapat melakukan pembelajaran dengan jumlah epoch yang sedikit dan melakukan pengenalan terhadap suatu pola dengan tingkat generalisasi yang tinggi. Jaringan syaraf tiruan dikembangkan dengan nilai-nilai parameter sebagai berikut: -5 80 hidden neuron, toleransi galat sebesar 10 , Faktor Naik sebesar 1.2 dan Faktor Turun sebesar 0.7 memberikan hasil yang baik. Sistem mampu melakukan pengenalan dengan tingkat generalisasi tertinggi sebesar 93.64% dicapai dengan waktu rata-rata 0.052 detik. Rata-rata waktu yang diperlukan untuk
Riedmiller, M & Braun, H. 1993. A Direct Adaptive Method For Faster Backpropagation Learning : The RPROP Algorithm. http://citeseer.ifi.unizh.ch/riedmiller93dire ct.html. [22 Mei 2006] Tay, Y.H & Marzuki K. 1997. Comparison of Fuzzy ARTMAP and MLP Neural Network for Hand-written Character Recognition. http://citeseer.ifi.unizh.ch/tay97compariso n.html. [22 Mei 2006]
10
LAMPIRAN
11
Lampiran 1 Algoritme JST RPROP Langkah 0. Inisialisasi bobot Langkah 1. Selama syarat henti salah, lakukan langkah 2-9 Langkah 2. Untuk setiap pasangan pelatihan (masukan dan target), lakukan langkah 3-8 Langkah 3. Setiap unit masukan (Xi, i=1, …,n) menerima sinyal masukan xi dan meneruskannya ke seluruh unit pada lapisan diatasnya (hidden unit). Langkah 4. Setiap unit tersembunyi (Zj, j=1, …,p) menghitung total sinyal masukan terbobot, n
z _ in j = v 0 j +
∑x v
i ij
,
i =1
lalu menghitung sinyal keluarannya dengan fungsi aktivasi, z j = f z _ in j ,
(
)
dan mengirimkan sinyal ini ke seluruh unit pada lapisan atasnya (lapisan output). Langkah 5. Setiap unit output (Yk, k=1, …,m) menghitung total sinyal masukan terbobot, p
y _ in k = w0 k +
∑x w j
jk
,
j =1
lalu menghitung sinyal keluaran dengan fungsi aktivasi, y k = f ( y _ in k ) Langkah 6. Setiap unit output (Yk, k=1, …, m) menerima sebuah pola target yang sesuai dengan pola masukan pelatihannya. Unit tersebut menghitung informasi kesalahan, δ k = (t k − y k ) f ' ( y _ in k )
ϕ 2 jk = δ k z j
β 2k = δ k ϕϕ 2 jk = ϕ 2 jk ∗ ϕ 2 jk (old ) ββ 2 k = β 2 k ∗ β 2 k (old ) kemudian menghitung koreksi bobot (digunakan untuk mengubah wjk nanti), ⎧ FN ; ϕϕ 2 jk > 0 ⎪ Δw jk = ⎨ FT ; ϕϕ 2 jk < 0 ⎪Δw (old ); ϕϕ 2 = 0 jk ⎩ jk
(
Δw jk = min Δw jk , delta max
)
⎧− Δw jk ; ϕ 2 jk > 0 ⎪ Δw jk = ⎨Δw jk ; ϕ 2 jk < 0 ⎪ ϕ 2 jk = 0 ⎩0; hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai b2k) ββ 2 k > 0 ⎧ FN ; ⎪ Δb 2 k = ⎨ FT ; ββ 2 k < 0 ⎪Δb2 (old ); ββ 2 = 0 k k ⎩ Δb 2 k = min(Δb2 k , delta max ) ⎧ Δb 2 k ; β 2 k > 0 ⎪ Δb 2 k = ⎨Δb2 k ; β 2 k < 0 ⎪0; β 2k = 0 ⎩
12
Lampiran 1 Lanjutan Langkah 7. Setiap unit tersembunyi (Zj, j=1, …, p) menghitung selisih input (dari unit-unit pada layer atasnya)
δ _ in j =
m
∑δ
k w jk
k =1
lalu mengalikannya dengan turunan fungsi aktivasi untuk menghitung informasi errornya δ 1 j = δ _ in j f ' z _ in j
(
)
ϕ1ij = δ 1 j x j
β1 j = δ 1 j ϕϕ1ij = ϕ1ij ∗ ϕ1ij (old ) ββ 1 j = β 1 j ∗ β 1 j (old ) kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij) ⎧ FN ; ϕϕ1ij > 0 ⎪ Δv ij = ⎨ FT ; ϕϕ1ij < 0 ⎪Δv (old ); ϕϕ1 = 0 ij ⎩ ij
(
Δv ij = min Δv ij , delta max
)
⎧− Δv ij ; ϕ1ij > 0 ⎪ Δv ij = ⎨Δw jk ; ϕ1ij < 0 ⎪ ϕ1ij = 0 ⎩0; hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai b1j) ⎧ FT ; ββ 1 j > 0 ⎪ Δb1 j = ⎨ FN ; ββ 1 j < 0 ⎪Δb1 (old ); ββ 1 = 0 j j ⎩
(
Δb1 j = min Δb1 j , delta max
)
⎧Δb1 j ; β 1 j > 0 ⎪ Δb1 j = ⎨Δb1 j ; β 1 j < 0 ⎪ β1 j = 0 ⎩0;
Langkah 8. Setiap unit output (Yk, k=1, …, m) mengubah bias dan bobot-bobotnya (j=0, …, p) w jk (new) = w jk (old ) + Δw jk b2 k (new) = b2 k (old ) + Δb 2 k Setiap unit tersembunyi (Zj, j=1, …, p) mengubah bias dan bobot-bobotnya (i=1, …, n) v ij (new) = v ij (old ) + Δv ij b1 j (new) = b1 j (old ) + Δb1 j
Langkah 9. Uji syarat henti: Jika besar mean square error
1 n
n
∑ (t
k
− y k )2 lebih kecil dari toleransi yang telah
k =1
ditentukan atau jumlah epoch pelatihan sudah mencapai epoch maksimum, maka selesai; jika tidak maka kembali ke langkah 1.
13
Lampiran 2 Tabel percobaan jumlah hidden neuron dengan toleransi galat 10-5, Faktor Naik sebesar 1.2 dan Faktor Turun sebesar 0.5
Hidden Neuron
10
20
30
40
50
60
70
Ulangan ke1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Pelatihan Waktu Epoch Latih 2.143 51 2.834 70 2.654 65 3.445 87 3.495 88 1.763 32 1.412 25 1.583 27 1.512 26 1.833 33 1.442 19 1.282 17 1.923 27 1.652 23 2.434 21 1.372 15 1.842 22 1.842 22 1.582 18 1.543 17 1.352 12 1.382 12 1.562 14 1.603 15 1.983 20 2.243 20 1.843 16 1.492 12 1.933 16 1.542 12 1.903 14 1.572 11 2.444 19 1.762 13 1.652 12
Waktu Uji 0.04 0.03 0.04 0.04 0.03 0.03 0.04 0.03 0.04 0.04 0.04 0.03 0.04 0.04 0.04 0.04 0.04 0.03 0.04 0.04 0.05 0.04 0.04 0.04 0.05 0.05 0.04 0.04 0.05 0.05 0.05 0.05 0.05 0.05 0.05
Pengujian Tidak Dikenal Dikenal 82 28 67 43 84 26 80 30 76 34 87 23 89 21 88 22 87 23 86 24 90 20 92 18 97 13 90 20 94 16 101 9 96 14 98 12 102 8 92 18 100 10 97 13 97 13 100 10 95 15 99 11 96 14 94 16 89 21 100 10 95 15 101 9 94 16 100 10 98 12
Generalisasi (%) 74.55 60.91 76.36 72.73 69.09 79.09 80.91 80.00 79.09 78.18 81.82 83.64 88.18 81.82 85.45 91.82 87.27 89.09 92.73 83.64 90.91 88.18 88.18 90.91 86.36 90.00 87.27 85.45 80.91 90.91 86.36 91.82 85.45 90.91 89.09
14
Lampiran 2 Lanjutan
Hidden Neuron
80
90
100
Ulangan ke1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Pelatihan Waktu Epoch Latih 1.973 13 1.573 10 2.073 14 1.682 11 1.572 10 2.203 12 2.274 17 2.654 16 1.873 10 1.993 11 2.283 12 2.934 16 1.943 10 2.484 13 1.992 10
Waktu Uji 0.04 0.05 0.05 0.05 0.05 0.05 0.05 0.06 0.05 0.05 0.06 0.05 0.05 0.06 0.06
Pengujian Tidak Dikenal Dikenal 98 12 97 13 101 9 105 5 103 7 102 8 102 8 97 13 98 12 99 11 97 13 98 12 99 11 100 10 97 13
Generalisasi (%) 89.09 88.18 91.82 95.45 93.64 92.73 92.73 88.18 89.09 90.00 88.18 89.09 90.00 90.91 88.18
15
Lampiran 3 Tabel percobaan toleransi galat dengan 80 hidden neuron, Faktor Naik sebesar 1.2 dan Faktor Turun sebesar 0.5
Toleransi Galat
10-3
10-4
10-5
10-6
10-7
10-8
Ulangan ke1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Pelatihan Waktu Epoch Latih 2.293 15 1.642 10 1.282 7 1.372 8 1.252 7 2.113 14 1.872 12 1.943 12 1.372 8 1.462 8 1.953 13 1.833 12 2.073 13 1.773 11 2.013 13 2.163 14 1.913 12 1.953 13 2.233 15 2.053 13 2.154 14 2.253 15 2.123 14 2.504 17 2.293 15 2.203 13 2.033 13 2.284 15 2.033 13 2.404 16
Waktu Uji 0.04 0.04 0.05 0.05 0.05 0.04 0.05 0.05 0.05 0.05 0.05 0.04 0.04 0.05 0.04 0.04 0.04 0.05 0.05 0.05 0.05 0.05 0.05 0.04 0.05 0.04 0.05 0.05 0.05 0.04
Pengujian Tidak Dikenal Dikenal 96 14 99 11 92 18 98 12 95 15 99 11 96 14 99 11 96 14 97 13 99 11 97 13 99 11 101 9 96 14 97 13 99 11 99 11 97 13 100 10 96 14 97 13 96 14 98 12 100 10 96 14 98 12 99 11 94 16 96 14
Generalisasi (%) 87.27 90.00 83.64 89.09 86.36 90.00 87.27 90.00 87.27 88.18 90.00 88.18 90.00 91.82 87.27 88.18 90.00 90.00 88.18 90.91 87.27 88.18 87.27 89.09 90.91 87.27 89.09 90.00 85.45 87.27
16
Lampiran 4 Tabel percobaan Faktor Naik dengan 80 hidden neuron, toleransi galat 10-5 dan Faktor Turun sebesar 0.5
Faktor Naik
1.1
1.2
1.3
1.4
1.5
1.6
Ulangan ke1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Pengujiam Waktu Epoch Latih 1.582 10 1.522 9 1.622 10 1.733 11 1.672 10 2.173 14 1.552 9 2.263 15 1.922 12 1.752 11 1.773 11 2.133 14 1.983 13 1.743 11 1.983 13 2.534 17 2.053 13 2.704 19 1.912 12 1.762 11 2.163 15 2.524 17 3.155 23 2.593 18 4.297 38 6.689 53 8.933 73 7.050 58 6.399 52 8.162 70
Waktu Uji 0.05 0.05 0.05 0.05 0.04 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.04 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.04 0.05 0.05 0.05
Pengujian Tidak Dikenal Dikenal 99 11 101 9 98 12 99 11 98 12 98 12 102 8 97 13 99 11 101 9 98 12 99 11 95 15 101 9 102 8 92 18 94 16 95 15 99 11 89 21 94 16 95 15 92 18 84 26 85 25 62 48 76 34 62 48 73 37 73 37
Generalisasi (%) 90.00 91.82 89.09 90.00 89.09 89.09 92.73 88.18 90.00 91.82 89.09 90.00 86.36 91.82 92.73 83.64 85.45 86.36 90.00 80.91 85.45 86.36 83.64 76.36 77.27 56.36 69.09 56.36 66.36 66.36
17
Lampiran 5 Tabel percobaan Faktor Turun dengan 80 hidden neuron, toleransi galat 10-5 dan Faktor Naik sebesar 1.2
Faktor Turun
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Ulangan ke1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
Pelatihan Waktu Epoch Latih 3.545 28 3.746 30 2.954 22 3.535 28 3.926 31 2.223 16 2.033 15 3.735 28 2.534 18 3.405 27 2.283 15 2.694 20 3.425 27 1.753 11 1.742 12 2.163 16 1.732 12 2.374 17 1.652 11 1.602 11 2.253 16 1.762 12 1.592 10 2.193 15 2.143 16 1.782 11 1.482 10 1.822 13 1.573 11 1.543 10 1.943 13 1.672 11 1.573 10 2.012 13 1.723 12 2.283 16 2.113 16 2.984 21 2.503 18 2.193 16 3.895 30 16.104 141 16.884 151 16.714 148 15.372 133
Waktu Uji 0.04 0.04 0.05 0.04 0.04 0.04 0.04 0.05 0.05 0.05 0.04 0.04 0.04 0.05 0.05 0.05 0.05 0.05 0.04 0.05 0.05 0.05 0.05 0.04 0.05 0.05 0.05 0.04 0.05 0.04 0.04 0.05 0.05 0.05 0.05 0.05 0.04 0.05 0.05 0.05 0.04 0.05 0.05 0.05 0.04
Pengujian Tidak Dikenal Dikenal 91 19 90 20 95 15 91 19 94 16 94 16 94 16 94 16 96 14 99 11 94 16 102 8 98 12 98 12 94 16 98 12 96 14 97 13 95 15 102 8 100 10 97 13 101 9 99 11 99 11 102 8 99 11 97 13 99 11 101 9 102 8 96 14 103 7 104 6 101 9 94 16 98 12 100 10 99 11 98 12 97 13 81 29 74 36 71 39 51 59
Generalisasi (%) 82.73 81.82 86.36 82.73 85.45 85.45 85.45 85.45 87.27 90.00 85.45 92.73 89.09 89.09 85.45 89.09 87.27 88.18 86.36 92.73 90.91 88.18 91.82 90.00 90.00 92.73 90.00 88.18 90.00 91.82 92.73 87.27 93.64 94.55 91.82 85.45 89.09 90.91 90.00 89.09 88.18 73.64 67.27 64.55 46.36
18
Lampiran 6 Hasil pengujian menggunakan parameter-parameter JST yang optimal
Ulangan Pembelajaran ke1 2 3 4 5
Pelatihan Waktu Epoch Latih 1.973 11 1.752 12 1.993 15 1.893 13 1.752 12
Waktu Uji 0.10 0.04 0.04 0.04 0.04
Pengujian Tidak Dikenal Dikenal 103 7 100 10 101 9 100 10 100 10
Generalisasi (%) 93.64 90.91 91.82 90.91 90.91
19