Sabtu, 27 Juni 2009

Tugas 7 (Deteksi Huruf Dan angka)

Secara umum dan sederhana, citra dapat
didefinisikan sebagai representasi visual dari suatu
objek. Lebih jauh citra juga dapat diartikan sebagai
gambaran yang representatif mengenai suatu objek
sedemikian sehingga citra tersebut dapat memberikan
kesan yang mendalam mengenai objek yang dimaksud.
Jika ingin mendefinisikannya lebih bebas lagi, citra
dapat didefinisikan sebagai bentuk visual yang dapat
diterima secara baik oleh indera penglihatan, apapun
bentuknya. Dalam bidang komputer, citra atau disebut
juga image merupakan representasi visual dari suatu
objek setelah mengalami berbagai transformasi data
dari berbagai bentuk rangkaian numerik.
Komputer memiliki cara pandang tersendiri
terhadap suatu citra. Berbeda dengan citra konvensional
yang misalnya dengan melalui proses fotografis
seperti pada foto dapat dihasilkan suatu citra nyata
yang langsung dapat dinikmati oleh indera penglihatan,
citra pada komputer harus melalui beberapa tahapan
yang cukup rumit. Tahapan-tahapan tersebut dapat
digambarkan sebagai suatu rangkaian proses dari
proses akuisisi data, manipulasi data, visualisasi data,
serta proses penyimpanan data. Penjelasan lebih lanjut
dari proses-proses tersebut dapat dilihat pada [8].
Diantara proses tersebut diatas, proses penyimpanan
data adalah bagian paling pelik dari pengolahan citra
pada komputer. Saat ini sudah ter-dapat banyak metode
yang dapat digunakan untuk menyimpan suatu citra
digital ke dalam suatu file. File adalah media penyimpanan
standar pada sistem komputer. Metode-metode
penyimpanan tadi tentunya memiliki perbedaan yang
cukup berarti antara satu dengan yang lainnya. Hal
yang paling membedakan biasanya adalah tingkat
kompresi data yang ditawarkan oleh masing-masing
metode. Beberapa metode yang sudah cukup dikenal
adalah BMP, JPEG, PCX, WMF, TIFF, dll.
B. Jaringan Syaraf Propagasai Balik
Propagasi balik merupakan salah satu proses
belajar jaringan syaraf buatan dimana dalam proses
belajar tersebut pengubahan nilai berlangsung pada
arah mundur, yaitu mulai dari lapisan output dan
berakhir di lapisan input.
Algoritma belajar propagasi balik adalah sebagai
berikut [5] :
1. Perhitungan nilai keluaran neuron pada lapisan
tersembunyi dan output














dimana,
i = nomor neuron yang sedang dihitung
sinyal aktivasinya.
j = nomor neuron yang outputnya
dikontribusikan pada neuron i
sj = nilai output neuron j
wij = nilai bobot hubungan antara neuron ke i
dan ke j
qi = nilai bias neuron ke i
fungsi neti atau f(neti) disebut juga sebagai fungsi
aktivasi yang bentuknya dapat bermacam-macam.
2. Perhitungan kesalahan dalam proses belajar
disebut dengan fungsi energi.
dimana,
yi = output target neuron output i
si
x = output aktual neuron output I pada saat
jaringan terhubung dengan sample x
3. Perhitungan sensitivitas (δi) neuron-neuron dalam
lapisan tersembunyi dan lapisan output. Dimana
persamaan yang digunakan untuk perhitungan
sensitivitas baik untuk lapisan tersembunyi
maupun lapisan output, tergantung dari fungsi
aktivasi yang digunakan.
4. Perhitungan nilai perubahan bobot dan bias.
perubahan bobot :
perubahan bias :
5. Perhitungan nilai bobot dan bias baru.
bobot baru :
bias baru :
6. Langkah-langkah tersebut diulang sampai deviasi
keluaran kecil sehingga mencapai stopping kriteria
error yang diharapkan.
Fungsi aktivasi dapat diibaratkan sebagai
pendefinisian penguatan non linier dalam sistem analog
(continue). Penguatan (gain) ini dihitung dengan
mencari rasio perubahan pada fungsi output neuron
pada lapisan tersembunyi dan lapisan keluaran, dimana
penguatan merupakan kemiringan kurva pada suatu
tingkat eksistensi tertentu, dan nilainya berubah dari
harga yang kecil pada eksitasi negatif yang besar
(kurvanya hampir mendatar) menjadi harga yang besar
pada eksitasi nol, dan nilainya kembali mengecil
seiring dengan eksitasi yang semakin besar dan positif.
Fungsi aktivasi tidak hanya digunakan pada saat
perhitungan nilai keluaran neuron saja (neuron pada
lapisan tersembunyi dan lapisan output), tetapi turunan
pertamanya digunakan juga untuk menghitung
perubahan bobot dan bias pada proses belajar. Dalam
penulisan ini digunakan fungsi aktivasi Sigmoid
Parameter penting lainnya dari JSB adalah
bagaimana output dari JSB tersebut direpresentasikan,
secara terlokalisasi atau terdistribusi. Dalam penulisan
ini akan digunakan metode output yang direpresentasikan
secara terdistribusi. Hal ini dikarenakan banyaknya
jumlah variasi output yang harus direpresentasikan,
sehingga tidaklah efektif bila direpresentasikan
dengan jumlah digit sebanyak variasi output yang
berbeda. Perlu diketahui, seperti yang telah disebutkan
pada bagian batasan masalah, bahwa citra yang akan
dicoba untuk dikenali adalah citra huruf-huruf alpabet
(huruf kecil maupun huruf kapital) berikut angka-angka
arab satuan, yang berarti ada sejumlah 62 (13 huruf
kecil+13 huruf besar+10 angka arab satuan) objek yang
harus direpresentasikan sebagai target output. Tentunya
sangatlah tidak efektif bila 62 objek tersebut
( )
i ( i)
N
j
i ij j i
s f net
net w s q
=
+ =Σ
=1
( )
( )
= Σ Σ −
xy i
x
i
x
i E
dimana,
yi = output target neuron output i
si
x = output aktual neuron output I pada saat
jaringan terhubung dengan sample x
3. Perhitungan sensitivitas (δi) neuron-neuron dalam
lapisan tersembunyi dan lapisan output. Dimana
persamaan yang digunakan untuk perhitungan
sensitivitas baik untuk lapisan tersembunyi
maupun lapisan output, tergantung dari fungsi
aktivasi yang digunakan.
4. Perhitungan nilai perubahan bobot dan bias.
perubahan bobot :
perubahan bias :
5. Perhitungan nilai bobot dan bias baru.
bobot baru :
bias baru :
6. Langkah-langkah tersebut diulang sampai deviasi
keluaran kecil sehingga mencapai stopping kriteria
error yang diharapkan.
Fungsi aktivasi dapat diibaratkan sebagai
pendefinisian penguatan non linier dalam sistem analog
(continue). Penguatan (gain) ini dihitung dengan
mencari rasio perubahan pada fungsi output neuron
pada lapisan tersembunyi dan lapisan keluaran, dimana
penguatan merupakan kemiringan kurva pada suatu
tingkat eksistensi tertentu, dan nilainya berubah dari
harga yang kecil pada eksitasi negatif yang besar
(kurvanya hampir mendatar) menjadi harga yang besar
pada eksitasi nol, dan nilainya kembali mengecil
seiring dengan eksitasi yang semakin besar dan positif.
Fungsi aktivasi tidak hanya digunakan pada saat
perhitungan nilai keluaran neuron saja (neuron pada
lapisan tersembunyi dan lapisan output), tetapi turunan
pertamanya digunakan juga untuk menghitung
perubahan bobot dan bias pada proses belajar. Dalam
penulisan ini digunakan fungsi aktivasi Sigmoid
Parameter penting lainnya dari JSB adalah
bagaimana output dari JSB tersebut direpresentasikan,
secara terlokalisasi atau terdistribusi. Dalam penulisan
ini akan digunakan metode output yang direpresentasikan
secara terdistribusi. Hal ini dikarenakan banyaknya
jumlah variasi output yang harus direpresentasikan,
sehingga tidaklah efektif bila direpresentasikan
dengan jumlah digit sebanyak variasi output yang
berbeda. Perlu diketahui, seperti yang telah disebutkan
pada bagian batasan masalah, bahwa citra yang akan
dicoba untuk dikenali adalah citra huruf-huruf alpabet
(huruf kecil maupun huruf kapital) berikut angka-angka
arab satuan, yang berarti ada sejumlah 62 (13 huruf
kecil+13 huruf besar+10 angka arab satuan) objek yang
harus direpresentasikan sebagai target output. Tentunya
sangatlah tidak efektif bila 62 objek tersebut
direpresentasikan dengan sejumlah 62 digit biner
output.
Pada metode output terdistribusi, setiap huruf
alpabet dan angka arab akan dikonversi ke dalam
bentuk pengkodean 6 bit. Berarti hanya diperlukan 6
neuron yang akan digunakan sebagai output pada
lapisan output JSB. Tetapi dengan pengkodean 6 bit
berarti tersedia 26 = 64 variasi output yag berbeda,
sedangkan simbol atau objek yang akan
direpresentasikan hanya ada 62 objek, untuk itu penulis
menambahkan dua objek tambahan untuk melengkapi
ketersediaan pengkodean, kedua objek tersebut adalah
‘>’ dan ‘?’.
III. IMPLEMENTASI KONSEP
A. Analisi Masalah
Suatu citra huruf atau angka (selanjutnya akan
disebut sampel) yang akan diidentifikasi menggunakan
JSB, haruslah melalui tahapan-tahapan tertentu terlebih
dahulu sehingga dapat menjadi input yang baik bagi
JSB. Adapun input yang dapat diterima oleh dengan
baik oleh JSB adalah berupa kumpulan data numerik.
Dengan demikian maka permasalahan pertama adalah
bagaimana mengkonversi suatu citra digital menjadi
kumpulan data numerik yang representatif dan
konsisten. Tentunya walaupun JSB yang digunakan
memiliki karakteristik, struktur ataupun konfigurasi
yang sudah cukup spesifik, masih ada parameterparameter
penting lain dari JSB tersebut yang harus
diatur untuk mendapatkan hasil terbaik. Parameterparameter
tersebut antara lain adalah pengaruh bias dan
bobot awal, nilai momentum, nilai LearnRates, nilai
stopping criteria error, epoch, dan lain sebagainya.
Penyesuaian terhadap nilai-nilai tersebut adalah
masalah berikutnya yang akan dianalisa.
B. Metode Akuisisi Data
Setiap sampel yang akan diamati dan dianalisa
oleh JSB harus direpresentasikan secara baik ke dalam
bentuk data numerik. Untuk itu diperlukan suatu
metode yang dapat mengekstraksi data ciri dari setiap
sampel tadi secara konsisten. Tentunya data numerik
yang dihasilkan haruslah benar-benar dapat mewakili
karakteristik atau ciri-ciri dari sampel yang diamati,
sehingga diharapkan dari sekumpulan data dengan
target yang sama akan dihasilkan suatu generalisasi
atau pencirian secara umum terhadap suatu target yang
sejenis. Proses akuisisi data tersebut harus benar-benar
akurat dengan mempertimbangkan semua karakteristik
dari setiap sampel yang tidak lain adalah suatu citra
digital, dimana setiap citra digital memiliki
karakteristik tertentu.
B.1. Karakteristik Sampel
Sampel-sampel yang akan diamati tentunya harus
dibatasi dengan suatu struktur dimensi dan
homogenisasi pixel yang sederhana, sehingga diharapkan
dapat mempermudah proses analisa terhadap
konsep ini. Setiap sampel adalah satu citra digital yang
nilai warna dari pixel-pixelnya terhomo-genisasi
menjadi dua representasi warna, yaitu warna aktif
(hitam) dan warna nonaktif (selain hitam). Selain itu
dimensi dari setiap sampel dibatasi sebesar area yang
disediakan pada program aplikasi, tetapi tidak akan
mengurangi fleksibilitas dan skalabilitas yang
diharapkan.
B.2. Ekstraksi Data
Untuk mendapatkan data yang akurat dan
konsisten dari setiap sampel, digunakan suatu metode
sederhana yaitu dengan cara menghitung jumlah pixel
aktif yang terdapat pada bagian-bagian dari sampel.
Adapun algoritma umum dari pengekstrakan data
numerik dari setiap sampel adalah sebagai berikut :
1. Setiap sampel yang diamati, dibagi menjadi
beberapa area, misalnya 4 kolom dan 5 baris,
sehingga akan terdapat 20 area pengamatan;
2. jumlah pixel yang aktif dari setiap area yang ada
dihitung secara akurat;
3. dihasilkan sejumlah 20 data numerik dengan
atribut kolom dan baris yang diharapkan dapat
mewakili data ciri dari sampel yang diamati.
Setelah melalui tahapan normalisasi, data-data
numerik tadi akan menjadi data input pada JSB.
Dengan demikian jumlah area yang ada pada setiap
sampel akan bersesuaian dengan jumlah neuron input
JSB yang akan digunakan. Agar dapat dihasilkan
kumpulan data yang seragam, maka setiap sampel yang
akan diamati haruslah memiliki jumlah area pembagian
yang sama. Berikut contoh pengekstrakan data ciri dari
sampel pada Gambar 3.1.

1 komentar:

  1. Untuk menunjang informasi di atas bisa dilihat pada situs berikut ini

    http://repository.gunadarma.ac.id/bitstream/123456789/2862/1/60.pdf

    BalasHapus

KOMENTAR YANG BAIK YA JANGAN SARA OKE...!!!

Design By Vrojoholic © 2009