BAB 2
TINJAUAN PUSTAKA
Bab 2 ini berisi tentang pembahasan teori-teori tentang jaringan syaraf tiruan, Algoritma Learning Vector Quantization (LVQ).
2.1. Algoritma
Algoritma adalah urutan langkah-langkah logis dalam memecahkan suatu masalah yang disusun secara sistematis dan logis. Langkah-langkah didalam algoritma harus logis dan dapat ditentukan dengan nilai keluaran benar atau salah. Dalam beberapa konteks, algoritma adalah urutan langkah-langkah dalam pengerjaan suatu pekerjaan.
2.2.Biometrik
Biometrik adalah sistem pengenalan / identifkasi pribadi dengan menetukan keaslian dari suatu karakteristik fisiologis, ataupun perilaku tertentu yang dimiliki oleh si pengguna. Biometrik berasal dari kata yunani “bios” yang berartihidup dan “metron” yang berarti untuk mengukur.
biometrik behavorial (Gonzales et al. 2003) .
1. Physiological
Dihubungkan dengan bentuk tubuh atau badan, misalnya: fingerprints, face recognition, hand geometry, dan iris recognition.
2. Behavioral
Dihubungkan dengan tingkah laku seseorang, misalnya: keystroke, signature, voice.
Penggunaan biometrik untuk sistem pengenalan memiliki beberapa keunggulan dibanding sistem konvensional (penggunaan password, PIN, kartu, dan kunci), di antaranya (Putra, 2010) :
1. Non-repudation : suatu sistem yang menggunakan teknologi biometrik untuk melakukan suatu akses, penggunaanya tidak akan menyangkal bahwa bukan dia yang melakukan akses atau transaksi. Hal ini berbeda dengan penggunaan password atau PIN. Pengguna masih dapat menyangkal atas transaksi yang dilakukanya, karena PIN atau password bias dipakai bersama-sama.
2. Keamanan (security) : sistem berbasis password dapat diserang menggunakan metode atau algoritma brute force, sedangkan sistem biometrik tidak dapat diserang dengan cara ini, karena sistem bimetrika membutuhkan kehadiran pengguna secara langsung pada proses pengenalan.
3. Penyaringan (screening) : proses penyaringan untuk mengatasi seseorang yang menggunakan banyak identitas, seperti teroris yang dapat menggunakan lebih dari satu paspor untuk memasuki satu negara. Sebelum menambahkan identitas seseorang ke sistem, perlu dipastikan terlebih dahulu bahwa identitas orang tersebut belum terdaftar sebelumnya. Untuk mengatasi masalah tersebut maka diperlukan proses penyaringan identitas yang mana sistem konvensional tidak dapat melakukanya. Biometrik mampu menghasilkan atau menyaring beberapa informasi sidik jari atau wajah yang mirip dengan sidik jari atau wajah yang dicari.
b. Keunikan: tingkat keunikan biometrik pada setiap individu. c. Ketahanan: tingkat ketahanan terhadap penuaan.
d. Pengumpulan: tingkat kemudahan pengumpulan data untuk biometrik. e. Performa: tingkat akurasi dan kecapatan alat pengumpul data.
f. Penerimaan: tingkat penerimaan publik dalam penggunaan sehari-hari. g. Keamanan: tingkat keamanan sistem terhadap pemalsuan.
Secara umum terdapat dua model sistem biometrik, yaitu sistem verifikasi (verification sistem) dan sistem identifikasi (identification sistem). Sistem verifikasi bertujuan untuk menerima atau menolak identitas yang diklaim oleh seseorang. Pengguna membuat klaim “positif” terhadap suatu identitas. Diperlukan pencocokan “satu ke satu” dari sample yang diberikan terhadap acuan (template) yang terdaftar atas identitas yang diklaim tersebut. Sistem identifikasi bertujuan untuk memecahkan identitas seseorang. Pengguna dapat tidak memberi klaim atau memberi klaim implicit negative untuk identitas terdaftar. Diperlukan pencocokan “satu ke banyak”, yaitu pencarian ke seluruh database identitas terdaftar.
2.3.Pengenalan Pola
Gambar 2.1 Diagram Sederhana Proses Pengenalan Pola
Sebuah citra objek yang akan dikenali oleh jaringan syaraf tiruan tidak begitu saja dimasukkan menjadi input sebuah jaringan syaraf tiruan, karena masih berupa data mentah dan belum sesuai dengan kriteria masukan untuk jaringan syaraf tiruan. Citra objek tersebut harus diproses terlebih dahulu, tujuannya untuk membantu kemampuan jaringan dalam mengkomputasikan informasi dari citra objek tersebut (Siregar, 2013).
2.4.Wajah
Wajah atau muka adalah bagian depan dari kepala manusia meliputi wilayah dari dahi hingga dagu, termasuk alis, mata, hidung, pipi, mulut, bibir, gigi, kulit, dan dagu. Wajah terutama digunakan untuk ekspresi wajah, penampilan, serta identitas. Tidak ada satu wajah pun yang serupa mutlak, bahkan pada manusia kembar identik sekalipun. Oleh sebab itu dengan melihat wajah, kita dapat mengenali atau mengidentifikasi seseorang dengan lebih mudah.
CITRA
POLA Deskripsi
Gambar
Wajah Proses Preprocessing:
Grayscale dan thresholding
Proses Preprocessing lanjutan:
Binerisasi Pengenalan
Pola
Simpan Gambar
threshold
2.5.Citra
Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dan suatu obyek (Sutoyo, dkk. 2009). Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan. Dalam dunia sehari-hari dapat banyak dijumpai berbagai macam bentuk citra, baik itu citra analog ataupun citra digital. Citra analog yaitu seperti foto yang tercetak di kertas foto, gambar sebuah lukisan di kanvas atau ketas, dan lain sebagainya. Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi, foto sinar-X, foto yang tercetak di kertas foto, lukisan, pemnadangan alam, hasil CT scan, gambar-gambar yang terekam pada pita kaset, dan lain sebagainya. Citra analog tidak dapat direpresentasikan dalam komputer sehingga tidak bisa diproses di komputer secara langsung. Sedangkan Citra Digital adalah citra yang dapat diolah oleh komputer yang memiliki jenis dan ukuran file dari citra tersebut. Citra digital merupakan citra yang tersusun dalam bentuk raster (grid / kisi). Setiap kotak (tile) yang terbentuk disebut piksel dan memiliki koordinat (x,y). Sumbu x (horizontal) : kolom (column), sumbu y (vertikal) : baris (row,line). Setiap piksel memiliki nilai (value atau number) yang menunjukkan intensitas keabuan pada piksel tersebut. Derajat keabuan merepresentasikan gray level atau kode warna (Ainun, 2014).
2.5.1. Citra Grayscale
Gambar 2.2 Intensitas grayscale
Gambar 2.3 Citra Grayscale
Dengan algoritma perhitungan tingkat keabuan, piksel dari suatu citra yang mengandung warna-warna RGB (Red, Green, Blue) diubah menjadi warna dalam berbagai tingkat keabuan (I) dengan menjumlahkan semua nilai warna kemudian dibagi tiga sehingga didapat nilai rata-rata.
2.5.2. Thresholding
Gambar 2.4 Citra Threshold
2.5.3. Tahap Preprocessing Citra
Pada tahap ini image akan diubah dari citra yang memiliki 3 layer RGB menjadi 8 bit derajat keabuan dan akhirnya diubah kembali menjadi citra 2 bit yaitu hitam dan putih. Proses thresholding ini pada dasarnya adalah proses pengubahan kuantisasi pada citra, sehingga untuk melakukan thresholding dengan derajat keabuan .
Gambar 2.5 Alur Tahap Preprocessing Citra menjadi Threshold
Grayscale
Thresholding
RGB Color
Citra Thresholding
Jaringan syaraf tiruan (JST) atau umumnya hanya disebut neural network (NN), adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan sistem syaraf manusia. JST merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut. Oleh karena sifatnya yang adaptif, JST juga sering disebut dengan jaringan adaptif.
Secara sederhana, JST adalah sebuah alat pemodelan data statistik non-linier. JST dapat digunakan untuk memodelkan hubungan yang kompleks antara input dan output untuk menemukan pola-pola pada data.
Saat ini bidang kecerdasan buatan dalam usahanya menirukan intelegensi manusia, belum mengadakan pendekatan dalam bentuk fisiknya melainkan dari sisi yang lain. Pertama-tama diadakan studi mengenai teori dasar mekanisme proses terjadinya intelegensi. Bidang ini disebut Cognitive Science. Dari teori dasar ini dibuatlah suatu model untuk disimulasikan pada komputer, dan dalam perkembangannya yang lebih lanjut dikenal berbagai sistem kecerdasan buatan yang salah satunya adalah jaringan syaraf tiruan. Dibandingkan dengan bidang ilmu yang lain, jaringan syaraf tiruan relatif masih baru. Sejumlah literatur menganggap bahwa konsep jaringan syaraf tiruan bermula pada makalah Waffen McCulloch dan Walter Pitts pada tahun 1943. Dalam makalah tersebut mereka mencoba untuk memformulasikan model matematis sel-sel otak. Metode yang dikembangkan berdasarkan sistem syaraf biologi ini, merupakan suatu langkah maju dalam industri komputer.
Model pada JST pada dasarnya merupakan fungsi model matematika yang mendefinisikan fungsi Istilah "jaringan" pada JST merujuk pada interkoneksi dari beberapa neuron yang diletakkan pada lapisan yang berbeda. Secara umum, lapisan pada JST dibagi menjadi tiga bagian:
• Lapis masukan (input layer) terdiri dari neuron yang menerima data masukan dari
variabel X. Semua neuron pada lapis ini dapat terhubung ke neuron pada lapisan tersembunyi atau langsung ke lapisan luaran jika jaringan tidak menggunakan lapisan tersembunyi.
• Lapisan tersembunyi (hidden layer) terdiri dari neuron yang menerima data dari
lapisan masukan.
• Lapisan luaran (output layer) terdiri dari neuron yang menerima data dari lapisan
tersembunyi atau langsung dari lapisan masukan yang nilai luarannya melambangkan hasil kalkulasi dari X menjadi nilai Y.
Gambar 2.6 Model Sederhana Neuron
Secara matematis, neuron merupakan sebuah fungsi yang menerima masukan dari lapisan sebelumnya (lapisan ke-i ). Fungsi ini pada umumnya mengolah sebuah vektor untuk kemudian diubah ke nilai skalar melalui komposisi nonlinear weighted
sum, dimana , K merupakan fungsi
khusus yang sering disebut dengan fungsi aktivasi dan w merupakan beban atau weight.
Gambar 2.7 Skema Proses Jaringan Syaraf Tiruan melalui jaringan dari unit
LVQ merupakan suatu metode untuk melakukan pelatihan terhadap lapisan-lapisan kompetitif yang terawasi. Lapisan kompetitif akan belajar secara otomatis untuk melakukan klasifikasi terhadap vektor input yang diberikan. Apabila beberapa vektor input memiliki jarak yang sangat berdekatan, maka vektor-vektor input tersebut akan dikelompokkan dalam kelas yang sama.
Algoritma:
1. Tetapkan: Bobot Awal (W), Maksimum Epoch (MaxEpoch), dan Learning rate (α).
2. Masukkan :
a. Input : x(m,n); m adalah jumlah input, n adalah jumlah data. b. Target : T(1,n)
3. Tetapkan kondisi awal: a. Epoch=0;
4. Kerjakan jika : (epoch < MaxEpoch) a. Epoch = epoch + 1
b. Kerjakan untuk i=1 sampai n
- Tentukan J sedemikian hingga || X – Wj || minimum (sebut sebagai Cj (jarak Euclidian) ) .
- Perbaiki Wj dengan ketentuan:
i. Jika T = Cj maka : Wj(baru) = Wj(lama) + α (X - Wj(lama)) ii. Jika T ≠ Cj maka : Wj(baru) = Wj(lama)- α (X - Wj(lama)) c. Kurangi nilai α
5. Selesai. (Antoni Siahaan, 2011)
Gambar 2.8 Arsitektur Learning Vector Quantization (Risky Meliawati, 2016)
Proses perhitungan LVQ :
Misalnya diketahui 4 input vektor dalam 2 kelas sbb:
No Data set Vektor Kelas (T)
1 (1110) 1
2 (1011) 2
No Input Vektor Kelas (T)
1 (0110) 1
2 (0011) 2
3 (1111) 1
4 (1001) 2
Dua input pertama dijadikan sebagai inisialisasi bobot:
No Bobot Kelas
1 (1110) 1
2 (1011) 2
Data yang lain sebagai data yang akan dilatih
Bobot ke-1 = √(0 - 1)2 + (1 - 1)2 + (1 - 1)2 + (0 - 0)2 = 1 Bobot ke-2 = √(0 - 1)2 + (1 - 0)2 + (1 - 1)2 + (0 - 1)2 = 1,73 Jarak terkecil pada bobot ke-1 Target data ke-1=1
Bobot ke-1 baru:
W11(baru) = w11(lama)+ α*x11-w11(lama)] = 1+0,05*(0-1) = 0,95 W12(baru) = w12(lama)+ α*x12-w12(lama)] = 1+0,05*(1-1) = 1 W13(baru) = w13(lama)+ α*x13-w13(lama)] = 1+0,05*(1-1) = 1 W14(baru) = w14(lama)+ α*x14-w14(lama)] = 0+0,05*(0-0) = 0 Sehingga w1 = (0,95 1 1 0)
W2 = (1011)
Data ke-2 : (0011)
- Bobot ke-1 = √(0 - 0,95)2 + (0 - 1)2 + (1 - 1)2 + (1 - 0)2 = 1,7 - Bobot ke-2 = √(0 - 1)2 + (0 - 0)2 + (1 - 1)2 + (1 - 1)2 = 1 Jarak terkecil pada bobot ke-2
Target data ke-2 = 2 Bobot ke-2 baru:
W21(baru) = w21(lama)+ α*x21-w21(lama)] = 1+0,05*(0-1) = 0,95 W22(baru) = w22(lama)+ α*x22-w22(lama)] = 0+0,05*(0-0) = 0 W23(baru) = w23(lama)+ α*x23-w23(lama)] = 1+0,05*(1-1) = 1 W24(baru) = w24(lama)+ α*x24-w24(lama)] = 1+0,05*(1-1) = 1 Sehingga w2 = (0,95 0 1 1)
w1 = (0,95 1 1 0)
Data ke-3 : (1111)
- Bobot ke-1 = √(1 - 0,95)2 + (1 - 1)2 + (1 - 1)2 + (1 - 0)2 = 1,0023 - Bobot ke-2 = √(1 - 0,95)2 + (1 - 0)2 + (1 - 1)2 + (1 - 1)2 = 1,0023
Jarak terkecil pada bobot ke-1 Target data ke-3 = 1
Bobot ke-1 baru:
W13(baru) = w13(lama)+ α*x13-w33(lama)] = 1+0,05*(1-1) = 1 W14(baru) = w14(lama)+ α*x14-w34(lama)] = 0+0,05*(1-0) = 0,05 Sehingga w1 = (0,95 1 1 0,05)
w2 = (0,95 0 1 1) Data ke-4 : (1001)
- Bobot ke-1 =√ (1 - 0,95)2 + (0 - 1)2 + (0 - 1)2 + (1 - 0,05)2 = 1,704 - Bobot ke-2 = √(1 - 0,95)2 + (0 - 0)2 + (0 - 1)2 + (1 - 1)2 = 1,00125
Jarak terkecil pada bobot ke-2 Target data ke-4 = 2
Bobot ke-1 baru:
W11(baru) = w11(lama)+ α*x11-w31(lama)] = 0,95+0,05*(1-0,95) = 0,953 W12(baru) = w12(lama)+ α*x12-w32(lama)] = 0+0,05*(0-0) = 0
W13(baru) = w13(lama)+ α*x13-w33(lama)] = 1+0,05*(0-1) = 0,95 W14(baru) = w14(lama)+ α*x14-w34(lama)] = 1+0,05*(1-1) = 1 Sehingga w2 = (0,953 0 0,95 1)
w1 = (0,95 1 1 0,05)
sebelum masuk ke Epoh ke-2 α diperbarui α = 0,1 . α(lama) = 0,1.0,05 = 0,005
. .
Sampai dengan epoh maximum = 10
Misalnya setelah epoh ke-10 di dapat bobot-bobot: w2 = (0,953 0 0,95 1)
w1 = (0,95 1 1 0,05)
Misalnya akan menguji vektor (1011), masuk kelas yang mana? Maka dilakukan perhitungan untuk mencari jarak
terdekat: