Pengenalan Karakter dengan Jaringan Syaraf Tiruan
Bahan Presentasi Ini Dibuat Untuk Memenuhi
Tugas Mata Kuliah Jaringan Syaraf Tiruan
Dosen : Darwison, M.T
Oleh
Siti Sarah Fitrianisa
1610951017
Jurusan Teknik Elektro
Fakultas Teknik
Universitas Andalas
Padang
2019
Referensi : Nuzul Fauzan Mustova, "Pengembangan Media Pembelajaran Jaringan Syaraf Tiruan Pada Mata Kuliah Praktik Sistem Kendali Cerdas di Jurusan Pendidikan Teknik Elektronika FT UNY",Yogyakarta:Universitas Negeri Yogyakarta, 2018. Available: https://eprints.uny.ac.id/60929/1/Nuzul%20Fauzan%20Mustova_13502241034.pdf
Tujuan [Kembali]
Tujuan dari dibuatnya aplikasi pengenalan karakter ini adalah :- Rancang bangun media pembelajaran Jaringan Syaraf Tiruan pada mata kuliah praktik Sistem Kendali Cerdas
- Mengetahui unjuk kerja media pembelajaran Jaringan Syaraf Tiruan pada mata kuliah praktik Sistem Kendali Cerdas
- Mengetahui tingkat kelayakan media pembelajaran Jaringan Syaraf Tiruan pada mata kuliah praktik Sistem Kendali Cerdas
Landasan Teori [Kembali]
Judul Aplikasi UAS [Kembali] : Pengenalan Karakter dengan Jaringan Syaraf TiruanLatar Belakang [Kembali]
Jaringan Syaraf Tiruan (JST) merupakan algoritma yang cukup banyak digunakan di teknologi-teknologi sekarang. JST banyak digunakan di berbagai bidang seperti bidang medis, ekonomi, perencanaan, dll. Algoritma ini banyak digunakan karena algoritma ini memiliki banyak potensi dan mudah jika dikembangkan. Salah satu yang paling sering dan mudahnya yaitu diterakan diproses pengenalan pola bisa berupa pola wajah, tulisan, maupun gambar. Di bidang medis juga sangat bermanfaat untuk mendeteksi penyakit seperti kanker. Kebanyakan penerapan algoritma ini menggunakan hardware sebagai sarana teknisnya. Sehingga sangat perlu mempelajari algoritma ini didampingi dengan penerapan langsung di hardware-nya.
Dasar Teori [Kembali]
Jaringan syaraf tiruan (JST) didefinisikan sebagai suatu sistem pemrosesan informasi yang mempunyai karakteristik menyerupai jaringan syaraf manusia (Hermawan, 2006). Beberapa istilah dalam JST yang sering ditemui adalah sebagai berikut.
- Neuron atau node atau unit: sel syaraf tiruan yang merupakan elemen pengolahan jaringan syaraf tiruan. Setiap neuron menerima data input, memproses input tersebut kemudian mengirimkan hasilnya berupa sebuah output
- Jaringan: kumpulan neuron yang saling terhubung dan membentuk lapisan
- Lapisan tersembunyi (hidden layer): lapisan yang tidak secara langsung berinteraksi dengan dunia luar. Lapisan ini memperluas kemampuan jaringan syaraf tiruan dalam menghadapi masalah-masalah yang kompleks
- Input: sebuah nilai input yang akan diproses menjadi nilai output
- Output: solusi dari nilai input
- Bobot: nilai matematis dari sebuah koneksi antar-neuron
- Fungsi aktivasi: fungsi yang digunakan untuk meng-update nilai-nilai bobot per-iterasi dari semua nilai input
- Fungsi aktivasi sederhana adalah mengalikan input dengan bobotnya dan kemudian menjumlahkannya (disebut penjumlahan sigma) berbentuk linier atau tidak linier dan sigmoid
jaringan syaraf terdiri-dari beberapa neuron, dan ada hubungan antara neuronneuron tersebut. Neuron-neuron tersebut akan mentransformasikan informasi yang diterima melalui sambungan keluarnya menuju ke neuron-neuron yang lain. Pada jaringan syaraf, hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut. Gambar 1 menunjukkan struktur neuron pada jaringan syaraf
Gambar 1. Struktur neuron JST
Informasi (disebut dengan: input) akan dikirim ke neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang datang. Hasil penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input tersebut melewati suatu nilai ambang tertentu, maka neuron tersebut akan diaktifkan, tapi kalau tidak, maka neuron tersebut tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya.Demikian seterusnya.
Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisanlapisan(layer) yang disebut dengan lapisan neuron (neuron layers). Biasanya neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya (kecuali lapisan input dan lapisan output). Informasi yang diberikan pada jaringan syaraf akan dirambatkan lapisan ke lapisan, mulai dari lapisan input sampai ke lapisan output melalui lapisan yang lainnya, yang sering dikenal dengan nama lapisan tersembunyi (hidden layer). Tergantung Gambar 2 menunjukkan jaringan syaraf dengan 3 lapisan
Gambar 2. Jaringan Syaraf dengan 3 Lapisan
Proses Pembelajaran
Pada otak manusia, informasi yang dilewatkan dari satu neuron ke neuron yang lainnya berbentuk rangsangan listrik melalui dendrit. Jika rangsangan tersebut diterima oleh suatu neuron, maka neuron tersebut akan membangkitkan output ke semua neuron yang berhubungan dengannya sampai informasi tersebut sampai ke tujuannya yaitu terjadinya suatu reaksi. Jika rangsangan yang diterima terlalu halus, maka output yang dibangkitkan oleh neuron tersebut tidak akan direspon. Tentu saja sangatlah sulit untuk memahami bagaimana otak manusia bisa belajar. Selama proses pembelajaran, terjadi perubahan yang cukup berarti pada bobot-bobot yang menghubungkan antar neuron. Apabila ada rangsangan yang sama dengan rangsangan yang telah diterima oleh neuron, maka neuron akan memberikan reaksi dengan cepat. Namun apabila kelak ada rangsangan yang berbeda dengan apa yang telah diterima oleh neuron, maka neuron akan segera beradaptasi untuk memberikan reaksi yang sesuai.Jaringan syaraf akan mencoba untuk mensimulasikan kemampuan otak manusia untuk belajar. Jaringan syaraf tiruan juga tersusun atas neuron-neuron dan dendrit. Tidak seperti model biologis, jaringan syaraf memiliki struktur yang tidak dapat diubah, dibangun oleh sejumlah neuron, dan memiliki nilai tertentu yang menunjukkan seberapa besar koneksi antara neuron (yang dikenal dengan nama bobot). Perubahan yang terjadi selama proses pembelajaran adalah perubahan nilai bobot. Nilai bobot akan bertambah, jika informasi yang diberikan oleh neuron yang bersangkutan tersampaikan, sebaliknya jika informasi tidak disampaikan oleh suatu neuron ke neuron yang lain, maka nilai bobot yang menghubungkan keduanya akan dikurangi. Pada saat pembelajaran dilakukan pada input yang berbeda, maka nilai bobot akan diubah secara dinamis hingga mencapai suatu nilai yang cukup seimbang.
Berikut ini adalah metode pembelelajaran pada jaringan syaraf :
- Pembelajaran terawasi ( supervised learning ), yaitu metode pembelajaran pada jaringan syaraf disebut terawasi jika output yangdiharapkan telah diketahui sebelumnya
- Pembelajaran tak terawasi ( unsupervised learning ) ,yaitu Pada metode pembelajaran yang tak terawasi ini tidak memerlukan target output.Pada metode ini, tidak dapat ditentukan hasil yang seperti apakah yangdiharapkan selama proses pembelajaran. Selama proses pembelajaran, nilai bobot disusun dalam suatu range tertentu tergantung pada nilai input yangdiberikan. Tujuan pembelajaran ini adalah mengelompokkan unit-unit yanghampir sama dalam suatu area tertentu. Pembelajaran ini biasanya sangat cocokuntuk pengelompokan (klasifikasi) pola
Pengenalan Karakter / Pola
Secara umum, pola terbentuk oleh satu atau lebih ciri citra. Dengan kata lain, pola adalah susunan dari ciri-ciri citra. Ciri-ciri yang dapat diperoleh dari suatu citra, misalnya histrogram, arah, dan magnitudo tepi, warna, luas daerah dan sebagainya. Ilmu yang mempelajari klasifikasi atau penggambaran pola dari suatu objek berdasarkan ciri-cirinya adalah pengenalan pola. Pengenalan pola dibedakan menjadi tiga, yaitu:- Deteksi, Deteksi umumnya berkaitan dengan segmentasi dan proses threshol ding , misalnya dalam mendeteksi daun pada suatu gambar, maka benda yang berwarna hijau akan terdeteksi sebagai daun
- Klasifikasi , adalah proses menemukan sekumpulan model/ fungsi yang menjelaskan dan membedakan data ke dalam kelas-kelas tertentu dengan tujuan menggunakan model tersebut dalam menentukan kelas dari suatu obyek yang belum diketahui kelasnya (Maharani, 2009). Misalnya dalam pengklasifikasian mobil.
- Pengenalan , Pengenalan pola bertujuan menentukan kelompok atau kategori pola berdasarkan ciri-ciri yang dimiliki oleh pola tersebut
Langkah / Prosedur Pengerjaan [Kembali]
- Buka toolbox JST pada matlab dengan mengetik pada command window seperti yang terlihat pada Gambar 1.
Gambar 1. Mengetik Perintah nntool pada Command Window Matlab - Siapkan terlebih dulu data trainingnya yaitu data input dan data target.
Misalnya kita sudah menulis data input dan data target yang disiapkan dalam format xlsx(excel). Arsitektur jaringan syaraf tiruan yang digunakan pada contoh ini yaitu 23-5-5 yang artinya terdiri dari 23 nilai masukan, 10 neuron pada hidden layer, dan 5 nilai keluaran.
Kita tinggal memanggil data tersebut untuk dikonversi menjadi variabel '*mat' yang dikenali oleh toolbox nntool matlab seperti yang ditunjukkan pada Gambar 2-4
Gambar 2. Pembuatan Variabel pada nntool
Gambar 3. Pembuatan Variabel Data Input pada nntool
Gambar 4. Pembuatan Variabel Data Target pada nntool - Kembali ke NNTOOL, klik import untuk memasukan data input dan target ke toolbox JST. Jangan lupa hubungkan input dengan input dan target dengan target seperti Gambar 5a dan 5b.
Gambar 5a. Import Data Input pada nntool
Gambar 5b. Import Data Input pada nntool
Lakukan hal yang sama juga dengan target, dilanjutkan dengan klik ‘import‘.
Gambar 6. Import Data Target pada nntool - Berikutnya meramu JST yang akan kita buat untuk mentraining data input dan target yang telah kita siapkan. Klik New untuk membuat JST yang akan di-training. Beri nama, input, dan outputnya sesuai dengan data yang kita import sebelumnya seperti yang ditunjukkan pada Gambar 7
Gambar 7. Training Data Input dan Data Target - Setelah di klik Create maka Anda telah berhasil membuat JST. Pastikan pada NNTOOL Anda terdapat data input, target, dan jst. Setelah itu kita siap melakukan training dengan mengklik ganda jst yang baru saja kita buat
-
Pilih train dan masukan input dan target yang sesuai, lanjutkan dengan mengklik Train Network untuk memulai proses training. Tunggu beberapa saat karena Matlab sedang mentraining JST yang ada buat tersebut seperti yang ditunjukkan pada Gambar 8a dan Gambar 8b
Gambar 8a Train Network untuk memulai proses training
Gambar 8b Hasil Training JST
Gambar 8c Hasil Training State
Gambar 8d Hasil Training Performance
Dari hasil training performance di atas dapat diketahui bahwa, iterasi terbaik terjadi pada epoch 1 dari 7 jumlah epochs dengan total error sebesar 0,2353