BAB II PENGENALAN WAJAH
Sistem pengenalan wajah dapat dibagi menjadi empat tahap, yaitu tahap pengolahan citra, deteksi wajah, ekstraksi fitur dan tahap pengenalan wajah. Pada tugas akhir ini akan lebih ditekankan pada tahap ekstraksi fitur dan pengenalan wajah. Pada bab ini akan dibahas tentang sistem pengenalan wajah, pengolahan citra dan deteksi wajah, ekstraksi fitur, metoda PCA, metoda Fisherface dan klasifikasi dengan jaringan syaraf tiruan (JST).
2.1 Sistem Pengenalan Wajah Sistem pengenalan wajah merupakan salah satu bidang computer vision yang berkembang pesat saat ini. Pada masa-masa awal pengembangan sistem pengolahan wajah, perhatian peneliti lebih banyak terpusat pada bagian pengenalan wajah. Seiring dengan berkembangnya waktu, semakin banyak metode pengenalan pola yang telah ditemukan. Hal ini kemudian mendorong untuk dikembangkannya sebuah sistem pengenalan wajah yang mampu diterapkan pada lingkungan nyata. Lingkungan nyata yang dimaksud dalam hal ini adalah variasi latar belakang, pencahayaan, dan pose. Pengenalan pola merupakan suatu proses untuk mengklasifikasi (supervised learning) dimana
masukkan
diidentifikasi
sebagai
anggota
suatu
kelas
tertentu
atau
pengelompokan (unsupervised learning) suatu pola tertentu dimana pola dikelompokkan berdasarkan kesamaannya
[2]
. Salah satu jenis pengenalan pola yang banyak
dikembangkan yaitu biometrik. Teknologi biometrik yang pertama kali dikembangkan yaitu pengenalan sidik jari di Cina pada tahun 700M. Biometrik adalah sebuah sistem yang dapat mengenali individu dengan memanfaatkan karakteristik fisiologis dan perilaku dari individu tersebut. Contoh biometrik yang
banyak dikembangkan yaitu
pengenalan tanda tangan, sidik jari, retina, suara dan
wajah. Biometrik berdasarkan jenis karakteristik yang diamati dapat dibagi menjadi dua bagian: •
Biometrik fisiologi
Metoda biometrik yang memanfaatkan karakteristik fisiologis manusia sebagai dasar untuk identifikasi, contohnya: pola sidik jari, pola retina, wajah. •
Biometrik perilaku
Metoda biometrik yang memanfaatkan karakteristik perilaku manusia sebagai dasar identifikasi, contohnya: cara berjalan, pola guratan tulisan (keystroke) dan tanda tangan. Jenis biometrik ada dua dilihat dari prosesnya [3] yaitu : •
Biometrik pasif
jenis biometrik dimana pengguna tidak perlu aktif dalam pengukuran. Jenis ini banyak digunakan dalam aplikasi surveillance. Yang termasuk jenis ini yaitu pengenalan wajah, suara dan gait (pola berjalan). Biometrik jenis ini lebih cocok untuk proses identifikasi daripada autentikasi •
Biometrik aktif
Jenis biometrik dimana dibutuhkan usaha dari pengguna dalam pengukuran. Yang termasuk jenis ini yaitu pengenalan sidik jari, retina dan iris, serta hand geometry.
Tabel 2.1 Perbandingan berbagai jenis teknologi biometrik
Pengenalan wajah memenuhi syarat sebagai identitas biometrik. Menurut Jain[4], syaratsyarat suatu ciri fisiologis maupun tingkah laku dapat digunakan sebagai identitas biometrik adalah sebagai berikut: •
Universality, yaitu setiap orang memiliki identitas biometrik tersebut
•
Distinctiveness, yaitu identitas biometrik tersebut harus dapat membedakan orang yang berbeda
•
Permanence, yaitu identitas biometrik tersebut harus permanen, tidak berubah terhadap waktu
•
Collectability, yaitu identitas biometrik tersebut harus dapat diukur secara kuantitatif
•
Performance, yaitu penggunaan identitas biometrik tersebut dalam suatu aplikasi harus dapat menghasilkan identifikasi dengan akurasi dan kecepatan yang dapat dicapai
•
Acceptability, yaitu penerimaan teknologi oleh masyarakat sebagai identitas biometrik dalam kehidupan sehari-hari
•
Circumvention, yaitu seberapa mudah keamanan suatu sistem biometrik tersebut dapat ditembus
Sistem pengenalan wajah memiliki beberapa keunggulan. Sistem pengenalan wajah bersifat pasif dimana tidak diperlukan usaha dari pengguna sehingga tingkat kenyamananya tinggi. Pengenalan wajah juga memiliki penerimaan yang tinggi dari masyarakat. Pengenalan wajah terdiri dari dua macam yaitu autentikasi/verifikasi dan pengenalan (recognition). 1) Autentikasi/ Verifikasi: Sistem biometrik akan memberikan keputusan apakah seseorang yang memberikan masukan identitas biometrik adalah benar seseorang yang dia nyatakan, dengan cara melakukan pencocokan antara citra masukkan dengan template citra yang telah ditunjuk sebagai milik orang tersebut (1:1 matching). 2) Pengenalan (recognition): Sistem biometrik akan memberikan keputusan apakah orang tersebut dikenali (berada dalam database) atau tidak. Sistem akan membandingkan citra yang tidak diketahui dengan citra dalam database (1: N matching). Hal ini yang akan dibahas pada tugas akhir ini. Sistem pengenalan wajah merupakan bagian dari pengenalan pola visual. Wajah manusia yang bervariasi terhadap pencahayaan, pose, ekspresi harus dikenali oleh sistem. Masukan untuk sistem pengenalan wajah dapat berupa citra 2D maupun citra 3D.
Pada tugas akhir ini akan dibatasi terhadap masukkan 2D. Sistem pengenalan wajah terdiri dari empat langkah seperti gambar 2.1.
Citra Masukan
Pengolahan Citra
Deteksi Wajah
Ektraksi Fitur
Klasifikasi
Data Base
Citra dikenali Citra tidak dikenali
Gambar 2.1 Prosedur pengenalan wajah[5].
Masukan pada sistem pengenalan wajah berupa citra 2D. Pengolahan citra berfungsi untuk mengurangi dearu dan menonjolkan ciri tertentu yang digunakan dalam deteksi wajah. Pada proses deteksi wajah akan dilakukan skin filter yang melewatkan citra yang mengandung kulit dan terdeteksi adanya wajah. Citra yang mengandung wajah akan melalui proses ekstraksi fitur. Fitur hasil proses ekstraksi menjadi masukan bagi pemilah (classifier) JST.
2.2 Pengolahan Citra dan Deteksi Wajah Citra dapat didefinisikan sebagai nilai intensitas yang merupakan fungsi dari koordinat spasial pada bidang dua dimensi. Suatu citra disebut citra digital bila nilai intensitas dan koordinat tersebut merupakan nilai diskrit. Citra digital yang tersimpan mengandung informasi berupa piksel-piksel. Pengolahan citra mentransformasikan citra menjadi citra yang lain yang mempunyai kualitas yang lebih baik. Pengolahan citra bermanfaat untuk memperbaiki kualitas citra agar mudah diinterpretasikan oleh manusia ataupun mesin (komputer). Proses deteksi wajah merupakan bagian yang penting. Sistem harus mendeteksi keberadaan wajah pada citra dengan berbagai variasi pose, pencahayaan, ekspresi wajah,
penghalang (kaca mata, kumis dan jenggot) serta ukuran. Pengolahan citra berfungsi untuk menonjolkan ciri tertentu serta mengurangi derau sehingga citra siap digunakan untuk keperluan analisis. Pengolahan citra yang dilakukan meliputi deteksi kulit, normalisasi cahaya, normalized cross correlation (NCC) serta normalisasi dimensi. Proses kedua yang dilakukan adalah deteksi wajah. Terdapat empat jenis deteksi wajah: 1) Metoda Knowledge based 2) Metoda Template Matching 3) Metoda Featured Based 4) Metoda Appearance based Masing-masing metoda ini memiliki kelebihan dan kelemahan masing-masing. 1) Metoda Knowledge based Metode ini berdasarkan aturan yang sederhana. Fitur wajah dideskripsikan menjadi sekumpulan aturan-aturan sederhana. Aturan-aturan tersebut menggambarkan hubungan antara fitur wajah. Algoritma pencarian akan mencari wajah yang dimaksud dengan aturan ini. Pengetahuan manusia sulit diubah ke dalam bentuk aturan secara umum. Dalam hal citra wajah akan sulit menjelaskan sebuah wajah berdasar pegetahuan yang dimiliki. Jika wajah dideskripsikan secara detail maka akan dihasilkan aturan dalam jumlah yang sangat besar, sedangkan aturan yang sedikit tidak mampu menjelaskan wajah secara tepat. Adanya variasi pose akan mengurangi performa deteksi wajah jenis ini. 2) Metoda Template Matching Metoda ini merepresentasikan seluruh wajah menggunakan template tunggal. Pola standar suatu wajah ini mampu menggambarkan sebuah wajah utuh atau fitur wajah. Korelasi diantara citra masukan dan pola yang tersimpan kemudian dibandingkan untuk melokalisasi wajah. Keuntungan model ini yaitu pendekatan yang sederhana namun
membutuhkan memori yang besar dan tidak efektif. Metode ini tidak dapat mengatasi variasi skala dan pose. 3) Metoda Featured Based Metode ini pertama kali bertujuan untuk menemukan fitur invarian dari wajah.Sejumlah metode digunakan yang berdasar pada fitur wajah, tekstur dan warna kulit. Beberapa fitur yang sering digunakan antara lain mata, lubang hidung, mulut, jarak hidung dan bibir yang diperhitungkan untuk membentuk sebuah wajah. Metode ini unggul dalam hal rotasi dan skala. Memori yang digunakan lebih sedikit dan prosesnya lebih cepat dibandingkan metode template matching. Metode ini tidak berhasil dalam mengatasi perbedaan pose dan pencahayaan. Adanya penghalang seperti kaca mata dan topi juga sulit untuk di deteksi. 4) Metoda Appearance based Metode ini banyak dipergunakan akhir-akhir ini karena tingkat akurasi dan efisiensi yang tinggi. Metode menggunakan analisis statistik untuk memperoleh fitur dari wajah yang relevan. Fitur ini terdiri dari informasi geometrik maupun informasi tentang citra itu. Informasi dari citra ini kemudian direpresentasikan dengan metode tertentu (misalnya PCA, transformasi wavelet, dll) yang kemudian digunakan untuk pelatihan dan klasifikasi indentitas citra. Metode ini menggunakan pemilah (classifier) untuk membedakan wajah dan bukan wajah misalkan jaringan syaraf tiruan, SVM maupun diskriminan statistik.
2.3 Ekstraksi Fitur Pada dasarnya pengenalan wajah membutuhkan memori yang banyak dan perhitungan yang kompleks. Reduksi komponen atau fitur wajah dilakukan untuk mengurangi memori yang dibutuhkan dan waktu komputasi. Ada dua cara yang digunakan yaitu pemilihan fitur (feature selecion) dan ekstraksi fitur (feature extraction). Pemilihan fitur bertujuan untuk memilih sejumlah fitur yang banyak berpengaruh dari n fitur yang ada.
Sedangkan ekstraksi fitur didapat dengan memproyeksikan fitur ke dalam dimensi yang lebih rendah. Fitur adalah segala jenis aspek pembeda, kualitas atau karakteristik. Fitur bisa berupa simbolik (misal warna) atau numerik (misal intensitas). Kombinasi dari d buah fitur dinyatakan sebagai vektor kolom dimensi-d disebut vektor fitur. Kualitas vektor fitur dilihat dari kemampuanya membedakan objek yang berasal dari kelas yang berbedabeda. Objek dalam kelas yang sama harus memiliki nilai vektor fitur yang sama dan objek yang berada dalam kelas yang berbeda harus memiliki nilai vektor fitur yang berlainan pula. Terdapat dua jenis karakteristik yang disebut sebagai fitur dari citra : •
Bagian global dari suatu citra.
•
Bagian khusus dari suatu citra.
Terkadang fitur dari suatu citra tidak berhubungan langsung dengan bagian-bagian yang terdapat pada citra tersebut, tetapi masih mencerminkan karakteristik tertentu dari citra, Fitur wajah merupakan hasil suatu algoritma ekstraksi terhadap citra wajah. Ekstraksi fitur dilaksanakan dengan alasan[6]: •
mengurangi data masukan (sehingga mempercepat
proses dan
mengurangi kebutuhan data) •
menyediakan sekumpulan fitur yang relevan untuk proses klasifikasi
•
mengurangi redudansi.
•
menemukan variabel fitur yang menjelaskan data
•
menghasilkan representasi dalam dimensi yang lebih kecil dengan sedikit informasi yang hilang
Pengenalan wajah secara intuitif melihat fitur utama yang membedakan wajah dan membandingkannya dengan wajah yang lain. Percobaan yang pertama yaitu
mengembangkan sistem pengenalan wajah semi-automatis berdasarkan geometri pada tahun 1960. Pada tahap awal ini pengembangan sistem pengenalan wajah difokuskan pada deteksi fitur wajah individual. Hal ini didasari bahwa fitur geometri tidak sensitif terhadap iluminasi dan pemahaman secara intuitif dari fitur yang diekstraksi. Perkembangan selanjutnya menggunakan intensitas tiap-tiap piksel. Pada tahun awal 1990an M. Turk and A. Pentland mengembangkan teori tentang Eigenface[7] yang tidak secara langsung melihat fitur-fitur wajah seperti mulut, telinga, hidung, bibir dan rambut. Metode ini bertujuan untuk mengekstrak fitur yang relevan dari citra wajah. Sejumlah fitur minimum yang diperlukan diambil untuk pelatihan dan pengujian untuk dibandingkan dengan database. Pada tahun 1997 berkembang penggunaan Fisherface yang merupakan pengembangan dari metode yang ada sebelumnya yaitu PCA dan juga LDA. Fisherface mengkombinasikan Eigenface dengan Linear Discriminant Analysis (LDA). Dimensi dari masukan direduksi dengan PCA dan kemudian LDA dan digunakan untuk menghasilkan proyeksi yang memisahkan wajah dari bermacam-macam orang. Pengenalan wajah menggunakan Fisherface merupakan jenis pengenalan wajah berdasarkan penampilan (appearance based). Prinsip dasar pengenalan wajah berdasar penampilan adalah merepresentasikan vektor wajah ke vektor fitur. Selanjutnya akan dihitung derajat kecocokan antara citra wajah yang diuji dan citra wajah dalam data base. Hasil pengujian ini memberikan keputusan apakah wajah dikenali atau tidak
Gambar 2.2 Sistem pengenalan wajah menggunakan Fisherface.
Pada proses pengenalan wajah ini masukan dan database diolah untuk menentukan apakah wajah pada citra masukan dikenali atau tidak. Proses pengolahan citra dilakukan rekan penulis. Hasil dari pengolahan citra ini merupakan citra wajah yang sudah sesuai dengan database.
2.5 Principal Component Analysis (PCA) PCA menghasilkan reduksi data yang besar sehingga banyak digunakan dalam pemrosesan citra. Dalam proses pengenalan pola sering ditemukan bahwa salah satu fitur yang kita pilih memiliki korelasi dengan yang lain dan sebagian fitur tidak berguna dengan memperhitungkan nilai diskriminanya[8]. Dengan pengurangan ukuran dari fitur ini maka dapat memperoleh sistem pengenalan wajah dengaan akurasi yang tinggi dengan memori yang semakin berkurang dan perhitungan yang semakin sederhana. Misalkan ada dua fitur X dan Y. Untuk mengetahui hubungan antara masing masing fitur maka dihitung nilai kovarian dari masing-masing fitur tadi. Masing-masing fitur kita hitung mean dan standar deviasinya. Kemudian kedua fitur yang kita hitung kovariannya. Jika nilai kovarian positif hal itu berarti jika nilai fitur X kita naikkan maka nilai fitur Y juga akan naik, sebaliknya jika nilai kovariannya negatif maka jika kita
naikkan nilai fitur X maka nilai Y akan turun. Jika nilai kovarianya nol maka kedua fitur tersebut tidak berhubungan. Hal ini yang menjadi dasar dalam perhitungan PCA. Misalkan terdapat sebuah citra berukuran N x N piksel maka dapat dilihat sebagai vektor dengan dimensi N2. PCA bertujuan untuk menemukan komponen prinsip dari kumpulan wajah dalam database. Fitur yang signifikan ini disebut sebagai Eigenface. Eigenface didapat dari eigenvektor matrik kovarian dari himpunan citra dalam database. Eigenvektor ini merupakan fitur yang menggambarkan variansi antara citra wajah. Masing-masing lokasi pada wajah berkontribusi terhadap setiap eigenvektor ini. Masingmasing wajah pada database dapat direpresentasikan dengan kombinasi linear
dari
Eigenface ini. Jumlah Eigenface
sama dengan jumlah
database. Citra wajah dapat diperkirakan
dengan Eigenface terbaik (yang memiliki eigenvalue terbesar) yang mewakili sebagian besar variasi wajah pada database. Dengan pengambilan beberapa komponen prinsip (yang terpenting) ini maka perhitungan Eigenface menjadi efisien. Misalkan sebuah citra wajah X ( x, y ) berupa array dua dimensi M × N . Sejumlah N
citra wajah dalam database tersebut direpresentasikan { X 1 , X 2 , X 3 ,..., X N }, dimana setiap X i adalah vektor berdimensi ( M .N ) × 1 . Tahapan-tahapan dalam mengambil fitur dengan metode ini adalah: •
Menghitung nilai rata-rata citra
μ= •
1 N
N
∑x k =1
k
(2.1)
Menghitung matriks kovarian citra N
C = ∑ ( xk − μ )( xk − μ )T
(2.2)
k =1
•
Menghitung eigenvalue dan eigenvector PCA Cun = λn un
(2.3)
u = eigenvector λ = eigenvalue Misalkan sebuah database M citra wajah berukuran N × N diubah menjadi vektor berdimensi ( N 2 ) × 1 . PCA digunakan untuk mencari M vektor orthonormal μ n yang menggambarkan dengan baik distribusi data.Vektor ke-k, μ k dipilih sehingga
1 M
λk =
M
∑ (μ n =1
T k
Φn )2
(2.4)
maksimum ketika ⎧1, l = k ⎩0, otherwise
μ lT μ k = ⎨
(2.5)
vektor μ k adalah eigenvektor dan λk adalah eigenvalue dari matrik kovarian C. Jika jumlah citra dalam database jauh lebih kecil dari ukuran vektor ( M < N 2 ), maka akan terdapat M − 1 eigenvektor yang penting. Sehingga kita dapat mengurangi eigenvektor berukuran N 2 dengan mencari eigenvektor matrik berukuran M × M . Untuk menentukan berapa eigenface yang akan diambil dapat ditentukan dengan persamaan M'
'
∑μ i =1 M
∑μ i =1
i
=Α
(2.6)
k
A adalah nilai yang menggambarkan berapa variansi database yang kita inginkan misalkan 0,9 (90%). Variansi database merupakan nilai kuadrat dari standar deviasi yang menggambarkan jumlah dari kuadrat deviasi dari nilai rata-rata. Semakin kecil nilai A maka vektor eigen kurang akurat namun jumlah vektor eigen yang dibutuhkan berkurang ( M’ < M).
2.5 Metode Fisherface
Metode Fisherface merupakan gabungan antara metode pengelompkkan pola dengan menggunakan PCA (Principle Component Analysis) dan LDA (Linear Discriminant Analysis). Pengelompokkan pola dengan memanfaatkan PCA akan memaksimalkan
jarak pemisah pola antar kelas. Pengelompokkan pola dengan memanfaatkan LDA akan memaksimalkan penyebaran pola di dalam kelas. Metode Fisherface memanfaatkan kedua metode pengelompokkan pola tersebut dengan tujuan untuk memaksimalkan rasio penyebaran pola antar kelas dan juga penyebaran pola di dalam kelas itu sendiri. Dengan memaksimalkan kedua hal tersebut, maka diharapkan sistem tidak hanya dapat mengenali variasi antar kelas, tetapi juga variasi di dalam anggota kelas itu sendiri. Hasil penelitian menunjukkan performa metoda Fisherface lebih baik dibandingkan metoda Eigenface
[9]
. Contoh PCA dan FLD dapat dilihat dalam gambar 2.4 di bawah. Pada
gambar terlihat 20 sampel dalam 2 kelas. Masing-masing sampel terletak dalam ruang fitur 2D. PCA dan FLD memproyeksikan sampel dari 2Dmenjadi 1D.
Gambar 2.3 Contoh PCA dan FLD
Algoritma Fisherface menggunakan eigenvektor PCA untuk ekstraksi fitur dan kemudian ditransformasikan ke analisis diskriminan linear.
W = WfldWPCA
(2.7)
Tahapan-tahapan dalam mengambil fitur dengan metode Fisherface adalah: •
μ
k
Menghitung nilai rata-rata citra dalam tiap kelas
1 = N k •
SB =
∑
k
m =1
xkm (2.8)
Menghitung kovarian antar-kelas C
∑
N
k =1
•
SW =
N
k
(μ k
)(μ k
− μ
)T (2.9)
Menghitung kovarian dalam kelas C
∑ ∑ (x k =1 x∈ X
•
− μ
k
− μ
k
)( x k
− μ
k
)T
k
Menghitung eigenvalue dan eigenvector LDA
S B u i = λi SW u i •
(2.10)
(2.11)
Menghitung eigenvalue dan eigenvector gabungan
uopt = uPCAuLDA
(2.12)
2.6 Klasifikasi dengan JST
Proses terakhir adalah feature matching atau klasifikasi. emilah (classifier) bertujuan menyekat ruang fitur ke dalam daerah-daerah kelas misalkan kriteria jarak, SVM dan JST. Pemilah sederhana yang banyak digunakan adalah klasifikasi jarak minimum. Kelas pola yang memiliki banyak kesamaan akan menghasilkan nilai jarak yang kecil. Metode JST dilakukan berdasarkan tanggapan suatu neuron jaringan pengolah sinyal terhadap stimulus masukan (pola) dan membentuk generalisasi pola tersebut. Pengetahuan disimpan dalam bobot. Pengenalan pola dengan JST dapat dilatih dan beradaptasi. JST dapat membentuk daerah keputusan yang rumit dengan jumlah neuron secukupnya Pada sub-bab ini akan dibahas pengertian jaringan syaraf tiruan, arsitektur JST, algoritma backpropagation dan fungsi aktivasi.
2.6.1 Pengertian Jaringan Syaraf Tiruan
Jaringan syaraf tiruan (JST) adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi. JST terdiri kumpulan dari unit/node yang saling berkaitan dengan nilai bobot tertentu. Kemampuan dari jaringan ini terletak pada kemampuan jaringan untuk meyimpan bobot antar koneksi yang diperoleh dari proses pelatihan dan adaptasi dari sebuah kumpulan pola latih dan menggunakanya kembali. Pada dasarnya jaringan syaraf tiruan memiliki tiga aspek : 1.Arsitektur jaringan 2.Algoritma (pelatihan dan pembelajaran) 3.Fungsi aktivasi
2.6.2 Arsitektur Jaringan Syaraf Tiruan
Suatu JST terdiri dari beberapa lapisan, yaitu lapisan input, output, dan beberapa lapisan di antara keduanya yang dikenal dengan nama lapisan tersembunyi (hidden layer). Penambahan lapisan tersembunyi (hidden layer) meningkatkan kemampuan JST menyelesaikan masalah yang lebih kompleks. Penambahan ini akan meningkatkan waktu komputasi. Menurut Kolmogorov, JST yang terdiri dari tiga lapisan ( 2 lapis hidden dan 1 lapis output) dapat melakukan klasifikasi terhadap kelas pola yang rumit[10].
Gambar 2.4 Arsitektur JST multilayer backpropagation
2.6.3 Algoritma Backpropagation
Pengenalan pola dapat di implementasikan menggunakan JST multilayer dengan algoritma backpropagation. Jaringan jenis ini banyak digunakan
dalam klasifikasi
pola[10]. Pada model ini proses pelatihan dilakukan melalui dua tahap, yaitu propagasi maju (feedforward) dan propagasi balik (backward). Pada propagasi maju keluaran dicari dengan mempropagasikan input sampai ke layer output. Kemudian berdasarkan error yang didapat dengan membandingkan keluaran dengan target, dilakukan propagasi
balik untuk melakukan pemodifikasian bobot. Iterasi akan dihentikan apabila syarat penghentian iterasi telah terpenuhi.
Secara umum algoritma backpropagation
[13]
:
1. Inisialisasi Tahap ini meliputi inisialisasi semua bobot, dan parameter yang digunakan seperti maksimum epoch, target error, dan learning rate ( α ) di awal proses pelatihan. 2. Propagasi maju ( feedforward) Perhitungan output feedforward dilakukan dengan langkah: a. Tiap-tiap neuron input ( X i , i=1,2,3,…,n) menerima masukan dari vektor fitur dan meneruskan sinyal tersebut ke semua neuron pada hidden layer. b. Hitung semua keluaran neuron pada hidden layer ( Z j , j=1,2,3,…,p) : n
z _ net j = v j 0 + Σ xi vij
(2.13)
z j = f ( z _ net j )
(2.14)
i =1
c. Hitung keluaran neuron output ( Yk , k=1,2,3,…,m) : p
y _ net k = wk 0 + Σ z i w jk
(2.15)
y k = f ( y _ net k )
(2.16)
i =1
3. Propagasi mundur (backpropagation) a. Hitung faktor unit kesalahan δ pada neuron output( Yk , k=1,2,3,…,m)
δ k = (tk − yk ) f ' ( y _ netk )
(2.17)
Perubahan bobot ΔWkj = αδ k z j k=1,2,...,m;j=0,1,…,p
(2.18)
b. Hitung faktor unit kesalahan δ pada neuron hidden layer ( Z j , j=1,2,3,…,p) : m
δ _ net j = ∑ δ k w j
(2.19)
δ j = δ _ net j f ' ( z _ net j )
(2.20)
k =1
Perubahan bobot Δvij = αδ j xi
(2.21)
4. Perubahan bobot
wkj (baru ) = wkj (lama) + Δwkj
(2.22)
v ji (baru ) = v ji (lama) + Δv ji
(2.23)
5. Menghitung nilai error Fungsi performa yang digunakan pada jaringan backpropagation ini adalah mean
squared error (mse). Fungsi ini menghitung rata-rata kuadrat error yang terjadi antara output jaringan dan target. Iterasi akan dihentikan apabila nilai error telah memenuhi kriteria yang diberikan. Pada algoritma backpropagation dapat dilakukan modifikasi dengan penambahan momentum. Pada algoritma yang standar perubahan bobot didasarkan pada gradient saat itu. Dengan momentum perubahan itu didasarkan pada arah gradient pola terakhir dan pola sebelumnya. Momentum menghindarkan JST terjebak pada minimum lokal yang dangkal.dan berusaha mencapai minimum global (setidaknya minimum lokal yang lebih curam). Momentum ini merupakan konstanta yang besarnya berkisar antara 0 sampai 1.
2.6.4 Fungsi Aktivasi
Untuk mendapatkan keluaran dari tiap-tiap lapisan digunakan suatu fungsi aktivasi. Untuk JST dengan algoritma backpropagation, fungsi aktivasi yang biasa digunakan adalah fungsi sigmoid biner, fungsi sigmoid bipolar, atau fungsi linear. •
Fungsi sigmoid biner Fungsi ini memiliki nilai pada range 0 sampai 1, oleh karena itu fungsi ini sering digunakan untuk jaringan yang membutuhkan nilai output antara 0-1 atau output dengan nilai 0 atau 1. Fungsi ini dirumuskan sebagai berikut : y = f ( x) =
1 1 + e− x
(2.24)
dengan turunannya :
f ' ( x) = f ( x)(1 − f ( x))
(2.25)
Grafik fungsi ini dapat dilihat pada Gambar 2.6.
Gambar 2.5 Fungsi aktivasi sigmoid
•
Fungsi sigmoid bipolar Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, akan tetapi output dari fungsi ini memiliki rentang antara 1 dan -1. Fungsi ini dirumuskan sebagai :
y = f ( x) =
1 − e− x 1 + e− x
(2.26)
dengan turunannya : f ' ( x) =
1 (1 + f ( x))(1 − f ( x)) 2
(2.27)
Grafik fungsinya dapat dilihat pada Gambar 2.7.
Gambar 2.6 Fungsi aktivasi sigmoid bipolar
•
Fungsi linear (identitas) Fungsi linear memiliki nilai output yang sama dengan nilai inputnya. Fungsi ini dirumuskan seperti Persamaan 2.28. y=x
(2.28)
Gambar 2.8 memperlihatkan grafik fungsi linear.
Gambar 2.7 Fungsi aktivasi linear