Jaringan Saraf Tiruan

14
Pengertian Jaringan Saraf Tiruan ( JST ) Jaringan saraf tiruan (JST) (Bahasa Inggris: artificial neural network (ANN), atau juga disebut simulated neural network (SNN), atau umumnya hanya disebut neural network (NN)), adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkanjaringan saraf manusia. JST merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut. 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. Definisi Jaringan Saraf Tiruan Suatu jaringan saraf tiruan memproses sejumlah besar informasi secara paralel dan terdistribusi, hal ini terinspirasi oleh model kerja otak biologis. Beberapa definisi tentang jaringan saraf tiruan adalah sebagai berikut di bawah ini. Hecht-Nielsend (1988 ) mendefinisikan sistem saraf buatan sebagai berikut: "Suatu neural network (NN), adalah suatu struktur pemroses informasi yang terdistribusi dan bekerja secara paralel, yang terdiri atas elemen pemroses (yang memiliki memori lokal dan

description

Tugas JST

Transcript of Jaringan Saraf Tiruan

Page 1: Jaringan Saraf Tiruan

Pengertian Jaringan Saraf Tiruan ( JST )

Jaringan saraf tiruan (JST) (Bahasa Inggris: artificial neural network (ANN), atau juga

disebut simulated neural network (SNN), atau umumnya hanya disebut neural network

(NN)), adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan

berdasarkanjaringan saraf manusia. JST merupakan sistem adaptif yang dapat mengubah

strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal

yang mengalir melalui jaringan tersebut.

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.

Definisi Jaringan Saraf Tiruan

Suatu jaringan saraf tiruan memproses sejumlah besar informasi secara paralel dan

terdistribusi, hal ini terinspirasi oleh model kerja otak biologis. Beberapa definisi tentang

jaringan saraf tiruan adalah sebagai berikut di bawah ini.

Hecht-Nielsend (1988) mendefinisikan sistem saraf buatan sebagai berikut:

"Suatu neural network (NN), adalah suatu struktur pemroses informasi yang terdistribusi

dan bekerja secara paralel, yang terdiri atas elemen pemroses (yang memiliki memori lokal

dan beroperasi dengan informasi lokal) yang diinterkoneksi bersama dengan alur sinyal

searah yang disebut koneksi. Setiap elemen pemroses memiliki koneksi keluaran tunggal

yang bercabang (fan out) ke sejumlah koneksi kolateral yang diinginkan (setiap koneksi

membawa sinyal yang sama dari keluaran elemen pemroses tersebut). Keluaran dari elemen

pemroses tersebut dapat merupakan sebarang jenis persamaan matematis yang diinginkan.

Seluruh proses yang berlangsung pada setiap elemen pemroses harus benar-benar

dilakukan secara lokal, yaitu keluaran hanya bergantung pada nilai masukan pada saat itu

yang diperoleh melalui koneksi dan nilai yang tersimpan dalam memori lokal".

Page 2: Jaringan Saraf Tiruan

Menurut Haykin, S. (1994), Neural Networks: A Comprehensive Foundation, NY, Macmillan,

mendefinisikan jaringan saraf sebagai berikut:

“Sebuah jaringan saraf adalah sebuah prosesor yang terdistribusi paralel dan mempuyai

kecenderungan untuk menyimpan pengetahuan yang didapatkannya dari pengalaman dan

membuatnya tetap tersedia untuk digunakan. Hal ini menyerupai kerja otak dalam dua hal

yaitu: 1. Pengetahuan diperoleh oleh jaringan melalui suatu proses belajar. 2. Kekuatan

hubungan antar sel saraf yang dikenal dengan bobot sinapsis digunakan untuk menyimpan

pengetahuan.

Dan menurut Zurada, J.M. (1992), Introduction To Artificial Neural Systems, Boston: PWS

Publishing Company, mendefinisikan sebagai berikut:

“Sistem saraf tiruan atau jaringan saraf tiruan adalah sistem selular fisik yang dapat

memperoleh, menyimpan dan menggunakan pengetahuan yang didapatkan dari

pengalaman”.

DARPA Neural Network Study (1988, AFCEA International Press, p. 60) mendefinisikan

jaringan syaraf buatan sebagai berikut :

Sebuah jaringan syaraf adalah sebuah sistem yang dibentuk dari sejumlah elemen pemroses

sederhana yang bekerja secara paralel dimana fungsinya ditentukan oleh stuktur jaringan,

kekuatan hubungan, dan pegolahan dilakukan pada komputasi elemen atau nodes. [1]

Jaringan syaraf tiruan memiliki beberapa kelebihan yaitu :

1. Mampu memecahkan masalah yang sukar disimulasikan dengan menggunakan teknik

analitikal logika seperti pada sistem pakar dan teknologi software standar.

2. Mampu memahami data yang dimasukkan meskipun data tersebut tidak lengkap

(incomplete data) atau data yang terkena gangguan (noisy data).

3. Jaringan syaraf tiruan yang sulit diciptakan dengan pendekatan simbolik/logikal dari

teknik tradisional artificial intelligence, yaitu bahwa jaringan syaraf tiruan mampu belajar

dari pengalaman.

4. Hemat biaya dan lebih nyaman bila dibandingkan dengan harus menulis program seperti

software standar. Pada jaringan syaraf tiruan, yang perlu dilakukan adalah melatih jaringan

untuk ‘belajar’ dengan cara memasukkan set data berisi sekumpulan kasus ke dalam

Page 3: Jaringan Saraf Tiruan

jaringan.

5. Jaringan syaraf tiruan terbuka untuk digabungkan dengan tekonologi lain, misalnya

dengan expert system, logika fuzzy, algoritma genetika, atau diintregasikan dengan

database. [2]

Jaringan syaraf tiruan memiliki beberapa kekurangan yaitu :

• Kurang mampu untuk melakukan operasi operasi numerik dengan presisi tinggi

• Kurang mampu melakukan operasi algoritma aritmatik, operasi logika dan simbolis

• Lamanya proses training yang mungkin terjadi dalam waktu yang sangat lama untuk

jumlah data yang besar

Pengaplikasian Jaringan Saraf Tiruan

Pengenalan pola (pattern recognition)

– Huruf, tanda tangan, suara, gambar yang sudah sedikit berubah (mengandung

noise)

– Identifikasi pola saham

– Pendeteksian uang palsu, kanker

Signal Processing

– Menekan noise pada saluran telepon

Peramalan

Peramalan saham

Autopilot dan simulasi

Kendali otomatis otomotif

[5]

Page 4: Jaringan Saraf Tiruan

Cara Kerja Komponen Jaringan Syaraf Tiruan

Ada beberapa tipe jaringan syaraf tiruan, tetapi hampir semuanya memiliki komponen yang

sama. Sama halnya seperti otak manusia, jaringan syaraf juga terdiri dari beberapa neuron,

dan ada hubungan antara neuron tersebut. Neuron-neuron tersebut akan

mentransformasikan informasi yang diterima melalui sambungan keluarnya menuju ke

neuron-neuron yang lain. Pada JST hubungan ini dikenal dengan nama bobot. Informasi

tersebut disimpan pada suatu nilai tertentu pada bobot tersebut.

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, tetapi jika tidak maka neuron tersebut tidak akan diaktifkan. Apabila neuron

tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot

output-nya ke semua neuron yang berhubungan dengannya. Hal ini dilakukan secara terus

menerus.

Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisan-lapisan (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 dari lapisan ke lapisan, mulai dari lapisan input sampai ke

lapisan outputmelalui lapisan yang lainnya, yang sering dikenal dengan nama lapisan

tersembunyi (hidden layer), tergantung pada algoritma pembelajarannya, bisa jadi informasi

tersebut akan dirambatkan secara mundur pada jaringan

Page 5: Jaringan Saraf Tiruan

Beberapa jaringan syaraf ada juga yang tidak memiliki lapisan tersembunyi, dan ada juga

yang neuron-neuronnya disusun dalam bentuk matriks. [2]

Karakteristik Jaringan Saraf Tiruan

Penyelesaian masalah dengan jaringan syaraf tiruan tidak memerlukan pemrograman.

Jaringan syaraf tiruan menyelesaikan masalah melalui proses belajar dari contoh-contoh

pelatihan yang diberikan. Biasanya pada jaringan syaraf tiruan diberikan sebuah himpunan

pola pelatihan yang terdiri dari sekumpulan contoh pola. Proses belajar jaringan syaraf

tiruan berasal dari serangkaian contoh-contoh pola yang diberikan.metode pelatihan yang

sering dipakai adalah metode belajar terbimbing. Selama proses belajar itu pola masukan

disajikan bersama-sama dengan pola keluaran yang diinginkan. Jaringan akan menyesuaikan

nilai bobotnya sebagai tanggapan atas pola masukan dan sasaran yang disajikan tersebut.

(Hermawan, 2006)

Faktor Bobot

Bobot merupakan suatu nilai yang mendefinisikan tingkat atau kepentingan hubungan

antara suatu node dengan node yang lain. Semakin besar bobot suatu hubungan

menandakan semakin pentingnya hubungan kedua node tersebut.

Bobot merupakan suatu hubungan berupa bilangan real maupun integer, tergantung dari

jenis permasalahan dan model yang digunakan. Bobot-bobot tersebut bisa ditentukan untuk

berada didalam interval tertentu. selama proses pelatihan, bobot tersebut dapat

menyesuaikan dengan pola-pola input.

Jaringan dengan sendirinya akan memperbaiki diri terus-menerus karena adanya

kemampuan untuk belajar. Setiap ada suatu masalah baru, jaringan dapat belajar dari

Page 6: Jaringan Saraf Tiruan

masalah baru tersebut, yaitu dengan mengatur kembali nilai bobot untuk menyesuaikan

karakter nilai.

Fungsi Aktivasi

Setiap neuron mempunyai keadaan internal yang disebut level aktivasi atau level aktivitas

yang merupakan fungsi input yang diterima. Secara tipikal suatu neuron mengirimkan

aktivitasnya kebeberapa neuron lain sebagai sinyal. Yang perlu diperhatikan adalah bahwa

neuron hanya dapat mengirimkan satu sinyal sesaat, walaupun sinyal tersebut dapat

dipancarkan ke beberapa neuron yang lain.

Ada beberapa pilihan fungsi aktivasi yang digunakan dalam metode backpropagation,

seperti fungsi sigmoid biner, dan sigmoid bipolar. Karakteristik yang harus dimiliki fungsi

fungsi aktivasi tersebut adalah kontinue, diferensiabel, dan tidak menurun secara monoton.

Fungsi aktivasi diharapkan dapat mendekati nilai-nilai maksimum dan minimum secara baik.

Berikut ini adalah fungsi aktivasi yang sering digunakan yaitu:

Berikut beberapa fungsi aktivasi dalam Jaringan Syaraf Tiruan.

a. Fungsi Undak Biner (Hard Limit)

Jaringan dengan lapisan tunggal sering menggunakan fungsi undak untuk

menkonversi input dari suatu variable yang bernilai kontinu ke suatu output biner.

Fungsi hard limit dirumuskan:

b. Fungsi Undak Biner (Threshold)

Fungsi undak biner dengan menggunakan nilai ambang sering disebut fungsi nilai

ambang atau fungsi Heaviside. Dirumuskan:

Page 7: Jaringan Saraf Tiruan

c. Fungsi Bipolar

Hampir sama dengan fungsi undak biner, hanya saja output yang dihasilkan berupa

1, 0 atau-1. Fungsi Symetric Hard Limit dirumuskan sebagai:

d. Fungsi Bipolar (dengan Threshold)

Fungsi yang menghasilkan output berupa 1, 0 atau-1

e. Fungsi Linear (identitas)

Fungsi linear memiliki nilai output yang sama dengan nilai input. Dirumuskan: y = x

f. Fungsi Sturating Linear

Fungsi ini akan bernilai 0 jika inputnya kurang dari -½, dan akan bernilai 1 jika

inputnya lebih dari ½. Sedangkan jika nilai input terletak antara -½ dan ½, maka

outputnya akan bernilai sama dengan nilai input ditambah ½. Fungsi saturating

linear dirumuskan:

g. Fungsi Symetric Saturating Linear

Page 8: Jaringan Saraf Tiruan

Fungsi ini akan bernilai -1 jika inputnya kurang dari -1. Sedangkan jika nilai input

terletak antara -1 dan 1, maka outputnya akan bernilai sama dengan nilai inputnya.

Fungsi Symetric Saturating Linear dirumuskan:

h. Fungsi Sigmoid Biner

Digunakan untuk jaringan syaraf yang dilatih dengan menggunakan

metode backpropagation. Memiliki nilai pada range 0 sampai 1. Fungsi sigmoid biner

dirumuskan:

i. Fungsi Sigmoid Bipolar

Output dari fungsi ini memiliki range antara 1 sampai -1. Fungsinya dirumuskan:

[3] [4]

Pengertian Perceptron

Perceptron adalah salah satu Neural Network yang digunakan untuk pengklasifikasian

secara linear. Perceptron dapa kita gunakan untuk memisahkan data yang dapat kita bagi

menjadi 2 kelas, misalnya kelas C1 dan kelas C2.

Agar tidak bingung, dibawah ini adalah gambaran dari pengklasifikasian kelas C1 dan C2 :

Page 9: Jaringan Saraf Tiruan

Algoritma Perceptron

Untuk algoritma pembelajaran perceptron adalah seperti berikut :

1. Inisialisasi semua inputan, matriks vector, target, dan learning rate.

2. Kita lakukan pengecekan untuk semua vector yang misclassification dengan menggunakan

rumus berikut :

3. Misclassification dapat juga dicari dengan rumus aktivasi, seperti berikut :

Jaringan terdiri dari beberapa unit masukan ( ditambah sebuah bias ), dan memiliki sebuah

unit keluaran. Hanya saja fungsi aktivasi merupakan fungsi biner ( atau bipolar ), tetapi

memiliki kemungkinan nilai -1, 0 atau 1.

Dengan ketentuan untuk suatu harga threshold θ yang ditentukan sebagai berikut :

Page 10: Jaringan Saraf Tiruan

4.Jika hasilnya bernilai negatif, maka terjadi miss classification dan kalikan hasilnya dengan

negatif learning rate. Kemudiah hasilnya disimpan dalam bentuk matriks untuk seluruh

inputan yang miss clasification.

5.Kemudian lakukan perubahan bobot yang baru dengan menggunakan rumus :

6.Kemudian ulangi langkah 2 hingga tidak terdapat lagi vector misclassification.

Berikut adalah source code untuk programnya (dengan matlab).

%buat dataset [x,y,bias] untuk fungsi OR

% x = dataset, k = target, w = vektor random, ro = learning rate, t = iterasi

x = [ 0 0 1 ; 0 1 1 ; 1 0 1 ; 1 1 1 ]; %dataset dan bias

k = [-1; 1; 1; 1]; %fungsi OR

w = [rand() rand() rand()];

ro = 0.7;

t = 0;

%perhitungan vektor missclassification

y=4;

while(y>0)

y=0;

t=t+1; %iterasi

disp(t);

temp = zeros(3,1);

for i=1:4

if (((x(i,:)*w')*k(i))<=0)

y = y+1;

temp = temp + ro*(-k(i))*x(i,:)';

end

Page 11: Jaringan Saraf Tiruan

[6]

Referensi

[1] http://id.wikipedia.org/wiki/Jaringan_saraf_tiruan

[2] http://zazha.wordpress.com/2009/10/20/jaringan-syaraf-tiruan/#more-82

[3] http://jalanwaktu.wordpress.com/jaringan-syaraf-tiruan/

[4] http://www.yulyantari.com/tutorial/media.php?mod=detailmateri&mat=50&bab=6

[5] http://lecturer.ukdw.ac.id/anton/download/

[6 ]http://agus-wirayasa.blogspot.com/2013/03/algoritma-perceptron-program-perceptron.html

%buat dataset [x,y,bias] untuk fungsi OR

% x = dataset, k = target, w = vektor random, ro = learning rate, t = iterasi

x = [ 0 0 1 ; 0 1 1 ; 1 0 1 ; 1 1 1 ]; %dataset dan bias

k = [-1; 1; 1; 1]; %fungsi OR

w = [rand() rand() rand()];

ro = 0.7;

t = 0;

%perhitungan vektor missclassification

y=4;

while(y>0)

y=0;

t=t+1; %iterasi

disp(t);

temp = zeros(3,1);

for i=1:4

if (((x(i,:)*w')*k(i))<=0)

y = y+1;

temp = temp + ro*(-k(i))*x(i,:)';

end