• Tidak ada hasil yang ditemukan

Implementasi Jaringan Syaraf Tiruan Self Organizing Map Kohonen dalam Pengenalan Telapak Kaki Bayi

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Jaringan Syaraf Tiruan Self Organizing Map Kohonen dalam Pengenalan Telapak Kaki Bayi"

Copied!
17
0
0

Teks penuh

(1)

LANDASAN TEORI

2.1 Pengenalan Pola

Pengenalan pola (pattern recognition) adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif fitur atau sifat utama dari suatu obyek (Putra,2010).

Seperti halnya kemampuan manusia yang dapat mengenali dan membedakan objek yang dilihatnya, demikian pula suatu komputer diharapkan mampu meniru kemampuan visual manusia dalam mengenali suatu citra. Komputer menerima input berupa citra objek yang akan diidentifikasi, memproses citra tersebut dan memberikan output berupa deskripsi objek di dalam citra (Siregar, 2013).

Gambar 2.1 Skema Pengenalan Pola (Marbun,2014) 2.2 Deteksi Tepi

(2)

suatu citra mengandung informasi penting dari citra bersangkutan. Tepian citra dapat merepresentasikan objek-objek yang terkandung dalam citra, bentuk, dan ukurannya serta terkadang juga informasi tentang tekstur (Johandra,2014). Oleh karena itu, tepi berguna untuk proses segmentasi dan identifikasi objek di dalam citra.

Ketebalan dari tepi ditentukan oleh panjang dari ramp, yang merupakan transisi dari gray level awal sampai gray level akhir. Panjang ramp ditentukan oleh slope, yang ditentukan juga oleh tingkat kekaburan. Berarti bahwa tepi yang kabur cenderung tebal dan tepi yang tajam cenderung tipis.(Hermawati, 2013)

Deteksi tepi adalah proses untuk menemukan perubahan intensitas yang berbeda nyata dalam sebuah bidang citra. Deteksi tepi merupakan langkah pertama untuk melingkupi informasi di dalam citra (Putra,2010). Setelah dilakukan deteksi tepi akan dihasilkan citra biner. Citra biner merupakan citra yang hanya memiliki dua nilai yaitu hitam dan putih atau dalam bentuk nilai yaitu 0 dan 1 (Marbun, 2014).

Deteksi tepi pada suatu citra memiliki tujuan sebagai berikut (Johandra, 2014): 1. Menandai bagian yang menjadi detail citra.

2. Memperbaiki detail citra yang kabur karena error atau adanya efek dari proses akuisisi citra.

Beberapa jenis deteksi tepi adalah deteksi tepi Robert, Prewitt, Log dan Canny. 2.2.1 Deteksi tepi Canny

Deteksi tepi Canny dapat mendeteksi tepian yang sebenarnya dengan tingkat kesalahan minimum (Marbun, 2014). Dengan kata lain, operator Canny didesain untuk menghasilkan citra tepian yang optimal. Operator ini diformulasikan dengan 3 tujuan utama (Hermawati, 2013):

a. Optimal detection, dengan tidak adanya respon yang salah

b. Good localization, dengan jarak minimal antara posisi tepi sebenarnya dengan posisi yang terdeteksi

(3)

Berikut adalah langkah-langkah dalam melakukan deteksi tepi Canny (Putra,2010): 1. Menghilangkan derau yang ada pada citra dengan mengimpelementasikan tapis

Gaussian. Proses ini akan menghasilkan citra yang tampak sedikit buram. 2. Melakukan deteksi tepi dengan salah satu operator deteksi tepi seperti Roberts,

Prewitt, atau Sobel dengan melakukan pencarian secara horisontal (Gx ) dan

secara vertikal (Gy).

3. Menentukan arah tepian yang ditemukan dengan menggunakan rumus sebagai berikut:

Selanjutnya membagi ke dalam 4 warna sehingga garis dengan arah berbeda dan memiliki warna yang berbeda. Pembagiannya adalah 0-22,5 dan 157,5-180 derajat berwarna kuning, 22,5-67,5 berwarna hijau dan derajat 67,5-157,5 berwarna merah.

4. Memperkecil garis tepi yang muncul dengan menerapkan nonmaximum suppresion.

5. Menerapkan dua buah tresholding

Dalam proses pendeteksian tepi terhadap citra yang dilakukan dengan metode Canny dapat menggunakan function di Matlab, sehingga cukup menggunakan function edge dalam pengkodean (Marbun, 2014). Gambar 2.3 merupakan contoh deteksi tepi menggunakan operator Canny:

(4)

Gambar 2.3 Citra Hasil Deteksi Tepi Canny 2.3 Perbaikan Citra (Image Enhancement)

Perbaikan citra bertujuan meningkatkan kualitas tampilan citra untuk pandangan manusia atau untuk mengkonversi suatu citra agar memiliki format yang lebih baik sehingga citra tersebut menjadi lebih mudah diolah dengan mesin.

Perbaikan suatu citra dapat dilakukan dengan operasi titik (point operation), operasi spasial (spatial operation), dan operasi aritmatik (arithmatic operation) (Putra, 2010).

2.3.1 Operasi spasial (filtering)

Pada proses filtering, nilai pixel baru dari suatu citra umumnya dihitung berdasarkan pixel tetangga. Berdasarkan cara penghitungan nilai pixel baru tersebut, proses filtering dapat dikelompokkan menjadi 2, yaitu tapis linier dan tapis non linier. 2.3.2 High-pass filtering

(5)

Adapun prosedur untuk menapis citra dalam kawasan frekuensi adalah sebagai berikut:

1. Input citra digital berupa citra *.jpg dengan ukuran lebar = ukuran tinggi.

2. Lakukan proses transformasi fourier dari citra input dengan menggunakan FFT 2D untuk mendapatkan F(u,v) yang merupakan nilai kompleks dari transformasi fourier. 3. Hitung filter mask H(u,v) dengan ukuran lebar dan tinggi sama dengan ukuran citra input.

4. Kalikan F(u,v) dengan H(u,v) untuk mendapatkan G(u,v) yang merupakan hasil perkalian antara transformasi dengan filter mask.

5. Lakukan proses invers transformasi fourier dari G(u,v) menggunakan invers DFT (Descrete Fourier Transformation ) 2D sehingga diperolehlah citra hasil g(x,y). ( Eko, 2011)

Dimana untuk transformasi Fourier diskrit dua dimensi dari sebuah fungsi diskrit f(x,y) dinyatakan sebagai berikut:

Dan inversnya:

Untuk u = 1,2,....M−1; x = 1,2,....M−1; v = 1,2,....N−1 y = 1,2,....N−1. Fungsi filter untuk High Pass filter adalah:

Dimana,

H(u,v) : fungsi filter

Do : konstanta positif (cutoff frekuensi)/titik pusat transformasi

D(u,v): jarak antara titik (u,v) dalam domain frekuensi dan pusat persegi panjang frekuensi.

(6)

Gambar 2.4 Contoh Matriks High Pass Filtering Contoh hasil dari highpass filtering dapat dilihat seperti Gambar 2.5:

(a) (b) (c) Gambar 2.5 (a) Citra asli (b) Citra Grayscale (c) Citra hasil highpass

filtering

2.4Jaringan Syaraf Tiruan

Jaringan syaraf tiruan adalah sistem pembelajaran berbentuk jaringan yang terinspirasi berdasarkan jaringan syaraf manusia. Jaringan syaraf tiruan merupakan sistem adaptasi yang dapat merubah strukturnya untuk memecahkan masalah berdasarkan informasi yang masuk dan keluar melalui jaringan tersebut (Darmawan,2010). Jaringan syaraf tiruan tercipta sebagai suatu generalisasi model matematis dari pemahaman manusia ( human cognition ) yang didasarkan pada (Wuryandari & Afrianto, 2012):

1. Pemrosesan informasi terjadi pada elemen sederhana yang disebut neuron 2. Sinyal mengalir diantara sel syaraf/neuron melalui suatu sambungan

penghubung

(7)

4. Setiap sel syaraf akan menerapkan fungsi aktivasi terhadap sinyal hasil penjumlahan berbobot yang masuk kepadanya untuk menentukan sinyal keluarannya.

Gambar 2.6 Contoh Model Neuron Jaringan Syaraf Tiruan (Siang, 2009)

Jaringan syaraf tiruan mempunyai struktur tersebar paralel yang sangat besar dan mempunyai kemampuan belajar sehingga bisa melakukan generalisasi yaitu bisa menghasilkan output yang benar untuk input yang belum pernah dilatihkan. Defenisi belajar dalam jaringan syaraf tiruan adalah suatu proses dimana parameter-parameter bebas jaringan syaraf tiruan diadaptasikan melalui suatu proses perangsangan berkelanjutan oleh lingkungan dimana jaringan berada (Suyanto, 2011). Pembelajaran pada jaringan syaraf tiruan pada dasarnya dideskripsikan lewat perubahan bobot w antara neuron, tujuan akhir pembelajaran terhadap variabel masukan x adalah nilai keluaran output Y sedekat mungkin dengan nilai keluaran yang ditargetkan (beda nilai antara keluaran terhadap masukan disebut error value) (Muis,2009).

Jaringan syaraf tiruan dapat digunakan untuk (Siang, 2009): 1. Pengenalan pola (Pattern Recognition)

Jaringan syaraf tiruan dapat dipakai untuk mengenali pola ( huruf, angka, suara atau tanda tangan) yang sudah sedikit berubah. Hal ini mirip dengan otak manusia yang masih mampu mengenali orang yang sudah beberapa waktu tidak dijumpainya (mungkin wajah/bentuk tubuhnya yang sudah sedikit berubah).

2. Signal Processing

(8)

3. Peramalan

Jaringan syaraf tiruan juga dapat dipakai untuk meramalkan apa yang akan terjadi di masa yang akan datang berdasarkan pola kejadian yang ada di masa yang lampau. Peramalan ini dapat dilakukan mengingat kemampuan jaringan syaraf tiruan dapat membuat generalisasi dari apa yang sudah ada sebelumnya. Jaringan syaraf tiruan juga dapat menyelesaikan masalah dalam bidang kontrol dan kedokteran.

3. Menyelesaikan persoalan optimasi terbatas (Darmawan ,2010)

Meskipun banyak aplikasi menjanjikan yang dapat dilakukan oleh jaringan syaraf tiruan, namun jaringan syaraf tiruan juga memiliki beberapa keterbatasan umum. Salah satunya adalah ketidakakuratan hasil yang diperoleh(Siang,2009).

Karakteristik dari jaringan syaraf tiruan adalah (Darmawan,2010): 1. Arsitektur jaringan : pola keterhubungan antar neuron

2. Algoritma jaringan (pelatihan,pembelajaran) metode menentukan nilai bobot hubungan

3. Fungsi aktivasi : menentukan nilai keluaran berdasarkan nilai total masukannya.

2.4.1 Arsitektur jaringan

Pada jaringan syaraf tiruan, neuron-neuron akan dikumpulkan dalam lapisan-lapisan (layer) yang disebut dengan lapisan neuron (neuron layers). Neuron-neuron pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya. Informasi yang diberikan pada jaringan syaraf akan dirambatkan lapisan ke lapisan, mulai dari lapisan masukan sampai ke lapisan keluaran melalui lapisan tersembunyi (hidden layer).

(9)

1. Single-Layer feedforward networks

Bentuk jaringan berlapis yang paling sederhana yaitu lapis tunggal, hanya terdapat input layer dengan node sumber yang terproyeksi ke dalam output layer dari neuron, tetapi tidak sebaliknya.

Gambar 2.7 Single Layer Network 2. Multi-layer feedforward network

Arsitektur jaringan ini memiliki satu atau lebih lapis tersembunyi (hidden layer). Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang kompleks, namun cenderung membutuhkan waktu yang lebih lama. Contoh jaringan yang menerapkan arsitektur ini adalah backpropagation.

(10)

3. Recurrent network

Recurrent network adalah jaringan yang mempunyai minimal satu feeedback loop. Feedback loop mempengaruhi kemampuan belajar dan kinerja jaringan.

Gambar 2.9 Recurrent Network dengan hidden neuron 4. Lattice structure

Sebuah lattice terdiri dari satu dimensi, dua dimensi, atau lebih array neuron dengan himpunan node sumber yang bersesuaian yang memberikan sinyal input ke array;dimensi lattice mengacu pada jumlah dimensi ruang dimana graph berada.

(11)

Berdasarkan paradigma pembelajarannya, jaringan syaraf tiruan terbagi 2 yakni supervised dan unsupervised learning ( Suyanto,2011):

1. Supervised learning

Supervised atau active learning adalah jenis jaringan syaraf tiruan dimana dalam proses belajar membutuhkan sampel input-output. Sampel input-output ini akan membangun pengetahuan dengan memberikan respon yang diinginkan jaringan syaraf tiruan. Respon yang diinginkan tersebut mereperesentasikan aksi optimum yang diinginkan oleh jaringan syaraf tiruan. Parameter-parameter jaringan berubah-ubah berdasarkan vektor latih dan sinyal kesalahan.

2. Unsupervised learning

Unsupervised learning atau self-organized learning tidak membutuhkan sampel input-output untuk memantau proses belajar. Salah satu contoh jenis jaringan syaraf yang tergolong unsupervised learning adalah self-organizing map.

Jenis jaringan ini didasarkan pada competitive learning; neuron output dari jaringan ini bersaing satu sama lain untuk diaktifkan , dengan hasil hanya satu neuron output yang memenangkan persaingan. Salah satu model self organizing maps ini adalah self organizing map Kohonen(SOM Kohonen).

2.4.2 Self organizing map Kohonen

Ada dua kemungkinan dalam menggunakan Self Organizing Maps. Pertama, adalah menggunakannya hanya untuk model unsupervised learning, dimana vektor input tidak diketahui. Kedua adalah menggunakannya untuk unsupervised learning dan diikuti dengan supervised learning. Algoritma LVQ (Learning Vector Quantization) dikembangkan untuk tujuan kedua ini. (Kasabov,1998)

(12)

Jaringan Kohonen merupakan salah satu jaringan yang dipakai untuk membagi pola masukan kedalam beberapa kelompok (cluster), dimana semua pola yang berada dalam satu kelompok merupakan pola yang mirip satu dengan lainnya.

Arsitektur jaringan Kohonen mirip dengan model lain. Hanya saja jaringan Kohonen tidak menggunakan perhitungan net (hasil kali vektor masukan dengan bobot) maupun fungsi aktivasi (Siang, 2009).

Gambar 2.11 Arsitektur Jaringan Kohonen

Prinsip kerja dari algoritma SOM adalah pengurangan node-node tetangganya (neighbor), sehingga pada akhirnya hanya ada satu node output yang terpilih (winner node) (Astuti,2009).

Algoritma pengelompokan pola jaringan Kohonen adalah sebagai berikut (Siang,2009):

0. Inisialisasi

 Bobot wji (acak)

 Laju pemahaman (learning rate) awal dan faktor penurunannya  Bentuk dan jari-jari (=R) topologi sekitarnya

1. Selama kondisi penghentian bernilai salah, lakukan langkah 2-7 2. Untuk setiap vektor masukan x, lakukan langkah 3-5

(13)

4. Tentukan indeks J sedemikian hingga d(J) minimum 5. Untuk setiap unit j disekitar J modifikasi bobot:

...(2)

Dalam inisialisasi bobot acak awal, selain membuat vektor bobot secara acak ada cara lain yang dapat digunakan yakni dengan memilih vektor bobot dari vektor input yang ditentukan secara acak. (Haykin, 1999).

Kondisi penghentian iterasi adalah selisih antara saat itu dengan pada iterasi sebelumnya. Apabila semua hanya berubah sedikit saja, berarti iterasi sudah mencapai konvergensi sehingga dapat dihentikan (Siang,2009).

Proses pembelajaran SOM Kohonen bersifat kompetitif atau bersaing. Untuk setiap pelatihan terdapat satu neuron keluaran dalam kondisi firing (neuron keluaran yang paling besar). Bobot yang terkoneksi pada neuron keluaran tersebut akan disesuaikan sehingga nilainya lebih kuat pada latihan berikutnya.

Dalam perubahan bobot yang terjadi, hal yang paling menentukan adalah atau learning rate. Learning rate adalah faktor pengali pada perubahan bobot yang berubah terhadap perubahan error. Perubahan ini sesuai dengan banyaknya input yang masuk dan akan selalu berkurang bila tidak ada perubahan error (Astuti,2009).

Contoh penggunaan algoritma Kohonen dalam mengelompokkan 4 buah vektor ke dalam maksimum 2 kelompok:

(14)

vektor sekitar yang dimodifikasi=0 (berarti hanya vektor pemenang yang dimodifikasi bobotnya pada setiap langkah).

Langkah awal untuk meyelesaikan kasus diatas adalah dengan menentukan bobot awal. Kolom matriks bobot menyatakan jumlah komponen dalam sebuah vektor (dalam kasus ini=4) dan baris menyatakan jumlah maksimum kelompok yang akan dibentuk ( dalam kasus ini=2). Misalkan bobot awal secara acak:

Pelatihan untuk tiap vektor: Untuk vektor x(1)=(1,1,0,0):

D(1) = (0.2-1)2 + (0.6-1)2 + (0.5-0)2 + (0.9-0)2 = 1.86 D(2) = (0.8-1)2 + (0.4-1)2 + ( 0.7-0)2 + (0.3-0)2 = 0.98

Karena D(j) minimum untuk j=2, maka vektor bobot baris 2 yang diubah sesuai aturan

w21 = 0.8 + 0.6 (1-0.8) = 0.92

w22 = 0.4 + 0.6 (1-0.4) = 0.76

w23 = 0.7 + 0.6 ( 0-0.7) = 0.28

w24 = 0.3 + 0.6(0- 0.3) = 0.12

Vektor bobot baru:

Untuk vektor x(2) = (0,0,0,1):

D(1)= (0.2-0)2 + ( 0.6-0)2 + (0.5-0)2 + (0.9-1)2 = 0.66 D(2)= (0.92-0)2 + ( 0.76-0)2 + (0.28-0)2 + (0.12-1)2 = 2.28

(15)

w11= 0.2 +0.6 (0 - 0.2) = 0.08

w12= 0.6 + 0.6 (0-0.6) = 0.24

w13= 0.5 +0.6 (0 - 0.5) = 0.2

w14= 0.9 +0.6 (1 - 0.9) = 0.96

Vektor bobot baru:

Untuk vektor x(3) = (1,0,0,0) :

D(1)= (0.08-1)2 + ( 0.24-0)2 + (0.2-0)2 + (0.96-0)2 = 1.87 D(2)= (0.92-1)2 + ( 0.76-0)2 + (0.28-0)2 + (0.12-0)2 = 0.68

D(j) minimum untuk j=2, maka vektor bobot baris 2 yang dimodifikasi: w21= 0.92 +0.6 (1 - 0.92) = 0.968

w22= 0.76 +0.6 (0 - 0.76) = 0.304

w23= 0.28 +0.6 (0 - 0.28) = 0.112

w21= 0.12 +0.6 (0 - 0.12) = 0.048

Vektor bobot baru:

Untuk vektor x(4) = ( 0,0,1,1) :

D(1)= (0.08-0)2 + ( 0.24-0)2 + (0.2-1)2 + (0.96-1)2 = 0.7056 D(1)= (0.968-0)2 + ( 0.304-0)2 + (0.112-1)2 + (0.048-1)2 = 2.724

D(j) minimum untuk j=1, maka vektor bobot baris 1 yang dimodifikasi: w11= 0.08 + 0.6 (0-0.08) =0.032

(16)

w13= 0.2 + 0.6 (1-0.2) =0.68

w14= 0.96 + 0.6 (1-0.96) =0.984

Vektor bobot baru :

Sebelum dilanjutkan ke iterasi kedua dalam mengubah bobot, terlebih dahulu dilakukan modifikasi laju pemahaman dimana,

Pada iterasi kedua, penghitungan nilai bobot yang baru sama seperti penghitungan bobot baru pada iterasi pertama, menggunakan bobot hasil iterasi pertama.

Bobot awal :

Iterasi-1:

Iterasi-2:

... Iterasi-100 :

Hasil iterasi tersebut konvergen ke vektor bobot

(17)

Pengelompokan vektor dilakukan dengan menghitung jarak vektor dengan bobot optimal.

Vektor x(1)= (1,1,0,0) memiliki

D(1)= (0-1)2 + ( 0-1)2 + (0.5-0)2 + (1-0)2 = 3.25 D(2)= (1-1)2 + ( 0.5-1)2 + (0-0)2 + (0-0)2 = 0.25 Berarti x(1) masuk kedalam kelompok ke-2

Dengan cara yang sama untuk x(2) = (0,0,0,1)

D(1)= 0.25 dan D(2) = 2.25,  x(2) masuk ke dalam kelompok 1 Untuk x(3) = (1,0,0,0)

D(1)= 2.25 dan D(2) = 0.25  x(3) masuk ke dalam kelompok ke-2 Untuk x(4) = (0,0,1,1)

Gambar

Gambar 2.1 Skema Pengenalan Pola (Marbun,2014)
Gambar 2.2 Citra Asli
Gambar 2.3 Citra Hasil Deteksi Tepi Canny
Gambar 2.4 Contoh Matriks High Pass Filtering
+4

Referensi

Dokumen terkait

Sehubungan dengan hal tersebut, para peneliti dan pelaksana pengabdian kepada masyarakat yang telah selesai melaksanakan kegiatannya di tahun 2014 (semua skema) diwajibkan

[r]

10.10.2 Menggunakan media pembelajaran dan sumber belajar yang relevan dengan karakteristik peserta didik dan mata pelajaran yang diampu untukmencapai.. 10.10.10.2 Memahami

Sesuai dengan yang telah diungkapkan peneliti di atas, hal yang sangat urgen untuk ditingkatkan dan dikembangkan adalah kemampuan fisik serta pertumbuhan dan perkembangan fisik

Tujuan pendidikan tergantung dari lembaga yang melaksanakan, tujuan tersebut pada dasarnya ditentukan oleh pandangan hidup orang yang mendesain pendidikan itu,

Berdasarkan hasil penelitian yang telah dilaksanakan pada siswa kelas IV SD Negeri Karangasem IV Surakarta yang dimulai dari prasiklus hingga siklus I dan siklus II

Oleh karena itu, perlu disusun suatu Standar Kompetensi Lulusan (SKL) untuk tenaga kerja Indonesia yang dalam bidang pekerjaannya membutuhkan penguasaan Bahasa

Untuk itu perusahaan properti harus dapat mempertimbangkan masalah-masalah yang dihadapi seperti konsep perumahan dengan fasilitas dan lokasi yang strategis untuk mempengaruhi