BAB 3 - Dian Ayu Rahmawati - 205150201111042
BAB 3 - Dian Ayu Rahmawati - 205150201111042
BAB 3 - Dian Ayu Rahmawati - 205150201111042
BAB : PERCEPTRON
NAMA : DIAN AYU RAHMAWATI
NIM : 205150201111042
TANGGAL : 30/09/2022
ASISTEN : - ANDIKA IRZA PRADANA
- MUHAMMAD ISTHOBIR FUADY
A. Praktikum
if verbose:
print('Bobot:', w)
if draw:
plot(line(w, th), line(w, -th), X, target)
return w, epoch
for x in X:
y_in = w[0] + np.dot(x, w[1:])
y = percep_step(y_in, th)
Y.append(y)
return Y
e. Logika AND
train = (1, 1), (1, -1), (-1, 1), (-1, -1)
target = 1, -1, -1, -1
th = .2
model, epoch = percep_fit(train, target, th, verbose=True,draw=True)
output = percep_predict(train, model)
accuracy = calc_accuracy(output, target)
print('Epochs:', epoch)
print('Output:', output)
print('Target:', target)
print('Accuracy:', accuracy)
f. Logika OR
train = (1, 1), (1, -1), (-1, 1), (-1, -1)
target = 1, 1, 1, -1
th = .2
model, epoch = percep_fit(train, target, th, verbose=True,draw=True)
output = percep_predict(train, model)
accuracy = calc_accuracy(output, target)
print('Epochs:', epoch)
print('Output:', output)
print('Target:', target)
print('Accuracy:', accuracy)
h. Logika XOR
train = (1, 1), (1, -1), (-1, 1), (-1, -1)
target = -1, 1, 1, -1
model = hebb_fit(train, target, verbose=True, draw=True)
output = hebb_predict(train, model)
accuracy = accuracy_score(output, target)
print('Output:', output)
print('Target:', target)
print('Accuracy:', accuracy)
B. Screenshot
e. Logika AND
’
f. Logika OR
g. Logika AND NOT
h. Logika XOR
C. Analisis
Jawab:
2. Lakukan pelatihan data logika AND dengan learning rate yang berbeda-beda.
Amati jumlah epoch yang dilakukan. Bagaimanakah efeknya pada proses
pelatihan?
Jawab :
D. Kesimpulan
Perbedaan antara Perceptron dengan Hebb Net adalah yang pertama pada
epoch, pada Hebb Net sendiri hanya bisa dilakukan satu kali epoch, sedangkan pada
Perceptron dapat diatur sebelumnya untuk berapa jumlah epochnya dan Perceptron
sendiri dapat diatur laju pelatihannya dengan menentukan parameter learning rate.
Learning Rate sendiri dibutuhkan jika data yang dilakukan berjumlah banyak
atau kompleks dikarenakan pergeseran decision boundary tidak dapat dilakukan
dengan langkah pergeseran yang besar karena akan berpotensi mengakibatkan posisi
decision boundary yang tidak baik. Maka dari itu, dibuatlah satu parameter yang
mengatur seberapa besar langkah pergeseran decision boundary selama proses
pelatihan berjalan yang disebut learning rate.
Kasus yang dapat diselesaikan oleh perceptron sendiri adalah ketika data
latihnya bersifat linearly separable dengan data latih seperti itu nantinya kedua kelas
tersebut dapat dipisahkan, sedangkan perceptron tidak bisa menyelesaikan kasus
ketika data latihnya bersifat non linearly-separable karena proses pelatihannya nanti
tidak akan pernah selesai atau selalu gagal dan tidak bisa mendapatkan decision
boundary nya.