bab ii tinjauan pustaka 2.1. logika fuzzy -...
Post on 17-May-2019
226 Views
Preview:
TRANSCRIPT
BAB II
TINJAUAN PUSTAKA
2.1. Logika Fuzzy
Sebelum munculnya teori logika fuzzy (Fuzzy Logic), dikenal sebuah logika tegas
(Crisp Logic) yang memiliki nilai benar atau salah secara tegas. Prinsip ini
dikemukakan oleh Aristoteles sekitar 2000 tahun yang lalu sebagai hukum Excluded
Middle dan hukum ini telah mendominasi pemikiran logika sampai saat ini. Namun,
pemikiran mengenai logika konvensional dengan nilai kebenaran yang pasti yaitu
benar atau salah dalam kehidupan nyata sangatlah tidak cocok. Fuzzy logic (logika
samar) merupakan suatu logika yang dapat merepresentasikan keadaan yang ada di
dunia nyata. Logika fuzzy merupakan sebuah logika yang memiliki nilai kekaburan
atau kesamaran (fuzzy) antara benar dan salah.
Teori tentang himpunan logika fuzzy pertama kali dikemukakan oleh Prof.
Lofti Zadeh sekitar tahun 1965 pada sebuah makalah yang berjudul ‘Fuzzy Sets’. Ia
berpendapat bahwa logika benar dan salah dari logika boolean/konvensional tidak
dapat mengatasi masalah yang ada pada dunia nyata. Tidak seperti logika boolean,
logika samar mempunyai nilai yang kontinu. Samar dinyatakan dalam derajat dari
suatu keanggotaan dan derajat dari kebenaran. Oleh sebab itu sesuatu dapat
dikatakan sebagian benar dan sebagian salah pada waktu yang bersamaan. Teori
himpunan individu dapat memiliki derajat keanggotaan dengan nilai yang kontinu,
bukan hanya 0 dan 1 (Zadeh, 1965).
Dengan teori himpunan logika samar, kita dapat merepresentasikan dan
menangani masalah ketidakpastian yang dalam hal ini bisa berarti keraguan,
ketidaktepatan, kurang lengkapnya suatu informasi, dan kebenaran yang bersifat
sebagian (Altrock, 1997). Di dunia nyata, seringkali kita menghadapi suatu masalah
yang informasinya sangat sulit untuk diterjemahkan ke dalam suatu rumus atau
Universitas Sumatera Utara
angka yang tepat karena informasi tersebut bersifat kualitatif (tidak bisa diukur
secara kuantitatif). Pada Gambar 2.1 diperlihatkan diagram blok pengendali logika
fuzzy.
Crisp Inputs
Fuzzyfikasi
Fuzzy Inputs
Rule Evaluation
Fuzzy Outputs
Defuzzyfication
Crisp Outputs
Inputs Membership
Function
Output Membership
Function
Rules Based
Gambar 2.1 Diagram blok pengendali logika fuzzy.
Sumber : Jang et al. (1997)
Himpunan samar (fuzzy sets) adalah sekumpulan objek X di mana masing-
masing objek memiliki nilai keanggotaan (membership function), M atau yang
disebut juga dengan nilai kebenaran dan nilai ini dipetakan ke dalam daerah hasil
range (0,1). Jika X merupakan sekumpulan objek dengan anggotanya dinyatakan
dengan X maka himpunan samar dari A di dalam X adalah himpunan dengan
sepasang anggota (Zadeh, 1968).
Teori himpunan samar merupakan suatu teori tentang konsep penilaian dan
segala sesuatu merupakan persoalan derajat atau diibaratkan bahwa segala sesuatu
memiliki elastisitas. Pada Gambar 2.2 diperlihatkan ilustrasi fuzzy dan crisp set
himpunan umur.
Universitas Sumatera Utara
Nila
i kea
nggo
taan
Crisp Set
Fuzzy Set
Umur
1
0 10
0.5
20
Gambar 2.2: Ilustrasi fuzzy dan crisp set.
Sumber : Hagan (1996)
Pada Gambar 2.2 diilustrasikan representasi dengan crisp set yang
menyatakan bahwa jika seseorang berumur dibawah 10 tahun maka ia merupakan
himpunan orang muda, jika tidak maka ia tergolong tua. Sebaliknya dengan
menggunakan fuzzy set, himpunan orang muda ditentukan oleh derajat
keanggotaannya. Secara khusus kurva semacam ini disebut sebagai fungsi
keanggotaan (membership function).
2.2 Fuzzyfikasi (Fuzzyfication)
Fuzzyfikasi adalah suatu proses pengubahan nilai tegas/real yang ada kedalam
fungsi keanggotaan (Hagan, 1996). Pada gambar 2.3 diperlihatkan contoh fungsi
keanggotaan suhu. Dari Gambar 2.3 akan dihitung fuzzyfikasi dari suhu 35o
C.
Gambar 2.3 : Fungsi keanggotaan suhu
Sumber : Hagan (1996)
Dengan menggunakan fungsi keanggotaan segitiga, maka crisp input suhu 35o
15 30 60 45
Panas Dingin
A2
A1
µµ
Suhu (oC)
C
dikonversi ke nilai fuzzy dengan cara :
Universitas Sumatera Utara
Suhu 35o C berada pada nilai linguistik dingin dan panas. Semantik atau derajat
keanggotaan untuk dingin dihitung dengan menggunakan rumus:
(2.1)
Dimana b=30 dan c=45, sehingga derajat keanggotaan dingin adalah :
Sedangkan semantik atau derajat keanggotaan untuk panas dihitung dengan
menggunakan rumus:
(2.2)
Dimana a=30 dan b=45, sehingga derajat keanggotaan panas adalah :
Dari hasil perhitungan diatas, maka, proses fuzzyfikasi menghasilkan 2 fuzzy input,
yaitu suhu dingin (2/3) dan suhu panas (1/3)
2.2.1 Linguistic Variable
Dalam teori logika fuzzy dikenal himpunan fuzzy (fuzzy set) yang merupakan
pengelompokan sesuatu berdasarkan variabel bahasa (variabel linguistic) yang
dinyatakan dalam fungsi keanggotaan. Variabel linguistik adalah variabel yang
berupa kata/kalimat, bukan berupa angka. Sebagai alasan menggunakan
kata/kalimat dari pada angka karena peranan linguistik kurang spesifik
dibandingkan angka, namun informasi yang disampaikan lebih informatif. Variabel
linguistik ini merupakan konsep penting dalam logika samar dan memegang
peranan penting dalam beberapa aplikasi (Zadeh, 1968).
Konsep tentang variabel linguistik ini diperkenalkan oleh Lofti Zadeh.
Menurut Zadeh variabel linguistik ini dikarakteristikkan dengan (X, T(x), U, G, M),
dimana: (Zadeh, 1968)
X = nama variabel (variabel linguistik)
T(x) = semesta pembicaraan untuk x atau disebut juga nilai linguistik dari x
Universitas Sumatera Utara
U = jangkauan dari setiap nilai samar untuk x yang dihubungkan
dengan variabel dasar U
G = aturan sintaksis untuk memberikan nama (x) pada setiap nilai X
M = aturan semantik yang menghubungkan setiap X dengan artinya.
Sebagai contoh, jika :
X = ”umur” dengan U [10,80] dan T (umur) = {remaja, muda, tua}
Maka M untuk setiap X, M (x) adalah M (remaja), M (muda), M (tua), dimana :
M (remaja) = himpunan samarnya ”umur dibawah 20 tahun” dengan
fungsi keanggotaan m remaja.
M (muda) = himpunan samarnya ”umur mendekati 40 tahun” dengan
fungsi keanggotaan m muda
M (tua) = himpunan samarnya ”umur diatas 50 tahun” dengan fungsi
keanggotaan m tua.
Maka nilai dari M dapat dilihat dari Gambar 2.4 berikut ini :
Degree of Membeship Remaja Muda Tua
1
0 20 50 40
Gambar 2.4 : Fungsi keanggotaan kelompok umur
Sumber : Russel (2002)
2.2.2 Membership Function
Di dalam fuzzy systems, fungsi keanggotaan memainkan peranan yang sangat
penting untuk merepresentasikan masalah dan menghasilkan keputusan yang
akurat. Menurut Jang et al. (1997), Membership Function (MF) adalah kurva
yang memetakan setiap titik pada input-an (universe of discourse) ke sebuah
nilai keanggotaan (derajat keanggotaan) yang memiliki nilai antara 0 dan 1 yang
didefinisikan secara matematis oleh persamaan:
Universitas Sumatera Utara
μA(x) : X → [0, 1] (2.3)
Setiap elemen x dipetakan pada sebuah nilai keanggotaan oleh MF. Nilai ini
merupakan derajat keanggotaan dari x pada himpunan fuzzy A. μA(x) = Degree (x ∈ A) (2.4)
Dimana nilai keangotaan dari x dibatasi oleh:
0 ≤ μA(x) ≤ 1 (2.5)
Fungsi keanggotaan yang umum digunakan adalah: fungsi segitiga, fungsi
trapesium, fungsi gaussian, fungsi bell dan fungsi sigmoid. Bentuk dari masing-
masing fungsi keanggotaan adalah sebagai berikut (Jang et al. 1997) :
1. Fungsi linear
Pada representasi linear, pemetaan input ke dejarat keanggotaannya
digambarkan sebagai suatu garis lurus. Ada dua keadaan himpunan fuzzy
linear, yaitu :
a. Kenaikan himpunan dimulai pada nilai domain yang memiliki derajat
keanggotaan nol (0) bergerak ke kanan menuju ke nilai domain yang
memiliki derajat keanggotaan lebih tinggi, seperti pada Gambar 2.5 :
1
0.8
0.6
0.4
0.2
0
10.80.60.40.20
Der
ajat
Kea
nggo
taan
Gambar 2.5 : Fungsi keanggotaan linear naik
Sumber : Jang et al. (1997)
Universitas Sumatera Utara
Fungsi keanggotaan :
(2.6)
b. Garis lurus dimulai dari nilai domain dengan derajat keanggotaan
tertinggi pada sisi kiri, kemudian bergerak turun ke nilai domain yang
memiliki derajat keanggotaan lebih rendah, seperti pada Gambar 2.6 :
1
0.8
0.6
0.4
0.2
0
10.80.60.40.20
Der
ajat
Kea
nggo
taan
Gambar 2.6 : Fungsi keanggotaan linear turun
Sumber : Jang et al. (1997)
Fungsi keanggotaan :
(2.7)
2. Fungsi segitiga.
Fungsi keanggotaan berbentuk segitiga didefinisikan oleh 3 parameter a,
b, c dengan persamaan:
(2.8)
Fungsi segitiga dengan parameter: segitiga (x;0.2,0.6,0.8) ditunjukkan
dalam Gambar 2.7 :
Universitas Sumatera Utara
1
0.8
0.6
0.4
0.2
0
10.80.60.40.20
mf1
Der
ajat
Kea
nggo
taan
Gambar 2.7 : Fungsi keanggotaan segitiga (triangle).
Sumber : Yan et al. (1994)
3. Fungsi Trapesium.
Fungsi keanggotaan berbentuk trapesium didefinisikan oleh 4 parameter
a, b, c, d dengan persamaan :
(2.9)
Fungsi Trapesium dengan parameter: trapesium (x;0.1,0.2,0.6,0.95)
ditunjukkan dalam Gambar 2.8:
1
0.8
0.6
0.4
0.2
0
10.80.60.40.20
mf1
Der
ajat
Kea
nggo
taan
X Gambar 2.8 : Fungsi keanggotaan trapesium (trapezoidal).
Sumber : Yan et al. (1994)
4. Fungsi Gaussian.
Fungsi keanggotaan berbentuk Gaussian didefinisikan oleh 2 parameter
σ, dan c dengan persamaan:
(2.10)
Universitas Sumatera Utara
Fungsi Gaussian dengan parameter: Gaussian (x;0.15,0.5) ditunjukkan
dalam Gambar 2.9 berikut ini:
1
0.8
0.6
0.4
0.2
0
10.80.60.40.20
mf1
Der
ajat
Kea
nggo
taan
X
Gambar 2.9 : Fungsi keanggotaan gaussian. σ = standar deviasi,
c = pusat.
Sumber : Jang et al. (1997)
5. Fungsi Bell.
Fungsi keanggotaan berbentuk bell didefinisikan oleh 3 parameter a, b
dan c dengan persamaan:
(2.11)
Fungsi Bell dengan parameter: bell (x;0.25,2.5,0.5) ditunjukkan dalam
Gambar 2.10:
1
0.8
0.6
0.4
0.2
0
10.80.60.40.20
mf1
Der
ajat
Kea
nggo
taan
X Gambar 2.10 : Fungsi keanggotaan Bell.
Sumber : Yan et al. (1994)
Universitas Sumatera Utara
Parameter a, b dan c yang menspesifikasikan fungsi Bell ditunjukkan
dalam Gambar 2.11 berikut ini:
1
0.8
0.6
0.4
0.2
0
10.80.60.40.20
mf1
Dera
jat K
eang
gota
an
X
c-a c+ac
slope=-b/2a
Gambar 2.11 : Letak parameter a,b dan c pada fungsi keanggotaan bell.
Sumber : Yan et al. (1994)
6. Fungsi Sigmoid.
Fungsi keanggotaan Sigmoid didefinisikan oleh 2 parameter a dan c
dengan persamaan:
(2.12)
Jika nilai a > 0, maka fungsi sigmoid akan membuka ke kanan, sedang
jika a < 0 maka fungsi sigmoid akan membuka ke kiri. Fungsi Sigmoid
membuka ke kanan dengan parameter: sigmoid (x;12,0.25) ditunjukkan
dalam Gambar 2.12:
Gambar 2.12 : Fungsi keanggotaan sigmoid membuka ke kanan.
Universitas Sumatera Utara
Sumber : Yan et al. (1994)
Sedangkan fungsi Sigmoid membuka ke kiri dengan parameter: sigmoid
(x;-12,0.75) ditunjukkan dalam Gambar 2.13 berikut ini:
Gambar 2.13 : Fungsi keanggotaan sigmoid membuka ke kiri.
Sumber : Jang et al. (1997)
2.2.3 Aturan Dasar
Aturan dasar pada kontrol logika fuzzy merupakan suatu bentuk aturan
relasi/implikasi “Jika-maka” atau “If-Then” seperti pada pernyataan berikut
(Haykin, 1999):
“Jika” X=A dan “jika” Y=B “Maka” Z=C
Jadi aturan dasar pada control logika fuzzy (fuzzy logic control)
ditentukan dengan bantuan seorang pakar yang mengetahui karakteristik objek
yang akan dikendalikan. Aturan dasar tersebut dapat dinyatakan dalam bentuk
matriks aturan dasar kontrol logika fuzzy. Contoh aturan dasar dari rancangan
pengaturan suhu ruangan dapat dilihat pada tabel 2.1.
Tabel 2.1 Contoh matriks aturan dasar perancangan kontrol logika fuzzy
Y X B S K
B K K B Z S K S K
K B K B
Dimana :
X : Suhu, Y : Kecepatan Kipas, Z : Sumber Frekuensi
Universitas Sumatera Utara
B : Besar, S : Sedang, K : kecil
2.2.4 Defuzzyfication
Defuzzyfication merupakan proses pemetaan himpunan fuzzy kehimpunan tegas
(crisp) (Haykin, 1999). Proses ini merupakan kebalikan dari proses fuzzyfikasi.
Proses defuzzyfikasi diekspresikan sebagai berikut :
Z* = defuzzifier (Z) (2.13) Dimana :
Z = Hasil penalaran fuzzy
Z* = Keluaran kontrol fuzzy logic
Defuzzifier = Operasi defuzzier
Metode dalam melakukan defuzzifikasi antara lain :
1. Metode Max (Maximum)
Metode ini juga dikenal dengan metode puncak dimana nilai keluaran
dibatasi oleh fungsi :
(2.14)
2. Metode Titik Tengah (Center of Area)
Metode ini juga disebut pusat area. Metode ini lazim dipakai dalam
proses defuzzyfikasi. Metode ini diekspresikan dengan persamaan :
(2.15)
3. Metode Rata-Rata (Average)
Metode ini digunakan untuk fungsi keanggotaan keluaran yang simetris.
Persamaan dari metode ini adalah :
(2.16)
4. Metode penjumlahan Titik Tengah (Summing of center area)
Metode ini dinyatakan dengan persamaan :
Universitas Sumatera Utara
(2.17)
5. Metode Titik Tengah Area Terbesar.
Dalam metode ini keluaran dipilih berdasarkan titik pusat area terbesar
yang ada. Metode ini dinyatakan dalam bentuk :
(2.18)
Selanjutnya keluaran dari defuzzyfikasi tersebut akan digunakan sebagai
keluaran kontrol logika fuzzy.
2.3 Neural Networks
Neural Networks (NN) atau Jaringan Syaraf Tiruan (JST) adalah prosesor yang
terdistribusi paralel, terbuat dari unit-unit yang sederhana, dan memiliki
kemampuan untuk menyimpan pengetahuan yang diperoleh secara eksperimental
dan siap pakai untuk berbagai tujuan (Rajasekaran, 2005). 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.
Jaringan syaraf tiruan merupakan algoritma pembelajaran yang meniru
cara kerja sel syaraf. Selama proses pembelajaran, bobot-bobot dan bias selalu
diperbaharui menggunakan algoritma belajar, jika ada error pada keluaran. Untuk
proses identifikasi, bobot-bobot yang secara langsung memboboti masukan inilah
yang dinamakan sebagai parameter yang dicari, seperti terlihat pada Gambar 2.14,
parameter yang dicari adalah harga W1, W2, W3
dan Wn. Dalam identifikasi secara
on-line, neuron ataupun jaringan neuron akan selalu ‘belajar’ setiap ada data
masukan dan keluaran.
Universitas Sumatera Utara
X1
Xn
X3
X2
∑ Y
W1
W2
W3
Wn
Gambar 2.14: Proses komunikasi antar neuron
Sumber : Rajasekaran (2005)
Gambar 2.14 memperlihatkan bahwa NN terdiri atas satuan-satuan
pemroses berupa neuron. Y sebagai output menerima input dari neuron X1, X2, X3,
…, Xn dengan bobot W1, W2, W3, …, Wn
Konsep jaringan saraf tiruan bermula pada makalah
. Hasil penjumlahan seluruh impuls
neuron dibandingkan dengan nilai ambang tertentu melalui fungsi aktivasi f setiap
neuron. Fungsi aktivasi digunakan sebagai penentu keluaran suatu neuron.
Waffen McCulloch
dan Walter Pitts pada tahun 1943. Dalam makalah tersebut mereka mencoba untuk
memformulasikan model matematis sel-sel otak. Metode yang dikembangkan
berdasarkan sistem saraf biologi ini, merupakan suatu langkah maju dalam
industri komputer.
Suatu jaringan saraf tiruan memproses sejumlah besar informasi secara
paralel dan terdistribusi, hal ini terinspirasi oleh model kerja otak biologis.
Zurada (1992) mendefinisikan jaringan syaraf tiruan sebagai berikut: “Sistem
saraf tiruan atau jaringan saraf tiruan adalah sistem selular fisik yang dapat
memperoleh, menyimpan dan menggunakan pengetahuan yang didapatkan dari
pengalaman”. Haykin (1994) mendefinisikan jaringan saraf sebagai berikut:
“Sebuah jaringan saraf adalah sebuah prosesor yang terdistribusi paralel dan
mempunyai 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.
Universitas Sumatera Utara
2.3.1 Backpropagation Neural Network (BPNN)
Salah satu metode pelatihan dalam NN adalah pelatihan terbimbing (supervised
learning). BPNN merupakan salah satu metode yang menggunakan supervised
learning. Pada pelatihan terbimbing diperlukan sejumlah masukan dan target yang
berfungsi untuk melatih jaringan hingga diperoleh bobot yang diinginkan. Pada
setiap kali pelatihan, suatu input diberikan ke jaringan, kemudian jaringan akan
memproses dan mengeluarkan keluaran. Selisih antara keluaran jaringan dengan
target merupakan kesalahan yang terjadi, dimana jaringan akan memodifikasi
bobot sesuai dengan kesalahan tersebut.
Algoritma pelatihan Backpropagation Neural Network (BPNN) pertama kali
dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart dan Mc.Clelland
(Hagan, 1996). Pada supervised learning terdapat pasangan data input dan output
yang dipakai untuk melatih JST hingga diperoleh bobot penimbang (weight) yang
diinginkan. Penimbang itu sendiri adalah sambungan antar lapis dalam JST.
Algoritma ini memiliki proses pelatihan yang didasarkan pada interkoneksi yang
sederhana, yaitu apabila keluaran memberikan hasil yang salah, maka penimbang
dikoreksi agar galat dapat diperkecil dan tanggapan JST selanjutnya diharapkan
dapat mendekati nilai yang benar. BPNN juga berkemampuan untuk memperbaiki
penimbang pada lapis tersembunyi (hidden layer).
Wij W’jk U’kUj
Input Layer Hidden Layer Output Layer
Xi Yj Zk Ok Target Gambar 2.15 : Lapis dan aliran sinyal dalam algoritma BPNN
Sumber : Fausset (1994)
Universitas Sumatera Utara
Secara garis besar BPNN terdiri atas tiga lapis (layer) yaitu lapis masukan
(input layer) xi, lapis tersembunyi (hidden layer) yj, dan lapis keluaran (output
layer) zk. Lapis masukan dan lapis tersembunyi dihubungkan dengan penimbang wij
dan antara lapis tersembunyi dan lapis keluaran dihubungkan oleh penimbang w’jk
Pada dasarnya, metode pelatihan backpropagation terdiri dari tiga langkah, yaitu :
.
1) Data dimasukkan kedalam input node atau jaringan (feedforward);
2) Perhitungan dan propagasi balik dari error yang bersangkutan;
3) Pembaharuan (adjustment) bobot dan bias.
Pada pelatihan BPNN, ketika JST diberi pola masukan sebagai pola
pelatihan maka pola tersebut akan menuju ke unit pada lapis tersembunyi untuk
diteruskan pada unit yang berada pada lapis keluaran. Keluaran sementara pada
lapis tersembunyi uj akan diteruskan pada lapis keluaran dan lapis keluaran akan
memberikan tanggapan yang disebut sebagai keluaran sementara u’k. Ketika u’k ≠
ok dimana ok adalah target yang diharapkan, maka selisih (error) keluaran
sementara u’k
Untuk mempercepat proses pelatihan digunakan parameter laju pelatihan
(learning rate) yang nilainya berada pada kisaran 0-1. Selain parameter laju
pelatihan, untuk mempercepat proses pelatihan dapat digunakan parameter
tambahan berupa momentum yang nilainya dijaga antara 0.5 - 0.9. Ketika proses
pelatihan selesai dan JST dapat digunakan untuk menyelesaikan masalah, tahap
tersebut disebut sebagai tahap penggunaan yang disebut mapping atau pemetaan.
akan disebarkan mundur (backward) pada lapis tersembunyi dan
diteruskan ke unit pada lapis masukan. Oleh karena itu proses tersebut disebut
propagasi balik (backpropagation) dimana tahap pelatihan dilakukan dengan
merubah penimbang yang menghubungkan unit dalam lapis JST ketika diberi
umpan maju dan umpan balik.
Algoritma pelatihan BPNN terdiri dari dua tahap, yaitu feedforward
propagation dan feed backward propagation. Untuk selengkapnya, notasi-notasi
yang akan digunakan pada algoritma BPNN adalah :
Universitas Sumatera Utara
x Data trainning untuk input
x = ( x1,…,xi,…,xn
t
)
Data trainning untuk output (target/desired output)
t = ( t1,…,tk,…,tm )
α
Learning rate, yaitu parameter yang mengontrol perubahan bobot selama
pelatihan. Jika learning rate besar, jaringan semakin cepat belajar, tetapi
hasilnya kurang akurat. Learning rate biasanya dipilih antara 0 dan 1
Unit input ke-i. untuk unit input, sinyal yang masuk dan keluar pada suatu
unit dilambangkan dengan variabel yang sama, yaitu
Hidden unit ke-j. sinyal input pada dilambangkan dengan . Sinyal
output (aktivasi) untuk dilambangkan dengan
Bias untuk hidden unit ke-j
Bobot antara unit input ke-i dan hidden unit ke-j
Unit output ke-k. sinyal input ke dilambangkan . Sinyal output
(aktivasi) untuk dilambangkan dengan
Bias untuk unit output ke-k
Bobot antara hidden unit ke-j dan unit output ke-k
Faktor koreksi error untuk bobot
Faktor koreksi error untuk bobot
Langkah-langkah Algoritma Backpropagation Neural Network (BPNN).
a. Algoritma Pelatihan
Pelatihan suatu jaringan dengan algoritma backpropagation meliputi dua tahap :
1. Feedforward propagation.
2. Feed backward propagation.
Selama proses feedforward propagation, tiap unit masukan (xi) menerima
sebuah masukan sinyal ini ke tiap-tiap lapisan tersembunyi z1,…..,zp. Tiap unit
tersembunyi ini kemudian menghitung aktivasinya dan mengirimkan sinyalnya ( )
Universitas Sumatera Utara
ke tiap unit keluaran. Tiap unit keluaran menghitung aktivasinya untuk
membentuk respon pada jaringan untuk memberikan pola masukan. Selama
pelatihan, tiap unit keluaran membandingkan perhitungan aktivasinya dengan
nilai targetnya untuk menentukan kesalahan pola tersebut dengan unit itu.
Berdasarkan kesalahan ini, faktor (k = 1,..,m) dihitung. digunakan
untuk menyebarkan kesalahan pada unit keluaran yk kembali ke semua unit pada
lapisan sebelumnya (unit-unit tersembunyi yang dihubungkan ke ), selain itu
juga digunakan (nantinya) untuk meng-update bobot-bobot antara keluaran dan
lapisan tersembunyi. Dengan cara yang sama, faktor (j = 1,…,p) dihitung untuk
tiap unit tersembunyi , tanpa perlu untuk menyebarkan kesalahan kembali ke
lapisan masukan, tetapi δj
Setelah seluruh faktor δ ditentukan, bobot untuk semua lapisan diatur
secara serentak. Pengaturan bobot w
digunakan untuk meng-update bobot-bobot antara
lapisan tersembunyi dan lapisan masukan.
jk (dari unit tersembunyi ke unit keluaran
) didasarkan pada faktor dan aktivasi dari unit tersembunyi didasarkan
pada faktor dan aktivasi unit masukan. Untuk langkah selengkapnya adalah
(Laurence, 1994) :
b. Prosedur Pelatihan
Berikut adalah langkah-langkah pelatihan backpropagation secara lebih detail.
Langkah 0 : Inisialisasi bobot dan bias. (sebaiknya diatur pada nilai acak
yang kecil, disekitar 0 dan 1 atau -1 (bias positif atau
negatif));
Langkah 1 : Jika kondisi berhenti belum tercapai, lakukan langkah 2-9;
Langkah 2 : Untuk setiap data trainning, lakukan langkah 3-8.
Umpan Maju (Feedforward Propagation):
Langkah 3
: Tiap unit input (xi, i = 1,…, n) menerima sinyal xi dan
menyebarkan sinyal ini ke seluruh unit lapisan di atasnya
(hidden unit). Input xi yang dipakai adalah input trainning
Universitas Sumatera Utara
data yang sudah diskalakan. Pertama, input yang mungkin
dipakai dalam sistem dicari nilai terendah dan tertingginya,
kemudian, skala yang digunakan tergantung dari fungsi
aktivasinya;
Langkah 4
: Setiap hidden unit ( , j = 1,…, p) akan menjumlahkan bobot
sinyal masukannya, termasuk biasnya;
(2.19)
Dimana voj = bias pada unit tersembunyi j, kemudian
aplikasikan fungsi aktivasi yang telah ditentukan untuk
menghitung sinyal output dari hidden unit yang
bersangkutan;
= f ( ) (2.20)
lalu kirimkan sinyal output ini keseluruh unit pada lapisan
diatasnya (output unit).
Langkah 5
: Tiap unit ouput ( , k = 1,…, m) akan menjumlahkan
bobot sinyal masukannya, termasuk biasnya;
(2.21)
Dimana wok = bias pada unit keluaran k, kemudian
aplikasikan fungsi aktivasi yang telah ditentukan untuk
menghitung sinyal output dari unit output yang bersangkutan;
= f ( ) (2.22)
lalu kirimkan sinyal output ini keseluruh unit pada lapisan
diatasnya (output unit).
Universitas Sumatera Utara
Propagasi error (Feed backward propagation).
Langkah 6
: Tiap unit ouput ( , k = 1,…, m) menerima pola target
(desired output) yang sesuai dengan pola input (input
trainning pattern) untuk menghitung kesalahan (error) antara
target dengan output yang dihasilkan jaringan;
(2.23)
Dimana :
δk = error pada node ke-k
= target ke-k
f’(x) = f(x) [1-f(x)]
Output trainning data tk
Gunakan faktor
telah diskalakan menurut fungsi
aktivasi yang dipakai.
untuk menghitung koreksi bobotnya
(digunakan untuk memperbaharui wjk nantinya);
(2.24)
Hitung koreksi biasnya (digunakan untuk memperbaharui wok
nantinya)
(2.25)
Kirimkan faktor δk
ini ke unit-unit pada lapisan dibawahnya
(layer pada langkah 7);
Langkah 7
: Setiap hidden unit ( , j = 1,…, p) menjumlahkan input delta
dari unit-unit lapisan diatasnya (yang dikirim dari layer pada
langkah 6) yang sudah berbobot;
(2.26)
Kalikan hasilnya dengan turunan dari fungsi aktivasi yang
Universitas Sumatera Utara
digunakan untuk menghasilkan faktor koreksi error
dimana :
(2.27)
Faktor ini digunakan untuk menghitung koreksi error
( ) (digunakan untuk memperbaharui vij nanti), dimana;
(2.28)
Selain itu juga dihitung koreksi bias (digunakan untuk
memperbaharui voj nanti), dimana;
(2.29)
Pembaharuan bobot (adjustment) dan bias.
Langkah 8
: Tiap unit output ( , k = 1,…, m) akan mengupdate bias dan
bobotnya dari setiap hidden unit (j = 0,…, p) ;
(baru) = (lama) + Δ
(2.30)
Tiap unit hidden unit ( , j = 1,…, p) akan mengupdate bias
dan bobotnya dari setiap unit input (i = 0,…,n) :
(baru) = (lama) + Δ (2.31)
Langkah 9
: Test kondisi berhenti.
Jika stop condition (kondisi berhenti) telah terpenuhi, maka
proses pelatihan dapat dihentikan. Ada dua cara yang dapat
dilakukan untuk menentukan stopping condition (test kondisi
berhenti), yaitu :
Cara 1 : Membatasi jumlah iterasi yang ingin dilakukan
(satu iterasi merupakan perulangan langkah 3
Universitas Sumatera Utara
sampai dengan langkah 8 untuk semua trainning
data yang ada). Jika jumlah iterasi telah
terpenuhi, maka proses pelatihan akan berhenti.
Cara 2 : Membatasi error. Untuk metode BPNN, metode
yang digunakan adalah Mean Square Error,
untuk menghitung rata-rata error antara output
yang dikehendaki pada trainning data dengan
output yang dihasilkan oleh jaringan. Besarnya
persen error ini tergantung kepresisian yang
dibutuhkan oleh sistem yang bersangkutan.
c. Prosedur Pengujian :
Setelah pelatihan, jaringan saraf backpropagation diaplikasikan dengan hanya
menggunakan tahap perambatan maju dari algoritma pelatihan. Prosedur
aplikasinya adalah sebagai berikut :
Langkah 0 : Inisialisasi bobot (dari algoritma pelatihan).
Langkah 1 : Untuk tiap vektor masukan, lakukan langkah 2 - langkah 4.
Langkah 2 : for i = 1,…, n : atur aktivasi unit masukan xi
Langkah 3
.
: for j = 1,…, p :
(2.32)
zj = f ( ) (2.33)
for k = 1,…, m :
Langkah 4
:
(2.34)
yk = f ( ) (2.35)
Langkah 5 : Jika yk ≥ 0,5 maka yk = 1, else yk
= 0.
Universitas Sumatera Utara
2.3.2 Algoritma Kohonen Map
Kohonen Map atau bisa disebut Self Organizing Map diperkenalkan pertama
kali oleh Prof. Teuvo Kohonen dari Finlandia pada tahun 1982 (Kohonen,
1982). Kohonen map merupakan salah satu algoritma jaringan syaraf tiruan yang
cukup unik karena membangun sebuah topology preserving map dari ruang
berdimensi tinggi ke dalam neuron-neuron sebagai representasi dari datapoint
yang ada.
Kohonen map merupakan salah satu metode jaringan syaraf tiruan
unsupervised learning (tidak terawasi). Jaringan ini tidak mendapatkan target,
sehingga JST mengatur bobot interkoneksi sendiri. Belajar tanpa pengawasan
(Self Organizing Learning) adalah belajar mengklasifikasikan tanpa dilatih. Pada
proses belajar tanpa pengawasan, JST akan mengklasifikasikan contoh pola-
pola masukan yang tersedia ke dalam kelompok yang berbeda-beda. Ketika data
diberikan ke dalam jaringan syaraf, data akan mengatur struktur dirinya sendiri
untuk merefleksikan dari pola yang diberikan. Pada kebanyakan model ini,
batasan mengacu pada determinasi kekuatan antar neuron.
Pada jaringan kohonen, suatu lapisan yang berisi neuron-neuron akan
menyusun dirinya sendiri berdasarkan input nilai tertentu dalam suatu kelompok
yang dikenal dengan istilah cluster. Selama proses penyusunan diri, cluster yang
memiliki vektor bobot paling cocok dengan pola input (memiliki jarak yang
paling dekat) akan terpilih sebagai pemenang. Neuron yang menjadi pemenang
beserta neuron-neuron tetangganya akan memperbaiki bobot-bobotnya.
Langkah-langkah Algoritma Kohonen
Berikut merupakan langkah-langkah algoritma kohonen :
Langkah 0 : Inisialisasi bobot :
Set parameter-parameter tetangga
Set parameter learning rate
Universitas Sumatera Utara
Langkah 1 : Kerjakan jika kondisi berhenti bernilai FALSE
a. Untuk setiap vektor input x, kerjakan :
• Untuk setiap j, hitung :
boboti =
• Bandingkan boboti
• Untuk bobot
untuk mencari bobot terkecil
i terkecil, ambil (lama) untuk mendapatkan :
(baru)= (lama) + α (xi – (lama))
(2.36)
(2.37)
b. Perbaiki learning rate
α (baru) =0,5 * α (2.38)
c. Kurangi radius ketetanggaan pada waktu-waktu
tertentu, dengan cara meng-update nilai boboti
d. Tes kondisi berhenti (min error atau maxepoch
terpenuhi)
2.4 Normalisasi Data
Dalam proses pembelajaran (trainning), jaringan membutuhkan data trainning
yaitu data yang di-input-kan. Pada proses yang menggunakan derajat keanggotaan
yang berada pada interval 0 dan 1 maka transformasi data hendaknya dilakukan
pada interval yang lebih kecil yaitu [0.1 , 0.9], untuk itu perlu dilakukan
normalisasi data, agar terbentuk data yang berada diantara 0 dan 1. Salah satu
rumus yang dapat digunakan dalam proses normalisasi data tersebut adalah
persamaan berikut :
Universitas Sumatera Utara
(2.39)
Dimana :
: data actual yang telah dinormalisasi
: nilai maksimum data actual
: nilai minimum data actual
a : data terkecil
b : data terbesar
2.5 Smoothing Grafik
Proses smoothing grafik dilakukan untuk mendapatkan hasil grafik yang lebih baik.
Proses ini dilakukan dengan mengambil titik puncak dari grafik hasil trainning
yang telah terbentuk dari titik puncak grafik tersebut, kemudian akan ditarik garis
linear dari titik awal dan titik akhir sehingga dapat menghasilkan grafik yang lebih
baik.
2.6 Riset Terkait
Dalam melakukan penelitian, penulis menggunakan beberapa riset terakait yang
dijadikan acuan yang membuat penelitian berjalan lancar. Adapun riset-riset
terkait tersebut adalah :
Tabel 2.2. Riset terkait
No Judul Riset Nama Peneliti Dan Tahun
Metode Yang Digunakan
Hasil Penelitian
1. Induction of fuzzy rules and membership functions from trainning examples
Hong, Tzung-Pei. dan Lee, Chai-Ying. 1996
Trainning examples
Metode Trainning Examples untuk menghasilkan fuzzy rules dan fungsi keanggotaan secara otomatis
2. Identification of membership functions based on fuzzy observation data
Tamaki, Futoshi. Kanagawa, Akihiro. dan Ohta, Hiroshi.
Fuzzy observation model
Metode identifikasi fungsi keanggotaan berdasarkan frekuensi dari fuzzy set yang dipilih.
Universitas Sumatera Utara
1998
Tabel 2.2. Riset terkait (Lanjutan)
3. Neural Networks in Materials Science.
Bagis, Aytekin. 2003.
Tabu search.
Optimasi membership functions untuk kontroler logika fuzzy menggunakan algoritma tabu search.
4. Fuzzy Membership Function Elicitation using Plausible Neural Network.
Li, Kuo-chen Li. dan Chang, Dar-jen. 2005
Plausible Neural Network.
Pembangkit fungsi keanggotaan otomatis dengan atau tanpa label class berdasarkan similarity dan pengukuran likelihood sampel data.
5. Generating fuzzy membership function with self-organizing feature map
Yang, Chih-Chung. dan Bose, N.K. 2006
Self-organizing feature map
Pembangkit fungsi keanggotaan fuzzy otomatis menggunakan self-organizing feature map
2.7 Perbedaan Dengan Riset Yang Lain
Berdasarkan riset yang telah dilakukan, peneliti membuat beberapa perbedaan dalam
penelitian ini, yaitu;
1) Algoritma yang digunakan adalah Neural Network;
2) Metode yang digunakan pada pembentukan membership function adalah metode
Backpropagation Neural Network;
3) Jumlah variabel input awal adalah satu variabel, yang dibangkitkan secara random
sesuai dengan dataset yang digunakan;
4) Dataset yang digunakan dalam penelitian ini terbagi dua, yaitu dataset yang
digunakan untuk setiap proses trainning yang terdiri dari dataset umur dan suhu,
serta dataset untuk proses testing yaitu dataset data nilai siswa dan berat;
5) Algoritma yang digunakan untuk penentuan target awal pada proses trainning
adalah algoritma kohonen;
6) Membership function yang dihasilkan terbentuk dengan menggunakan skala,
Universitas Sumatera Utara
yang terdiri dari Sangat Rendah (SR), Rendah (R), Sedang (S), Tinggi (T) dan
Sangat Tinggi (ST).
2.8 Kontribusi Riset
Dalam penelitian ini, algoritma yang akan digunakan dalam membangkitkan
membership function adalah metode Backpropagation Neural Network, diharapkan
dari penelitian ini akan didapatkan metode yang lebih efektif dalam menentukan
nilai membership function secara otomatis.
Universitas Sumatera Utara
top related