ALGORITMA JARINGAN SYARAF BUATAN

1. Pengertian Jaringan Syaraf Buatan

Jaringan syaraf buatan (artifical neural network) adalah sistem komputasi yang arsitektur dan operasinya diilhami dari pengetahuan tentang sel syaraf biologis di dalam otak. Jaringan syaraf buatan merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut. Jaringan syaraf buatan dapat digambarkan sebagai model matematis dan komputasi untuk fungsi aproksimasi non-linear, klasifikasi data cluster dan regresi non-parametrik atau sebuah simulasi dari koleksi model jaringan syaraf biologi.
Model jaringan syaraf ditunjukkan dengan kemampuannya dalam emulasi, analisis, prediksi dan asosiasi. Kemampuan yang dimiliki jaringan syaraf buatan dapat digunakan untuk belajar dan menghasilkan aturan atau operasi dari beberapa contoh atau input yang dimasukkan dan membuat prediksi tentang kemungkinan output yang akan muncul atau menyimpan karakteristik input yang diberikan kepada jaringan syaraf buatan .
Salah satu organisasi yang sering digunakan dalam paradigma jaringan syaraf buatan adalah perambatan galat mundur  atau backpropagation. (Hermawan, 2006)

2. Konsep Dasar Jaringan Syaraf Buatan

Jaringan syaraf buatan terdiri dari beberapa neuron dan ada hubungan antar neuron- neuron seperti pada otak manusia. Neuron/selsaraf adalah sebuah unit pemroses informasi yang merupakan dasar operasi jaringan syaraf buatan .
Jaringan syaraf buatan terdiri atas beberapa elemen penghitung tak linier yang masing-masing dihubungkan melalui suatu pembobot dan tersusun secara paralel. Pembobot inilah yang nantinya akan berubah (beradaptasi) selama proses pelatihan.
Pelatihan perlu dilakukan pada suatu jaringan syaraf buatan sebelum digunakan untuk menyelesaikan masalah. Hasil pelatihan jaringan syaraf buatan dapat diperoleh tanggapa yang benar (yang diinginkan) terhadap masukan yang diberikan. Jaringan syaraf buatan dapat memberikan tanggapan yang benar walaupun masukan yang diberikan terkena derau atau berubah oleh suatu keadaan. (Hermawan, 2006)

3. Karakteristik Jaringan Syaraf Buatan

Penyelesaian masalah dengan jaringan syaraf buatan tidak memerlukan pemrograman. Jaringan syaraf buatan menyelesaikan masalah melalui proses belajar dari contoh-contoh pelatihan yang diberikan. Biasanya pada jaringan syaraf buatan diberikan sebuah himpunan pola pelatihan yang terdiri dari sekumpulan contoh pola. Proses belajar jaringan syaraf buatan 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)
3.1. 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 masalah baru tersebut, yaitu dengan mengatur kembali nilai bobot untuk menyesuaikan karakter nilai. (Puspaningrum, 2006)
3.2. 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: (Puspaningrum, 2006)
  1. Fungsi Sigmoid Biner
Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan menggunakan metode backpropagation. Fungsi sigmoid biner memiliki nilai pada range 0 sampai 1. Fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Definisi fungsi sigmoid biner adalah segabai berikut:
f1(x) = 1/(1+ e–x)
dengan turunan
f1’(x) = f1(x) (1- f1(x))
berikut ini ilustrasi fungsi sigmoid biner:
Gambar 1. Ilustrasi fungsi sigmoid biner dengan range (0,1)
  1. Fungsi Sigmoid Bipolar
Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja output dari fungsi ini memiliki range antara 1 sampai    -1. Definisi fungsi sigmoid bipolar adalah sebagai berikut:
f2(x) = 2 f2(x) -1
dengan turunan
f2’(x) = ½ (1+ f2(x)) (1- f2(x))
Berikut ini adalah ilustrasi fungsi sigmoid bipolar:
Gambar 2. Ilustrasi fungsi sigmoid bipolar dengan range (-1,1)

4. Model Jaringan Syaraf Backpropagation

Pelatihan pada jaringan syaraf backpropagation, feedfoward (umpan maju) dilakukan dalam rangka perhitungan bobot sehingga pada akhir pelatihan akan diperoleh bobot-bobot yang baik. Selama proses pelatihan, bobot-bobot diatur secara iteratif untuk meminimumkan error(kesalahan) yang terjadi. Error (kesalahan) dihitung berdasarkan rata-rata kuadrat kesalahan (MSE). Rata-rata kuadrat kesalahan juga dijadikan dasar perhitungan unjuk kerja fungsi aktivasi. Sebagian besar pelatihan untuk jaringan feedfoward (umpan maju) menggunakan gradien dari fungsi aktivasi untuk menentukan bagaimana mengatur bobot-bobot dalam rangka meminimumkan kinerja. Gradien ini ditentukan dengan menggunakan suatu teknik yang disebut backpropagation.
Algoritma pelatihan standar backpropagation akan menggerakkan bobot dengan arah gradien negatif. Prinsip dasar dari algoritma backpropagation adalah memperbaiki bobot-bobot jaringan dengan arah yang membuat fungsi aktivasi menjadi turun dengan cepat.
Pelatihan backpropagation meliputi 3 tahapan sebagai berikut.
1. Propagasi maju.
Pola masukan dihitung maju mulai dari input layer hingga output layer menggunakan fungsi aktivasi yang ditentukan.
2. Propagasi mundur.
Selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan yang terjadi itu dipropagasi mundur. Dimulai dari garis yang berhubungan langsung dengan unit-unit di output layer.
3. Perubahan bobot.
Modifikasi bobot untuk menurunkan kesalahan yang terjadi. Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi. (Puspaningrum, 2006)

5. Algoritma Jaringan Syaraf Backpropagation

Backpropagation merupakan algoritma pembelajaran yang terwarisi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Algoritma backpropagation menggunakan erroroutput untuk mengubah nilai-nilai bobotnya dalam arah mundur (backward). Tahap perambatan maju (forward propagation) harus dikerjakan terlebih dahulu untuk mendapatkan nilai error tersebut. Saat perambatan maju neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid biner yaitu:
Arsitektur jaringan syaraf backpropagation seperti terlihat pada gambar dibawah ini:
Gambar 3. Arsitektur backpropagation
Keterangan       :
x1 s/d xn : input layer
z1 s/d zp : hidden layer
y1 s/d ym : output layer
Algoritma backpropagation (Kusumadewi, 2003):
  1. Inisialisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil).
  2. Kerjakan langkah-langkah berikut selama kondisi berhenti belum terpenuhi.
  • Tiap-tiap pasangan elemen yang akan dilakukan pembelajaran, kerjakan:
Feedforward
[1]. Tiap unit input (xi, i=1,2,3,…n) menerima sinyal xi dan meneruskan sinyal tersebut pasa lapisan yang ada diatasnya (lapisan tersembunyi).
[2]. Tiap unit tersembunyi (zj, j=1,2,3,…,p) menjumlahkan sinyal-sinyal input terbobot:
gunakan fungí aktivasi untuk menghitung sinyal outputnya:
zj = f (z_inj)
dan kirimkan sinyal tersebut ke semua unit dilapisan atasnya (unit-unit output).
[3]. Tiap unit output (yk, k=1,2,3,…,m) menjumlahkan sinyal-sinyal input terbobot
gunakan fungsi aktivasi untuk menghitung sinyal outputnya.
yk= f (y_ink)
dan kirimkan sinyal tersebut kesemua unit dilapisan atasnya (unit-unit output).
Backpropagation
[4]. Tiap-tiap unit output (yk, k=1,2,3,…,m) menerima target pola yang berhubungan dengan pola input pembelajaran. Hitung informasi errornya.
σk = (tk – yk) f’(y_ink)
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki wjk)
Δwjk = α σk zij
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai w0k) :
Δwjk = α σk
Kirimkan σini ke unit-unit yang ada dilapisan bawahnya.
[5]. Tiap-tiap unit tersembunyi (zj, j=1,2,3,…,p) menjumhlahkan delta inputnya (dari unit-unit yang berada pada lapisan diatasnya) :
kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error:
σj = σ_inf’(z_inj)
kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij):
Δvjk = α σxi
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki  nilai v0j):
Δv0j = α σj
Tiap unit output (yk, k=1,2,3,…,m) memperbaiki bias dan bobotnya (j=0,1,2,3,…,p).
wjk (baru) = wjk(lama) + Δwjk
Tiap-tiap unit tersembunyi (zj, j=1,2,3,…,p) memperbaiki bias dan bobotnya (i=0,1,2,3,…,n)
vij(baru) = vij(lama) + Δvij
  • Tes kondisi berhenti.
Daftar pustaka
Hermawan, A. (2006). Jaringan Syaraf Tiruan Teori dan Aplikasi. Yogyakarta: Penerbit Andi
Kusumadewi, S. (2003). Artifical Intellegence (Teknik dan Aplikasinya). Yogyakarta: Graha Ilmu
Puspaningrum, D. (2006). Pengantar Jaringan Syaraf Tiruan. Yogyakarta : Andi Offset

Sumber :
https://jalanwaktu.wordpress.com/jaringan-syaraf-tiruan/




Algoritma Genetik



Algoritma Genetik
Algoritma genetic adalah suatu metoda pencarian (search) acak yang didasarkan atas prinsip evolusi yang terjadi di alam. Dalam proses evolusi, individu secara terusmenerus mengalami perubahan gen untuk menyesuaikan dengan lingkungan hidupnya. Hanya individu yang kuat yang mampu bertahan, sehingga dalam proses evolusi dapat diharapkan diperoleh individu yang terbaik. Proses seleksi alamiah ini melibatkan perubahan gen yang terjadi pada individu melalui proses perkembangbiakan untuk mendapatkan keturunan yang lebih baik.

Genetik
Cabang biologi yang mempelajari tentang keturunan dan variasi mahluk hidup
Informasi genetik manusia tesimpan dalam sel tepatnya di kromosom.
Dalam sel manusia kromosom bentuknya berpasangan dan terdapat 23 pasang Kromosom ini terbentuk dari bagian-bagian yang disebut gen Gen inilah yang mengatur properti dan karateristik suatu individu eg: Warna mata, jenis rambut
Gen akan menentukan sifat individu dan keturunan berikutnya Kumpulan dari gen yang terdapat dalam sebuah populasi akan menentukan jumlah variasi keturunan yang dimungkinkan
Sejarah
Landasan teoritis untuk Algoritma genetik ini diajukan oleh John Holland dalam bukunya yang berjudul “Adaption in Natural and Artificial Systems” pada tahun 1975, yang kemudian dikembangkan lebih lanjut oleh
muridnya David Goldberg. Proses genetika dari organisme-organisme biologi yang berdasar pada teori evolusi Charles Drawin
Dasar Algoritma Genetik
-Populasi-
Populasi adalah kumpulan kromosom (chromosome). Kromosom ini dibentuk dari komponen-komponen penyusun yang disebut sebagai gen dan nilainya dapat berupa bilangan numerik, biner, simbol ataupun karakter tergantung dari permasalahan yang ingin diselesaikan.
Individu merupakan kumpulan gen dalam sistem algoritma genetik bisa dikatakan sama dengan kromosom. Gen ini bisa biner, float, dan kombinatorial. Individu dalam algoritma genetik dapat juga menyatakan salah satu kemungkinan solusi yang dicari. Misalkan dalam travel salesman problem individu dapat menyatakan suatu jalur terpendek yang akan ditempuh.
Dasar Algoritma Genetik
-Nilai Fitness-
Sebelum algoritma ini dijalankan, masalah apa yang ingin dioptimalkan
itu harus dinyatakan dalam fungsi tujuan, yang dikenal dengan fungsi fitness.
Jika nilai fitness semakin besar, maka sistem yang dihasilkan semakin baik
Kromosom dengan nilai fitness yang tinggi ini akan memberikan probabilitas yang tinggi untuk bereproduksi pada generasi selanjutnya. Sehingga untuk setiap generasi pada proses evolusi, fungsi fitness yang mensimulasikan seleksi alam, akan menekan populasi kearah fitness yang meningkat.
Prinsip Kerja
Membangkitkan populasi awal, Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri dari sejumlah kromosom yang merepresentasikan solusi yang diinginkan. Membentuk generasi baru, Dalam membentuk digunakan tiga operator yang telah disebut di atas yaitu operator reproduksi/ seleksi, perkawinan silang dan mutasi. Proses ini dilakukan berulangulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru.
Evaluasi solusi, Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah 2.
Beberapa kriteria berhenti yang sering digunakan antara lain:
Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah. Berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness yang lebih tinggi.
Beberapa Definisi Penting
Genotype (Gen), sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini bisa berupa nilai biner, float, integer maupun karakter. Allele, nilai dari gen.
Kromosom, gabungan gen-gen yang membentuk nilai tertentu. Individu, menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat
Populasi, merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evolusi. Generasi, menyatakan satu-satuan siklus proses
evolusi. Nilai Fitness, menyatakan seberapa baik nilai dari suatu
individu atau solusi yang didapatkan.

Sumber :
https://aiukswgkelompok11.wordpress.com/algoritma-genetik/#comment-99

Komentar

Postingan Populer