Pengenalan Pola Pemotongan Resizing Mempercepat Pelatihan

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