Putri
Nim : 2116001
Mata kuliah : Kecerdasan buatan (A)
Soal :
1. Fungsi logika AND dengan inputan biner dan output (target) bipolar (gunakan
algoritma hebb).
x1 x2 Target
0 0 -1
0 1 -1
1 0 -1
1 1 1
Data ke-1:
X1 = 0; X2 = 0; Y = –1 (target)
W1(baru) = W1(lama) + X1 * Y
= 0 + (0) * (–1)
=0
W2(baru) = W2(lama) + X2 * Y
= 0 + (0) * (–1)
=0
b(baru) = b(lama) + Y
= 0 + (–1)
= –1
Data ke-2:
X1 = 0; X2 = 1; Y = –1 (target)
W1(baru) = W1(lama) + X1 * Y
= 0 + (0) * (–1)
=0
W2(baru) = W2(lama) + X2 * Y
= 0 + (1) * (–1)
= –1
b(baru) = b(lama) + Y
= –1 + (–1)
= –2
Data ke-3:
X1 = 1; X2 = 0; Y = –1 (target)
W1(baru) = W1(lama) + X1 * Y
= 0 + (1) * (–1)
= –1
W2(baru) = W2(lama) + X2 * Y
= –1 + (0) * (–1)
= –1
b(baru) = b(lama) + Y
= –2 + (–1)
= –3
Data ke-4:
X1 = 1; X2 = 1; Y = 1 (target)
W1(baru) = W1(lama) + X1 * Y
= (–1) + (1) * (1)
=0
W2(baru) = W2(lama) + X2 * Y
= –1 + (1) * (1)
=0
b(baru) = b(lama) + Y
= –3 + (1)
= –2
Nilai bobot dan bias terakhir:
W1 = 0; W2 = 0; b = –2
Data ke-1:
X1 = –1; X2 = –1; Y = –1 (target)
W1(baru) = W1(lama) + X1 * Y
= 0 + (–1) * (–1)
=1
W2(baru) = W2(lama) + X2 * Y
= 0 + (–1) * (–1)
=1
b(baru) = b(lama) + Y
= 0 + (–1)
= –1
Data ke-2:
X1 = –1; X2 = 1; Y = –1 (target)
W1(baru) = W1(lama) + X1 * Y
= 1 + (–1) * (–1)
=2
W2(baru) = W2(lama) + X2 * Y
= 1 + (1) * (–1)
=0
b(baru) = b(lama) + Y
= –1 + (–1)
= –2
Data ke-3:
X1 = 1; X2 = –1; Y = –1 (target)
W1(baru) = W1(lama) + X1 * Y
= 2 + (1) * (–1)
=1
W2(baru) = W2(lama) + X2 * Y
= 0 + (–1) * (–1)
=1
b(baru) = b(lama) + Y
= –2 + (–1)
= –3
Data ke-4:
X1 = 1; X2 = 1; Y = 1 (target)
W1(baru) = W1(lama) + X1 * Y
= 1 + (1) * (1)
=2
W2(baru) = W2(lama) + X2 * Y
= 1 + (1) * (1)
=2
b(baru) = b(lama) + Y
= –3 + (1)
= –2
Nilai bobot dan bias terakhir:
W1 = 2; W2 = 2; b = –2
3. Algoritma Perceptron, adalah salah satu algoritma berbasis jaringan saraf yang dapat
digunakan untuk pengambilan keputusan.
Perceptron
• Perceptron biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu
yang sering dikenal dengan pemisahan secara linear.
• Algoritma yang digunakan oleh aturan perceptron ini akan mengatur parameter-
parameter bebasnya melalui proses pembelajaran.
• Fungsi aktivasi dibuat sedemikian rupa sehingga terjadi pembatasan antara daerah
positif dan negatif
• Garis pemisah antara daerah positif dan daerah nol memiliki pertidaksamaan:
w1x1 + w2x2 + b > q
• Sedangkan garis pemisah antara daerah negatif dengan daerah nol memiliki
pertidaksamaan:
w1x1 + w2x2 + b < -q
• Misalkan kita gunakan pasangan vektor input s dan vektor output t sebagai pasangan
vektor yang akan dilatih maka algoritmanya
Algoritma perceptron
Inisialisasi semua bobot dan bias:
(untuk sederhananya set semua bobot dan bobot bias sama dengan nol)
Set learning rate: a = 1, (0 < a £ 1)
Selama kondisi berhenti bernilai false, lakukan langkah-langkah sebagai berikut :
(i) Untuk setiap pasangan pembelajaran s – t, kerjakan:
a. Set input dengan nilai sama dengan vektor input:
xi = si;
b. Hitung respon untuk unit output:
y in=b+ ∑ x i w i
i
1 , jika y_in >θ
{
y= 0 , jika -θ≤y_in≤θ
−1 , jika y_in<θ
c. Perbaiki bobot dan bias jika terjadi error:
Jika y ¹ t maka:
wi(baru) = wi(lama) + a*t*xi
b(baru) = b(lama) + a*t
Jika tidak maka :
wi(baru) = wi(lama)
b(baru) = b(lama)
(ii) Tes kondisi berhenti: jika tidak terjadi perubahan bobot pada (i) maka kondisi
berhenti TRUE, namun jika masih terjadi perubahan maka kondisi berhenti FALSE.
Backprogation, adalah algoritma pembelajaran yang terawasi dan biasanya digunakan oleh
perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan
neuron-neuron yang ada pada lapisan tersembunyinya. Algoritma backpropagation juga
menggunakan error output untuk mengubah nilai bobot-bobotnya dalam mundur(backward).
Untuk mendapatkan error ini, tahap perambatan maju (forward propagation) harus dikerjakan
terlebih dahulu, saat perambatan maju, neuron-neuron diaktifkan dengan menggunakan
fungsi aktivasi yang dapat dideferensiasikan seperti sigmoid.
Arsitektur Jaringan Backpropagation
Algoritma Backpropagation
• Inisialsisasi bobot (ambil bobot awal dengan nilai random yang cukup kecil)
• Kerjakan langkah-langkah berikut selama kondisi berhenti bernilai FALSE
1. Untuk setiap pasangan elemen yang akan dilakukan pembelajaran kerjakan:
Feedforward:
a. Tiap-tiap unit input xi (I = 1,2,3, ..n) menerima sinyal
xi dan meneruskan sinyal tersebut ke semua unit
pada lapisan yang ada di atasnya (lapisan
tersembunyi)
b. Tiap-tiap unit tersembunyi zj menjumlahkan sinyal-
sinyal input berbobot :
n
z in =b 1 j + ∑ x i vij
j i=1
Gunakan fungsi aktivasi untuk menghitung sinyal ouputnya zj = f(z_inj) dan kirim
sinyal tersebut ke semua unit lapisan atasnya (lapisan output)
c. Tiap-tiap unit outputnya (Yk, k=1,2, ..m) diperoleh dengan menjumlahkan sinyal-
sinyal input terbobot:
p
y in =b 2k + ∑ z i w jk
k i −1
b2k(baru)=b2k(lama) + Db2k
e. Tiap-tiap unit tersembunyi (zj, j = 1,2,..p) menjumlahkan delta inputnya (dari unit-
unit yang berada pada lapisan atasnya):
m
δ _in j= ∑ δ k w jk
k=1
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung
informasi error :
dj = d _inj f’(z_inj)
f’(x) = [1+f(x)][1-f(x)]
• Purelin :
y=f(x)=x
f’(x)=1
Bidirectional associative memory (BAM), adalah suatu jaringan memory assosiative yang
dapat menyimpan sekumpulan pola dengan cara menjumlahkan matriks korelasi bipolar.
BAM sebagai model “neural network” memiliki kelebihsn yaitu dapat memroses input yang
tak lengkap (incomplete input atau input with noise). Adapun kelemahan BAM adalah pada
kapasitas memori yang sangat kecil.
Algoritma BAM sebagai berikut :
Langkah 0 : inisialisasi bobot untuk disimpan pada P vector.
Langkah 1 : untuk masing-masing masukan, lakukan 2-6:
Langkah 2a : berikan pola masukan x pada X-layer (dengan pen-settingan aktivasin
pada pola masukan X terlebih dahulu).
Langkah 2b : berikan pola masukan y pada Y-layer (dengan pemberian nilai yang lain
dari pola masukan X).
Langkah 3 : saat nilai aktivasi tidak dapat ditemukan, lakukan langkah 4-6.
Langkah 4 : perbaharui aktivasi pada unit neuron Y-layer, dengan cara :