Rejunjung R
2. Terletak di bawah huruf
Tabel 2.2 Daftar anak huruf yang terletak di bawah huruf pokok Nama
Bunyi Aksara
Tekelungau Au
Bitan U
Bitan O
3. Terletak di samping huruf
Tabel 2 3 Daftar anak huruf yang terletak di samping huruf pokok Nama
Bunyi Aksara
Tekelingai Ai
Keleniah Ah
Nengen Mati
2.3 Pengenalan Pola
Pengenalan pola merupakan suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif fitur ciri atau sifat dari
suatu obyek. Pola sendiri adalah suatu entitas yang terdefinisi dan dapat
diidentifikasiserta diberi nama. Pola bisa merupakan kumpulan hasil atau pemantauan dan bisa dinyatakan dalam notasi vektor atau matriks Putra, 2010.
Pengenalan pola pada dasarnya terdiri dari 3 langkah utama, yaitu
preprocessing
, ekstraksi ciri dan pengenalan.
Preprocessing
merupakan langkah awal dimana dilakukan dari keseluruhan data obyek yang ada agar dapat menghasilkan ciri
yang lebih baik pada tahap berikutnya. Pada tahap ini informasi yang dianggap penting akan lebih ditonjolkan. Tahap selanjutnya adalah ekstraksi ciri, tahap ini berfungsi
untuk menemukan karakteristik pembeda yang mewakili sifat utama suatu data obyek, sekaligus mengurangi jumlah data tersebut menjadi lebih sedikit tetapi representatif.
Tahap akhir yaitu pengenalan, pada tahap ini data yang ada akan dikelompokkan menjadi kelas yang sesuai Putra, 2010.
2.4 Pemotongan
Cropping
Cropping
merupakan proses pemotongan citra pada elemen-elemen tertentu dari citra. Proses ini bertujuan untuk mengambil elemen-elemen yang diinginkan dari
citra digital. Hasil pemotongan tersebut akan menjadi citra yang akan digunakan dalam proses selanjutnya.
2.5 Resizing
Resizing
merupakan proses perubahan ukuran matriks suatu citra menjadi ukuran matriks tertentu.
2.6 Penipisan
Penipisan adalah suatu operasi
preprocessing
citra dimana nilai biner
region
daerah citra daerah citra yang dianggap obyek direduksi menjadi garis yang kira-kira merupakan garis tengah, yang disebut rangka. Tujuan dari peniisan adalah mereduksi
komponen citra menjadi suatu informasi yang sifatnya esensial mendasar sehingga analisis lebih lanjut dan
recognition
pengenalan dapat dilakukan. Berikut contoh hasil penipisan suatu citra.
Terdapat beberapa persyaratan penipisan yang dijelaskan oleh O’Gorman dan
Kasturi, yaitu : 1.
Region
citra yang terhubung harus ditipiskan menjadi struktur garis yang terhubung juga. Hasil penipisan harsulah mempertahankan
connectivity
-nya, ini adalah syarat mendasar dari penipisan. Hal ini menjamin adanya jumlah yang sama antara
connected line structures
struktur garis terhubung yang telah ditipiskan, yaitu hasil penipisannya, dengan
connected region
daerah terhubung dari citra aslinya. 2.
Hasil penipisan minimal harus 8-
connected
8-terhubung. 3.
Perkiraan lokasi
endline
titik yang berada diakhir garis harus dipertahankan.
4. Hasil penipisan harus mendekati garis tengah
region.
5.
Extraneous Spurs
cabang-cabang pendek yang tidak ada hubungannya yang dihasilkan dari proses penipisan harus diperkecil.
Selain kelima syarat yang dijelaskan O’Gorman dan Kasturi di atas, beberapa literature sering menyebut satu syarat yaitu
one-pixel thickness
. Menurut Taussaint, rangka dari suatu citra haruslah terdiri dari sebuah garis tipis. Hal ini dapat dicapai
dengan secara berturut-turut menghapus mengubah dari hitam menjadi putih piksel- piksel yang berada pada batas dari citra sampai garis yang tersisa lebarnya satu titik
saja.
Gambar 2.5 Perubahan citra setelah dilakukan
penipisan
2.4.1 Algoritma Rosenfeld
Algoritma ini membuang berturut-turut dalam model parallel himpunan bagian dari “batas” dari suatu piksel objek. Misalkan P1 adalah sebuah piksel obyek
yang merupakan
8-adjacency set
seperti ditunjukan dalam gambar berikut
P1 merupakan titik perbatasan utara jika P2 = 0.
P1 merupakan titik perbatasan timur jika P4 = 0
P1 adalah titik perbatasan barat jika P8 = 0
P1 adalah titik perbatasan selatan jika P6 = 0
Gambar 2.6 Contoh piksel P1 dengan 8 tetangga 8-
adjacency
Gambar 2.7 Contoh piksel P1 sebagai titik batas utara
Gambar 2. 8 Contoh piksel P1 sebagai titik batas timur
Gambar 2.9 Contoh piksel P1 sebagai titik batas barat
P1 adalah 4-titik endpoint dengan syarat bahwa tepat satu dari 4-tetangga adalah hitam
P1 adalah sebuah 8-titik endpoint dengan syarat tepat satu dari 8 tetangganya adalah hitam
P1 adalah 4-titik terisolasi jika tidak ada satupun dari 4-tetangga adalah hitam.
P1 adalah sebuaah 8-titik terisolasi jika tidak ada satupun dari 8-tetangganya adalah hitam.
Gambar 2.10 Contoh piksel P1 sebagai titik batas selatan
Gambar 2.11 Dua contoh dimana P1 adalah 4-
endpoint
Gambar 2.12 Dua contoh dimana P1 adalah sebuah 8-
endpoint
Gambar 2.13 Dua contoh dimana P1 adalah 4-titik terisolasi
Sebuah titik perbatasan P1 adalah 4-simple jika berubah dari hitam menjadi putih tidak mengubah 4-
connectivity
dari sisa piksel hitam dalam tetangga dari P1. Disini ada 2 contoh yang tidak 4-
simple
Sebuah titik perbatasan P1 adalah sebuah
8-simple
jika berubah dari hitam menjadi putih tidak mengubah 8-
connectivity
dari sisa piksel hitam dalam tetangga P1. Berikut adalah contoh yang tidak 8-
simple
:
Berikut algoritma Rosenfeld penggunaannya bergantung pada berapa
a-
ketetanggan yang digunakan.
1. Lakukan langkah berikut selagi masih ada piksel yang akan dihapus berubah
dari hitam menjadi putih : a.
Ubah semua piksel hitam menjadi putih jika mereka merupakan
border
utara dari titik yang
a
-
simple
tetepai tidak merupakan titik
a
-terisolasi atau
a
-
endpoint.
Gambar 2.14 Contoh piksel P1 adalah sebuah 8-titik terisolasi
Gambar 2.15 Dua contoh dimana P1 bukanlah 4-simple point
Gambar 2.16 Dua contoh dimana P1 bukan merupakan 8-
simple point
b. Ubah semua piksle hitam menjadi putih jika mereka merupakan
border
selatan dari titik yang
a
-
simple
tetepai tidak merupakan titik
a
-terisolasi atau
a
-
endpoint
c. Ubah semua piksle hitam menjadi putih jika mereka merupakan
border
timur dari titik yang
a
-
simple
tetepai tidak merupakan titik
a
-terisolasi atau
a
-
endpoint
d. Ubah semua piksle hitam menjadi putih jika mereka merupakan
border
barat dari titik yang
a
-
simple
tetepai tidak merupakan titik
a
-terisolasi atau
a
-
endpoint.
Dengan cara ini maka didapat kerangka dari pola asli inputan. Sifat dari algoritma ini adalah melindungi sifat ketetanggan dari pola input.
2.7 Ekstraksi Ciri
Proses ini merupakan salah satu tahapan paling penting dalam pengenalan aksara Lampung. Dalam prosesnya, nantinya akan dihasilkan suatu informasi penting
yang dapat membedakan satu data dengan yang lainnya.
2.5.1 Modified Direction Feature MDF
Modified Direction Feature
MDF bisa digunakan untuk mengekstraksi ciri dalam beberapa kasus tertentu. Teknik ini menggunakan penggabungan 2 teknik
ekstraksi ciri lainnya, yaitu
Direction Feature
DF dan
Transition Feature
TF Bluemenstein, 2006.
2.5.1.1
Diretion Feature DF
Direction Feature DF
adalah proses pencarian suatu nilai ciri dengan menggunakan nilai label arah untuk tiap pikselnya. Arah suatu piksel dikategorikan
menjadi 4, yaitu vertikal, horizontal, diagonal kanan, dan diagonal kiri Bluemenstein, 2004. Untuk masing-masing kategori arah diberi nilai dengan ketentuan sebagai
berikut :
Tabel 2.4 Nilai arah suatu segmen garis Arah
Nilai Bentuk
Vertikal 2
Diagonal kanan 3
Horizontal 4
Diagonal kiri 5
2.5.1.2
Transition Feature TF
Transition Feature
TF merupakan teknik untuk menghitung nilai posisi dan jumlah transisi pada arah horizontal dan vertikal. Transisi merupakan posisi dimana
terjadi perubahan dari piksel
background
menjadi
foreground
namun tidak sebaliknya. Nilai TF didapat dari hasil pembagian antara posisi suatu transisi dengan panjang
ataupun lebar suatu citra. Nilai TF dihitung untuk semua 4 arah transisi, yaitu kiri ke kanan, kanan ke kiri, atas ke bawah, dan bawah ke atas. Nilai TF berkisar antara 0-1
dan semakin menurun dari posisi transisi awal hingga posisi akhir transisinya.
2.5.1.3 Menentukan nilai
Modified Direction Feature
Nilai MDF merupakan vektor ciri yang didapat setelah menghitung nilai DF dan TF, serta menentukan jumlah transisi yang dipakai. Perbedaan utamanya adalah
cara bagaimana vektor cirinya dibuat. Untuk MDF, vektor ciri dibuat berdasarkan perhitungan jumlah transisi dari piksel
background
ke
foreground
dari arah vertikal dan horizontal. Pada MDF, selain menghitung nilai Transisi Lokasinya atau
Location Transition
LT, nilai Transisi Arah atau
Direction Transition
DT juga disimpan. Oleh karena itu, untuk tiap transisinya, pasangan nilai [LT, DT] disimpan
Bluemenstein, 2014.
1. Menentukan nilai LT
Untuk menghitung nilai LT, baca data dari tiap baris pada piksel gambar dari kiri ke kanan dan kanan ke kiri. Demkian juga, tiap kolom pada piksel gambar juga
dibaca, mulai dari atas ke bawah dan bawah ke atas. Nilai LT dalam tiap arahnya, dihitung sebagai hasil pembagian dari jarak yang dilalui pada suatu gambar. Sebagai
contoh, jika suatu transisi dihitung dari kiri ke kanan, maka nilai transisi yang ditemukan terletak semakin ke kiri, maka nilainya lebih besar dibanding dengan nilai
transisi yang ditemukan pada bagian kanannya.
2. Menentukan nilai DT
Ketika sebuah transisi pada arah tertentu ditemukan, bersamaan dengan nilai LT, nilai arah DT pada posisi tersebut juga disimpan. Nilai DT dihitung dengan
membagi nilai arahnya dengan nilai yang telah ditentukan sebelumnya misalnya pada gambar 2.5, nilai tersebut = 10. Nilai 10 ini dipilih untuk menyederhanakan
perhitungan nilai
floating-point
-nya sehingga nilainya antara 0 dan 1. Setelah langkah diatas dilakukan, maka didapat 4 vektor dari tiap set cirinya
8 vektor totalnya, untuk LT dan DT. Untuk masing-masing nilai LT dan DT, 2 buah vektor akan memiliki dimensi MAX x NC dimana NC adalah
Number of Columns
Gambar 2.17 Contoh hasil perhitungan DT dan LT Bluemenstein,2007
lebar dari karakternya dan 2 vektor sisanya akan menjadi MAX x NR dimana NR adalah
Number of Rows
tinggi dari karakternya. Lebih lanjut lagi, untuk vektor- vektor diatas dibutuhkan sebuah
re-sampling
untuk memastikan bahwa ukuran dimensi NCNR sudah dinormalisasi. Ukuran target dalam
re-scaling
ditetapkan = 5. Untuk nilai vektor tertentu LT atau DT, dimensi
window
yang sesuai dihitung dengan menentukan pembagi yang sesuai dari NCNR, dan rata-rata dari nilai LTDT yang ada
pada tiap
window
disimpan dalam matriks hasil
re-sampled
dengan ukuran 5 x 3 seperti yang ditunjukkan pada gambar 2.5, untuk vektor yang didapat dari arah
traversal kiri ke kanan. Bagian
re-sampling
ini dilakukan untuk tiap nilai vektor transisi yang tersisa, sehingga akan didapat vektor ciri sebanyak 120 atau 160 elemen
vektor yang bisa dibentuk, tergantung dengan jumlah transisi yang ditentukan. Jumlah vektor ciri ini ditentukan dengan rumus sebagai berikut :
Total ciri MDF =
Feature Pair
x Jumlah transisi x Jumlah arah x Ukuran
re-sampled
matriks 2.2
Dengan keterangan
Feature Pair
[LT, DT] = 2, Jumlah Transisi = 3 atau 4, Jumlah Arah = 4 dan ukuran
re-sampled
matriks = 5. Algoritma lengkapnya untuk penghitungan
location transition
dan
direction transition
ditunjukan pada pseudo-code berikut :
1. Baca semua titik pada suatu citra.
2. Untuk i = 0 sampai jumlah garisnya, dimana i merupakan indeks dari titik pada
garis 3.
Untuk j = 0 sampai jumlah transisinya, dimana j merupakan nilai transisi yang digunakan.
4. Untuk tiap titik piksel pada citra, dilakukan pengecekan pada tiap
ketetanggaannya dengan menggunakan 8-
connectivity
. 5.
Ubah nilai piksel sesuai dengan piksel disebelahnya sesuai dengan ketentuan pada tabel 2.4.
6. Setelah ditemukan nilai arahnya, lakukan untuk tiap arahnya:
6.1 Jika arahnya dari kiri ke kanan, maka
LT = −
2.3 6.2
Jika arahnya dari atas ke bawah, maka �� = −
2.4 6.3
Jika arahnya dari kanan ke kiri, maka �� =
2.5 6.4
Jjika arahnya dari bawah ke atas, maka �� =
2.6 7.
Untuk nilai DT
v
= d
v
10 dimana v merupakan indeks titik pada matriks citranya dan d
v
merupakan nilai arah pada suatu indeks v. 8.
Simpan nilai [LT, DT
v
] sebagai pasangan nilai ciri dalam vektor cirinya. Seperti yang dijelaskan sebelumnya, ciri awal yang didapat lebih lanjutnya
dilakukan
local averaging
untuk masing-masing arahnya. Lebih jelasnya lagi, algoritmanya seperti yang dijelaskan di bawah ini :
1. Untuk setiap dimensi matriks cirinya
2. Jika pada dimensi kolomnya, maka
L = jumlah kolom 3.
Jika lainnya, maka L = jumlah baris
4. Inisialisasi variabel G sebagai
=
� −
�
2.7 5.
Untuk i = 0 sampai L, dimana i merupakan jumlah suatu kolom atau baris, dan untuk j = 0 sampai jumlah transisinya
5.1 Buat m = i
5.2 Buat n = i + G
5.3 Hitung rata-rata LT
�� = �� + ��
+
+ ⋯ + ��
−
2.8
�� = �� + ��
+
+ ⋯ + ��
−
2.9 5.4
Simpan [aveLT, aveDT] sebagai pasangan ciri ke dalam
re-sampled
matriksnya.
Re-sampled
matriks yang digunakan dalam penelitian ini adalah 5. G merupakan representasi dari jumlah elemen interval yang dibutuhkan untuk
melakukan
local averaging
. Variabel m dan n merepresentasikan posisi awal dan akhir untuk melakukan
local averaging.
Hasil akhir yang didapatkan,
aveLT
dan
aveDT,
merupakan nilai rata-rata dari nilai DT dan LT. Berikut salah satu contoh perhitungan MDF dengan menggunakan arah kiri-ke-kanan dan jumlah transisi = 3.
2.8 Normalisasi
Metode normalisasi yang digunakan dalam penelitian ini adalah normalisasi z- score dan normalisasi minmax.
Gambar 2.18 menunjukkan hasil perhitungan MDF setelah di-
re-sampled
matriks
Bluemenstein,2007
2.8.2 Normalisasi Z-score
Normalisasi
Z-Score
umumnya digunakan jika nilai minimum dan maksimum sebuah atribut tidak diketahui Mustaffa dan Yusof,2011. Normalisasi
Z-Score
dirumuskan sebagai berikut :
′
=
− ̅ �
�
2.10
Keterangan
′
: nilai yang baru : nilai yang lama
�̅ : rata - rata dari atribut A � : nilai standar deviasi dari Atribut A
2.8.3 Normalisasi Minmax
Normalisasi min – max dirumuskan sebagai berikut Mustaffa dan Yusof, 2011
: =
� − � �
�
−�
2.11 Keterangan :
: nilai baru untuk variable X : nilai lama untuk variable X
: nilai minimum dalam data set
�
: nilai maksimum dalam data set
2.9 Jaringan Syaraf Tiruan
Jaringan syaraf tiruan digunakan dalam proses pemodelan data dari hasil ekstraksi ciri suatu data yang didalamnya terdapat proses pembelajaran sehingga
nantinya mampu mengenali data baru yang belum pernah digunakan sebelumnya selama proses pembelajarannya. Jaringan syaraf tiruan merupakan topik yang hangat
dibicarakan dan mengundang banyak kekaguman karena kemampuannya yang bisa meniru sifat sistem yang diinputkan Siang, 2009.
Jaringan Syaraf Tiruan ditentukan oleh 3 hal berikut : 1.
Pola hubungan antar neuron arsitektur jaringan. 2.
Metode untuk menentukan bobot penghubung disebut metode
training learning
algoritma. 3.
Fungsi aktivasi.
2.7.1 Arsitektur Jaringan
Beberapa arsitektur jaringan yang sering dipakai dalam jaringan syaraf tiruan antara lain :
1. Jaringan Lapis Tunggal
Single Layer Network
Dalam jaringan ini, sekumpulan
input neuron
dihubungkan secara langsung dengan sekumpulan
output
-nya. Dalam beberapa model misal
perceptron
, hanya ada sebuah unit
neuron output
.
Pada gambar 2.19 terdapat sejumlah
n
unit masukan X
1
,X
2
,...,X
n
dan
k
buah unit keluaran Y
1
, Y
j
, …, Y
k
serta bobot yang menyatakan hubungan antara unit masukan dan keluaran Wi
1
, W
j1
,…,W
k3
. Selama proses pelatihan, bobot-bobot ini akan di
update
untuk meningkatkan keakuratan hasil keluarannya.
Gambar 2.19 menunjukkan arsitektur
jaringan
single layer
Siang,2005.
2. Jaringan Lapis Majemuk
Jaringan lapis majemuk merupakan perluasan dari jaringan lapis tunggal. Dalam jaringan ini, selain terdapat masukan
input
dan keluaran
output
, terdapat unit-unit lain diantara keduanya, sering disebut sebagai lapis tersembunyi
hidden layer
. Dalam jaringan ini, memungkinkan adanya beberapa lapisan tersembunyi, dan pada unit-unit satu lapis tidak saling berhubungan.
Gambar 2.20 adalah jaringan dengan n buah input X
1
, X
2
, …, X
n
dan m buah output Y
1
, Y
2
, … , Y
3
serta sebuah lapis tersembunyi terdiri dari p buah input Z
1
, … , Z
p
. jaringan ini dapat digunakan untuk menyelesaikan masalah yang lebih kompleks.
2.7.2
Backpropagation
Jaringan Syaraf Tiruan
Backpropagation
melatih jaringan untuk mendapatkan kesiembangan antara kemampuan jaringan untuk mengenail pola yang digunakan
selama proses pelatihan serta kemampuan jaringan untuk memberikan respon yang besar terhadap pola masukan yang serupa tetapi tidak sama dengan pola yang
digunakan selama proses pelatihan.
Backpropagation
membandingkan nilai
output
dengan nilai target keluarannya dan menghitung nilai errornya untuk tiap unit jaringan.
Gambar 2.20 menunjukkan arsitektur jaringan
multi layer
Siang, 2005
V
p1
V
1i
1. Arsitektur Jaringan
Backpropagation
Gambar 2.9 menunjukkan arsitektur
Backpropagation
dengan sejumlah n buah masukan ditambah sebuah bias, sebuah
layer
tersembunyi yang terdiri dari p unit ditambah sebuah bias serta sebuah
layer
keluaran m buah keluaran. 2.
Fungsi Aktivasi Dalam suatu jaringan syaraf tiruan, fungsi aktivasi digunakan untuk
menentukan nilai keluaran suatu neuron. Fungsi aktivasi merupakan kombinasi antara nilai masukan dengan bobot serta biasnya. Dalam
backpropagation,
fungsi aktivasi yang harus dipakai harus memenuhi beberapa syarat yaitu : kontinu, terdifrensial
dengan mudah dan merupakan fungsi yang tidak turun. Salah satu fungsi aktivasi yang mememnuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi sigmoid biner
yang memiliki range 0, 1. =
+
dengan turunan
′
= −
2.17
Gambar 2.21 Ilustrasi Arsitektur Jaringan
Backpropagation
Siang,2005
Fungsi aktivasi lainnya yang sering dipakai adalah fungsi sigmoid bipolar yang bentuk fungsinya mirip dengan fungsi aktivasi sigmoid biner, tetapi dengan range -1, 1
=
+
− dengan turunan
′
=
+ � − �
2.18 Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang targetnya 1,
pola masukan dan keluaran harus terlebih dahulu ditransformasi sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternative
lain adalah menggunakan fungsi aktivasi sigmoid hanya pada
layer
yang bukan
layer
keluaran. Pada
layer
keluaran, fungsi aktivasi yang digunakan adalah fungsi identitas : fx = x.
3. Pelatihan Standar Backpropagation
Proses pelatihan jaringan syaraf tiruan
Backpropagation
terdiri dari 3 tahapan, yaitu propagasi maju, propagasi mundur, dan perubahan bobot. Tahapan tersebut akan
dilakukan berulang hingga kondisi penghentian terpenuhi. a.
Propagasi Maju Selama propagasi maju, sinyal masukan =
x
i
dipropagasikan ke
layer
tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit
layer
tersembunyi =
z
i
tersebut selanjutnya dipropagasikan maju lagi ke
layer
tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan =
y
k
. Berikutnya, keluaran jaringan =
y
k
dibandingkan dengan target yang harus dicapai = t
k
. Selisih t
k
– y
k
adalah kesalahan yang terjadi. Jika kesalahanini lebih kecil dari batas toleransi yang ditentukan, maka iterasi
dihentikan. Akan tetapi apabila kesalahan masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk
mengurangi kesalahan yang terjadi. b.
Propagasi Mundur
Berdasarkan kesalahan t
k
dan y
k
dihitung faktor δ
k
k = 1,2,…,m yang dipakai untuk mendistribusikan kesalahan di unit y
k
ke semua unit tersembunyi yang terhubung dengan y
k.
δ
k
juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran.
Dengan cara sama, dihitung δ
j
di setiap unit di
layer
tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit
tersembunyi pada
layer
di bawahnya. Demikian seterusnya hingga semua faktor
δdi unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.
c. Perubahan Bobot
Setelah semua faktor δdihitung, bobot semua garis dimodifikasi
bersamaan. Perubahan bobot suatu garis didasarkan atas faktor δneuron
dilayar atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke layar keluaran didasarkan atas
δ
k
yang ada di unit keluaran. Ketiga tahap tersebut diulang terus meneru hingga kondisi penghentian
dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi
yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang
diijinkan. Secara umum, algoritma pelatihan jaringan
backpropagation
adalah sebagai berikut :
1. Inisialisasi semua bobot dengan bilangan acak kecil.
2. Jika kondisi penghentian belum terpenuhi, lakukan langkah 3-10.
3. Untuk setiap pasang data pelatihan, lakukan langkah 4-9.
4. Tiap unit masukan menerima sinyal dan masukan ke unit
tersembunyi di atasnya
5. Hitung semua keluaran di unit tersembunyi z
j
= j = 1,2,3,…,p =
+ ∑
=
2.19
= =
+
− _ ��
2.20 6.
Hitung semua keluaran jaringan di unit y
k
k = 1,2,…,m =
+ ∑
=
2.21
= =
+
− − ��
2.22 7.
Hitung faktor δunit keluaran berdasarkan kesalahan di setiap unit
keluaran y
k
k = 1,2,…,m =
−
′
= −
− 2.23
Hitung suku perubahan bobot w
kj
yang akan dipakai nanti untuk merubah bobot w
kj
dengan laju percepatan α ∆
= ; k = 1,2,…,m ; j = 0,1,…,p
8. Hitung faktor
δunit tersembunyi berdasarkan kesalahn di setiap unit tersembunyi z
j
j = 1,2, … ,p = ∑
=
2.24 Faktor
δunit tersembunyi =
′
= −
2.25 Hitung suku perubahan bobot v
ji
yang akan digunakan nanti untuk merubah bobot v
ji
∆ =
; j = 1,2,…,p ; i = 0,1,..,n 2.26
9. Hitung semua perubahan bobot
Perubahan bobot garis yang menuju ke unit keluaran =
+ ∆ k = 1,2, … , m; i=0,1,…,p
2.27 Perubahan bobot garis yang menuju ke unit tersembunyi
= + ∆ j = 1,2, …, p ; i = 0,1,…,n
2.28 10.
Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola.
2.8 Mempercepat Pelatihan
Backpropagation
Pelatihan standar
backpropagation
seringkali terlalu lambat untuk keperluan praktis. Beberapa modifikasi perlu dilakukan terhadap pelatihan standar
backpropagation
dengan cara mengganti fungsi pelatihannya Siang, 2009. Beberapa metode yang dipakai untuk mempercepat pelatihan
backpropagation
adalah sebagai berikut : 1.
Metode penurunan gradient dengan momentum traingdm Metode ini merupakan metode paling sederhana, tetapi dalam penurunan
gradiennya sangat lambat dalam kecepatan proses iterasinya. Hal ini terjadi karena terkadang arah penurunan tercepat bukanlah arah yang tepat untuk mencapai titik
minimum globalnya. Modifikasi metode ini dilakukan dengan menambahkan momentum. Dengan
momentum, perubahan bobot tidak hanya didasarkan atas
error
yang terjadi pada iterasi saat itu. Perubahan bobot saat ini dilakukan dengan memperhitungkan juga
perubahan bobot pada iterasi sebelumnya. Dengan demikian kemungkinan terperangkap ke titik minimum lokal dapat dihindari.
Menurut Hagan dan Demuth 1996, sebelum mengaplikasikan momentum ke sebuah jaringan syaraf, akan dibuktikan dalam sebuah ilustrasi efek penghalusan
dengan mempertimbangkan urutan pertama filter berikut : =
− +
− ,
2.29 dimana
wk
adalah input ke filter,
yk
adalah output filter, dan adalah koefisien
momentum yang harus memenuhi
≤ 1 Efek dari filter ini ditunjukkan pada gambar . pada contoh ini, input filter diambil dari
gelombang sinus = + sin
� 6
2.30 Dan koefisien momentum ditetapkan pada = 0.9 a dan = 0.98 b. dari
gambar tersebut dapat dilihat bahwa osilasi dari filter output kurang dari osilasi filter input. Selain itu, dengan meningkatnya , osilasi pada filter output berkurang.
Perhatikan juga bahwa rata-rata filter output sama dengan rata-rata filter input, meskipun dengan meningkatnya , filter output merespon dengan lebih lambat.
Untuk mempersingkat, filter cenderung menurunkan jumlah osilasi, sementara masih melacak nilai rata-rata. Untuk melihat bagaimana hal ini bekerja pada permasalahan
jaringan syaraf, pada awalnya parameter pada persamaan berikut diperbarui : ∆
= −
−
. 2.31
∆ = −
. 2.32
Gambar 2.22 Efek Penghalusan Momentum Hagan Demuth, 1996.
Ketika filter momentum ditambahkan untuk merubah parameternya, maka didapatkan persamaan untuk modifikasi momentum
backpropagation
: ∆
= ∆ −
− −
−
2.33 ∆
= ∆ −
− −
2.34 Ketika mengaplikasikan perubahan ini, maka akan diperoleh hasil seperti pada gambar
2.11
Jika dilihat dari gambar 2.11, bisa diketahui kenapa diberi nama momentum karena filter cenderung membuat lintasan berjalan terus kearah yang sama, semakin besar nilai
maka semakin banyak momentum yang terdapat pada lintasan.
2.
Variable Learning Rate
traingda, traingdx Dalam pelatihan standar
backpropagation,
laju pemahaman berupa suatu konstanta yang nilainya tetap selama iterasi. Akibatnya, unjuk kerja algoritma sangat
dipengaruhi oleh besarnya laju pemahaman yang dipakai. Secara praktis, sulit untuk
Gambar 2.23 Lintasan dengan momentum Hagan Demuth, 1996.
menentukan besarnya laju pemahaman yang paling optimal sebelum pelatihan dilakukan. Laju pemahaman yang terlalu besar maupun terlalu kecil akan
menyebabkan pelatihan menjadi lambat. Pelatihan akan lebih cepat apabila laju pemahaman dapat diubah besarnya
selama proses pelatihan. Jika
error
saat ini lebih besar dibandingkan
error
sebelumnya, maka laju pemahaman diturunkan. Jika sebaliknya, maka laju pemahaman diperbesar.
Dengan demikian, laju pemahaman dapat dibuat sebesar-besarnya dengan tetap mempertahankan kestabilan proses.
Menurut Hagan dan Demuth 1996, ada pendekatan memvariasi
learning rate
laju pemahaman yang sederhana yang didasarkan performa sebuah algoritma. Aturan untuk
variable learning rate backpropagation
adalah sebagai berikut : a.
Jika
error
kuadrat pada keseluruhan
training set
meningkat lebih dari peresntase yang ditentukan umumnya 1-5 setelah perubahan bobot,
maka perubahan bobotnya dianaikan,
learning rate
dikalikan dengan faktor 0 p 1, dan koefisien momentum jika digunakan diberi nilai nol.
b. Jika
error
berkurang setelah perubahan bobot, maka perubahan bobot diterima dan
learning rate
dikalikan dengan faktor 1. Jika sebelumnya diberi nilai nol, maka akan diubah menjadi nilai aslinya.
c. Jika
error
kuadrat meningkat namun kurang dari , maka perubahan bobot
diterima tetapi
learning rate
dan koefisien momentum tetap. Dengan menggunakan parameter awal yang telah digunakan pada gambar 2.11 dan
menambahkan parameter baru, dimana = 1,0η,
p
= 0,7 dan = ζ, maka akan didapat
hasil seperti pada gambar 2.12.
3.
Resilient Backpropagation
trainrp Jaringan syaraf tiruan
backpropagation
umumnya menggunakan fungsi aktvasi sigmoid, yang akan menerima masukan dari rentang tak hingga menjadi keluaran
dengan rentang [0,1]. Semakin jauh titik dari
x
= 0, semakin kecil gradiennya. Pada titik yang cukup jauh dari
x
= 0, gradiennya mendektai 0. Hal ini mengakibatkan masalah pada waktu menggunakan penurunan tercepat yang iterasinya didasarkan atas
geradien. Gradient yang kecil menyebabkan perubahan bobot juga kecil, meskipun jauh dari titik optimal.
Masalah ini diatasi dalam
resilient backpropagation
dengan cara membagi arah dan perubhan bobot menjadi dua bagian yang berbeda. Ketika mengginakan penurunan
tercepat, yang diambil hanya arahnya saja. Besarnya perubagan bobot dilakukan dengan cara lain Siang, 2009.
Gambar 2.24 Lintasan
Variable Learning Rate
Hagan Demuth, 1996.
4. Gradien
Conjugate
traincgf, traincgp, traincgb Dalam pelatihan standar
backpropagation,
bobot dimodifikasi pada arah penurunan tercepat. Meskipun penurunan fungsi berjalan cepat, tapi tidak menjamin
akan konvergen dengan cepat. Dalam algoritma gradient
conjugate,
pencarian dilakukan sepanjang arah
conjugate.
Menurut Hagan dan Demuth 1996, langkah-langkah dalam gradient
conjugate
adalah sebagai berikut : a.
Memilih arah pencarian pertama p menjadi gradient negatif :
= − 2.35
dimana ≡ ∇
|
�= �
2.36 b.
Memilih
learning rate
α
k
untuk meminimalisasi fungsi bersamaan dengan arah pencarian :
+
= +
2.37 c.
Memilih arah pencarian selanjutnya berdasarkan persamaan : = − +
−
2.38 dengan persamaan berikut ini untuk menghitung β
k :
=
∆
− �
∆
− �
−
=
� −
� −
=
∆
� −
� −
2.39 d.
Jika algoritmanya tidak konvergen, maka lanjut ke langkah b. 5.
Quasi-Newton
trainlm
Algoritma Levenberg-marquardt
merupakan pengem
merupakan pengembangan algoritma
backpropagation
standar. Pada algoritma
backpropagation
, proses
update
bobot dan bias menggunakan
negative gradient descent
secara langsung sedangkan..AlgoritmaLevenberg-Marquardt menggunakan pendekatan matrik Hesian
H yang dapat dihitung dengan, 2.40
Sedangkan gradient dapat digitung dengan,
2.41 Dalam hal ini
J
merupakan sebuah matrik jacobian yang berisikan turunanan pertama dari
error
jaringan terhadap bobot dan bias jaringan. Perubahan pembobot dapat dihitung dengan,
2.42 sehingga perbaikan pembobot dapat ditentukan dengan
2.43 2.44
2.45
X = fungsi bobot-bobot jaringan dan bias X = [
v
11,
v
12,
. . . ,
v ij; v
01
, v
02,
. . . v
0j
;
w
11,
w
12 . . .
wjk
;
w
01
, w
02
. . .w
0K
]
e
adalah vector yang menyatakan semua
error
pada output jaringan 2.46
μ = konstanta
learning I
= matrik identitas
2.9
Confusion Matrix
Confusion matrix
merupakan representasi jumlah prediksi yang benar dan salah yang dibuat oleh model klasifikasi disbanding dengan jumlah data keseluruhan.
Matriksnya berdimensi nxn, dimana n adalah jumlah nilai target kelas. Table brikut
menampilkan confusion matriks 2 x 2 unuk 2 kelas positif dan negatif .
Tabel 2.5 Tabel
confusion matrix
Confusion Target
Matrix Positif
Negatif Model
Positif a
b Negatif
c d
Tabel 2.5 menunjukan bahwa data sebanyak a dan d dikenali sesuai dengan target kelasnya, sedangkan b dan c merupakan jumlah data yang dikenali tidak sesuai
dengan target luarannya.
37
BAB III METODE PENELITIAN
Bab ini berisikan analisa kebutuhan sistem terkait dengan data dan metode yang digunakan untuk ekstraksi ciri citra aksara Lampung, penerapan jaringan syaraf tiruan
untuk pengenalan pola serta pengujiannya. Selain kebutuhan sistem, dalam bab ini juga berisi tentang gambaran umum sistem yang akan dibangun, mencakup ekstraksi ciri,
pengenalan pola, pengujian serta perancangan antarmuka sistem.
3.1 Tahapan Penelitian
3.1.1 Studi Pustaka
Tahap ini diperlukan untuk memperoleh sumber-sumber teori yang terkait dengan penelitian Tugas Akhir ini. Teori-teori yang terkait dengan penelitian ini seperti
tentang aksara Lampung, Jaringan Syaraf Tiruan
Backpropagation
, ekstraksi ciri dengan
Modified Direction Feature,
serta PCA
Principal Component Analysis
. 3.1.2
Pengumpulan Data
Tahap ini dilakukan untuk memperoleh data yang diperlukan untuk melakukan penelitian Tugas Akhir ini. Data yang digunakan dalam penelitian ini adalah data citra
aksara Lampung yang merupakan hasil
scan
tulisan tangan aksara Lampung yang berasal responden yang kemudian di-
crop
sehingga menjadi data baru yang siap diolah. Data citra aksara Lampung yang digunakan dalam penelitian ini terdiri dari 20 aksara
pokok tanpa ada tambahan anak huruf, yaitu ka, ga, nga, pa, ba, ma, ta, da, na, ca, ja, nya, ya, a, la, ra, sa, wa, ha, gha.
3.1.3 Pembuatan Alat Uji
Pada tahap ini, akan dirancang suatu alat uji yang dimulai dengan perancangan
interface
dan pembuatan alat uji untuk menguji Jaringan Syaraf Tiruan