Makalah Seminar Tugas Akhir Periode Januari 2012
PENERAPAN METODE ADAPTIVE NEURO-FUZZY INFERENCE SYSTEM UNTUK MEMPREDIKSI NILAI POST TEST MAHASISWA PADA JURUSAN TEKNIK INFORMATIKA FTIF ITS Banon Tri Kuncahyo 1, R. V. Hari Ginardi2, Isye Arieshanti3 Teknik Informatika, Fakultas Teknologi Informasi, ITS email :
[email protected],
[email protected],
[email protected]
sangat penting adalah nilai ujian akhir semester karena mencakup pemahaman siswa tentang materi mulai dari awal semester sampai dengan materi akhir semester. Prediksi nilai ujian akhir semester ini bisa dilakukan pada siswa yang tidak bisa mengikuti ujian akhir semester tersebut sehingga harus melakukan ujian susulan sebagai bahan pertimbangan menentukan nilai kelulusan siswa. Ujian akhir semester mencerminkan pemahaman siswa terhadap materi selama satu semester berlangsung. Terdapat beberapa hambatan yang muncul ketika akan melakukan prediksi terhadap nilai ujian akhir semester. Salah satunya adalah beberapa nilai sebelumnya tidak menunjukkan trend yang sama. Nilai siswa pada beberapa nilai sebelumnya berbeda-beda tergantung pada tingkat pemahaman pada bab tersebut. Jika nilainilai sebelumnya rendah atau tinggi maka akan lebih mudah melakukan prediksi terhadap nilai ujian akhir semester, tetapi jika nilainya berubah-ubah akan susah melakukan prediksi terhadap nilai ujian akhir Beberapa penelitian sebelumnya telah dilakukan untuk memprediksi nilai ujian akhir siswa, antara lain adalah metode decision tree[2] dan statistika, antara lain discriminant analysis [2], K-Nearest Neighbour[3] dan regresi[4]. Metode decision tree menghasilkan hasil yang cukup akurat. Sementara itu, metode statistika memiliki error rates yang lebih besar dibandingkan dengan metode pada datamining, seperti machine learning. Metode statistika tidak bisa menyelesaikan masalah apabila terdapat pembobotan pada masingmasing variabel/nilai yang digunakan. Pembobotan yang dimaksud misalnya, Nilai Kuis memiliki bobot 30%, nilai UTS memiliki bobot 30% dan nilai UAS memiliki bobot 40%. Untuk mengatasi kelemahan metode sebelumnya, sebuah metode yang merupakan penggabungan antara metode sistem pengambilan keputusan fuzzy (fuzzy inference system) dan mesin pembelajaran, jaringan saraf tiruan (neural network) diterapkan untuk memprediksi nilai ujian akhir semester siswa[4]. Metode ini disebut dengan Adaptive Neuro-Fuzzy Inference System (ANFIS). Metode ANFIS merupakan metode yang menggunakan jaringan syaraf tiruan untuk mengimplementasikan sistem inferensi fuzzy. Keunggulan sistem inferensi fuzzy adalah dapat menerjemahkan pengetahuan dari pakar dalam bentuk aturan-aturan, namun biasanya dibutuhkan waktu yang lama untuk menetapkan fungsi keanggotaannya. Oleh sebab itu dibutuhkan teknik pembelajaran dari jaringan
ABSTRAKSI Pendidikan merupakan proses yang menerima input berupa siswa dengan tingkat pemahaman yang rendah, kemudian dilatih melalui beberapa tahap untuk menghasilkan individu-individu yang berkualitas. Salah satu cara untuk menilai keberhasilan pendidikan adalah dari nilai yang bersangkutan. Oleh karena itu dibutuhkan prediksi terhadap nilai tersebut untuk digunakan pada proses pendidikan selanjutnya. Adaptive Neuro-Fuzzy Inference System (ANFIS) adalah suatu metode yang bisa digunakan untuk memprediksi nilai tersebut. Tugas akhir ini mengimplementasikan metode adaptive neuro-fuzzy inference system untuk memprediksi nilai post test mahasiswa pada jurusan teknik informatika FTIf ITS dalam dua tahap. Tahap pertama adalah tahap latih menggunakan algoritma least square estimator. Tahap latih terdiri dari 2 proses yaitu forward untuk memperbaiki parameter konsekuen pada lapisan 4 dan backward utuk memperbaiki parameter premis pada lapisan 1. Tahap kedua adalah tahap uji setelah mendapatkan arsitektur jaringan yang optimum pada tahap latih. Uji coba dilakukan dengan memprediksikan nilai post test (dalam kasus ini adalah nilai UAS) pada dua dataset yang berbeda. Berdasarkan uji coba, ANFIS (Adaptive Neuro-Fuzzy Inference System) menghasilkan rata-rata error sebesar 0,01 dan RMSE sebesar 0,01 dengan 200 epoch. Pada eksperimen ini dicoba beberapa epoch dan performa yang terbaik dicapai pada epoch 200. Semakin besar epoch semakin bagus performanya. Kata Kunci: Prediksi nilai post test (UAS), ANFIS, fuzzy, jaringan saraf tiruan. 1.
PENDAHULUAN Pendidikan merupakan suatu proses yang menerima input berupa siswa dengan tingkat pemahaman yang rendah, kemudian dilatih melalui beberapa tahap pengembangan untuk kemudian menghasilkan individuindividu yang berkualitas dengan kemampuan, keterampilan dan atribut yang cocok untuk suatu pekerjaan atau tingkat pendidikan tertentu[1]. Proses ini terjadi melalui pelajaran-pelajaran di kelas yang langkah-langkah pengajaranya ditetapkan dalam kurikulum. Dari proses ini kemudian didapatkan sebuah nilai atau beberapa nilai yang saling berhubungan yang nantinya akan digunakan untuk mendapatkan nilai akhir dari sebuah proses pendidikan. Salah satu nilai yang
1
Makalah Seminar Tugas Akhir Periode Januari 2012 syaraf tiruan untuk mengotomatisasi proses tersebut sehingga dapat mengurangi waktu pencarian. Dengan mempertimbangkan kelebihan ANFIS, maka tugas Akhir ini mengimplementasikan metode ANFIS untuk memprediksi kemampuan akademik siswa. Sistem inferensi fuzzy yang digunakan adalah sistem inferensi fuzzy model Tagaki-Sugeno-Kang (TSK) orde satu dengan pertimbangan kesederhanaan dan kemudahan komputasi. Sistem fuzzy inidigabungkan dengan algoritma pembelajaran neural network.
masukkan, sedangkan unit output akan memberikan respon berdasarkan masukkan. X1 W1 X2
X3
W2
Y
W3
Gambar Error! No text of specified style in document.. Single layer network
2.
Jaringan Saraf Tiruan (Artificial Neural Network) Jaringan saraf tiruan atau artificial neural network sistem pengolah informasi yang memiliki karakter seperti jaringan saraf biologis, yaitu jaringan otak manusia. Pada jaringan saraf tiruan terdapat istilah neuron atau lebih dikenal dengan node. Setiap neuron terhubung dengan neuron lainya melalui layer dengan bobot tertentu. Bobot melambangkan informasi yang digunakan jaringan untuk menyelesaikan permasalahan. Setiap neuron memiliki internal state yang disebut dengan fungsi aktivasi. Fungsi aktivasi merupakan fungsi dari input yang diterima neuron. Satu neuron akan mengirimkan sinyal ke neuron-neuron yang lain[6].
Dalam gambar 2 di atas, X1, X2, X3 adalah simpul input dari jaringan, W1, W2, W3 adlaah bobot dari tiap simpul dan Y adalah output dari jaringan. b. Jaringan saraf multi-layer memiliki struktur tambahan selain unit input dan unit output, yaitu hidden-unit. Hidden unit berhubungan dengan tingkat kompleksitas jaringan. Semakin kompleks sebuah jaringan maka akan dibutuhkan semakin banyak jumlah hidden unit. Jaringan saraf multi-layer sering digunakan untuk menyelesaikan permasalahan yang rumit, karena pelatihan untuk permasalahan yang kompleks akan lebih berhasil jika dilakukan dengan multi-layer.
2.1. Neuron Penyusun Jaringan Saraf Tiruan Neuron adalah unit yang berfungsi untuk memproses informasi yang merupakan dasar dari operasi JST. Gambar 1 menunjukkan komponen dari neuron. Terdapat 3 elemen dasan dari neuron, yaitu : 1. Sinapsis yang menghubungkan antara neuron yang satu dengan neuron yang lain, dimana setiap sinapsis memiliki bobot masing-masing. 2. Penjumlah atau adder bertugas menjumlahkan sinyal input yang telah diberi bobot berdasarkan bobot pada sinapsis neuron tersebut. Fungsi aktivasi yang digunakan untuk membatasi keluaran dari sebuah neuron[7].
Gambar 1. Multilayer network Dalam gambar 3 di atas, X1, X2, Xn adalah simpul input dari jaringan, V11, V12,…Vn3 adalah bobot dari jaringan, Z1, Z2, Zn adalah simpul tersembunyi dari jaringan. 2.3. Fungsi Aktivasi Fungsi aktivasi adalah fungsi yang akan digunakan untuk memproses input menjadi output yang diinginkan. Penggunaan fungsi aktivasi ini tergantung pada kebutuhan dan output yang diinginkan. Berikut merupakan contoh dari fungsi aktivasi yang biasa digunakan [6]: 1. Fungsi linier/pureline Fungsi linier akan memproses input menuju output yang sebanding. Fungsi ini didefinisikan pada fungsi matematis sebagai berikut :
Gambar 1. Komponen Neuron 2.2. Arsitektur Jaringan Saraf Tiruan (Artificial Neural Network) Jaringan saraf tiruan dapat diklasifikasikan menjadi 2 (dua) jenis, yaitu single-layer dan multi-layer[6]. a. Dalam jaringan saraf single-layer, neuronneuron dikelompokkan menjadi 2 unit,yaitu unit input dan unit output. Unit input menerima
(2.1) Gambar 2.4 menggambarkan fungsi linier ini :
2
Makalah Seminar Tugas Akhir Periode Januari 2012 3.1. Himpunan Fuzzy (Fuzzy Sets) Himpunan fuzzy (fuzzy set) adalah sekumpulan obyek x dimana masing-masing obyek memiliki nilai keanggotaan (membership function) “μ” atau disebut juga dengan nilai kebenaran. Jika X adalah sekumpulan obyek dan anggotanya dinyatakan dengan x maka himpunan fuzzy dari A di dalam X adalah himpunan dengan sepasang anggota atau dapat dinyatakan dengan[8]: 𝐴 = { µA(𝑥) | 𝑥∶ 𝑥∈X,𝐴(𝑥)∈[0,1]∈ R} (3.1) Contoh, jika A = “bilangan yang mendekati 10” dimana : A = {(x, µA(x)) | µA(x ) = (1+(x-10)2)-1} A = {(0, 0.01),…,(5, 0.04),…,(10, 1),…,(15, 0.04),…} Ada beberapa hal yang perlu diketahui dalam sistem fuzzy, yaitu [8]:
Gambar 2 Fungsi linier/pureline 2.
Fungsi sigmoid Fungsi sigmoid membatasi output neuron dalam rentang antara 0 hingga 1. Fungsi ini didefinisikan pada fungsi matematis sebagai berikut : (2.2)
1.
Variabel fuzzy Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy. Contoh: umur, temperatur, permintaan, dan lain-lain. 2. Himpunan fuzzy Himpunan fuzzy merupakan suatu grup yang memiliki suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy. Contoh: Variabel temperatur terbagi menjadi 5 himpunan fuzzy, yaitu: DINGIN, SEJUK, NORMAL, HANGAT dan PANAS.
Fungsi ini digambarkan pada Gambar 2.5 :
Gambar 3 Fungsi sigmoid 3.
Fungsi tangen hiperbolik Fungsi tangent hiperbolik membatasi nilai output dalam rentang -1 hingga 1 dengan menggunakan rumus tangen hiperbolik. Fungsi ini didefinisikan pada fungsi matematis sebagai berikut : (2.3) Gambar 2.6 hiperbolik:
adalah gambar
dari
fungsi
Gambar 5 Himpunan fuzzy pada variabel temperature 3. Semesta Pembicaraan Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan atau sebaliknya. Nilai semesta pembicaraan dapat berupa bilangan positif maupun negatif. Contoh semesta pembicaraan: a. Semesta pembicaraan untuk variabel umur: [0 +∞] b. Semesta pembicaraan untuk variabel temperatur: [0 40] 4. Domain Domain himpunan fuzzy adalah keseluruhan nilai yang diizinkan dan boleh dioperasikan dalam suatu himpunan fuzzy. Semesti halnya semesta pembicaraan, domain merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai domain dapat berupa bilangan positif maupun negatif. Contoh domain himpunan fuzzy: a. DINGIN = [0, 20] b. SEJUK = [15, 25] c. NORMAL = [20, 30] d. HANGAT = [25, 35]
tangen
Gambar 4 Fungsi tangent hiperbolik Teori Logika Fuzzy Logika fuzzy menyatakan bahwa logika benar dan salah dalam logika konvensional tidak dapat mengatasi masalah gradasi yang ada pada dunia nyata. Tidak seperti logika Boolean, logika fuzzy mempunyai nilai yang kontinyu. Tingkat fuzzy dinyatakan dalam derajat keanggotaan dan derajat kebenaran. Oleh sebab itu dinyatakan bahwa sebuah kondisi bisa bernilai sebagian benar dan sebagian salah pada waktu yang sama[7]. 3.
3
Makalah Seminar Tugas Akhir Periode Januari 2012 e.
1.
PANAS = [30, 40].
2.
3.2. Fungsi Keanggotaan Fuzzy Keanggotaan (membership function) adalah suatu kurva yang menunjukkan titik-titik input data ke dalam nilai keanggotaanya (disebut juga sebagai derajat keanggotaan) yang memiliki interval antara 0 sampai 1[8]. Fungsi keanggotaan yang sering digunakan [8], antara lain : 1. Fungsi keanggotaan segitiga Fungsi keanggotaan segitiga memiliki parameter a, b, dan c dengan formula sebagai berikut: (3.2)
3. 4. 5.
Sebuah basis aturan yang berisi aturan fuzzy ifthen. Basis data yang mendefinisikan fungsi keanggotaan himpunan fuzzy. Unit pengambilan keputusan yang menyatakan operasi inferensi atas aturan-aturan yang ada. Fuzzifikasi yang mentransformasikan masukan klasik (crisp) ke derajat tertentu sesuai dengan fungsi keanggotaan. Defuzzifikasi yang mentransformasikan hasil inferensi fuzzy ke dalam bentuk crisp.
2.
Fungsi keanggotaan trapesium Fungsi keanggotaan trapesium memiliki parameter a, b, c, dan d dengan formula sebagai berikut : (3.3) Gambar 9. Fuzzy inference system 3.
Fungsi keanggotaan Gaussian Fungsi keanggotaan Gaussian memiliki memiliki parameter a, dan dengan formula sebagai berikut :
4.
Sistem ANFIS (Adaptive Neuro-Fuzzy Inference System) Sistem inferensi fuzzy merupakan sebuah system dengan pengetahuan linguistik yang mudah dimengerti dan dapat dijalankan pada algoritma propagasibalik berdasarkan pasangan data masukan-keluaran dengan menggunakan arsitektur jaringan saraf tiruan. Metode ini memungkinkan system fuzzy belajar. Gabungan dari system jaringan saraf (neural network) dengan system fuzzy ini disebut dengan adaptive neuro-fuzzy inference system (ANFIS)[10] 4.1. Struktur ANFIS dan Algoritma Pembelajaran Hibrida ANFIS menggunakan sistem fuzzy Sugeno untuk mengambil keputusan berdasarkan aturan fuzzy if-then dan fakta yang ada. Model fuzzy Sugeno yang digunakan adalah fuzzy Sugeno tipe 1 yang menghasilkan output linear. Aturan umum fuzzy Sugeno dengan 2 aturan fuzzy if-the adalah sebagai berikut:
(3.4) 4.
Fungsi keanggotaan Bell yang diperluas (Generalized Bell/Gbell) Fungsi keanggotaan Bell yang diperluas memiliki parameter a, b, dan c dengan formula sebagai berikut : (3.5) 3.3. Basis Aturan Basis aturan merupakan sekumpulan aturan yang terdapat pada sistem fuzzy. Aturan if-then fuzzy atau fuzzy conditional statement adalah sebuah bentuk aturan if A then B, dimana A dan B adalah label dari fuzzy sets yang ditandai sesuai dengan fungsi keanggotaan[10]. Dengan kata lain, basis aturan if-then fuzzy digunakan untuk menangkap maksud yang tidak jelas dari pemikiran sesuai dengan kemampuan manusia yang mampu membuat keputusan di lingkungan yang tidak pasti dan tidak jelas. Sebagai contoh dapat digambarkan sebagai beikut :
Rule 1: If x is A1 and y is B1, then f1 = p1x + q1y + r1 Rule 2: If x is A2 and y is B2, then f2 = p2x + q2y + r2
If (jika) tekananya tinggi then (maka) volumenya kecil Dimana tekanan dan volume adalah variable linguistik, tinggi dan kecil adalah nilai linguistik atau label yang didefinisikan dalam fungsi keanggotaan.
Gambar 10 Fuzzy Sugeno tipe 1 dengan 2 input dan 2 aturan[11].
3.4. Sistem Inferensi Fuzzy (Fuuzy Inference System) Sistem inferensi fuzzy adalah sebuah sistempengambilan keputusan yang didasarkan pada teori fuzzy, aturan fuzzy if-then dan logika fuzzy[8]. Struktur dasar sistem inferensi fuzzy terdiri atas:
ANFIS menggunakan algoritma belajar hibrida dalam kerjanya. Algoritma hibrida ini berarti menggabungkan 2 (dua) algoritma pembelajaran dalam sebuah jaringan. ANFIS menggabungkan metode Least
4
Makalah Seminar Tugas Akhir Periode Januari 2012 Square Estimator (LSE) dan Error Backpropagation (EBP). Metode EBP diterapkan pada lapisan 1, sedangkan metode LSE diterapkan pada lapisan 4[10].
berubah. Hal ini berarti akan terbentuk berbagai fungsi keanggotaan untuk himpunan linguistik A1, …,I sesuai dengan model fuzzy Sugeno. Parameter pada lapisan ini disebut dengan parameter premis. Lapisan 2 Setiap simpul pada lapisan ini adalah simpul nonadaptif. Outputnya merupakan perkalian dari semua input yang masuk pada lapisan ini. O2,i = wi = µAi(x) . µAi-2(y),
Tabel 1 Proses Pembelajaran Hibrida pada ANFIS[11] Tahap Maju Tetap
Parameter Konsekuen Sinyal
LSE
Tahap Mundur Gradient descent-EBP Tetap
Keluaran Simpul
Sinyal Kesalahan
(4.3)
Tiap keluaran simpul menyatakan derajat pengaktifan (firing strength) tiap aturan fuzzy. Banyaknya simpul pada lapisan ini menunjukkan banyaknya aturan yang dibentuk.
Gambar 11 Struktur ANFIS dengan 2 input
Parameter Premis
i = 1,2,…,n
Lapisan 3 Setiap simpul pada lapisan ini adalah simpul nonadaptif yang menampilkan fungsi derajat pengaktifan ternomalisasi (normalized firing strength) yaitu rasio keluaran simpul ke-i pada lapisan sebelumnya terhadap seluruh keluaran lapisan sebelumnya, dengan bentuk fungsi simpul :
Berikut adalah penjelasan lebih lanjut tentang proses pembelajaran pada ANFIS[10]: Pada awalnya, jaringan merambat dari layer input ke layer output. Output dari neuron/simpul ke-i pada lapisan ke-l dinotasikan sebagai Ol,i, seperti berikut:
wi O3, i w , i 1, 2 w1 w2
(4.4)
Lapisan 4 Setiap simpul pada lapisan ini adalah simpul adaptif dengan fungsi simpul :
Lapisan 1 Setiap simpul i pada lapisan ini adalah simpul adaptif dengan fungsi aktivasi simpul sebagai berikut :
O4,i w i f i w i pi x qi y ri
O1,i = µAi(x) untuk i = 1,2 atau O1,i = µAi-2(y) untuk i = 3,4 (4.1) Dengan x dan y adalah input pada simpul ke i, dan Ai adalah label linguistik seperti baik, buruk, dsb. Dengan kata lain O1,i adalah fungsi keanggotaan dari dari Ai dan menspesifikasikan derajat keanggotaan x dan y terhadap Ai. Fungsi keanggotaan µAi(x) didasarkan pada persamaan bell dengan nilai maksimum 1 dan nilai minimum 0 (2.14).
(4.5)
dengan adalah derajat pengaktifan ternormalisasi dari lapisan 3 dan {pi, qi, ri} menyatakan parameter konsekuen yang adaptif.
Lapisan 5 Pada lapisan ini hanya ada satu simpul tetap yang fungsinya untuk menjumlahkan semua masukan.
(4.2)
O5,i w i f i i
dimana {a, b,c} adalah himpunan parameter. Parameter ci dan ai dapat diatur untuk merubah nilai dari pusat dan lebar dari kurva bell, sedangkan bi digunakan untuk mengatur kemiringan kurva dan harus bernilai positif agar kurva tidak terbalik. Jika nilai dari paremeterparameter ini berubah, maka kurva fungsi bell juga akan
w f w i
i
i
i
(4.6)
i
Jaringan adaptif dengan lima lapisan tersebut ekivalen dengan system inferensi fuzzy Sugeno. 4.2. Proses Pembelajaran dengan RLSE untuk Parameter Konsekuen pada Tahap Maju
5
Makalah Seminar Tugas Akhir Periode Januari 2012 Berdasarkan arsitektur ANFIS pada Gambar 11, diketahui bahwa jika nilai dari parameter premis tetap maka keluaran keseluruhannya dapat dinyatakan dengan kombinasi linier dari parameter konsekuen
Misalkan jaringan adaptif yang diberikan memiliki lapisan L dan lapisan k memiliki sejumlah k node, maka untuk P data, jumlah dari kesalahan kuadrat adalah: (4.12) Dengan
Jika sejumlah N data belajar diterapkan pada persamaan (4.7), didapat 1
1
w x 1
p
1
1
1 1
1 1 1
2
1
2
2
1
2
2 1 2
adalah
output yang dihasilkan jaringan. Tujuan dari sistem adaptif adalah untuk meminimumkan pengukuran kesalahan pada persamaan (4.12) dengan mengubah parameter-parameter adaptif. Dengan mendefinisikan sebagai ordered derivative sinyal kesalahan
(4.7)
w x p w y q w r w x p w y q w r
adalah output ideal dari data,
terhadap keluaran simpul ke-i, lapisan ke-l, maka ordered derivative dinotasikan dengan : u1
(4.13)
p1 w1 y p q1 w1 p r1 w2 x p p2 w2 y p q2 w2 p r2 u p
(4.8)
Sinyal kesalahan untuk simpul keluaran ke-i (pada lapisan l) dapat dihitung langsung dengan :
Jika persamaan (4.8) dinyatakan dengan persamaan matriks, berbentuk :
(4.14)
(4.9)
Jika pengukuran kesalahan seperti yang didefinisikan pada persamaan (4.12) maka persamaan (4.13) menjadi :
Dengan dimensi dari masing matriks A, X dan B adalah PxM, Mx1, dan Px1. Dimana P adalah jumlah pasangan data latih dan M adalah jumlah parameter konsekuen. Penyelesaian terbaik adalah dengan meminimumkan . Dengan teori LSE didapatkan solusi untuk X*, LSE dari X, adalah dengan menggunakan pseudo-inverse dari X :
(4.15) Untuk simpul dalam pada lapisan l posisi ke-i, sinyal kesalahan dapat diperoleh menggunakan aturan rantai :
(4.10) (4.16)
Karena memperlama waktu komputasi yang disebabkan oleh perkalian dengan inverse matriks dan persamaan adalah matriks singular, menjadi tidak jelas jika maka X dihitung dengan Recursive LSE (RLSE) seperti berikut :
Dengan 0 ≤ l ≤ L-1. Sinyal kesalahan simpul dalam, pada lapisan ke-l dapat dinyatakan sebagai kombinasi linier dari sinyal kesalahan simpul pada lapisan ke (l+1). Jadi untuk menghitung sinyal kesalahan pada simpul ke-i lapisan ke-l (l < L), pertama digunakan persamaan (4.14) untuk mendapatkan sinyal kesalahan pada lapisan keluaran kemudian persamaan (4.16) secara iteratif sampai mencapai lapisan yang diinginkan. Prosedur diatas disebut penjalaran balik (backpropagation) karena sinyal kesalahan dihitung secara mundur dari lapisan keluaran hingga lapisan masukan. Vektor gradien didefinisikan sebagai ordered derivative dari pengukuran kesalahan terhadap tiap parameternya. Jika a adalah parameter simpul ke-I lapisan ke-l, maka diperoleh :
(4.11) Dengan adalah vector baris dari matriks A, adalah komponen ke i dari matriks B, dan Si adalah matriks kovarian. Inisial kondisi dari X0 adalah 0 dan S0 adalah , dimana adalah bilangan positif besar dan I adalah matriks identitas dengan ukuran MxM. 4.3. Proses Pembelajaran Backpropagation-error untuk Parameter Premis pada Tahap Mundur
6
Makalah Seminar Tugas Akhir Periode Januari 2012 ε 6 w8,6 ε 8
(4.17)
(4.30) dengan cara yang sama dapat diperoleh 5, 4 dan 3. Dalam penelitian ini dicari nilai perubahan dari parameter-parameter fungsi keanggotaan himpunan fuzzy. Parameter-parameter tersebut berada pada lapisan ke-1 maka sinyal kesalahan pada lapisan ke-1, yaitu 6, 5, 4 dan 3 dimasukkan ke dalam persamaan (4.24) – (4.30) untuk mencari . Pada persamaan (4.24) – (4.30) digunakan notasi Wi,j, dimana nilai ini menyatakan bobot untuk sinyal kesalahan tiap simpul. Berdasarkan persamaan (2.28) dapat dihitung dengan
Jika a merupakan parameter yang ada pada beberapa simpul maka persamaan (2.29) menjadi : (4.18) dengan S merupakan himpunan simpul yang berisikan a sebagai parameter, sedangkan x* dan f* adalah keluaran dan fungsi dari simpul yang bersangkutan. Turunan masing-masing secara keseluruhan terhadap pengukuran kesalahan akan menghasilkan :
Wi , j
(4.19) Dengan metode gradient simple steepest descent, persamaan untuk memperbaiki parameter a adalah :
f i , x j
untuk i > j
(4.31)
Dibandingkan dengan menerapkan Persamaan (4.16) untuk mencari sinyal kesalahan pada lapisan dalam, prosedur yang lebih sederhana dapat dilakukan dengan mengartikan Wi,j sebagai bobot sinyal kesalahan dari simpul i ke simpul j dan sinyal kesalahan pada simpul i merupakan jumlah dari tiap sinyal kesalahan yang masuk ke simpul j dikalikan dengan bobotnya. Proses belajar propagasi balik (EBP) untuk contoh ini bisa digambarkan sebagai berikut.
(4.20) dengan adalah laju proses belajar (learning rate) yang dinyatakan dengan : (4.21)
Dengan k adalah step size yang dapat diubah untuk mempercepat konvergensi[11]. Parameter untuk simpul selanjutnya diperbaharui dengan : i + 1 = i +
(4.22)
Untuk sistem pada Gambar 2.12 dengan menerapkan persamaan (2.26) dan persamaan (2.28) maka diperoleh persamaan-persamaan : Ep ε 13 x13 (4.23)
Gambar 12 Proses belajar propagasibalik pada ANFIS[8] 5. Implementasi 5.1. Tahap Latih Tahap ini merupakan tahap pembelajaran yang dilakukan oleh jaringan. Parameter pada jaringan dirubah-rubah berdasarkan data yang dimasukkan agar menghasilkan output yang diinginkan. Perubahan parameter parameter diharapkan mampu menyelesaikan masalah-masalah yang sejenis, tidak overfitting maupun underfitting. Pada tahap ini terdapat 2 tahap pembelajaran, yaitu tahap maju dan tahap mundur. Berikut merupakan penjelasan dari masing-masing tahap: 1. Tahap maju Lapisan 1 Output dimpul pada lapisan ini merupakan fungsi keanggotaan µAi(x) yang didasarkan pada persamaan bell
adalah sinyal kesalahan lapisan keluaran dari jaringan adaptif. Kemudian secara iteratif dengan propagasibalik diperoleh sinyal kesalahan simpul ke-i lapisan ke-L-1, atau ε12 w13,12 ε13
(4.24)
ε11 w13,11 ε13
(4.25)
ε10 w12,10 ε12
(4.26)
ε 9 w11,9 ε 11
(4.27)
ε 8 w10,8 ε10 w9,8 ε 9
(4.28)
ε 7 w10,7 ε10 w9,7 ε 9
(4.29)
7
Makalah Seminar Tugas Akhir Periode Januari 2012 dengan nilai maksimum 1 dan nilai minimum 0 seperti pada persamaan (4.2). Parameter a, b, c pada persamaan (4.2) disebut dengan parameter premis. Nilai dari parameter ini akan diperbarui pada tahap mundur. Lapisan 2 Output setiap simpul pada lapisan ini merupakan perkalian dari semua input yang masuk seperti pada persamaan (4.3). Tiap keluaran simpul menyatakan derajat pengaktifan (firing strength) tiap aturan fuzzy. Banyaknya simpul pada lapisan ini menunjukkan banyaknya aturan yang dibentuk Lapisan 3 Ouput setiap simpul pada lapisan ini disebut dengan derajat pengaktifan ternomalisasi (normalized firing strength) sesuai dengan persamaan (4.4). Derajat pengaktifan ternomalisasi adalah rasio keluaran simpul ke-i pada lapisan sebelumnya terhadap seluruh keluaran lapisan sebelumnya. Lapisan 4 Setiap simpul pada lapisan ini adalah simpul adaptif dengan fungsi simpul seperti ayng dijelaskan pada persamaan (4.5). Lapisan 5 Pada lapisan ini hanya ada satu simpul tetap yang fungsinya untuk menjumlahkan semua masukan dari lapisan 4 seperti dijelaskan pada persamaan (4.6).
Dimana hasil defferensial rumus 3.5 adalah sebagai berikut:
2 (i) 3 (i) *
i=n=1,2,..,7 (5.6) Pada layer 1 dilakukan perhitungan error dengan melibatkan error 5 ,3 dan error 2 yaitu :
1
5.2. Tahap Uji Tahap uji yang dilakukan untuk mengetahui apakah ANFIS dapat mengenali pola dengan memberikan input yang mungkin berbeda dengan input pada tahap latih. Dataset yang ada dibagi menjadi data latih dan data uji dengan komposis ayng berbeda. Pada tahap ini, jaringan hanya berjalan satu kali tahap maju untuk setiap rangkaian data yang dimasukkan. 6.
Uji Coba dan Evaluasi Dataset yang digunakan pada uji coba ini adalah nilai-nilai yang berasal dari 2 mata kuliah yang berbeda dengan atribut 4 atribut (nilai Kuis 1, nilai Kuis 2, nilai UTS, nilai Kuis 3) dan satu nilai post test (UAS) yang akan diprediksi
( yd y ) 2 2
(5.1) Nilai yd adalah output aktual, dan nilai y adalah output ANFIS. Setelah persamaan 5.1 dideferensial maka manghasilkan persamaan (5.2)
6.1. Skenario Uji Coba Uji coba dilakukan dengan melatih data dengan menggunakan iterasi/epoch yang berbeda-beda, yaitu 50, 100, dan 200 epoch. Komposisi data latih dan data uji yang digunakan adalah 25 data latih dan 15 data uji. Uji coba ini dilakukan pada dataset1 dan dataset2 untuk kemudian dibandingkan hasilnya. Pada setiap pasangan data input output akan dihitung error program yang didapatkan dari selisih antara output ideal (nilai post test yang sebenarnya) dengan output yang dihasilkan oleh jaringan. Kemudian disetiap akhir iterasi/ epoch dihitung RMSE (root mean square error). Dan di akhir epoch akan dihitung rata-rata error dan rata-rata RMSE. Semakin kecil nilai rata-rata error dan rata-rata RMSE menunjukkan bahwa aplikasi mampu berjalan sesuai dengan yang diharapkan.
5 yd y
(5.2) Pada layer 4 tidak dilakukan perhitungan error hal ini dikarenakan pada alur mundur tidak terjadi update nilai paramater konsekuen yang terdapat pada layer 4. untuk perhitungan error layer 3 dilakukan dengan rumus sebagai berikut:
error y * y t
(5.3) Dimana hasil defferensial rumus diatas adalah sebagai berikut:
3 (i) 5 * o4(i) ,
i=1,2,..,7 (5.4) Pada layer 2 dilakukan perhitungan error dengan melibatkan error 5 dan error 3 yaitu :
2
error y t * * y t
error y t * * * y t
(5.7) Dimana hasil defferensial rumus diatas adalah sebagai berikut: , i=1,2,...,28 j=1,2,...7 (5.8) Setiap epoch dari jaringan adalah satu kali tahap maju dan satu kali tahap mundur dilakukan. Dalam tahap maju, input diproses untukmendapatkan output jaringan sampai matriks A dan B didapatkan, dan parameter konsekuen didapatkan dengan formula LSE dan kemudian menghitung error. Pada tahap mundur, error rates dipropagasikan balik sampai lapisan input dan parameter premis dirubah
2. Tahap mundur Pada proses ini dilakukan algoritma EBP (Error Backpropagation) dimana pada setiap layer dilakukan perhitungan error untuk melakukan update parameterparameter ANFIS. Pada layer 5 dilakukan perhitungan error dengan rumus differensial dari perhitungan MSE yaitu:
3
( n) (1 * 2 ) 2
6.2. Hasil Uji Coba Rata-rata error sesuai dengan persamaan (2.24) dan RMSE sesuai dengan persamaan (2.44) hasil uji coba pada Dataset1 dapat dilihat pada tabel 5.1 berikut
(5.5)
8
Makalah Seminar Tugas Akhir Periode Januari 2012 1.
Metode ANFIS ini dibangun dengan 5 lapisan, dimana masing-masing lapisan memiliki fungsi aktivasi sesuai dengan konsep sistem inferensi fuzzy. Dan menggunakan forward dan backward untuk memperbaiki parameter-parameternya. 2. Dengan menggunakan iterasi/epoch yang berbeda terlihat bahwa metode ANFIS mencapai rata-rata error sebesar 0,01 dan RMSE sebesar 0,01 untuk dataset1. Error tersebut tercapai pada saat epoch 200. Untuk dataset2 model mencapai error sebesar 0,06 dan RMSE sebesar 0,07 dengan menggunakan epoch yang sama. Berdasarkan hasil error dapat disimpulkan bahwa semakin besar jumlah iterasi/epoch amak error yang dihasilkan juga semakin kecil.
Tabel 6.2 Rata-rata Error dan RMSE output ANFIS dengan menggunakan 15 data uji pada Dataset1 Jumlah Iterasi
Rata-rata Error
Rata-rata RMSE
50 0,01 0,01 100 0,01 0,01 200 0,01 0,01 Dari tabel 6.1 di atas terlihat bahwa semakin banyak iterasi yang dilakukan akan menghasilkan rata-rata error dan rata-rata RMSE yang semakin kecil. Kecenderungan nilai rata-rata error dan rata-rata RMSE semakin kecil pada saat jumlah iterasi bertambah dari 50 menjadi 100 kemudian menjadi 200 iterasi. Rata-rata error dan RMSE hasil uji coba pada Dataset2 dapat dilihat pada tabel 6.2 berikut Tabel 6.3 Error output ANFIS menggunakan 15 data uji pada Dataset2 Jumlah Iterasi
Ratarata Error
Referensi
dengan
[1] Karagozog˘lu, B., & Turkmen, N. 2007. A software tool to facilitate design, assessment and evaluation of courses in an educational system.
Ratarata RMSE
[2] Superby, J., F, Vandamme, J., P, & Meskens, N. 2006.Determination of factors influencing the achievement of the first-year university students using data mining methods.
50 0,06 0,07 100 0,06 0,07 200 0,06 0,07 Dari tabel 6.2 di atas terlihat bahwa semakin banyak iterasi yang dilakukan akan menghasilkan rata-rata error dan rata-rata RMSE yang semakin kecil. Kecenderungan nilai rata-rata error dan rata-rata RMSE semakin kecil pada saat jumlah iterasi bertambah dari 50 menjadi 100 kemudian menjadi 200 iterasi.
[3] Romero, C, Ventura, S, Espejo, P., G, & Hervas, C. 2010. Data Mining Algorithms to Classify Students. [4] Taylan, O, & Karagozoglu, B. 2009. An adaptive neuro-fuzzy model for prediction of student’s academic performance.
6.3. Evaluasi Dari hasil uji coba dengan menggunakan 25 data latih dan 15 data uji dapat diketahui bahwa jumlah iterasi/epoch berpengaruh pada rata-rata error dan ratarata RMSE yang dihasilkan. Semakin banyak iterasi, maka program akan menghasilkan rata-rata error dan rata-rata RMSE yang semakin kecil. Pada dataset1, ratarata error dan rata-rata RMSE terkecil diperoleh pada setelah 200 iterasi, yaitu sebesar 0,01 untuk rata-rata error dan 0,01 untuk rata-rata RMSE. Sedangkan pada dataset2, rata-rata error dan rata-rata RMSE terkecil diperoleh juga setelah 200 iterasi, yaitu sebesar 0,06 untuk rata-rata error dan 0,06 untuk rata-rata RMSE. Dari hasil uji coba juga diketahui bahwa perubahan jumlah epoch yang diberikan pada ANFIS berpengaruh pada hasil yang dikeluarkan. Hal ini disebabkan karena semakin banyak epoch yang diberikan pada jaringan ANFIS menyebabkan semakin banyak pula proses learning yang dilakukan. Dengan semakin banyaknya proses learning yang dilakukan maka parameter akan disesuaikan sehingga bisa menghasilkan error yang minimum untuk semua data dalam dataset.
[5] Wikipedia. 2011. Klasifikasi,
diakses 21 Desember 2011. [6] Setiawan, Kuswara, 2003, Paradigma Sistem Cerdas. Malang : Banyumedia Publishing. [7] Zadeh, L. A. 1972. A fuzzy set theoretic interpretation of the linguistic hedges. Journal of Cybernetics, 2, 4–34. [8] Kusumadewi, Sri. 2002. Analisis dan Desain Sistem Fuzzy Menggunakan Fuzzy Toolbox Matlab. Yogyakarta : Graha Ilmu. [9] Jang, J.-S.R, Sun, C.-T dan Mizutani E. 1996. ANFIS : Adaptive-Network-Based Fuzzy Inference System. [10] Jang, J., & Sun, C. 1995. Neuro-fuzzy modeling and control. Proceedings of IEEE, 83,378–406 .
7.
Kesimpulan Berdasarkan hasil uji coba yang telah dilakukan, terdapat beberapa kesimpulan yang dapat diambil, yaitu:
9