• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

Copied!
28
0
0

Teks penuh

(1)

5

LANDASAN TEORI

2.1 Teori Pengenalan Objek

2.1.1 Teori Pengenalan Objek pada Manusia

Dalam kehidupan sehari-hari manusia melihat dan mengenali berbagai bentuk objek di sekitarnya. Objek dikenali berdasarkan perbedaan titik-titik (dari sisi depan, samping, atau belakang) pada tempat yang berbeda dan ukuran yang berbeda. Ada beberapa teori pengenalan objek, masing-masing dengan cara pengenalan yang berbeda, diantaranya adalah PFT (Particulate Feature Theory) dan RBC (Recognition by

Component) [http 6].

PFT merupakan teori pengenalan objek dimana objek hanya dilihat secara lokal saja, jika seluruh keistimewaan lokal dipenuhi maka objek akan tetap dikenali dengan tidak mempertimbangkan hubungan antar komponen lokal yang seharusnya dipenuhi. Sebagai ilustrasi, suatu objek tetap dikenali sebagai manusia ketika komponen-komponennya dapat dikenali (adanya kepala, badan, dan kaki) walaupun hubungan antar komponennya tidak sesuai dengan yang seharusnya (misal, kepala di bawah, kaki di tengah, dan badan di atas).

RBC adalah sebuah teori tentang pengenalan objek pada manusia yang bekerja untuk keberhasilan identifikasi objek meskipun terdapat perubahan dalam ukuran atau orientasi objek.

(2)

Dalam hal ini RBC merupakan penerapan pengenalan PFT tetapi dengan mempertimbangkan hubungan komponen-komponen lokal yang harus dipenuhi agar suatu objek dapat dikenali secara tepat. Jika dikenali sebagai manusia tetapi memiliki kaki di atas, badan di bawah, dan kepala di antaranya maka pengenalan tersebut adalah pengenalan yang salah. RBC tidak akan melakukan pengenalan objek seperti itu sebagai manusia, karena selain melakukan pengenalan lokal juga pengenalan secara global.

2.1.2 Batasan Pengenalan Objek

Pengenalan objek tidak dipengaruhi oleh hal-hal berikut: 1. Rotational Invariance (perubahan sudut pandang)

Objek harus tetap dapat dikenali walaupun dilihat dari berbagai sudut pandang yang belum pernah terlihat sebelumnya. Jika sebuah pesawat terbang memperlihatkan sisi bagian lain yang belum pernah terlihat, maka pesawat terbang tersebut harus tetap dapat dikenali sebagai pesawat terbang.

(3)

2. Size Invariance (perubahan ukuran)

Objek harus tetap dapat dikenali walaupun tampil dengan berbagai ukuran yang berbeda. Perahu layar yang terlihat dari kejauhan berbeda jika dilihat dari jarak dekat, tetapi hal ini tidak mengubah deskripsinya secara struktural. Oleh karena itu, perahu layar tersebut harus tetap dikenali sebagai perahu layar.

Gambar 2.2 Size Invariance

3. Translational Invariance (perubahan posisi)

Objek harus tetap dapat dikenali pada saat objek berpindah tempat. Perpindahan ini tidak boleh mengganggu keakuratan pengenalan.

(4)

2.2 Model Warna RGB

Model warna RGB (Red, Green, Blue) merupakan perpaduan intensitas warna merah, hijau, dan biru yang masing-masing umumnya bernilai dari 0 sampai 255 pada satu pixel. Model warna ini pada umumnya digunakan pada layar CRT (Cathode Ray

Tube) seperti televisi dan monitor komputer. Sebagai contoh, jika satu pixel memiliki

nilai R 246, nilai G 20, dan nilai B 50, maka perpaduan ketiga unsur tersebut akan menghasilkan pixel berwarna merah terang pada layar monitor.

Gambar 2.4 Model Warna RGB

“The RGB color model is used with self-luminous devices such as television

tubes and computer monitors. It mixes the three primary RGB colors to reproduce all colors found in nature.” [http 2]. Menyatakan bahwa model warna RGB digunakan

oleh peralatan seperti televisi dan monitor komputer yang menggabungkan tiga warna primer untuk menghasilkan warna-warna alami.

(5)

2.3 Image

2.3.1 Pengertian Image

Menurut Foley et al. (1996, p816), image adalah array dari nilai-nilai dimana sebuah nilai adalah sekumpulan angka yang mendeskripsikan atribut dari pixel didalamnya. Sedangkan pengertian image berdasarkan Windows XP Experiences

Glossary, “A stored description of a graphic picture, either as a set of brightness and color values of pixels or as a set of instructions for reproducing the picture.” [http 10].

Menyatakan bahwa image adalah deskripsi dari gambar grafik yang tersimpan sebagai kumpulan nilai warna dan brightness dari pixel atau kumpulan instruksi untuk menghasilkan gambar.

2.3.2 Pengertian Pixel

Menurut Oliver et al. (1996, p4), “Your computer display images as a

two-dimensional collection of dots, called pixels.” Menyatakan pixel adalah titik yang

merupakan penyusun dari image yang ditampilkan komputer. Pixel adalah unsur image yang menunjuk pada satuan terkecil yang dapat diamati dalam grafik. Pada image berformat bitmap, pixel adalah titik-titik yang digunakan untuk membangun image.

Pixel terdiri atas tiga komponen, yaitu R (Red), G (Green), dan B (Blue),

masing-masing komponen tersebut merupakan warna dasar cahaya. Perpaduan ketiga komponen tersebut menentukan kualitas image secara optimal.

(6)

2.3.3 Image Bitmap

Image bitmap adalah image yang tersusun dari pixel-pixel yang masing-masing

mempunyai warna tertentu. Format ini sering digunakan pada foto hasil kamera digital dan gambar-gambar digital lainnya. Ukuran dari format ini adalah yang terbesar di antara format-format gambar lain seperti GIF (Graphic Interchange Format), JPEG (Joint Photographic Expert Group), dan PNG (Portable Network Graphics), karena tidak dilakukan kompresi pada format ini.

Image bitmap disebut juga image raster. Dibentuk dari titik-titik tunggal yang

disebut pixel yang diatur dan berwarna-warni untuk membentuk suatu pola [http 11].

2.3.4 Format Pixel 24-Bit

Pada image bitmap keanekaragaman warna diperoleh dari perpaduan nilai dari masing-masing unsur warna R, G, dan B dimana pada umumnya bernilai dari 0 sampai 255 atau bisa dikatakan menggunakan format pixel 24-bit. Hal ini dikarenakan masing-masing unsur R, G, dan B mempunyai nilai sebesar 28 yang menghasilkan kombinasi

warna sebanyak 28 x 28 x 28 = 224 = 16.777.216 warna [http 1]. Menurut Oliver (1996, p566), pada model RGB pixel direpresentasikan dengan 24-bit warna, 8-bit untuk masing-masing R, G, dan B. Dengan ini masing-masing warna R, G, dan B memiliki 256 tingkatan intensitas, yang menghasilkan sekitar 16 juta kombinasi warna.

(7)

2.4 Image Processing

Pengertian image processing (pengolahan citra) berdasarkan Windows XP

Experiences Glossary adalah sebagai berikut “The analysis, manipulation, storage, and display of graphical images from sources such as photographs, drawings, and video.”

[http 10]. Disebutkan bahwa image processing adalah analisis, manipulasi, penyimpanan, dan tampilan dari image grafik yang bersumber dari fotografi, lukisan, dan video.

Image processing terdiri dari tiga urutan langkah. Tahap masukan (image

ditangkap dan di-digitalisasi) mengubah perbedaan warna dan bayangan pada gambar ke dalam nilai biner yang dapat diproses komputer. Tahap proses dapat melibatkan image

enhancement (seperti grayscaling dan edge detection) dan kompresi data. Tahap

keluaran terdiri dari tampilan atau cetakan dari image yang diproses. Image processing digunakan di beberapa aplikasi seperti televisi dan bioskop, pengobatan, pemetaan cuaca, mata robot, dan pengenalan pola berbasis komputer.

2.4.1 Grayscaling

Grayscale merupakan model warna yang terdiri atas 256 macam warna abu-abu.

Ke-256 warna ini terdiri atas warna hitam murni, putih murni, dan 254 macam warna abu-abu diantaranya seperti terlihat pada Gambar 2.5 berikut.

(8)

Proses grayscaling menghilangkan informasi hue dan saturation dari pixel dan hanya meninggalkan nilai brightness. Setiap pixel dari image grayscale memiliki nilai

brightness antara 0 (hitam) sampai 255 (putih). Foto hitam putih merupakan contoh

umum dari model warna grayscale. Meskipun disebut foto hitam putih, sesungguhnya foto tersebut terbentuk dari banyak warna abu-abu yang berbeda.

2.4.2 Corner Detection

Corner merupakan suatu daerah di sekitar image yang sering menjadi titik fokus

perhatian. Corner Detection (deteksi titik sudut) bertujuan untuk mengidentifikasikan objek yang ada. Ada dua pendekatan yang digunakan, yaitu dengan menelusuri edge untuk mencari corner, atau dengan bekerja secara langsung pada gray-level image [http 8]. Corner Detection harus memenuhi beberapa kriteria penting berikut [http 9, p5]:

1. Semua corner yang ada harus dapat terdeteksi 2. Tidak ada corner yang salah terdeteksi

3. Posisi corner harus sesuai

4. Corner detector harus tahan terhadap adanya noise 5. Corner detector harus efisien.

2.4.3 Edge Detection

Menurut Green [http 5] Edge Detection (deteksi sisi) suatu image mengurangi jumlah data dan membuang informasi yang tidak berguna sambil menjaga properti

(9)

struktural yang penting dari image tersebut. Dalam sebuah image, edge merupakan batas antara objek dengan background (latar belakang) yang memiliki perbedaan intensitas yang kuat antara satu pixel dengan pixel lainnya. Edge Detection merupakan suatu proses mencari lokasi pixel-pixel edge suatu objek.

Menurut Canny [http 12, p3] Edge detection yang optimal harus memenuhi kondisi berikut:

1. Edge detection dapat menemukan seluruh edge yang ada, tidak ada satu edge pun yang hilang

2. Selisih jarak antara pixel edge yang ditemukan dengan edge yang sesungguhnya harus seminimal mungkin

3. Jika hanya ada satu edge maka edge detection tidak boleh mendeteksinya sebagai

pixel ganda.

2.5 Prinsip SUSAN

SUSAN (Smallest Univalue Segment Assimilating Nucleus) diperkenalkan oleh S.M. Smith dan J.M. Brady [http 7]. Prinsip ini digunakan dalam image processing, terutama dalam Edge Detection dan Corner Detection. Perhatikan gambar berikut ini.

(10)

boundary of mask nucleus of mask a b c d e

Gambar 2.6 Posisi Circular Mask pada Image Sederhana

Circular mask merupakan inti dari prinsip SUSAN, pada Gambar 2.6 terlihat circular mask di posisi yang berbeda pada sebuah image. Bagian tengah dari mask

disebut nucleus (pada image nucleus ini merupakan sebuah pixel pusat). Mask ini bekerja pada grayscale image, terlihat pada Gambar 2.6 bahwa di dalam mask ini terdapat dua daerah yaitu daerah dengan intensitas pixel sama dengan intensitas pixel dari nucleus dan daerah dengan intensitas pixel berbeda dengan intensitas pixel dari

nucleus. Daerah dengan intensitas pixel sama dengan intensitas pixel dari nucleus

disebut USAN (Univalue Segment Assimilating Nucleus). Dengan melihat luas daerah dari USAN dapat ditentukan sebuah pixel merupakan edge pixel (pixel sisi) atau corner

pixel (pixel sudut), terlihat bahwa luas USAN akan maksimum jika nucleus berada pada

(11)

sisi dari image, dan semakin menyempit ketika makin mendekati titik sudut dari image. Untuk menentukan edge dan corner dari image, nucleus dari mask ditempatkan di setiap pixel dari image untuk mendapatkan USAN yang minimum secara lokal (SUSAN). Pada image, circular mask biasanya terdiri dari 37 pixel dengan posisi seperti ditunjukkan pada gambar berikut ini.

Gambar 2.7 Posisi Pixel Penyusun Circular Mask pada Image

2.6 Feature Extraction

Menurut Parker (1993, p244), feature adalah semua pengukuran yang dilakukan terhadap suatu image, dapat berupa panjang dan kemiringan garis, jari-jari, dan lain sebagainya. Lebih baik mempergunakan banyak feature yang mudah untuk dihitung secara akurat daripada feature yang sedikit tapi kompleks dengan tingkat keakuratan

(12)

yang kecil. Cara untuk menemukan feature dalam image juga harus mendapat perhatian khusus karena hal tersebut tidaklah mudah dilakukan.

Untuk proses pengenalan poligon diperlukan feature yang unik, yang dapat membedakan antara poligon yang satu dengan poligon yang lain, yang sering dikenal dengan istilah feature extraction.

2.7 Poligon

“Polygon is a closed plane figure formed by three or more line segments that

do not cross over each other.” [http 4]. Menyatakan bahwa poligon adalah bidang datar

tertutup yang dibentuk oleh tiga atau lebih segmen garis yang tidak saling bersilangan. “Polygon A plane figure bounded by a number of straight lines. In a regular polygon,

all the sides are equal and all the internal angles are equal.” [http 3]. Menyatakan

bahwa poligon adalah bidang datar yang dibatasi oleh beberapa garis lurus. Secara umum poligon memiliki panjang sisi dan besar sudut dalam yang sama. Menurut Cormen et al. (2002, p939), “A polygon is a piecewise-linear, closed curve in the plane.

That is, it is a curve ending on itself that is formed by a sequence of straight-line segments, called the sides of the polygon.” Menyatakan bahwa poligon adalah kurva

tertutup pada bidang datar. Sebuah kurva tertutup yang dibentuk oleh serangkaian segmen garis lurus yang disebut sisi poligon. Ada dua macam poligon yaitu poligon cembung (poligon dengan sudut dalam kurang dari 180 derajat) dan poligon cekung (poligon yang memiliki sudut dalam lebih dari 180 derajat).

(13)

2.8 Convex Hull

Menurut Cormen (2002, p947) “The convex hull of a set Q of points is the

smallest convex polygon P for which each point in Q is either on the boundary of P or in its interior.” Menyatakan bahwa convex hull dari sekumpulan titik Q adalah poligon

cembung terkecil P sehingga setiap titik pada Q berada pada sisi dari P atau berada di dalam P. Pada Gambar 2.8 berikut poligon P(P0, P1, P3, P7) adalah convex hull dari kumpulan titik-titik Q(P0, P1, P2, P3, P4, P5, P6, dan P7).

Gambar 2.8 Convex Hull

2.9 Graham’s Scan

Menurut Cormen (2002, p949) graham’s scan adalah sebuah algoritma untuk permasalahan pencarian titik-titik pembentuk poligon P yang merupakan convex hull dari sekumpulan titik Q. Algoritma ini bekerja dengan cara mempertahankan isi stack S dengan titik-titik kandidat pembentuk convex hull. Setiap titik pada Q dimasukkan ke dalam S, jika titik tersebut bukan merupakan vertex dari P maka titik tersebut akan dikeluarkan dari S. Pada akhirnya isi dari S dari bawah ke atas adalah titik-titik

(14)

pembentuk P yang urutannya adalah berlawanan arah jarum jam. Algoritma ini menerima input titik-titik Q yang jumlahnya lebih besar atau sama dengan 3. Seperti terlihat pada Gambar 2.8 urutan titik-titik P0, P1, P3, dan P7 adalah berlawanan arah jarum jam. Algoritma graham’s scan adalah sebagai berikut:

GRAHAM’S SCAN (Q)

Tetapkan p0 adalah titik dalam Q dengan ordinat terkecil atau dengan

ordinat terkecil dan absis terkecil jika ordinat sama.

Tetapkan p1, p2, …, pn adalah titik-titik lain dalam Q yang diurutkan

berdasarkan besar sudut relatifnya terhadap p0 (jika ada titik dengan

besar sudut sama maka hilangkan titik tersebut kecuali titik yang paling jauh dari p0).

PUSH (p0, S)

PUSH (p1, S)

PUSH (p2, S)

FOR i = 3 TO n

DO WHILE sudut yang dibentuk pi-2, pi-1, dan pi belok kanan

POP (S)

END DO

PUSH (pi, S)

END FOR

RETURN S

END GRAHAM’S SCAN

2.10 Algoritma Midpoint

Garis lurus didefinisikan sebagai kumpulan titik-titik yang tak terhingga jumlahnya yang terletak di antara dua titik [http 14, p1]. Algoritma midpoint adalah sebuah algoritma untuk membuat garis lurus dengan menggunakan operasi bilangan bulat yang memberikan kecepatan tinggi dalam membuat sebuah garis lurus dibandingkan dengan algoritma pembuatan garis dengan operasi bilangan floating dengan menggunakan persamaan garis y = mx + c.

(15)

Algoritma midpoint dijabarkan sebagai berikut dengan asumsi bahwa gradien garis (m = dy / dx ) adalah terhingga dan bernilai dari -1 sampai 1 atau memiliki |dy| <= |dx| dimana |dy| adalah selisih ordinat dari titik awal garis dan titik akhir garis sedangkan |dx| adalah selisih absis dari titik awal garis dan titik akhir garis, x0 < x1 dan

y0 < y1.

MIDPOINT (x0, y0, x1, y1) IF x0 > x1 THEN

MIDPOINT (x1, y1, x0, y0) EXIT END IF dx = x1 – x0 dy = y1 – y0 IF dy < 0 THEN slope = -1 dy = -dy ELSE slope = 1 END IF incE = 2 * dy incNE = 2 * dy – 2 * dx d = 2 * dy – dx y = y0 x y (x0, y0) (x1, y1) dy = y1 – y0 dx = x1 – x0 c

(16)

FOR x = x0 TO x1 PUTPIXEL (x, y) IF d <= 0 THEN d = d + incE ELSE d = d + incNE y = y + slope END IF END FOR END MIDPOINT

Perbaikan algoritma midpoint agar dapat digunakan untuk membentuk garis lurus dengan m < -1 atau m > 1 adalah sebagai berikut.

MIDPOINT (x0, y0, x1, y1) IF x0 > x1 THEN

MIDPOINT (x1, y1, x0, y0) EXIT END IF dx = x1 – x0 dy = y1 – y0 IF dy < dx THEN IF dy < 0 THEN slope = -1 dy = -dy ELSE slope = 1 END IF incE = 2 * dy incNE = 2 * dy – 2 * dx d = 2 * dy – dx y = y0 FOR x = x0 TO x1 PUTPIXEL (x, y) IF d <= 0 THEN d = d + incE ELSE d = d + incNE y = y + slope END IF END FOR

(17)

ELSE IF dx < 0 THEN slope = -1 dx = -dx ELSE slope = 1 END IF incE = 2 * dx incNE = 2 * dx – 2 * dy d = 2 * dx – dy x = x0 FOR y = y0 TO y1 PUTPIXEL (x, y) IF d <= 0 THEN d = d + incE ELSE d = d + incNE x = x + slope END IF END FOR END IF END MIDPOINT

2.11 Artificial Neural Networks

Pengertian ANN (Artificial Neural Networks) menurut Fausett (1994, p3): “An

artificial neural networks is an information-processing system that has certain performance characteristics in common with biological neural networks. Artificial neural networks have been developed as generalizations of mathematical models of human cognition or neural biology.” Menyatakan bahwa ANN adalah sistem

pemrosesan informasi yang memiliki cara kerja secara umum sama seperti biological

neural networks (jaringan saraf hidup).

Suatu ANN merupakan suatu bentuk pengolahan informasi alternatif yang memiliki dasar pemikiran baru sehingga menjadi suatu disiplin ilmu baru. Walaupun

(18)

demikian, model ini tidak menggantikan pengolahan secara algoritma, sebab keduanya memiliki dasar pemikiran yang berbeda. Dalam penerapannya, kedua dasar pemikiran ini dapat saling melengkapi dengan baik.

ANN dikembangkan sebagai turunan model matematis pencerapan manusia (Fausett, 1994, p3), didasarkan asumsi bahwa:

1. Pemrosesan informasi terjadi pada banyak elemen sederhana yang disebut

neuron.

2. Sinyal dari neuron satu ke neuron lain dikirim melalui suatu penghubung. 3. Masing-masing penghubung memiliki weight, yang dalam jaringan saraf normal

merupakan kekuatan sinyal yang dikirim.

4. Setiap neuron menggunakan sebuah activation function untuk memproses sinyal masukan menjadi sinyal keluaran.

Sebuah ANN dapat dikarakteristikkan berdasarkan hal-hal berikut ini (Fausett, 1994, p3):

1. Pola koneksi antara neuron (arsitekturnya).

2. Kemampuan untuk menentukan weight pada koneksi (training, learning, atau algoritma).

3. Activation function yang dimiliki.

ANN memiliki kemampuan yang lebih baik untuk melakukan pekerjaan seperti mengenali pola yang kompleks, mengerti percakapan kontinyu, mengenali tulisan tangan, untuk suatu pekerjaan dimana teknik algoritma tidak dapat menunjukkan kemampuan yang memuaskan. Model ANN khususnya digunakan untuk komputasi tidak terstruktur, seperti pengenalan pola, kecerdasan buatan, pemecahan masalah, dan

(19)

aproksimasi dalam masalah optimasi. Gambar sebuah NN (Neural Network) dapat dilihat pada Gambar 2.9 berikut ini.

X1 X2 X3 Y Z2 Z1 w1 w3 w2 v1 v2 Input Units Hidden Units Output Units Gambar 2.9 Neural Network Sederhana

X1, X2, X3, Y, Z1, dan Z2 adalah neuron, sedangkan w1, w2, w3, v1, dan v2 merupakan weight. Neuron adalah tempat akumulasi sinyal-sinyal input dari neuron lain dan juga tempat untuk menghasilkan sinyal output untuk diteruskan ke neuron lainnya. Weight merupakan penghubung antar neuron dan menyimpan informasi yang akan digunakan oleh network untuk menyelesaikan masalah. Sebuah neuron mempunyai struktur seperti terlihat pada Gambar 2.10 berikut ini.

(20)

2.11.1 Cara Kerja Neural Network

Dengan mengacu pada Gambar 2.9 dan 2.10 di atas, penjelasan tentang bagaimana NN bekerja adalah sebagai berikut, ambil contoh neuron Y, neuron Y akan menerima sejumlah input dari output neuron-neuron X1, X2, dan X3, misalnya x1, x2, dan x3 dengan weight yang menghubungkan neuron-neuron X1, X2, dan X3 adalah w1, w2, dan w3, maka input yang diterima neuron Y adalah y_in = x1 * w1 + x2 * w2 + x3 * w3, kemudian y_in ini akan dibangkitkan oleh activation function, misalnya fungsi sigmoid f(x) = 1 / 1 + exp(-x) dan menghasilkan output dari neuron Y yaitu y = f(y_in), kemudian output ini akan diteruskan ke neuron-neuron Z1 dan Z2 dengan

weight v1 dan v2. Jadi cara kerja NN terdiri dari tiga tahap yaitu menerima input dari neuron lain, membangkitan input menjadi output, dan meneruskan output ke neuron

lain.

2.11.2 Arsitektur Neural Network

Arsitektur NN secara umum dapat diartikan sebagai penempatan neuron-neuron ke dalam layer-layer (lapisan-lapisan) dan pola koneksi pada layer dan antar layer. NN diklasifikasikan menjadi single layer atau multilayer. Sebuah single layer net memiliki satu layer koneksi weight seperti terlihat pada Gambar 2.11, sedangkan sebuah

multilayer net memiliki satu atau lebih layer di antara input units dan output units yang

(21)

X1 Xi Xn . . . . . . Y1 Yj Ym . . . . . . w11 w1j w1m wi1 wij wim wn1 wnj wnm Input Units One Layer of Weights Output Units

Gambar 2.11 Single Neural Net

X1 Xi Xn . . . . . . Z1 Zj Zp . . . . . . v11 v1j v1p vi1 vij vip vn1 vnj vnp Input

Units of WeightsLayer Hidden Units

Y1

Yk

Ym

Layer

of Weights OutputUnits w11 w1k w1m wj1 wjk wjm wp1 wpk wpm . . . . . .

(22)

2.11.3 Training

Tujuan dari training adalah untuk mengubah nilai weight pada network yang juga membedakan network yang satu dengan network yang lain. Ada dua macam tipe

training. Pertama, supervised training, tipe training ini diselesaikan dengan

memberikan urutan pola input yang memiliki target output yang berbeda, kemudian nilai dari weight akan disesuaikan menurut algoritma pembelajarannya. Kedua,

unsupervised training, pada tipe training ini urutan pola input diberikan tetapi target output tidak diberikan, network akan menyesuaikan nilai dari weight sehingga pola input yang paling serupa akan dikelompokkan ke dalam output yang serupa pula.

2.11.4 Activation Function

Activation function adalah fungsi yang mengubah input ke sebuah neuron

menjadi output dari neuron tersebut (Fausett, 1994, p422). Beberapa macam fungsi yang digunakan sebagai activation function:

1. Binary sigmoid )] ( 1 )[ ( ) ( ' ) exp( 1 1 ) ( x f x f x f x x f − = − + = σ σ

σ adalah stepness parameter

Binary sigmoid digunakan untuk neural nets dengan nilai output harapan berkisar dari 0 sampai 1.

(23)

2. Bipolar sigmoid a a b x f x f x f x x f − = − = − − + = − − + = η γ η γ η γ σ η σ γ )] ( )][ ( [ ) ( ' ) exp( 1 ) (

a adalah batas bawah dari output yang diharapkan

b adalah batas atas dari output yang diharapkan

Bipolar sigmoid pada umumnya memiliki nilai output yang berkisar dari -1 sampai 1 atau dengan kata lain memiliki nilai a = -1 dan nilai b = 1, tetapi nilai ini tidak mutlak karena fungsi ini memungkinkan kita untuk mengubah kisaran nilai output yang diharapkan.

Kedua fungsi sigmoid di atas memberikan keuntungan khusus untuk digunakan pada

neural nets dengan metode training menggunakan backpropagation, karena hubungan yang sederhana antara fungsi dengan turunan fungsi dari sigmoid mengurangi beban komputasi pada saat training (Fausett, 1994, p17). Turunan dari activation function disebut deactivation function.

2.11.5 Backpropagation

Diperkenalkan pertama kali oleh G.E. Hinton, E. Rumelhart, dan R.J. Williams pada tahun 1986, backpropagation merupakan sebuah teknik umum untuk melakukan

training pada multilayer neural network [Rumelhart, Hinton, and Williams, 1986a, 1986b; McClelland and Rumelhart, 1988] memegang peranan penting yang membuat

(24)

2.11.5.1 Arsitektur Neural Network Metode Backpropagation Arsitektur dari NN ini dapat dilihat pada gambar berikut ini.

I0 Ia Ix H0 Hb Hy O0 ... Oc ... Oz ... ... ... ... ia0 ix0 1 i0b i00 i0y

iab iay ixb ixy

1 1 h00 h0c h0z hb0 hbc hbz hy0 hyc hyz 1 1 1

i_in0 i_ina i_inx

o_out0 o_outc o_outz

Hy+1 Ix+1 Input Units Hidden Units Output Units bias bias

Gambar 2.13 Arsitektur Neural Network Metode Backpropagation

Secara umum NN dengan metode backpropagation memiliki arsitektur seperti terlihat pada Gambar 2.13 di atas. NN terdiri dari input units atau biasa disebut input layer, minimal satu hidden units atau biasa disebut hidden layer, dan output units atau biasa disebut output layer. NN pada Gambar 2.13 memiliki pola 3-3-3 (3 unit pada input

units, 3 unit pada hidden units pertama, dan 3 unit pada output units). Misal NN dengan pola 5-10-4-2 maka NN memiliki 5 unit pada input units, 10 unit pada hidden

(25)

(node/elemen) pada hidden units dan output units juga bisa memiliki bias yang pada Gambar 2.13 yaitu Ix+1 dan Hy+1. Bias seperti unit, tetapi tidak menerima input dan

mempunyai output konstan yaitu 1. Bias juga memiliki weight yang menghubungkannya ke unit-unit lainnya.

2.11.5.2 Tahapan Training Backpropagation

Backpropagation terdiri dari tiga tahapan, yaitu: 1. Feedforward

Pada tahap ini setiap unit pada input units menerima input dari feature yang telah diekstrak, kemudian input tersebut akan diproses oleh unit-unit tersebut dengan activation function yang digunakan untuk menghasilkan output. Hasil

output yang didapatkan akan diteruskan oleh input units ke setiap unit pada

hidden units pertama, kedua, dan seterusnya. Setiap unit pada hidden units akan menjumlahkan semua input yang diterima, kemudian memprosesnya dengan

activation function yang digunakan untuk menghasilkan output yang akan diteruskan ke hidden units berikutnya atau ke output units. Terakhir, setiap unit pada output units akan menjumlahkan semua input yang diterima dari hidden

units terakhir yang akan diproses dengan activation function yang digunakan untuk mendapatkan sebuah nilai output yang akan dibandingkan dengan target

output yang telah ditentukan.

2. Backpropagation of the Associated Error

Hasil perbandingan nilai output yang dihasilkan oleh output units dengan nilai target output yang telah ditentukan akan digunakan untuk menghitung error

(26)

system (nilai mutlak dari selisih output pada output units dengan target output yang telah ditentukan). Kemudian nilai error tersebut digunakan untuk menghitung error di setiap unit pada hidden units yang akan digunakan pada saat weights adjustment.

3. Adjustment of the Weights

Setelah didapatkan nilai error disetiap unit pada hidden units semua weights yang menghubungkan input units dengan hidden units, hidden units dengan

hidden units lain, dan hidden units dengan output units akan diperbaharui berdasarkan learning rate (kecepatan belajar dari network) dan nilai error yang didapatkan disetiap unit.

2.11.5.3 Algoritma Training Backpropagation

Seperti telah dijelaskan pada subbab 2.11.5.2, berikut ini adalah algoritma untuk melakukan tahapan-tahapan training metode backpropagation untuk sebuah pola (berdasarkan Gambar 2.13).

feedforward:

input dan output untuk input units: FOR a = 0 TO x

i_ina = feature ke-a yang diekstrak dari pola

i_outa = i_ina END FOR

input dan output untuk hidden units: FOR b = 0 TO y

h_inb = 0

FOR a = 0 TO x+1

h_inb = h_inb + i_outa * iab

END FOR

h_outb= activation (h_inb) END FOR

(27)

input dan output untuk output units: FOR c = 0 TO z

o_inc = 0

FOR b = 0 TO y+1

o_inc = o_inc + h_outb * hbc

END FOR

o_outc = activation (o_inc) END FOR

backpropagation of error:

error input dan error output pada output units: FOR c = 0 TO z

o_errinc = (target output dari pola yang ke-c – o_outc) *

deactivation (o_inc)

o_erroutc = o_errinc FOR b = 0 TO y+1

h_correctionbc = α * o_erroutc * h_outb dimana α adalah learning rate

END FOR

END FOR

error input dan error output pada hidden units: FOR b = 0 TO y

h_errinb = 0 FOR c = 0 TO z

h_errinb = h_errinb + o_erroutc * hbc

END FOR

h_erroutb = h_errinb * deactivation (h_inb) FOR a = 0 TO x+1

i_correctionab = α * h_erroutb * i_outa

END FOR

END FOR

weights adjustment:

weights dari hidden units ke output units: FOR b = 0 TO y+1

FOR c = 0 TO z

hbc = hbc + h_correctionbc

END FOR

END FOR

weights dari input units ke hidden units: FOR a = 0 TO x+1

FOR b = 0 TO y

iab = iab + i_correctionab

END FOR

(28)

2.11.6 Inisialisasi Nguyen–Widrow

Inisialisasi Nguyen–Widrow digunakan untuk melakukan inisialisasi awal terhadap weights yang menghubungkan input units dan hidden units pertama. Umumnya inisialisasi ini memberikan waktu training yang lebih singkat, karena dirancang untuk meningkatkan kemampuan belajar dari hidden units. Penerapan inisialisasi Nguyen–Widrow (berdasarkan Gambar 2.13) dilakukan dengan algoritma sebagai berikut:

Inisialisasi awal dari weights dari input units ke hidden units pertama: FOR a = 0 TO x DO

FOR b = 0 TO y DO

iab (lama) = nilai acak antara -0.5 sampai 0.5

END FOR END FOR

( )

p 1/n 7 . 0 = β dimana: β = scale factor

p = jumlah unit pada hidden units

n = jumlah unit pada input units Inisialisasi Nguyen–Widrow: FOR b = 0 TO y

jumlahweight = 0

jumlahkan nilai absolut weight dari semua unit pada input units ke unit ke-b pada hidden units:

FOR a = 0 TO x

jumlahweight = jumlahweight + |iab (lama)|

END FOR

inisialisasi ulang weight dari semua unit pada input units ke unit ke-b pada hidden units:

FOR a = 0 TO x

iab (baru) = β * iab (lama) / jumlahweight

END FOR

set nilai weight dari bias:

a = x + 1

iab = nilai acak dari –β sampai β END FOR

Gambar

Gambar 2.10 Struktur Sebuah Neuron

Referensi

Dokumen terkait

Selanjutnya Bass memainkan solo pada akord Bb5 dan Bb-5 dengan birama 4/4 (bar 29-33) disusul dengan permainan gitar dengan akord A7 yang berfungsi sebagai Rhythm,

Kedua, sebagai dasar legitimasi sosial politik atas pemberontakan dan penggulingan kekuasaan yang dilakukan oleh Arya Banjar Getas terhadap Raja Pejanggik

Data yang penulis gunakan dalam penelitian ini ialah ayat Alquran yang baik secara eksplisit maupun implisit membahas terkait pemudi, adapun ayat- ayat yang memuat kisah-kisah

Panduan ini akan menolong Anda untuk mengajar, menyediakan aktivitas- aktivitas yang berpusat pada siswa dan menilai standar kompetensi yang sejalan dengan judul “Mengakses

Soal Simulasi KBS UKOM 6ers 001+.. Perawat pada unit ruang nias merawat klien yang baru sa#a melahirkan dengan riwayat plasenta pri/ia. Manakah resiko yang mun$ul terkait

Nilai yang terdapat dalam cuplikan teks di atas adalah selalu berusaha untuk melakukan apapun demi orang yang disayangi dengan memberikan perhatian dan

Kampanye politik merupakan upaya mempersuasi khalayak melalui periklanan massa (Komunikasi massa) dan retorik (komunikasi interpersonal. Ia dilakukan baik melalui hubugan

Adapun dilihat dari nilai koefisien beta (B) tercatat nilai X2 &gt; X1, berarti variabel kualitas Instagram mempunyai pengaruh yang lebih dominan terhadap minat