Anda di halaman 1dari 8

Nama : Ni Putu F. C. A.

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

2. Fungsi logika AND untuk inputan bipolar dan output bipolar.


x1 x2 Target
-1 -1 -1
-1 1 -1
1 -1 -1
1 1 1

3. Catatlah algoritma pelatihan perception, algoritma pelatihan backpropagation,


algoritma pelatihan BAM !
Jawaban :
1. Inisialisasi :
w1 = 0
w2 = 0
b=0

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

X1 X2 net=∑ x i wi +b f ( net )= −1 jika net <0


{ 1 jika net ≥ 0
0 0 (0)(0) + (0)(0) + (–2) = –2 -1
0 1 (0)(0) + (1)(0) + (–2) = –2 -1
1 0 (1)(0) + (0)(0) + (–2) = –2 -1
1 1 (1)(0) + (1)(0) + (–2) = –2 -1
Nilai f(net) berbeda dengan target yang diinginkan pada fungsi logika AND. Artinya jaringan
tidak bisa mengenali pola fungsi logika AND untuk input biner dan output bipolar.
2. Inisialisai :
w1 = 0
w2 = 0
b=0

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

X1 X2 net=∑ x i wi +b f ( net )= −1 jika net <0


{ 1 jika net ≥ 0
–1 –1 (–1)(2) + (–1)(2) + (–2) = –6 –1
–1 1 (–1)(2) + (1)(2) + (–2) = –2 –1
1 –1 (1)(2) + (–1)(2) + (–2) = –2 –1
1 1 (1)(2) + (1)(2) + (–2) = 2 1
Nilai f(net) sama dengan target yang diinginkan pada fungsi logika AND. Artinya jaringan
bisa mengenali pola fungsi logika AND untuk input bipolar dan output bipolar.

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

gunakan fungsi aktivasi untuk menghitung sinyal outputnya: yk=f(y_ink)


dan kirimkan sinyal-sinyal tersebut ke semua unit lapisan atasnya (lapisan output)
d. Tiap-tiap unit output (Yk) menerima target pola yang berhubungan dengan pola
input pembelajaran, hitung informasi errornya:
dk=(tk-yk) f’(y_ink)

Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk


memperbaiki nilai wjk):
Dwjk = dakzj
Db2k = dak
wjk(baru)=wjk(lama) + Dwjk

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)

kemudian hitung koreksi bobot :Dvij = a dj xi


dan koreksi bias : D b1j = a dj
f. vij(baru) = vij(lama) + Dvij
b1j(baru) = b1j + D b1j
2. Tes kondisi berhenti (cek mse dan epoch)

Turunan fungsi aktivasi


• Sigmoid :
1
y=f ( x )=
1+e−σx

f’(x) = s f(x)[1 – f(x)]


• Tansig :
1−e−2 x
f (x )=
1+e−2 x

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 :

Hitung jaringan input : Y_inj =


Hitung aktivasi : Yi = f (Y_inj)
Kemudian kirim sinyal ke X-layer.
 Langkah 5 : Perbaharui aktiviasi pada unit neuron X-layer dengan cara:

Hitung jaringan input : X_inj =


Hitung aktivasi : Xi = f (X_inj)
Kemudian kirim sinyal ke Y-layer.
 Langkah 6 : Lakukan test kembali. Jika vector aktivasi x dan y
mempunyai nilai yang seimbang, maka hentikan proses test; jika tidak lakukan
kembali.
Ada 2 jenis BAM, yaitu :
 BAM diskret, ada 2 kemungkinan tipe data, yaitu biner dan bipolar.
 BAM kontinyu, akan mentransformasikan input secara lebih halus dan kontinyu ke
Kawasan output dengan nilai yang terletak pada range [0,1]. Fungsi aktivasi yang
digunakan adalh fungsi sigmoid.

Anda mungkin juga menyukai