Ujian Akhir Semester Kecerdasan Mesin dan Artifisial (CS3243) Dosen: Suyanto, ST, MSc., Warih Maharani, ST, MT, Ririn DA, ST, MT Sifat: Take Home Test, Buka Buku, Kalkulator
Perhatian !!! •
•
•
•
•
•
1.
Anda harus menjawab SENDIRI semua pertanyaan di bawah ini secara jelas dan lengkap. DILARANG KERAS untuk berkomunikasi, bekerjasama, dan meminta bantuan siapapun. Jumlah soal ada 3. Soal nomor 1 dan 2 masing-masing 50 point. Soal nomor 3 adalah bonus dengan skor 20 point. Jadi total skor adalah 120 point. Gunakan lembar jawaban yang tersedia pada halaman terakhir. Tambahkan NIM dan nama Anda pada footnote agar bisa ditelusuri jika berkas Anda tercecer. Jawaban diketik komputer, di-print dengan kualitas baik dan dapat dibaca. DILARANG memberikan ralat (menghapus atau menambahkan catatan dengan pena atau apapun) pada jawaban hasil print-out. Adanya ralat menunjukkan bahwa Anda tidak yakin dengan jawaban anda sendiri dan terpengaruh oleh jawaban orang lain. Jawaban yang sepenuhnya ditulis tangan atau jawaban yang terdapat ralat tidak akan dikoreksi (nilainya = 0). Lembar pernyataan harus ditandatangani oleh setiap mahasiswa yang bersangkutan. Jawaban yang tidak ditandatangani tidak akan dikoreksi (nilainya = 0). Jawaban hasil print-out (lembar soal tidak perlu di-print) dan sudah ditandatangani dikumpulkan pada - Program Reguler: hari Selasa 09 Juni 2009 pukul 11.00 di Ruang Ujian yang sesuai jadwal masing-masing mahasiswa. - Program Ekstensi: hari Rabu 10 Juni 2009 pukul 16.00 pada saat UAS mata kuliah DAA. Mahasiswa yang berhalangan (karena sakit atau hal lain), pengumpulan jawaban boleh diwakilkan ke orang lain. Tidak ada toleransi atas keterlambatan. Perhatikan kasus dunia balok berikut ini. Initial ON(Y,Z) ∧ ONTABLE(Z) ∧ ONTABLE(X) ∧ ARMEMPTY
Goal Z Y Z
Y X
X
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
ON(Z,Y) ∧ ON(Y,X) ∧ ONTABLE(X) ∧ ARMEMPTY
page 1 of 16
Bagaimana teknik planning dengan metode Goal Stack Planning (GSP) dapat mengubah kondisi initial menjadi kondisi goal? Jelaskan empat hal berikut ini: a. Komponen-komponen GSP dan fungsinya. [10 points] b. Kelebihan dan kekurangan GSP dibandingkan Constraint Posting. [10 points] c. Jelaskan dengan contoh, bagaimana mengatasi kekurangan GSP. [10 points] d. Lakukan penelusuran GSP sampai dihasilkan solusi optimal. [20 points] 2.
Tabel berikut ini mengilustrasikan nilai indeks yang berupa A, B, C, D, dan E dari 10 mahasiswa untuk mata kuliah AI pada semester Genap 2007/2008. Setiap komponen nilai berada pada interval [0, 100]. Dosen AI kehilangan informasi tentang aturan penentuan nilai indeks tersebut. Satu hal yang beliau ingat adalah setiap komponen nilai dikonversi menjadi Baik untuk [80, 100], Cukup untuk [60, 80), dan Kurang [0, 60). Selanjutnya, hasil konversi tersebut beliau gunakan untuk membangun aturan penentuan nilai indeks. Bantulah dosen AI tersebut dengan melakukan penelusuran ID3 untuk menghasilkan pohon keputusan dan aturan penentuan nilai indeks. Penting: berikan penjelasan secara detail dari setiap langkah ID3 sebagai bukti bahwa anda menguasai konsep ID3 secara baik. [50 points] NIM 40001 40002 40003 40004 40005 40006 40007 40008 40009 40010
3.
UTS 80 80 50 45 100 30 50 60 70 100
UAS 90 60 50 70 50 90 90 60 90 100
TUGAS 90 70 40 80 50 93 50 50 65 100
INDEKS A B E A D A B C B A
Ini adalah soal bonus. Untuk data-data yang ditunjukkan pada tabel soal nomor 2, gunakan Multi Layer Perceptron (MLP) menggunakan algoritma belajar Propagasi Balik untuk menentukan nilai indeks. Jelaskan hal-hal berikut ini secara singkat: a. Bagaimana arsitektur MLP yang optimum: Jumlah neuron pada lapisan input, hidden, dan output? [5 point] b. Bagaimana matriks pola input (P) dan targetnya (T)? [5 point] c. Jelaskan proses belajar Propagasi Balik untuk MLP yang anda buat. Anda tidak perlu menjelaskan rumus-rumusnya. [5 point] d. Apa yang dihasilkan dari proses belajar tersebut dan jelaskan bagaimana menggunakan MLP hasil pembelajaran tersebut. Anda cukup menjelaskan konsepnya saja, tidak perlu menjelaskan bagaimana pemakaian rumus-rumusnya. [5 point]
Dengan 10 milyar neuron yang dikaruniakan oleh-Nya, anda pasti punya jawaban yang berbeda dengan siapapun-------------------
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 2 of 16
Lembar Jawaban UAS Kecerdasan Mesin dan Artifisial (CS3243)
Nama : NIM
:
Kelas
:
Pernyataan: Semua jawaban hasil print-out di bawah ini SAYA KERJAKAN SENDIRI tanpa berkomunikasi, bekerjasama, maupun meminta bantuan siapapun. Semua jawaban print-out ini bersifat FINAL dan TIDAK ADA RALAT apapun, baik menghapus atau menambahkan catatan dengan pena atau peralatan tulis lainnya. Saya bersedia diberi nilai E untuk mata kuliah ini jika terbukti berkomunikasi, bekerjasama, maupun meminta bantuan siapapun. Dan saya bersedia diberi nilai 0 untuk UAS ini jika: 1) saya tidak menandatangani lembar jawaban ini; atau 2) semua jawaban ditulis tangan; atau 3) terdapat ralat dalam bentuk apapun pada semua lembar jawaban ini. Tanda Tangan :
1. A. Initial state
: state yang mendefinisikan keadaan awal suatu rangkaian balok
Goal state
: state yang merepresentasikan kondisi akhir yang harus dicapai dari suatu rangkaian balok
Current state
: state yang merepresentasikan kondisi yang sedang terjadi saat ini
Balok
: suatu media yang akan diuji, yang dapat disusun dan merepresentasikan initial state dan hendak diubah menjadi goal state
Arm
: suatu lengan robot yang berfungsi untuk memindah/merubah komposisi dari balok/tumpukan balok, sehingga dari initial bisa menjadi goal
Predikat precondition
: suatu predikat-predikat yang harus bernilai benar sebelum pengaplikasian operator
predikat add
: suatu predikat –predikat yang bernilai benar setelah pengaplikasian suatu operator
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 3 of 16
predikat delete: suatu predikat – predikat yang bernilai salah setelah pengaplikasian suatu operator operator ON(A,B)
: memberikan hasil balok A menempel diatas balok B
operator ONTABLE (A) : memberikan hasil bahwa balok A menempel diatas permukaan meja operator CLEAR(A)
: memberikan hasil tidak ada balok yang menempel diatas balok A
operator STACK (A,B) : memberikan hasil balok A ada diatas balok B operator UNSTACK (A,B) : memberikan hasil mengangkat balok A yang menempel diatas balok B operator PICKUP (A)
: memberikan hasil balok A terangkat dari permukaan meja
operator PUTDOWN (A): memberikan hasil meletakkan balok A diatas permukaan meja operator ARMEMPTY : memberikan hasil bahwa ARM robot tidak memegang apa – apa B. Kelebihan : 1. lebih mudah di implementasikan 2. tidak memerlukan banyak pengecekan kondisi Kekurangan : 1. menggunakan satu stack 2. linear planning 3. bisa jadi hasilnya tidak efisien C. a. mendelomposisikan goal state dengan efisien, yaitu dengan cara menuliskan operatornya dari dasar (dari permukaan meja) menuju ke permukaan paling atas, setelah itu baru menuju pada susunan balok yang lainya, contoh : C B
E
A
D
Dengan kondisi goal state seperti itu maka sebaiknya kita menuliskan operator – operatornya seperti ini : ONTABLE (A) ^ ON (B,A) ^ ON (C,B) ^ ONTABLE (D) ^ ON (D,E)
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 4 of 16
Jangan seperti ini : ON (C,B) ^ ON (B,A) ^ ON (E,D) ^ ONTABLE (A) ^ ONTABLE (D) Dengan begitu maka pasangan yang saling menghilangkan seperti STACK (C,B) UNSTACK (C,B) dapat diminilaisir, sehingga hasil akhir yang didapat bisa lebih efisien. b. Dengan selalu meletakan sesuatu yang berada di ARM ke atas meja, misal hasil UNSTACK diletakan diatas meja, jangan diletakan diatas tumpukan lainya, karena hal ini dapat menyebabkan kondisi yang saling menghilangkan seperti STACK dan UNSTACK, contoh : C B A
B D
A
C
D
Pada contoh ini ketika kita melakukan UNSTACK (C,B) maka setelah itu balok C dilakukan operasi PUTDOWN(C) jangan STACK (C,D). Meskipun ini dapat memperpanjang langkah (jika tujuannya memang ON(C,D)) tetapi langkah ini dapat menghilangkan ketidak efisiensi dari GSP, misal tujuan akhirnya ON (B,D) dan ON(C,A) dan dengan meletakan segala sesuatu yang di ARM yang didapat dari proses UNSTACK ke atas meja, maka akan lebih fleksibel ketika balok itu akan di susun kembali. D. Initial ON(Y,Z) ∧ ONTABLE(Z) ∧ ONTABLE(X) ∧ ARMEMPTY
Goal Z Y
Y Z
X
X
ON(Z,Y) ∧ ON(Y,X) ∧ ONTABLE(X) ∧ ARMEMPTY
Langkah 1 ONTABLE (X) ^ ON (Y,X) ^ ON (Z,Y) ^ ARMEMPTY ONTABLE (X) ^ ON (Y,X) ^ ON (Z,Y) ^ ARMEMPTY
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
Y Z
X
page 5 of 16
Langkah 2 ONTABLE (X) ^ ARMEMPTY ^ ON (Y,Z) ^ Y
CLEAR (Y) ^ UNSTACK (Y,Z) ^ HOLDING (Y) ^
Z
X
CLEAR (X) ^ STACK (Y,X) ^ ON (Y,X) ^ ARMEMPTY ON (Z,Y) ^ ARMEMPTY
Y Z
X
ONTABLE (X) ^ ON (Y,X) ^ ON (Z,Y) ^ ARMEMPTY Langkah 3 ONTABLE (X) ^ ARMEMPTY ^ ON (Y,Z) ^ CLEAR (Y) ^ UNSTACK (Y,Z) ^ HOLDING (Y) ^ CLEAR (X) ^ STACK (Y,X) ^ ARMEMPTY ON (Y,X) ^
ONTABLE (Z) ^ CLEAR (Z) ^
Z
ARMEMPTY ^ PICKUP (Z)^ HOLDING (Z) ^
Y X
CLEAR (Y) ^ STACK (Z,Y) ^
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 6 of 16
ON (Z,Y) ^ ARMEMPTY
Z
ONTABLE (X) ^ ON (Y,X) ^ ON (Z,Y) ^ ARMEMPTY
Y X
Note : Gambar pada bagian kanan merupakan current state pada setiap langkah, Bagian bold merupakan operator yang sedang dilaksanakan (beberapa operator precondition belum terpenuhi,sehingga perlu disusun)
2. Konversi data olah sesuai dengan soal (menjadi tiga jenis) Baik [80,100], Cukup [60,80],Kurang [0,60] NIM 40001 40002 40003 40004 40005 40006 40007 40008 40009 40010
UTS BAIK BAIK KURANG KURANG BAIK KURANG KURANG CUKUP CUKUP BAIK
UAS BAIK CUKUP KURANG CUKUP KURANG BAIK BAIK CUKUP BAIK BAIK
TUGAS BAIK CUKUP KURANG BAIK KURANG BAIK KURANG KURANG CUKUP BAIK
INDEKS A B E A D A B C B A
Langkah 1 Rekursif level 0 ke 1 Mencari best classifier KumpulanSample berupa semua sample data = [4,3,1,1,1] ; AtributTarget = ‘Indeks’ ; KumpulanAtribut = {UTS, UAS, TUGAS} Values(UTS) = Baik, Cukup, Kurang S = [4,3,1,1,1] |S| = 10, Entropy (S) = 2,0464 SBaik = [2,1,0,1,0], |SBaik| = 4, Entropy (SBaik) = 1,5 SCukup = [0,1,1,0,0,], |SCukup| = 2, Entropy (SCukup) = 1 SKurang = [2,1,0,0,1], |SKurang| = 4, Entropy (SKurang) = 1,5 Gain(S,UTS) = Entropy(S) – (4/10) Entropy (SBaik) – (2/10) Entropy (SCukup) – (4/10) Entropy (SKurang) = 0,6464
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 7 of 16
Values(UAS) = Baik, Cukup, Kurang S = [4,3,1,1,1] |S| = 10, Entropy (S) = 2,0464 SBaik = [3,2,0,0,0], |SBaik| = 5, Entropy (SBaik) = 0,970951 SCukup = [1,1,1,0,0], |SCukup| = 3, Entropy (SCukup) = 1,58496 SKurang = [0,0,0,1,1], |SKurang| = 2, Entropy (SKurang) = 1 Gain(S,UAS) = Entropy(S) – (5/10) Entropy (SBaik) – (3/10) Entropy (SCukup) – (2/10) Entropy (SKurang) = 0,8853 Values(TUGAS) = Baik, Cukup, Kurang S = [4,3,1,1,1] |S| = 10, Entropy (S) = 2,0464 SBaik = [4,0,0,0,0], |SBaik| = 4, Entropy (SBaik) = 0 SCukup = [0,2,0,0,0], |SCukup| = 2, Entropy (SCukup) = 0 SKurang = [0,1,1,1,1], |SKurang| = 4, Entropy (SKurang) = 2 Gain(S,UTS) = Entropy(S) – (4/10) Entropy (SBaik) – (2/10) Entropy (SCukup) – (4/10) Entropy (SKurang) = 1.2464 Dengan demikian maka yang menjadi best classifier adalah nilai TUGAS dan akan diletakkan sebagai root. Dan didapat data seperti ini : KumpulanSample berupa SampleBaik = [4,0,0,0,0], AtributTarget = ‘Indeks’, KumpulanAtribut = {UTS,UAS} Tugas baik
Langkah 2 Rekursif Level 1 Iterasi ke 1 KumpulanSample berupa SampleBaik = [4,0,0,0,0], AtributTarget = ‘Indeks’, KumpulanAtribut = {UTS,UAS} Karena semua sample pada iterasi ini menghasilkan nilai A, maka fungsi ini akan berhenti dan menghasilkan simpul tunggal Root dengan variable ‘A’
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 8 of 16
Tugas baik
A
Langkah 3 Rekursif Level 0 Iterasi ke 2 KumpulanSample berupa SampleCukup = [0,2,0,0,0], AtributTarget = ‘Indeks’, KumpulanAtribut = {UTS,UAS}
Tugas cukup
baik
A
Langkah 4 Rekursif Level 1 Iterasi 2 KumpulanSample berupa SampleCukup = [0,2,0,0,0], AtributTarget = ‘Indeks’, KumpulanAtribut = {UTS,UAS} Karena pada sample ini tidak didapat sample selain dengan nilai ‘B’, maka akan dibentuk satu simpul dengan nilai yang sering muncul, yaitu ‘B’
Tugas baik
A
cukup
B
Langkah 5 Rekursif Level 0 Itersi 3 KumpulanSample berupa SampleKurang = [0,1,1,1,1], AtributTarget = ‘Indeks’, KumpulanAtribut = {UTS,UAS}
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 9 of 16
Tugas baik A
cukup
kurang
B
Langkah 6 Rekursif Level 1 Iterasi 3 KumpulanSample berupa SampleKurang = [0,1,1,1,1], AtributTarget = ‘Indeks’, KumpulanAtribut = {UTS,UAS} Karena tidak ada nilai dominan maka kita tidak dapat memberikan nilai lagsung, dikarenakan nilai yang muncul pada 4 buah data ini tidak memiliki kesamaan. Untuk itu perlu dilakukan proses ID3 lagi,dengan melakukan perhitungan information gain untuk atribut UTS dan UAS. Tetapi KumpulanSample yang diperhitungkan adalah SampleKurang dengan 4 sample data, yaitu [0,1,1,1,1], berarti S = SampleKurang
Values(UTS) = Baik, Cukup, Kurang S = SampleKurang = [0,1,1,1,1], |S| = 4 S = 0,1,1,1,1], |S| = 4, Entropy (S) = 2 SBaik = [0,0,0,1,0], |SBaik| = 1, Entropy (SBaik) = 0 SCukup = [0,0,1,0,0], |SCukup| = 1, Entropy (SCukup) = 0 SKurang = [0,1,0,0,1], |SKurang| = 2, Entropy (SKurang) = 1 Gain(S,UAS) = Entropy(S) – (1/10) Entropy (SBaik) – (1/10) Entropy (SCukup) – (2/10) Entropy (SKurang) = 1,5 Values(UAS) = Baik, Cukup, Kurang S = SampleKurang = [0,1,1,1,1], |S| = 4 S = 0,1,1,1,1], |S| = 4, Entropy (S) = 2 SBaik = [0,1,0,0,0], |SBaik| = 1, Entropy (SBaik) = 0 SCukup = [0,0,1,0,0], |SCukup| = 1, Entropy (SCukup) = 0 SKurang = [0,0,0,1,1], |SKurang| = 2, Entropy (SKurang) = 1 Gain(S,UAS) = Entropy(S) – (1/10) Entropy (SBaik) – (1/10) Entropy (SCukup) – (2/10) Entropy (SKurang) = 1,5
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 10 of 16
Pada langkah ini kita menemukan nilai yang sama antara UTS dan UAS, dengan nilai yang sama maka kita bebas menentukan mana yang akan digunakan, namun bedasarkan perhitungan pertama karena didapat nilai gain dari UAS lebih besar dari UTS, maka yang akan diambil adalah nilai gain dari UAS dan node yang akan diletakan adalah UAS, maka SampleBaik terdapat satu sample [0,1,0,0,0], AtributTarget =’Indeks’,KumpulanAtribut {UTS}
Tugas baik
A
cukup
Kurang
UAS
B baik
Langkah 7 Rekursif Level 2 Iterasi ke 1 Karena hanya terdapat satu sample maka nilai sample tersebut juga akan menjadi nilai dari sample yang paling banyak muncul, maka akan lagsung di bentuk node dari leaf sebelumnya dengan nilai atribut ‘B’
Tugas baik
A
cukup
Kurang
UAS
B baik
B
Langkah 8 Rekursif Level 1 Iterasi ke 4 Pada langkah ini kita menggunakan sample yang belum terpangil, yaitu SampleCukup dan disini hanya terdapat satu sample [0,0,1,0,0],AtributTarget= ‘Indeks’,KumpulanAtribut ={UTS}
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 11 of 16
Tugas baik
Kurang
cukup
A
UAS
B baik
cukup
B
Langkah 9 Rekursif Level 2 Iterasi ke 2 Melakukan
fungsi
ID3
dengan
informasi
Samplecukup=[0,0,1,0,0],AtributTarget
=
‘Indeks’,KumpulanAtribut = {UTS}. Namun karena hanya terdapat satu sample maka sama dengan langkah sebelumnya maka akan dibuat node dari leaf sebelumnya denga nilai atribut ‘C’
Tugas baik
Kurang
cukup
A
UAS
B baik
cukup
B
C
Langkah 10 Rekursif Level 1 Iterasi ke 5 Informasi yang digunakan adalah SampleKurang = [0,0,0,1,1], AtributTarget = ‘Indeks’, KunpulanAtribut = {UTS}
Tugas baik
A
cukup
Kurang
UAS
B baik
B
cukup
kurang
C
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 12 of 16
Langkah 11 Rekursif Level 2 Iterasi ke 3 SampleKurang = [0,0,0,1,1], AtributTarget = ‘Indeks’, KunpulanAtribut = {UTS} Karena tidak ada nilai dominan maka kita tidak dapat memberikan nilai lagsung, dikarenakan nilai yang muncul pada 2 buah data ini tidak memiliki kesamaan. Untuk itu perlu dilakukan proses ID3 lagi,dengan melakukan perhitungan information gain untuk atribut yang tersisa yaitu UTS. Tetapi KumpulanSample yang diperhitungkan adalah SampleKurang dengan 2 sample data, yaitu [0,0,0,1,1], berarti S = SampleKurang
Tugas baik
cukup
A
Kurang
UAS
B baik
cukup
B
kurang
C
UTS Baik
Langkah 12 Rekursif Level 3 Iterasi 1 Kembali menggunkan funsi ID3 dengan informasi yang didapat dari atribut UTS, yaitu SampleBaik = [0,0,0,1,0], AtributTarget = ‘Indeks’, KumpulanAtribut {}. Dikarenakan sample ini hanya memiliki satu sample, maka nilai tersebut akan menjadi node dari leaf sebelumnya dengan nilai atribut ‘D’
Tugas baik
A
cukup
Kurang
UAS
B baik
B
cukup
kurang
C
UTS Baik
D
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 13 of 16
Langkah 13 Rekursif Level 2 Iterasi ke 4 Pada langkah ini kita menggunakan sample selanjutnya, yaitu SampleCukup = [0,0,0,0,0], AtributTarget = ‘Indeks’, KumpulanAtribut {}. Namun karena tidak ada yang menjadi sample pada lagkah ini maka kita harus lagsung membuat node, dangan mengacu pada nilai diatasnya (UAS) untuk kasus ini hanya terdapat 2 nilai yaitu ‘D’dan’E’ dank arena nilai ‘D’ telah digunakan pada sample sebelumnya yang memilki derajat yang lebih baik, maka untuk sample ini akan dibentuk node dengan nilai atribut ‘E’
Tugas baik
A
cukup
Kurang
UAS
B baik
cukup
B
kurang
C
UTS Baik
cukup
D
E
Langkah 14 Rekursif Level 3 Iterasi ke 2 Kembali memangil fungsi ID3 dengan sample yang tersisa, maka akan didapat informasi berikut : SampleKurang = [0,0,0,0,1], AtributTarget = ‘Indeks’, KumpulanAtribut = {}. Namun karena hanya terdapat satu sample, maka dapat dibuat langsung sebuah node dengan nilai sesuai dengan nilai pada atribut sample yaitu ‘E’ Tugas baik
A
cukup
Kurang
UAS
B baik
B
cukup
kurang
C
UTS Baik
D
cukup E
kurang
E
3. A. UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 14 of 16
Tidak ada aturan untuk menentukan MLP optimum, namun sebisa mungkin kita dapat menerka jumlah neuron yang diperlukan, dan jumlah neuron tersebut haruslah dapat merepresentaasikan inputan yang mungkin diinputkan. Untuk kasus no 2, maka jumlah neuron lapisan input adalah tiga (didapat dari jenis inputan yang berjumlah tiga {UTS,UAS,TUGAS}). Sedangkan jumlah neuron hidden layer adalah 2, didapat dari rumus yang biasa digunakan, meskipun ini bukan merupakan jaminan. Terakhir jumlah neuron output layer adalah 1 dimana outputan yang dikehendaki adalah suatu nilai indeks B.
Disini pola output dari nilai a,b,c,d,e direpresentasikan berturut – turut menjadi suatu nilai 1,2,3,4,5 C. -
Perhitungan maju Input bobot yang telah ditentukan pada inisialisasi awal (W1) yang didapat dengan random , kita dapat menghitung keluaran dari hidden layer dangan menggunakan fungsi aktivasi sigmoid, metode ini dipilih karena dirasa cocok untuk mereperesentasikan perubahan dari nilai – nilai yang ada
A1 =
1 1+ e
(W 1*P + B1)
selanjutnya hasilnya digunakan untuk mendapatkan keluaran dari output layer. Dan disini kita menggunakan fungsi aktivasi linear, dengan rumus
A2 = W 2 * A1 + B 2
Keluaran dari A2 kemudian dibandingkan dengan target yang diinginkan. Galat(error) yang dihasilkan merupakan selisih dari target dan A2, sesuai dengan rumus
E = T − A2
Sedangkan nilai galat keseluruhan dinyatakan dengan rumus
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 15 of 16
SSE = ∑∑ E 2 Dan normalnya dalam suatu tahapan tidak didapat hasil yang diinginkan, untuk itu akan dilakukan perhitungan mundur -
Perhitungan mundur Nilai galat yang didapat akan digunakan sebagai parameter dalam pelatihan dan proses ini akan berhenti ketika galat sudah dapat diterima. Nilai galat akan dikembalikan kembali ke layer - layer didepannya agar neuron pada layer tertentu akan memperbaiki nilai bobotnya. D 2 = (1 − A2 2 ) * E D1 = (1 − A12 ) * (W 2 * D 2) dW 1 = dW 1 + (lr * D1* P )
dB1 = dB1 + (lr * D1) dW 2 = dW 2 + (lr * D 2 * P ) dB 2 = dB 2 + (lr * D 2)
Neuron akan memperbaiki bobot jaringan dengan rumus TW1 = W1 TB1 = B1 + dB1 TW2 = W2 + dB2 TB2 = B2 + dB2 Setelah itu maka akan didapat bobot – bobot sinaptis jaringan yang baru D. Pada kasus ini akan didapatkan inputan berupa 3 jenis yaitu UTS,UAS,TUGAS. Ketiga inputan tersebut akan diperoses dengan perhitungan maju, namun biasanya hasil yang dihasilkan belumlah sesuai dan untuk membuatnya sesuai maka akan dikoreksi terhadap perubahan – perubahan konstanta yang akan digunakan dan proses ini disebut perhitungan mundur. Kedua langkah tersebut terus diulang dan berhenti ketika nilainya telah sesuai, atau ketika telah melakukan sekian kali perhitungan.
UAS Kecerdasan Mesin dan Artifisial (CS3243) – 113061093 / Sasotya Angga Kurnia
page 16 of 16