Anda di halaman 1dari 7

JARINGAN SYARAF TIRUAN PERCEPTRON

Kegiatan Belajar-1: JST McCulloch-Pitt

1. Uraian Materi
McCulloch & Pitts dikenal sebagai jaringan syarat tiruan pertama pada tahun 1943. ide-ide dari
Mc.Culloch dan Pitts ini masih banyak digunakan hingga saat ini. Aktivasi neuronnya berupa biner, satu
atau nol.

pada jaringan dalam kegiatan belajar ini, digunakan fungsi aktivasi step untuk unit Y adalah

0, jika net  


y
1, jika net  

net   XiWi
dimana net adalah penjumlahan dari input sinyal (input x di kalikan bobot w) dan θ adalah threshold
untuk Y.

Neurons dalam jaringan McCulloch-Pitts terhubung dengan path berbobot secara langsung. (directed
weighted paths). semua neuron memiliki threshold yang tetap, jika total input sinyal net lebih besar atau
sama dengan threshold, maka neuron bernilai 1.

Gambar 0.1 Contoh Model Jaringan McCulloch-Pitt

Tabel 0.1 Berikut merupakan tabel kebenaran untuk fungsi logika AND. Gambar 0.2 menunjukkan model
neuron McCulloch-Pitts untuk mengenali pola fungsi logika “AND” dengan fungsi aktivasi step
digunakan bobot w1 dan w2 = 1, dan diperlukan threshold = 2.

Tabel 0.1 Tabel Kebenaran Fungsi Logika And


X1 X2 Y
0 0 0
0 1 0
1 0 0
1 1 1
Fungsi step:

• jika x >= Threshold  y=1


• jika x < Treshold  y=0
Fungsi AND

X
1 1

X Threshold=2
2
1

Gambar 0.2 Model McCulloch-Pitt untuk Fungsi Logika And


Tampak bahwa untuk mengenali pola, model neuron McCulloch-Pitts, harus menentukan bobot w
dan nilai ambang θ secara analitik (dengan cara coba-coba) sehingga model neuron McCulloch-Pitts
dapat mengenali pola tersebut.
Fungsi step
– jika x>= Threshold  y=1
– jika x < Treshold  y=0

2. Latihan
a. Berikut adalah program python yang menghandle fungsi logika AND dengan model neuron
McCulloch-Pitt. Buat program berikut dan simpan dengan nama MCPand.py

# McCulloch-Pitt untuk fungsi AND


x1=[0,0,1,1]
x2=[0,1,0,1]
w1=1
w2=1
tres=2

def step(net):
if (net<tres):
out=0
else:
out=1
return out

for i in range(4):
net=x1[i]*w1+x2[i]*w2
print(step(net))
 Perhatikan output program di atas, apakah outputnya sesuai dengan tabel kebenaran untuk
fungsi logika And?

3. Rangkuman
 McCulloch & Pitts adalah jaringan syarat tiruan pertama.
 Aktivasi neuron McCulloch-Pitt berupa biner, satu atau nol.
 Model neuron McCulloch-Pitts menentukan bobot w dan nilai ambang θ secara analitik (dengan
cara coba-coba)

4. Pustaka
Fausett, L. V. (1994). Fundamentals of neural networks: architectures, algorithms, and applications (Vol.
3). Englewood Cliffs: prentice-Hall.
Kegiatan Belajar-2: JST Single Layer Perceptron

• Tahun 1958, Frank Rosenblatt memperkenalkan algoritma pelatihan untuk simple ANN :
perceptron. Perceptron merupakan neural network yang paling sederhana yang terdiri dari
single neuron dengan bobot yang dapat di update dan hard limiter (fungsi aktivasi). Operasi
perceptron didasarkan pada model neuron McCulloch-Pitt. Model terdiri dari linear combiner
yang diikuti hard limiter (fungsi aktivasi)
• Perceptron merupakan Sinonim untuk Single-Layer, Feed-Forward Network

Teori konvergesi perceptron


• Algoritma pembelajaran perceptron akan selalu mencari bobot-bobot untuk mengklasifikasi
input jika terdapat himpunan bobot yang dapat digunakan untuk mengklasifikasi
• Minsky & Papert menunjukkan bahwa bobot-bobot tersebut ada, jika dan hanya jika
problemnya linearly separable
• intuisi : kasus dengan 2 input, x1 dan x2
• jika kita dapat menggambar garis yang memisahkan dua kelas, maka kasus tersebut adalah
linearly separable (dapat dipisah secara linear)
• jika terdapat n dimensi input, maka harus dapat dipisah dengan bidang n-1 dimensi . contoh
kasus dibawah, dengan 2 dimensi (x1 dan x2) input, dapat dipisah secara linear dengan garis (1
dimensi)
-1 -1

-1
x1 1

x2
contoh lain: untuk kasus fungsi And dan OR, dapat terpisah secara linear

sedangkan untuk kasis fungsi XOR, tidak dapat dipisah secara linear, sehingga kasus XOR ini tidak dapat
diselesaikan dengan single layer perceptron

contoh:perceptron dengan 2 input


• Tujuan perseptron adalah mengklasifikasi input, misal x1, x2, …, xn, kedalam dua kelas misal A1
dan A2
• Pada perceptron dasar, n-dimensi dipisahkan oleh hyperplane kedalam dua daerah keputusan.
Hyperplane ini didefinisikan sebagai fungsi yang linearly separable
Bagaimana perceptron Belajar?
1. Dengan mencari bobot yang tepat utuk mengurangi perbedaan antara output asli dengan
output hasil belajar perceptron.
2. Bobot awal (initial) diberikan secara random, biasanya antara [-0.5, 0.5] dan di update untuk
memperoleh konsisitensi dengan data training
3. Jika pada iterasi (pengulangan) ke –p, output perceptron adalah Y(p) dan output yang
diharapkan adalah Yd(P), maka errornya adalah :

4. Jika error e(p) positif, maka naikkan output perceptron Y(p), tapi jika negatif, turunkan Y(P) 
melalui bobotnya

Dimana p=1,2,3, …
5. Dan  adalah learning rate, konstanta positif kurang dari 1.
Algoritma Perceptron
• Langkah 1 : inisialisasi
– Beri bobot awal w1, w2, …, wn dan threshold  dengan angka acak antar [-0.5 0.5]
– Jika error e(p) positif, naikkan output perceptron Y(p). jika negatif, kurangi Y(P)
• Langkah 2 : Aktivasi
– Aktifkan perceptron dengan memberikan input x1(p), x2(p), .., xn(p) dan output yang
diinginkan Yd(p). Hitung output perceptron pada iterasi p=1

– Dimana n adalah jumlah input perceptron, dan step adalah fungsi aktivasi step.
• Langkah 3 : Update Bobot
– Update bobot perceptron

– Dimana wi adalah koreksi bobot pada iterasi ke-p


– Koreksi bobot dihitung denga rumus :
– Langkah 4 : Iterasi
– Tambah iterasi p dengan 1, kembali ke langkah 2 dan ulang prosesnya hingga konvergen

oke, mari kita langsung ke pokok praktikum

Latihan 1. Perceptron
download data nilai_mhs1.csv
gunakan data tersebut untuk code python berikut :

keterangan lengkap untuk library perceptron di scikit, lihat sini


https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Perceptron.html

gimana? akurasinya nggak terlalu oke kan? masih ingat adakah langkah yang terlewat?
sebagian kalian mungkin ingat, data tsb belum di praproses.
mari kita terapkan normalisasi data sebelum dimodelkan :

adakah perubahan?

Anda mungkin juga menyukai